Linear Programming2
Linear Programming2
Put very informally, LP is about trying to get the best outcome (e.g.
maximum profit, least effort, etc) given some list of constraints (e.g. only
working 30 hours a week, not doing anything illegal, etc), using a linear
mathematical model.
defined on this polytope, the goal is to find a point in the polytope where this
function has the smallest (or largest) value. Such points may not exist, but if
they do, searching through the polytope vertices is guaranteed to find at
least one of them.
Maximize
Subject to
Where
The founders of the subject are George B. Dantzig, who published the
simplex method in 1947, John von Neumann, who developed the theory of
the duality in the same year, and Leonid Kantorovich, a Russian
mathematician who used similar techniques in economics before Dantzig and
won the Nobel prize in 1975 in economics. The linear programming problem
was first shown to be solvable in polynomial time by Leonid Khachiyan in
1979, but a larger major theoretical and practical breakthrough in the field
came in 1984 when Narendra Karmarkar introduced a new interior point
method for solving linear programming problems.
Uses
Standard form is the usual and most intuitive form of describing a linear
programming problem. It consists of the following three parts:
e.g. maximize
Problem constraints of the following form
e.g.
Non-negative variables
e.g.
maximize
subject to
Example
Suppose that a farmer has a piece of farm land, say A square kilometres
large, to be planted with either wheat or barley or some combination of the
two. The farmer has a limited permissible amount F of fertilizer and P of
insecticide which can be used, each of which is required in different amounts
per unit area for wheat (F1, P1) and barley (F2, P2). Let S1 be the selling price
of wheat, and S2 the price of barley. If we denote the area planted with
wheat and barley by x1 and x2 respectively, then the optimal number of square kilometres
to plant with wheat vs barley can be expressed as a linear programming problem:
maximize
subject to
Maximize Z in:
where xs are the newly introduced slack variables, and Z is the variable to be
maximized.
Example
subject to:
Maximize Z in:
Duality
maximize
subject to
minimize
subject to
There are two ideas fundamental to duality theory. One is the fact that the
dual of a dual linear program is the original primal linear program.
Additionally, every feasible solution for a linear program gives a bound on
the optimal value of the objective function of its dual. The weak duality
theorem states that the objective function value of the dual at any feasible
solution is always greater than or equal to the objective function value of the
primal at any feasible solution. The strong duality theorem states that if the
primal has an optimal solution, x*, then the dual also has an optimal solution,
y*, such that cTx*=bTy*.
Example
minimize
subject to
Complementary slackness
Suppose that x = (x1, x2, . . ., xn) is primal feasible and that y = (y1, y2, .
. . , ym) is dual feasible. Let (w1, w2, . . ., wm) denote the corresponding primal
slack variables, and let (z1, z2, . . . , zn) denote the corresponding dual slack
variables. Then x and y are optimal for their respective problems if and only
if xjzj = 0, for j = 1, 2, . . . , n, w iyi = 0, for i = 1, 2, . . . , m.
So if the ith slack variable of the primal is not zero, then the ith
variable of the dual is equal zero. Likewise, if the jth slack variable of the
dual is not zero, then the jth variable of the primal is equal to zero.
Theory
Barring these two pathological conditions (which are often ruled out by
resource constraints integral to the problem being represented, as above),
the optimum is always attained at a vertex of the polyhedron. However, the
optimum is not necessarily unique: it is possible to have a set of optimal
solutions covering an edge or face of the polyhedron, or even the entire
polyhedron (This last situation would occur if the objective function were
constant).
Algorithms
There are several open problems in the theory of linear programming, the
solution of which would represent fundamental breakthroughs in
mathematics and potentially major advances in our ability to solve large-
scale linear programs.
The Simplex algorithm and its variants fall in the family of edge-following
algorithms, so named because they solve linear programming problems by
moving from vertex to vertex along edges of a polyhedron. This means that
their theoretical performance is limited by the maximum number of edges
between any two vertices on the LP polyhedron. As a result, we are
interested in knowing the maximum graph-theoretical diameter of polyhedral
graphs. It has been proved that all polyhedra have subexponential diameter,
and all experimentally observed polyhedra have linear diameter, it is
presently unknown whether any polyhedron has superpolynomial or even
superlinear diameter. If any such polyhedra exist, then no edge-following
variant can run in polynomial or linear time, respectively. Questions about
polyhedron diameter are of independent mathematical interest.
Integer unknowns
If the unknown variables are all required to be integers, then the
problem is called an integer programming (IP) or integer linear programming
(ILP) problem. In contrast to linear programming, which can be solved
efficiently in the worst case, integer programming problems are in many
practical situations (those with bounded variables) NP-hard. 0-1 integer
programming or binary integer programming (BIP) is the special case of
integer programming where variables are required to be 0 or 1 (rather than
arbitrary integers). This problem is also classified as NP-hard, and in fact the
decision version was one of Karp's 21 NP-complete problems.
cutting-plane method
branch and bound
branch and cut
branch and price
if the problem has some extra structure, it may be possible to apply
delayed column generation.
Linear Programming
Definitions
Objective Function
The linear function (equal sign) representing cost, profit, or some other
quantity to be maximized of minimized subject to the constraints.
Constraints
A system of linear inequalities.
Problem Constraints
The linear inequalities that are derived from the application. For
example, there may be only 40 hours a machine can be used in a
week, so the total time it is used would have to be <= 40. The problem
constraints are usually stated in the story problem.
Non-Negativity Constraints
The linear inequalities x>=0 and y>=0. These are included because x
and y are usually the number of items produced and you cannot
produce a negative number of items, the smallest number of items you
could produce is zero. These are not (usually) stated, they are implied.
Feasible Region
The solution to the system of linear inequalities. That is, the set of all
points that satisfy all the constraints. Only points in the feasible region
can be used.
Corner Point
A vertex of the feasible region. Not every intersection of lines is a
corner point. The corner points only occur at a vertex of the feasible
region. If there is going to be an optimal solution to a linear
programming problem, it will occur at one or more corner points, or on
a line segment between two corner points.
Bounded Region
A feasible region that can be enclosed in a circle. A bounded region will
have both a maximum and minimum values.
Unbounded Region
A feasible region that can not be enclosed in a circle.
Recall that almost every area of mathematics has its fundamental theorem.
Here are some of the fundamental theorems or principles that occur in your
text.
1. Define the variables. Usually, a good choice for the definition is the
quantity they asked you to find in the problem.
2. Write the problem by defining the objective function and the system of
linear inequalities. Don't forget about the non-negativity constraints
where necessary.
3. Sketch the system of linear inequalities to obtain the feasible region.
4. Identify each corner point of the feasible region. You can find the
corner points by forming a 2x2 system of linear equations from the two
lines that intersect at that point and solving that system.
5. Evaluate the objective function at each corner point.
6. Choose the point yielding the largest value or smallest value
depending on whether the problem is a maximization or minimization
problem.
Be careful how you give the answer. The answer should give not only the
maximum or minimum value (the value of the objective function), but it
should also give the location where that extremum occurs. Example: The
maximum value is 9 when x=2 and y=3. If it is a story problem, then give
the answer in terms of the original definitions of x and y.
Geometric Approach
If the slope of the objective function is negative and you take a line
with that slope passing through the origin and move it to the right through
the feasible region, the last corner point hit by that moving line will be the
maximum value.
In the example shown, the last line with slope m=-4/3 that touches the
feasible region touches at the corner point (6,3).
Now, to verify the solution non-geometrically. Since we know the optimal solution has to
occur at one or more corner points, we make a table listing all the corner points and evaluate the
objective function at those points.
Corner z = 4x +
x y
Point 3y
A 0 0 0
B 0 4 12
C 4 5 31
D 6 3 33
E 5 0 20
As you can see, the corner point with the maximum value is at (6,3).
We can also determine the minimum value from that table. A suitable
answer, assuming the problem had asked for both the maximum and
minimum is ...
A company makes two products (X and Y) using two machines (A and B).
Each unit of X that is produced requires 50 minutes processing time on
machine A and 30 minutes processing time on machine B. Each unit of Y that
is produced requires 24 minutes processing time on machine A and 33
minutes processing time on machine B.
At the start of the current week there are 30 units of X and 90 units of Y in
stock. Available processing time on machine A is forecast to be 40 hours and
on machine B is forecast to be 35 hours.
The demand for X in the current week is forecast to be 75 units and for Y is
forecast to be 95 units. Company policy is to maximise the combined sum of
the units of X and the units of Y in stock at the end of the week.
Formulate the problem of deciding how much of each product to make
in the current week as a linear program.
Solve this linear program graphically.
Solution
Let
It is plain from the diagram below that the maximum occurs at the
intersection of x=45 and 50x + 24y = 2400
Solving simultaneously, rather than by reading values off the graph, we have
that x=45 and y=6.25 with the value of the objective function being 1.25
A company manufactures two products (A and B) and the profit per unit sold
is £3 and £5 respectively. Each product has to be assembled on a particular
machine, each unit of product A taking 12 minutes of assembly time and
each unit of product B 25 minutes of assembly time. The company estimates
that the machine used for assembly has an effective working week of only 30
hours (due to maintenance/breakdown).
Solution
Let
xB >= 2(xA/5)
It is plain from the diagram below that the maximum occurs at the
intersection of 12xA + 25xB = 1800 and xB - 0.4xA = 0
Solving simultaneously, rather than by reading values off the graph, we have
that:
Doubling the assembly time available means that the assembly time
constraint (currently 12xA + 25xB <= 1800) becomes 12xA + 25xB <=
2(1800) This new constraint will be parallel to the existing assembly time
constraint so that the new optimal solution will lie at the intersection of 12x A
+ 25xB = 3600 and xB - 0.4xA = 0
This is because if we pay more than this amount then we will reduce our
maximum profit below the £408.9 we would have made without the new
machine.
The demand for two products in each of the last four weeks is shown below.
Week
1 2 3 4
Demand - product 1 23 27 34 40
Demand - product 2 11 13 15 14
These products are produced using two machines, X and Y. Each unit of
product 1 that is produced requires 15 minutes processing on machine X and
25 minutes processing on machine Y. Each unit of product 2 that is produced
requires 7 minutes processing on machine X and 45 minutes processing on
machine Y. The available time on machine X in week 5 is forecast to be 20
hours and on machine Y in week 5 is forecast to be 15 hours. Each unit of
product 1 sold in week 5 gives a contribution to profit of £10 and each unit of
product 2 sold in week 5 gives a contribution to profit of £4.
It may not be possible to produce enough to meet your forecast demand for
these products in week 5 and each unit of unsatisfied demand for product 1
costs £3, each unit of unsatisfied demand for product 2 costs £1.
Solution
Note that the first part of the question is a forecasting question so it is solved
below.
For product 1 applying exponential smoothing with a smoothing constant of
0.7 we get:
M1 = Y1 = 23
M2 = 0.7Y2 + 0.3M1 = 0.7(27) + 0.3(23) = 25.80
M3 = 0.7Y3 + 0.3M2 = 0.7(34) + 0.3(25.80) = 31.54
M4 = 0.7Y4 + 0.3M3 = 0.7(40) + 0.3(31.54) = 37.46
The forecast for week five is just the average for week 4 = M 4 = 37.46 = 31
(as we cannot have fractional demand).
M1 = Y1 = 11
M2 = 0.7Y2 + 0.3M1 = 0.7(13) + 0.3(11) = 12.40
M3 = 0.7Y3 + 0.3M2 = 0.7(15) + 0.3(12.40) = 14.22
M4 = 0.7Y4 + 0.3M3 = 0.7(14) + 0.3(14.22) = 14.07
The forecast for week five is just the average for week 4 = M 4 = 14.07 = 14
(as we cannot have fractional demand).
We can now formulate the LP for week 5 using the two demand figures (37
for product 1 and 14 for product 2) derived above.
Let
The graph is shown below, from the graph we have that the solution occurs
on the horizontal axis (x2=0) at x1=36 at which point the maximum profit is
13(36) + 5(0) - 125 = £343
REFERENCES
http://en.wikipedia.org/wiki/Linear_programming
http://mathworld.wolfram.com/LinearProgramming.html
http://www.richland.edu/james/lecture/m116/systems/linear.html
http://people.brunel.ac.uk/~mastjjb/jeb/or/morelp.html