Alt Opt Solutions Example |
In order to illustrate the Alt Opt Solutions feature, consider the following simple linear program (see http://www.math.clemson.edu/~shierd/Shier/MthSc440/Alternative%20Optimal%20Solutions.pdf):
MODEL:
MAX = 6*X1 + 4*X2 ;
X1 + 4*X2 <= 40 ;
3*X1 + 2*X2 <= 30 ;
3*X1 + X2 <= 24 ;
END
Model: ALTOPT
The graph of this linear program follows:
Note that there are two alternate optimal solutions at point C and D, both with an objective value of 60. We next run the Solver | Options command and set Alt Opt Solutions option to 10 as seen here:
In general, you will not know beforehand how many alternate optimal solutions exist (if any), meaning you may want to request a large number of potential alternate solutions to ensure you find the maximum solutions possible. If the number of solutions found is less than the maximum requested, LINGO just displays the solutions that were successfully found.
Next, solving the model with the Solver | Solve command we are presented with the following dialog box:
Note that there are two solutions listed corresponding to the two alternate optimal solutions in this model. We can select one, or more, solutions at a time and then examine their solution reports. Selecting both solutions to view, we are presented with:
Global optimal solution found.
Objective value: 60.00000
Infeasibilities: 0.000000
Total solver iterations: 2
Elapsed runtime seconds: 0.14
Variable Value
X1 6.000000
X2 6.000000
Row Slack or Surplus
1 60.00000
2 10.00000
3 0.000000
4 0.000000
Alt Opt Solution 1
Global optimal solution found.
Objective value: 60.00000
Infeasibilities: 0.000000
Total solver iterations: 4
Elapsed runtime seconds: 0.14
Variable Value
X1 4.000000
X2 9.000000
Row Slack or Surplus
1 60.00000
2 0.000000
3 0.000000
4 3.000000
Alt Opt Solution 2
These are the two alternate optimal solutions (point C and D) shown in the diagram above.
There is also a column labeled Tradeoff, which lists the value in each solution of a designated tradeoff variable. Any scalar variable in a model can be selected as the tradeoff variable. This may be some secondary value, after the primary objective value, that is of interest. For example, in a staff scheduling model we might set tradeoff variable to be the number of employees working on Sunday, which we might prefer to be as low as possible, all other things being equal.
The following buttons are available along the bottom edge of the dialog box:
• | Help – Displays online help regarding the Alt Opt feature. |
• | Cancel – Cancels out of Alt Opt mode, closing the dialog box. |
• | View – Displays any solutions selected in the Candidate Solutions box. |
• | Select – Allow you to select one of the candidate solutions as the final solution to the model. |