The "Brute Force" method for solving LPs.
Using the fact that if an LP has an optimal solution, then it has an extreme point solution, we can use a "brute force" method to find an optimal solution by testing each extreme point to see if it is feasible and then comparing the objective function values. Recall that an extreme, or corner-point, solution is formed by the intersection of two of the constraints.
Using the LP from last time, the algorithm proceeds as follows.
Max x + 2 y
st
(2) x - 2 y <= 2
(3) -2 x + y <= 2
(4) x >= 0
(5) y >= 0
Intersection of constraints 1 and 2:
To find the (x,y) coordinates for the intersection of these two constraints, we have to solve the following the system of equations.
x – 2y = 2
Solving this system, we get x = 10/3 and y = 2/3.
Intersection of constraints 1 and 4:
x + y = 4
y = 0
x = 0, y = 4
Since x and y are both nonnegative, we only have to check that (0,4) satisfies constraint 3.
-2 (0) + 4 = 4 > 2.
Infeasible. Constraint 3 is not satisfied.
Intersection of constraints 1 and 3:
x + y = 4
-2 x + y = 2
x = 0.666667, y = 3.333333
Feasible. Objective function value = 7.333333.
Intersection of constraints 1 and 5:
(1) x + (1) y = 4
(0) x + (1) y = 0
x = 4.000000, y = 0.000000
Infeasible. Constraint 2 is not satisfied.
Intersection of constraints 2 and 3:
(1) x + (-2) y = 2
(-2) x + (1) y = 2
x = -2.000000, y = -2.000000
Infeasible. x < 0
Intersection of constraints 2 and 4:
(1) x + (-2) y = 2
(1) x + (0) y = 0
x = 0.000000, y = -1.000000
Infeasible. y < 0
Intersection of constraints 2 and 5:
(1) x + (-2) y = 2
x = 2.000000, y = 0.000000
Feasible. Objective function value = 2.000000.
Intersection of constraints 3 and 4:
(-2) x + (1) y = 2
(1) x + (0) y = 0
x = 0.000000, y = 2.000000
Feasible. Objective function value = 4.000000.
Intersection of constraints 3 and 5:
(-2) x + (1) y = 2
(0) x + (1) y = 0
x = -1.000000, y = 0.000000
Infeasible. x < 0
Intersection of constraints 4 and 5:
(1) x + (0) y = 0
(0) x + (1) y = 0
x = 0.000000, y = 0.000000
Feasible. Objective function value = 0.000000.
In this case there is a unique optimal solution x = 0.666667, y = 3.333333 which has objective function value = 7.333333.
Problem |
Variables |
Constraints |
Corner-Points |
Solutions/Second |
2-D Example |
2 |
5 |
10 |
0.166666667 |
Challenger |
16 |
38 |
22,239,974,430 |
370666240.5 |
Diet Problem |
3 |
7 |
35 |
0.583333333 |
GT Railroad |
12 |
19 |
50,388 |
839.8 |
BOE |
65 |
114 |
5.07E+32 |
8.44998E+30 |
NSC |
8 |
22 |
319,770 |
5329.5 |
Clearly, CPLEX is not using the brute force method. CPLEX, and almost all other LP software packages, use the simplex algorithm which, in theory, may take as long as the brute force approach, but has been shown to be very efficient in practice. Before we begin the simplex algorithm, we will first develop at so-called standard form for representing LPs. This will simplify the description of the simplex algorithm since we only need to describe how it works for LPs in the standard form. Since all LPs can be expressed in the standard form, we don't "lose" anything by doing this.