05-15-2017 04:23 PM
I'm working on an optimization problem and here is my issue:
I define the model in a sparse format and it is solved successfully. But when I check the details I see some constraints are ignored!
So the solution is wrong... It is a simple LP problem for flow management. I'm attaching the solution and data to this message. To see the problem if you check the result at TOTAL file (you find 3 rows for DC001 but there should be 4 rows at the first step considering the data file LPMATRIX). Also, none of them should be 0... they should be GE to 9500, 73000, 15000 and 14000. Otherwise, the solution should be infeasible regardless the other constraints... How can this be possible?
The TOTAL file is extracted from solufile which is the direct output of the procedure.
PROC LP DATA = LPMATRIX SPARSEDATA PRINTFREQ = 1 PRINTLEVEL = -1
TIME = 6000 MAXIT1 = 99000 MAXIT2 = 99000 IMAXIT = 99000
PRIMALOUT = SOLUFILE VARSELECT = PRIOR ;
05-16-2017 10:08 AM - edited 05-16-2017 10:29 AM
Can you please show how you got from SOLUFILE to TOTAL?
The following PROC PRINT call shows several variables involving DC001:
proc print data=solufile(where=(_VAR_ contains 'DC001')); run;
The numbers you mentioned do appear among the nonzero values.
Also, note that PROC LP has been considered legacy and no longer maintained since SAS/OR 9.3 (July 2011) and is not even documented as of SAS/OR 14.2 (November 2016). Please see this SAS Global Forum paper to migrate to PROC OPTMODEL. As demonstrated in that paper, I used the MPSOUT= option in PROC LP and then ran PROC OPTLP as a sanity check. I got the same optimal objective value (290555420.58) in both cases, so another possibility to consider is that maybe your LPMATRIX doesn't correctly capture the problem you want to solve.