0
$\begingroup$

I arrive at an objective function value that I know to be optimal. However, dual prices remain negative (which leads me to believe another pattern can be added, but when I do, the dual prices don't change). How to interpret this? Working in LINGO.

MIN = X1 + X2 + X3 + X4 + X5 + X6 + X7 + X8 + X9 + X10 + X11 + X12 + X13;
10*X1 + 8*X2 + 8*X3 + 7*X4 + 7*X5 + X6 + X11 + 2*X13 >= 25;
X2 + 2*X4 + X5 + X7 + X8 + X9 + 2*X10 + X11 + 7*X12 + 6*X13 >= 40;
X3 + X5 + X7 + 3*X8 + 2*X9 + X11 >= 20;
X6 + 3*X7 + X9 + X11 >= 30;
X6 + X9 + X10 >= 15;
X6 + X8 + X10 + X11 >= 20;
X1 >= 0;
X2 >= 0;
X3 >= 0;
X4 >= 0;
X5 >= 0;
X6 >= 0;
X7 >= 0;
X8 >= 0;
X9 >= 0;
X10 >= 0;
X11 >= 0; 
X12 >= 0;
X13 >= 0;

And output:

Variable           Value        Reduced Cost
                              X1        0.000000           0.2857143
                              X2        0.000000           0.2857143
                              X3        0.000000           0.2755102
                              X4        0.000000           0.2142857
                              X5        0.000000           0.2040816
                              X6        15.00000            0.000000
                              X7        5.000000            0.000000
                              X8        5.000000            0.000000
                              X9        0.000000           0.2040816E-01
                             X10        0.000000           0.2040816E-01
                             X11        0.000000            0.000000
                             X12        0.000000            0.000000
                             X13        5.000000            0.000000

                             Row    Slack or Surplus      Dual Price
                               1        30.00000           -1.000000
                               2        0.000000          -0.7142857E-01
                               3        0.000000          -0.1428571
                               4        0.000000          -0.1530612
                               5        0.000000          -0.2346939
                               6        0.000000          -0.2959184
                               7        0.000000          -0.3979592
                               8        0.000000            0.000000
                               9        0.000000            0.000000
                              10        0.000000            0.000000
                              11        0.000000            0.000000
                              12        0.000000            0.000000
                              13        15.00000            0.000000
                              14        5.000000            0.000000
                              15        5.000000            0.000000
                              16        0.000000            0.000000
                              17        0.000000            0.000000
                              18        0.000000            0.000000
                              19        0.000000            0.000000
                              20        5.000000            0.000000
$\endgroup$
3
  • 3
    $\begingroup$ It is not the sign of the dual values that determine whether you are optimal or not. It’s the sign of the reduced costs. In fact, given that you are working with a model with inequalities (as opposed to equalities), the duals are sign-restricted and will remain non-positive no matter what you do to the model. $\endgroup$
    – Sune
    Apr 14 at 12:23
  • $\begingroup$ @Sune Creating a new pattern alleviating constraints on row 6 and 7 would according to this output still reduce my objective value. How can this still be optimal then? $\endgroup$
    – user11638
    Apr 14 at 13:33
  • $\begingroup$ When you add your new pattern and the dual prices do not change, does the primal variable for the new pattern get a positive value, or is it zero in the updated solution? $\endgroup$
    – prubin
    Apr 14 at 15:31

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.