Page 1 of 1

Identifying causes of infeasibility

Posted: Sun Apr 07, 2019 6:56 pm
by scsaxena
We are implementing Security Constrained Economic Despatch in our jurisdiction.
The model being used is pretty standard but does not use Artificial variables in any of the constraint equations. We are facing a problem of infeasibility quite frequently. How do we identify the exact reason for infeasibility as the data volume is large?
Are there any specific checks that we need to build into the algorithm for this ?

Would be grateful for any guidance / support in this regard.

Thanks in anticipation.

Re: Identifying causes of infeasibility

Posted: Tue Apr 09, 2019 9:09 am
by Fred
Hi,

If you could provide some more information like model type (LP, MIP, ...) and solvers you have access to, it would be easier to provide target-oriented help!

Best,
Fred

Re: Identifying causes of infeasibility

Posted: Tue Apr 09, 2019 6:51 pm
by scsaxena
Thanks Fred for your response.
We are using LP with CPLEX Solver.
Extracts of the Model and Solver Status from the LST file are as given below:


GAMS 26.1.0 rf2b37b9 Released Feb 2, 2019 WEX-WEI x86 64bit/MS Windows 04/06/19 22:33:36 Page 6
G e n e r a l A l g e b r a i c M o d e l i n g S y s t e m
Model Statistics SOLVE POSOCO Using LP From line 110

MODEL STATISTICS
BLOCKS OF EQUATIONS 7 SINGLE EQUATIONS 195
BLOCKS OF VARIABLES 5 SINGLE VARIABLES 147
NON ZERO ELEMENTS 528

GENERATION TIME = 0.047 SECONDS 4 MB 26.1.0 rf2b37b9 WEX-WEI

EXECUTION TIME = 0.047 SECONDS 4 MB 26.1.0 rf2b37b9 WEX-WEI
?GAMS 26.1.0 rf2b37b9 Released Feb 2, 2019 WEX-WEI x86 64bit/MS Windows 04/06/19 22:33:36 Page 7
G e n e r a l A l g e b r a i c M o d e l i n g S y s t e m
Solution Report SOLVE POSOCO Using LP From line 110

S O L V E S U M M A R Y
MODEL POSOCO OBJECTIVE vCost
TYPE LP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 110
**** SOLVER STATUS 1 Normal Completion
**** MODEL STATUS 4 Infeasible
**** OBJECTIVE VALUE 340.0000
RESOURCE USAGE, LIMIT 0.063 1000.000
ITERATION COUNT, LIMIT 109 2000000000
IBM ILOG CPLEX 26.1.0 rf2b37b9 Released Feb 02, 2019 WEI x86 64bit/MS Window
Cplex 12.8.0.0
Space for names approximately 0.01 Mb
Use option 'names no' to turn use of names off
LP status(3): infeasible
Cplex Time: 0.00sec (det. 0.05 ticks)
Rerunning with presolve turned off and solving with LPMETHOD=0
LP status(3): infeasible
Cplex Time: 0.02sec (det. 0.50 ticks)
Model has been proven infeasible.


Looking forward to your help ...
Thanking you in anticipation.

Best Regards,

Re: Identifying causes of infeasibility

Posted: Wed Apr 10, 2019 11:03 am
by Fred
There is no single way of figuring out the source of infeasibility. It very much depends on your knowledge and understanding of the original problem and it's implementation as a model. A good way to go about analyzing infeasibilities is to provide a "feasible" solution to the problem by manually setting the variable level values (x.l(...) = ...) and then generating the model with a full equation listing (option limrow=1e9;) This will flag the constraints that are infeasible with your "feasible" solution in the equation listing.

If you don't want to work with your own feasible solution, you can ask solvers (e.g. Cplex) to provide you with the smallest set of constraints that are infeasible (you need to change the model type to rmip) via the iis option (see https://www.gams.com/latest/docs/S_CPLEX.html#CPLEXiis). You can also ask Cplex you give you the smallest relaxation of your model to make it feasible (look for option FeasOpt: https://www.gams.com/latest/docs/S_CPLE ... LEXfeasopt ).

I hope this helps!

Best,
Fred

Re: Identifying causes of infeasibility

Posted: Wed Apr 10, 2019 2:13 pm
by scsaxena
Thank you Fred.
I was unaware of this possibility of CPLEX giving the smallest relaxation to make the model feasible.

We would try out.

Thanks once again for your inputs.

Best regards,