Chapter 9
Linear programming
The nature of the programmes a computer scientist has to conceive often requires some knowl
edge in a specific domain of application, for example corporate management, network proto
cols, sound and video for multimedia streaming,. . . Linear programming is one of the necessary
knowledges to handle optimization problems. These problems come from varied domains as
production management, economics, transportation network planning, . . . For example, one can
mention the composition of train wagons, the electricity production, or the flight planning by
airplane companies.
Most of these optimization problems do not admit an optimal solution that can be computed
in a reasonable time, that is in polynomial time (See Chapter 3). However, we know how to ef
ficiently solve some particular problems and to provide an optimal solution (or at least quantify
the difference between the provided solution and the optimal value) by using techniques from
linear programming.
In fact, in 1947, G.B. Dantzig conceived the Simplex Method to solve military planning
problems asked by the US Air Force that were written as a linear programme, that is a system
of linear equations. In this course, we introduce the basic concepts of linear programming. We
then present the Simplex Method, following the book of V. Chv´atal [2]. If you want to read
more about linear programming, some good references are [6, 1].
The objective is to show the reader how to model a problem with a linear programme when
it is possible, to present him different methods used to solve it or at least provide a good ap
proximation of the solution. To this end, we present the
theory of duality
which provide ways
of finding good bounds on specific solutions.
We also discuss the practical side of linear programming: there exist very efficient tools
to solve linear programmes, e.g. CPLEX [3] and GLPK [4]. We present the different steps
leading to the solution of a practical problem expressed as a linear programme.
9.1
Introduction
A
linear programme
is a problem consisting in maximizing or minimizing a linear function
while satisfying a finite set of linear constraints.
129
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
130
CHAPTER 9. LINEAR PROGRAMMING
Linear programmes can be written under the
standard form
:
Maximize
∑
n
j
=
1
c
j
x
j
Subject to:
∑
n
j
=
1
a
i j
x
j
≤
b
i
for all 1
≤
i
≤
m
x
j
≥
0
for all 1
≤
j
≤
n
.
(9.1)
All constraints are inequalities (and not equations) and all variables are nonnegative.
The
variables
x
j
are referred to as
decision variables
. The function that has to be maximized is
called the problem
objective function
.
Observe that a constraint of the form
∑
n
j
=
1
a
i j
x
j
≥
b
i
may be rewritten as
∑
n
j
=
1
(
−
a
i j
)
x
j
≤
−
b
i
.
Similarly, a minimization problem may be transformed into a maximization problem:
minimizing
∑
n
j
=
1
c
j
x
j
is equivalent to maximizing
∑
n
j
=
1
(
−
c
j
)
x
j
. Hence, every maximization
or minimization problem subject to linear constraints can be reformulated in the standard form
(See Exercices 9.1 and 9.2.).
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '13
 smith
 Optimization, The Hours, feasible solution

Click to edit the document details