Working with Alternate Optimal Solutions
An alternate optimal solutions occur when the given problem has more than one solution. All such solutions reach the same optimum value with different combinations of decision variable values.
Any optimized solution can be tested to check for the presence of alternate optimal solutions.
First make sure to obtain an optimized solution (variable - solution) as shown in the above steps.
## let the solution obtained for a LP problem be
Feasible Solution # 1
MAX X1 X2 X3 X4 S1 S2 Sol
P 0 0 0 0 2 1 1827
X1 1 1 0 2 1 2 39
X3 0 1 1 3 0 4 48
========================================================================================================
Optimized Solution Received!
There are 3 Alternate Solutions for this problem!
Maximum Value for Objective Function = 1827
Values for Decision Variables :
X1 = 39
X2 = 0
X3 = 48
X4 = 0
Surplus & Slack variables
Constraint #1 Surplus : Satisfied at Boundary
Constraint #2 Surplus : Satisfied at Boundary
Find all alternate solutions for a LP problem
from elpee.algorithms import Alternator
# visualize all alternate solutions
Alternator.display_all_alternate_solutions(solution)
And we can see the alternate solutions, and the changes required to obtain them too.
Displaying all Alternate Optimal Solutions for LP Problem provided...
Alternate Solution #1
Taking X1 = 0 for & setting X2 as a Basic Variable for the alternate solution
Maximum Value for Objective Function = 1827
Values for Decision Variables :
X1 = 0
X2 = 39
X3 = 9
X4 = 0
Surplus & Slack variables
Constraint #1 Surplus : Satisfied at Boundary
Constraint #2 Surplus : Satisfied at Boundary
========================================================================================================
Alternate Solution #2
Taking X3 = 0 for & setting X4 as a Basic Variable for the alternate solution
Maximum Value for Objective Function = 1827
Values for Decision Variables :
X1 = 7.0
X2 = 0
X3 = 0
X4 = 16.0
Surplus & Slack variables
Constraint #1 Surplus : Satisfied at Boundary
Constraint #2 Surplus : Satisfied at Boundary
========================================================================================================
Alternate Solution #3
Taking X1 = 0 for & setting X2 as a Basic Variable for the alternate solution
Taking X4 = 0 for & setting X4 as a Basic Variable for the alternate solution
Maximum Value for Objective Function = 1827
Values for Decision Variables :
X1 = 0
X2 = 21.0
X3 = 0
X4 = 9.0
Surplus & Slack variables
Constraint #1 Surplus : Satisfied at Boundary
Constraint #2 Surplus : Satisfied at Boundary
========================================================================================================
Extract an Alternate Optimal Solution
Select an alternate optimal solution as a variable using,
from elpee.algorithms import Alternator
# select the 2nd Alternate Optimal Solution - out of 3 possible solutions as shown above
alternate_2_sol = Alternator.extract_alternate_solution(solution, 2)