Dual infeasible due to empty column and unbounded objection

356 views
Skip to first unread message

Menglei Ji

unread,
Apr 16, 2020, 11:32:46 PM4/16/20
to YALMIP
Hi
 
I hope you are doing great!

I am trying to use Benders approach to solve my problem. when I run the code, it shows the error message belows. I have found that my unbounded objective obj2 lead to unbounded results. But I don't know how to correct it. Could you help me?

Attached is my code.

Dual infeasible due to empty column 'x1'.
Presolve time = 0.00 sec. (0.01 ticks)
CPXPARAM_Simplex_Display                         2
CPXPARAM_Barrier_Display                         2
Tried aggregator 1 time.
LP Presolve eliminated 81 rows and 54 columns.
All rows and columns eliminated.
Presolve time = 0.00 sec. (0.02 ticks)

Menglei Ji

unread,
Apr 16, 2020, 11:37:23 PM4/16/20
to YALMIP
bender_paper1.m

Johan Löfberg

unread,
Apr 17, 2020, 12:45:02 AM4/17/20
to YALMIP
It is unbounded as you can, for example, let some elements of e tend to -inf, causing the objective to be arbitrarily small

optimize([C2,obj2 >= -1e6],obj2)
>> value(e)

ans(:,:,1,1,1) =

    -1000420    -1000420
           0          -1
           0           0


ans(:,:,1,1,2) =

     0     0
     0    -1
     0     0


ans(:,:,1,1,3) =

     0     0
     0    -1
     0     0

Menglei Ji

unread,
Apr 17, 2020, 11:27:41 AM4/17/20
to YALMIP
If the subproblem is unbounded, I will add the feasibility cuts with the extreme rays. Now I don't found the function about rays, so, how should i code to get the extreme rays?

Johan Löfberg

unread,
Apr 17, 2020, 11:32:47 AM4/17/20
to YALMIP
there is no support for that via yalmip

Menglei Ji

unread,
Apr 25, 2020, 9:23:09 AM4/25/20
to YALMIP
Professor, when the value of variables is very small,does yalmip show the value is 0, instead of -1e16?

Johan Löfberg

unread,
Apr 25, 2020, 9:26:31 AM4/25/20
to YALMIP
No

>> sdpvar x
>> assign(x,1e-16)
>> x
Linear scalar (real, 1 variable)
Current value: 1e-16
Coefficients range: 1 to 1
>> value(x)

ans =

   1.0000e-16



Menglei Ji

unread,
Apr 25, 2020, 10:33:55 PM4/25/20
to YALMIP
Thanks for your timly response again.  Now my spsol problem has unbounded objective, but the variables and objective have certain values. According to the variable value, my problem should be bounded. Are those values right? and what's the meaning?



value(obj2)

ans =

   540


bender_paper1.m

Johan Löfberg

unread,
Apr 26, 2020, 2:35:00 AM4/26/20
to YALMIP
It's no different from before, the problem is clearly stated as unbounded, and if you don't trust the solver diagnostics

spsol=optimize([C2,obj2>=-1e6],obj2,optionsCeplx)

    yalmipversion: '20200116'
       yalmiptime: 0.2016
       solvertime: 0.0184
             info: 'Successfully solved (CPLEX-IBM)'
          problem: 0


>> value(obj2)

ans =

    -1000000

>> value(e(1,1,1))

ans =

    -1000499



Reply all
Reply to author
Forward
0 new messages