Professional Documents
Culture Documents
Lecture 10
Lecture 10
INTRODUCTION TO LINEAR
PROGRAMMING
AN INTRODUCTION TO OPTIMIZATION
LECTURE 10
Krishnendu Chandra
Indian Statistical Institute
North-East Centre at Tezpur
Fall 2019
Outline
1 Introduction
2 Problem Formulation
5 Basic Solutions
minimize cT x
subject to Ax = b
x ≥ 0,
where c ∈ Rn , b ∈ Rm and A ∈ Rm×n . The vector inequality x ≥ 0
means that each component of x is nonnegative.
Several variations of this problem are possible; for example,
instead of minimizing, we can maximize, or the constraints may
be in the form of inequalities, such as Ax ≥ b or Ax ≤ b . We
also refer to these variations as linear programs.
In fact, as we shall see later, these variations can all be rewritten
into the standard form shown above.
(LECTURE 10) OPTIMIZATION Fall 2019 4 / 30
Simple Examples of Linear Programs I
x1 + 2x2 + x3 + 2x4 ≤ 20
6x1 + 5x2 + 3x3 + 2x4 ≤ 100
3x1 + 4x2 + 9x3 + 12x4 ≤ 75.
xi ≥ 0, i = 1, 2, 3, 4.
Now, suppose that one unit of product X1 sells for $6, and X2 , X3
and X4 sell for $4, $7, and $5, respectively. Then, the total revenue
for any production decision (x1 , x2 , x3 , x4 ) is
maximize cT x
subject to Ax ≤ b
x ≥ 0,
(LECTURE 10) OPTIMIZATION Fall 2019 7 / 30
Simple Examples of Linear Programs IV
where
c T = [6, 4, 7, 5] ,
1 2 1 2 20
A = 6 5 3 2 , b = 100 .
3 4 9 12 75
Example: Assume that n different food types are available. The jth
food sells at a price cj per unit. In addition, there are m basic
nutrients. To achieve a balanced diet, you must receive at least bi
units of the ith nutrient per day. Assume that each unit of food j
contains aij units of the ith nutrient. Denote by xj the number of
units of food j in the diet. The objective is to select the xj to
minimize the total cost of the diet:
minimize c1 x1 + c2 x2 + · · · + cn xn
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0.
minimize cT x
subject to Ax ≥ b
x ≥ 0.
Example:
A manufacturer produces two different products, X1 and X2 , using
three machines: M1 , M2 and M3 . Each machine can be used for only
a limited amount of time. Production times of each product on each
machine are given in the following table:
x1 + x2 ≤ 8,
x1 + 3x2 ≤ 18,
2x1 + x2 ≤ 14,
maximize cT x
subject to Ax ≤ b
x ≥ 0,
where
c T = [4, 5] ,
1 1 8
A = 1 3 , b = 18 .
2 1 14
maximize cT x
subject to Ax ≤ b
x ≥ 0,
where
c T = [1, 5] ,
A = 3 2 , b = 30
5 6
12
.
minimize cT x
subject to Ax = b
x ≥ 0,
as a linear program in standard form. Without loss of generality, we
assume that b ≥ 0. If a component of b is negative, say the ith
component, we multiply the ith constraint by −1 to obtain a positive
right-hand side.
minimize cT x
subject to Ax ≥ b
x ≥ 0,
then by introducing surplus variables yi , we can convert the original
problem into the standard form
minimize c T x
subject to ai1 x1 + ai2 x2 + . . . + ain xn − yi = bi , i = 1, . . . , m
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0
y1 ≥ 0, y2 ≥ 0, . . . , ym ≥ 0.
minimize cT x
Ax − I m y = [A, −I m ] yx = b
subject to
x ≥ 0, y ≥ 0,
(LECTURE 10) OPTIMIZATION Fall 2019 20 / 30
Standard Form Linear Programs IV
where I m is the m × m identity matrix. If, on the other hand, the
constraints have the form
Ax ≤ b
x ≥ 0,
then we introduce slack variables yi to convert the constraints into
the form
Ax + I m y = [A, I m ] yx
=b
x ≥ 0, y ≥ 0,
where y is the vector of slack variables. Note that neither surplus nor
slack variables contribute to the objective function c T x .
(LECTURE 10) OPTIMIZATION Fall 2019 21 / 30
Standard Form Linear Programs I
maximize x2 − x1
subject to 3x1 = x2 − 5
|x2 | ≤ 2
x1 ≤ 0.
2 Substitute x1 = −x 0 .
1
3 Write |x2 | ≤ 2 as x2 ≤ 2 and −x2 ≤ 2.
Hence, we obtain
minimize − x10 − u + v
subject to 3x10 + u − v = 5
u − v + x3 = 2
v − u + x4 = 2
x10 , u, v , x3 , x4 ≥ 0.
minimize cT x
subject to Ax = b
x ≥ 0,
where c ∈ Rn , A ∈ Rm×n , b ∈ Rm , m < n, rankA = m, b ≥ 0. In
the following discussion we only consider linear programming
problems in standard form. Consider the system of equalities
Ax = b,
where rankA = m.
(LECTURE 10) OPTIMIZATION Fall 2019 24 / 30
Basic Solutions II
In dealing with this system of equations, we frequently need to
consider a subset of columns of the matrix A.
For convenience, we often reorder the columns of A so that the
columns we are interested in appear first.
Specifically, let B be a square matrix whose columns are m
linearly independent columns of A.
If necessary, we reorder the columns of A so that the columns in
B appear first: A has the form A = [B , D ], where D is an
m × (n − m) matrix whose columns are the remaining columns
of A.
The matrix B is nonsingular, and thus we can solve the equation
Bx B = b
for the m-vector x B . The solution is x B = B −1b.
(LECTURE 10) OPTIMIZATION Fall 2019 25 / 30
Basic Solutions III
Theorem
Fundamental Theorem of LP.
Consider a linear program in standard form.
1 If there exists a feasible solution, then there exists a basic
feasible solution.
2 If there exists an optimal feasible solution, then there exists an
optimal basic feasible solution.
Ax = b, x ≥ 0,
where A ∈ Rm×n , m < n. Then, x is an extreme point of Ω if and
only if x is a basic feasible solution to Ax = b , x ≥ 0.
From the above theorem it follows that the set of extreme points
of the constraint set Ω = {x : Ax = b , x ≥ 0} is equal to the
set of basic feasible solutions to Ax = b , x ≥ 0.
Combining this observation with the fundamental theorem of LP,
we can see that in solving linear programming problems we need
only examine the extreme points of the constraint set.