Send
Close Add comments:
(status displays here)
Got it! This site "robinsnyder.com" uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website. Note: This appears on each machine/browser from which this site is accessed.
Linear programming overview
1. Linear programming
Linear programming is a way to take liner constraints and find some optimum (maximum or minimum) value according to some value function.
2. Plotting line segments
The spreadsheet values for the line segments are as follows.
3. Columns
Note that column A contains the x1 point while there is one column for each of the line segments. Since two points are needed to specify a line segment, each of the other columns has to entries, one for each point.
A scatter plot with connected dots is used to plot the line segments. The chart appears as follows.
4. Plot the lines
Here are the plotted lines.
5. Convex region
A convex region is a region where any point in the region can be connected by a straight line (segment) to any other point in the region without leaving the region.
A straight line that passes through a convex region divides that convex region into two convex regions.
6. Linear constraints
A linear constraint that is an inequality (i.e., "
<=" or "
>=") that splits a convex region into two convex regions has a feasible region that is one of those two convex regions.
Convex regions and linear constraints are the key idea that makes linear program work.
7. Non-convex regions
A non-convex region has at least one place where the straight line (segment) connecting two points inside the region has part of the line segment that lies outside the region.
Linear programming requires convex regions.
8. The feasible region
The feasible region of a linear programming problem is a convex region. That insight is what makes the linear programming method work, and also is why it works only for linear constraints and objective functions.
9. The feasible region
10. Objective function
The value of the objective function z is the height above the
x1:x2 plane. The z-lines, when projected onto the
x1:x2 plane, are parallel. Note the lines for
z=12 and
z=24 (see the legend for ranges
0..12 and
12..24).
11. Objective functions
The z-lines, when projected onto the x1:x2 plane, are parallel. The projection is similar to like contour lines on a map that show the elevation above the plane, except that, for linear programming, the projected lines are straight and parallel.
The chart with the z-lines for z=12 and z=24 plotted in the x1:x2 plane appears as follows.
12. Chart showing z-lines
13. Solution
The optimum point must always be either a single vertex of the feasible region or any of the points on the line segment connecting two vertices of the feasible region.
14. Optimum solution
The solution identification appears as follows. The optimum point is at the intersection of the lines for constraints (a) and (b).
15. Larger problem sizes
Problem sizes involving more than 2 variables cannot be easily visualized, since we humans cannot easily visualize in more than 3 dimensions, and one dimension is needed for the objective function.
One way to abstract the linear programming problem to larger problem sizes is to use matrix algebra.
16. Matrix algebra
3 x1 + 1 x2 <= 18
1 x1 + 2 x2 <= 12
3 x1 + 3 x2 <= 21
The linear constraints can be expressed in matrix form.
17. Symbolic matrix form
The matrix form can be expressed in symbolic form.
In this case,
A is a matrix,
X is a column vector, and
b is a column vector.
18. Combinatorial optimization
The general field is known as the field of combinatorial optimization and can involve real number approximations or integer constraints - called integer programming.
In general, integer programming is in general unbounded and not as restricted as constraint logic involving finite domains.
Linear programming is just one part of a field known as combinatorial optimization.
19. End of page