Professional Documents
Culture Documents
Gilles Savard
La programmation lin
eaire (r
ef : V. Chv
atal, Linear
Programming, W.H. Freeman, 1983.)
4.1
Introduction `
a la programmation lin
eaire
Exemple 1 : le probl`
eme de la di`
ete
1. Le probl`eme :
On desire determiner un menu quotidien de facon `a minimiser les co
uts, tout en satisfaisant `a certains besoins elementaires. En particulier, le menu doit contenir au moins :
2000 kcal
55 gr de proteine
800 mg de calcium
Gilles Savard
4 portions/jour davoine
3
de poulet
2
doeufs
8
de lait
2
de tarte aux cerises
2
de porc et f`eves
On pourrait tenter de determiner un menu par essai erreur. Par exemple, choisir 8
portions de lait et 2 portions de tarte aux cerises satisfait les demandes nutritives
pour un co
ut total de $1.12. Le nombre de possibilites est eleve et il est preferable de
resoudre le probl`eme `a laide dun mod`ele.
2. Le mod`ele
Nous definissons dabord les variables de decision, cest-`a-dire linformation que lon
desire obtenir.
(a) Les variables de decision :
x1 = # de portion davoine
x2 = # de portion de poulet
x3 = # de portion doeufs
x4 = # de portion de lait
x5 = # de portion de tarte aux cerises
x6 = # de portion de porc et f`eves
Ces variables ne sont pas libres ; elles sont contraintes par les besoins nutritionnels.
Exprimees sous forme mathematique on obtient :
Afin deviter des situations extremes (par exemple 10 portions de porc et f`eves satisfont
`a ses exigences nutritives), on impose les limites suivantes :
x1
x2
x3
x4
x5
x6
4
3
2
8
2
2
Maintenant ces variables doivent etre dirigees vers un but, vers un objectif.
Gilles Savard
(c) Lobjectif :
Soit (x1 , x2 , . . . , x6 ) un menu satisfaisant aux contraintes, alors le co
ut total dun
tel menu est
3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 19x6 .
Comme on veut minimiser les co
uts, lobjectif est :
min 3x1 + 24x2 + 13x3 + 9x4 + 20x5 + 19x6 .
4.1.2
Gilles Savard
Rendement (%)
Brut#1 Brut#2
Essence
80
44
Keros`ene
5
10
Mazout leger
10
36
Residu
5
10
Co
ut de production 0.50
1.00
$/baril
Production
maximale (baril/jour)
24000
2000
6000
2. Le mod`ele
Dans lordre, nous identifions les variables de decisions, les contraintes et lobjectif.
2000
55
800
4
3
2
8
2
2
Exemple 2 : la raffinerie
1. Le probl`eme :
On desire etablir le plan de production optimale dune raffinerie produisant quatre
produits finis (essence, keros`ene, mazout leger et residu) `a partir de deux types de
petrole brut. Les coefficients techno-economiques pertinents sont donnes dans les tables
suivantes :
Produit
Achat Brut #1
Brut #2
Vente Essence
Keros`ene
Mazout leger
Residu
$/baril
24
15
36
24
21
10
0.80p1 + 0.44p2
0.05p1 + 0.10p2
0.10p1 + 0.36p2
0.05p1 + 0.10p2
=
=
=
=
x1
x2
x3
x4
essence (# baril/jour)
keros`ene (# baril/jour)
mazout leger (# baril/jour)
residu (# baril/jour).
24000
2000
6000
0.
(c) Lobjectif :
On veut ici produire le plan de production optimale, cest-`a-dire celui qui maximise
les profits :
maximiser {profit = revenu des ventes - achat des bruts - co
ut de production}
Gilles Savard
Gilles Savard
D
efinition 4.2 Si b, c1 , c2 , . . . , cn sont des constantes reelles, alors lequation
n
!
c j xj = b
j=1
x1
x2
x3
x4
24000
2000
6000
0.
n
!
j=1
et
j=1
max
s.c.
24000
2000
6000
0.
x1 x 2
x1 x2 + x3
x2 + x 3
x1
Ces deux mod`eles sont des probl`emes de programmation lineaire ou encore des programmes lineaires.
La programmation lin
eaire
D
efinition 4.1 Si c1 , c2 , . . . , cn sont des constantes reelles, la fonction f (x) definie par
f (x1 , x2 , . . . , xn ) = c1 x1 + c2 x2 + . . . + cn xn =
n
!
j=1
cj xj b
x1 + 2x2 + x3
4.1.3
n
!
Plus generalement, une contrainte lineaire est soit une equation lineaire, soit une inegalite
lineaire. Avec ces definitions, un programme lineaire (PL) consiste en la maximisation (ou la
minimisation) dune fonction lineaire soumise `a un nombre fini de contraintes lineaires. Par
exemple :
8.1p1 + 10.8p2
0.80p1 + 0.44p2
0.05p1 + 0.10p2
0.10p1 + 0.36p2
p1 , p2
c j xj b
Il est possible ici deliminer les variables x1 , . . . , x4 dans le mod`ele pour obtenir :
max
s.c.
D
efinition 4.3 Si b, c1 , c2 , . . . , cn sont des constantes reelles, alors les equations
c j xj
4
3
6
0
D
efinition 4.4 Un PL sera sous forme standard sil est de la forme :
max
s.c.
"n
j=1 cj xj
"n
j=1
aij xj bi
xj 0
i = 1, . . . , m
j = 1, . . . , n
Remarque : Il est toujours possible de ramener un programme lineaire quelconque sous forme
standard (exercice).
D
efinition 4.5 La fonction lineaire maximisee (ou minimisee) dans un programme lineaire
est appelee fonction objectif.
Gilles Savard
Gilles Savard
D
efinition 4.6 Une solution (x1 , . . . , xn ) est dite realisable si elle satisfait `a toutes les contraintes (incluant les bornes).
D
efinition 4.9 Un programme lineaire realisable qui na pas de valeur optimale finie est
appele non borne.
D
efinition 4.7 Une solution (x1 , . . . , xn ) est dite optimale si elle est realisable et si elle
maximise la fonction objectif parmi toutes les solutions realisables. La valeur correspondante
de lobjectif est appelee la valeur optimale.
Le theor`eme suivant (qui sera prouve `a la section 3) indique que nous avons couvert tous
les cas.
Remarque : La solution optimale (si elle existe) nest pas necessairement unique.
Th
eor`
eme 4.1 : Dans tout programme lineaire, une seule des eventualites suivantes peut
se presenter :
1. il existe au moins une solution optimale
2. le programme lineaire est non-realisable
On peut se demander sil existe toujours au moins une solution optimale. La reponse est
non ; deux situations peuvent se presenter.
1. Il nexiste pas de solution realisable. Par exemple,
3x1 x2
max
s.c.
x1 + x2 2
2x1 2x2 6
x1 , x 2 0
4.2
La m
ethode du simplexe
Nous voyons dans cette section la methode du simplexe pour la resolution dun programme lineaire. Cette methode, due `a Dantzig, est la premi`ere qui a permis de resoudre un
programme lineaire et constitue encore aujourdhui une des deux approches efficaces pour sa
resolution (nous ne verrons pas dans ce cours les approches de points interieurs qui forment
la deuxi`eme approche). Une description informelle est faite dans cette section. La description
formelle de lalgorithme est presentee `a la section suivante.
4.2.1
Lid
ee de la m
ethode du simplexe via un exemple
x1 x2
max
s.c.
2x1 + x2 1
x1 2x2 2
x 1 , x2 0
5
11
8
0
(1)
Idee 1 :
Dans ce cas,
Il existe des solutions realisables :
x1 = 1, x2 = 1
x1 = 5, x2 = 0
etc.
Mais pour tout nombre M , il existe une solution realisable (x1 , x2 ) telle que la
fonction objectif prenne une valeur superieure `a M , cest-`a-dire x1 x2 > M .
7
Comme il est co
uteux de verifier la faisabilite dune solution donnee, la methode du simplexe travaille avec un syst`eme dequations lineaires (egalites lineaires). Pour toute solution
realisable x1 , x2 , x3 de (1), il existe un ecart non-negatif ( 0) entre le membre de gauche et
le membre de droit de chaque contrainte. Par exemple, considerons la premi`ere contrainte
2x1 + 3x2 + x3 5
et une solution realisable
(x1 , x2 , x3 ) = (1, 0, 1).
8
Gilles Savard
(2)
2. On veut maintenant ameliorer cette solution. On voit quil est avantageux daugmenter
x1 et/ou x2 et/ou x3 . Ici, choissisons daugmenter x1 et gardons `a 0 la valeur de x2 et
x3 . La valeur de lobjectif augmentera selon :
x1 > 0.
Par exemple :
Si on pose x1 = 1 (et x2 = x3 = 0) on obtient `a partir de (2)
x4 = 3, x5 = 7, x6 = 5 et la valeur de lobjectif
z = 5.
max z
s.c. x1 , x2 , x3 , x4 , x5 , x6 0
(3)
x4 = 1, x5 = 3, x6 = 2 et la valeur de lobjectif
z = 10
En effet :
pour toute solution realisable de (1) , il existe une solution realisable unique de (3)
((x1 , x2 , x3 ) restant inchanges et (x4 , x5 , x6 ) etant definis par (2)).
pour toute solution realisable de (3) (verifiant (2)), il existe une solution realisable
unique de (1).
Comme les solutions realisables de (1) et (3) sont en correspondance une `a une, les solutions optimales le sont egalement.
Idee 2 :
Dune solution realisable (x1 , . . . , x6 ), trouver une autre solution realisable (
x1 , . . . , x6 )
qui soit meilleure, cest-`a-dire :
5x1 + 4x2 + 3x3 < 5
x1 + 4
x2 + 3
x3
La methode du simplexe consiste donc en une amelioration successive de solutions realisables.
(1`
ere it
eration)
` partir du syst`eme dequation
1. On doit dabord trouver une premi`ere solution realisable. A
(2), une solution realisable est immediate.
En posant `a 0 les variables qui se trouvent du cote droit, on obtient
x4 = 1, x5 = 1, x6 = 1 et la valeur de lobjectif
et on deduit immediatement
z = 0.
z = 15
x1 = x2 = x3 = 0
Gilles Savard
= 5 2x1 3x2 x3
= 11 4x1 x2 2x3
= 8 3x1 4x2 2x3
=
5x1 +4x2 +3x3
Gilles Savard
De ces 3 bornes (x1 5/2, x1 11/4, x1 8/3) la premi`ere est la plus contraignante.
On peut donc augmenter x1 jusqu`a 5/2. Pour cette valeur de x1 , x4 devient egale `a 0.
On obtient ainsi une 2i`eme solution realisable qui est meilleure que la precedente :
#
x1 = 5/2, x2 = 0, x3 = 0 x4 = 0, x5 = 1, x6 = 1/2
et z = 25/2.
x4
x5
x6
z
(4)
= 5 2x1 3x2 x3
= 11 4x1 x2 2x3
= 8 3x1 4x2 2x3
=
5x1 +4x2 +3x3
Donc x3 ne peut pas augmenter plus que x3 = 1 (alors que x6 prend la valeur 0). On obtient
le nouveau syst`eme `a partir de lancien :
Ancien syst`eme :
x1
x5
x6
z
x2 2x3
z =
= 25/2
Enfin, la condition
(2i`
eme it
eration)
x6 =
=
Gilles Savard
de valeur z = 25/2.
Peut-on maintenant ameliorer cette nouvelle solution realisable (4) ? Si oui, quelle
variable augmenter ? Jusqu`a quelle valeur ? Rappelons quil a ete facile de repondre
`a ces questions `a laide du syst`eme dequations (2). Pour ce syst`eme, nous avions
exprim
e les variables positives en fonction des variables nulles.
On doit donc exprimer les nouvelles variables non nulles (x1 , x5 , x6 ) en fonction des
variables nulles (x2 , x3 , x4 ).
` partir de lancien syst`eme
A
x5 =
=
(5)
x1
x5
x3
z
x3 = 1 + x2 + 3x4 2x6
(6)
Gilles Savard
On introduit les variables decarts xn+1 , xn+2 , . . . , xn+m et on note lobjectif par z. On definit
ces variables par
x1 = 2, x3 = 1, x5 = 1 et x2 = 0, x4 = 0, x6 = 0
"
de valeur z = 13.
(3i`
eme it
eration)
Quelle variable peut-on augmenter ? Aucune : augmenter x2 ou x4 ou x6 fait diminuer z.
En fait, puisque lon a
z = 13 3x2 x4 x6
la solution est optimale puisque toute autre solution (x1 , x2 , . . . , x6 ) satisfait necessairement
x2 , x4 , x6 0. La valeur optimale est donc z = 13.
Exercice : Petit probl`eme de chimie... On dispose des bouteilles de boisson suivantes :
32
32
32
64
oz
oz
oz
oz
de
de
de
de
Gilles Savard
Fine Whiskey
Whiskey
Vermouth
Gin
`a
`a
`a
`a
$28.00/32
$22.00/32
$14.00/32
$24.00/32
i = 1, . . . , m
Dans le cadre de la methode du simplexe, chaque solution realisable (x1 , . . . , xn ) de (7) est
` chaque iteration, la methode du simplexe
representee par n + m variables non-negatives. A
` chaque solution realisable
fournit une solution realisable qui ameliore la fonction objectif. A
correspond un syst`eme dequations lineaires quon appelle dictionnaire.
Dans un dictionnaire :
1. Toute solution non negative des equations lineaires comprises dans le dictionnaire est
une solution de (7), et vice-versa.
2. Les equations dun dictionnaire doivent exprimer m des variables (x1 , . . . , xn+m ) et la
variable z en fonction des n autres variables.
oz
oz
oz
oz
4.2.2
Dictionnaires
"n
D
efinition 4.11 Les variables xj qui se trouvent du cote droit du dictionnaire sont appelees
variables hors-base.
j=1 cj xj
"n
j=1
aij xj bi
xj 0
13
i = 1, . . . , m
j = 1, . . . , n.
(7)
Lensemble des variables de base constituent une base. Ainsi, `a chaque iteration la base
change : une variable entre dans la base et une variable sort de la base. Le choix de la variable
dentree est dicte par le desir dameliorer lobjectif z. Le choix de la variable de sortie est
14
Gilles Savard
x4 = 2 3/2x3 0 x3 4/3
x5 = 3 5/2x3 0 x3 6/5
x6 =
2 3x3 0 x3 2/3
Un exemple complet :
max 5x1 + 5x2 + 3x3
s.c.
x1 + 3x2 + x3
x1
+ 3x3
2x1 x2 + 2x3
2x1 + 3x2 x3
x 1 , x2 , x3
3
2
4
2
0.
=
=
=
=
=
3 x1 3x2
x3
2 +x1
3x3
4 2x1 +x2 2x3
2 2x1 3x2
+x3
5x1 +5x2 +3x3 .
= 3 x1
= 2 + x1
= 4 2x1
= 2 2x1
0
0
0
0
x1
x1
x1
x1
3
2
2
1
la variable x7 sort de la base. On obtient lexpression de x1 en fonction des variables horsbases `a partir de la ligne de pivot :
x1 = 1 3/2x2 + 1/2x3 1/2x7 .
Le nouveau dictionnaire est :
x4
x5
x6
x1
z
=
=
=
=
=
2
3
2
1
5
15
Gilles Savard
=
1 7/2x2
= 4/3 29/6x2
= 2/3 +4/3x2
= 4/3 5/6x2
= 26/3 +29/6x2
+1/2x6
4/3x7
+5/6x6
+1/3x7
1/3x6
1/3x7
1/6x6
2/3x7 11/6x6 .
= 1/29 +28/29x7
= 8/29 8/29x7
= 30/29 1/29x7
= 32/29 3/29x7
=
10
2x7
3/29x6 +21/29x5
+5/29x6 6/29x5
3/29x6 8/29x5
9/29x6 +5/29x5
x6
x5 .
La solution est optimale (aucun avantage `a entrer une variable dans la base). La solution
optimale est x1 = 32/29, x2 = 8/29 et x3 = 30/29, de valeur z = 10.
16
4.3
Gilles Savard
Gilles Savard
Etape
1) Initialisation :
Etape
2) Iterations :
x3 = 3 x1 +x2
x4 =
4 2x1 x2
z =
x1 +x2 .
Etape
3) Crit`ere doptimatlite : si oui, arret
sinon, aller `a letape 2.
"
Programme auxilliaire
Ce probl`eme a :
x1 x2 3
on aurait obtenu le dictionnaire suivant :
i = 1, . . . , m
(8)
min
s.c.
x0
"n
j=1
aij xj x0 bi
xj 0
i = 1, . . . , m
j = 0, . . . , n.
(11)
17
(10)
i = 1, . . . , m
j = 1, . . . , n.
aij xj bi
xj 0
Initialisation
x3 = 3 x1 +x2
x4 = 4 2x1 x2
z =
x1 +x2 .
j=1 cj xj
"n
a un dictionnaire initial
max
s.c.
"n
j=1
4.3.1
(9)
18
Gilles Savard
Gilles Savard
max
s.c.
2x1 x2 + 2x3
2x1 3x2 + x3
x1 + x2 2x3
x1 , x 2 , x 3
4
5
1
0.
x0
2x1 x2 + 2x3 x0
2x1 3x2 + x3 x0
x1 + x2 2x3 x0
x 0 , x1 , x2 , x3
4
5
1
0.
=
4 2x1 +x2 2x3 +x0
= 5 2x1 +3x2 x3 +x0
= 1 +x1 x2 +2x3 +x0
=
x0
=
5 +2x1
=
9
=
4 +3x1
= 5 2x1
=
1 +0.75x1 +0.75x3 +0.25x5 0.25x6
=
2 0.25x1 1.25x3 +0.25x5 +0.75x6
=
7 +1.5x1 2.5x3 +0.5x5
+0.5x6
= 2 +0.25x1 +1.25x3 0.25x5 0.75x6 .
19
Le probl`eme auxilliaire est optimal. De plus, la valeur optimale est 0. Donc, on a une solution
realisable au probl`eme initial. On obtient un dictionnaire realisable au probl`eme initial
en eliminant la colonne de x0 et en ecrivant lobjectif en fonction des variables hors-bases.
x3
x2
x4
w
z =
x1
x2
+x3
=
x1 (2.2 + 0.6x1 + 0.4x5 + 0.2x6 ) +(1.6 0.2x1 + 0.2x5 + 0.6x6 )
= 0.6 +0.2x1
0.2x5
+0.4x6
On obtient le dictionnaire realisable (pour le probl`eme initial)
x3
x2
x4
z
=
1.6 0.2x1 +0.2x5 +0.6x6
=
2.2 +0.6x1 +0.4x5 +0.2x6
=
3
1x1
1x6
= 0.6 +0.2x1 0.2x5 +0.4x6
et on continue...
Resume : INITIALISATION
1. Si le programme lineaire est realisable `a lorigine (tous les bi 0), alors aller `a letape
3.
2. PHASE 1 : Trouver une solution realisable.
(a) Construire le programme auxilliaire.
(b) Construire le 1er dictionnaire non-realisable.
(c) Entrer x0 et sortir la variable la plus negative dictionnaire realisable pour le
programme auxilliaire.
(d) Iterations du simplexe (en cas degalite, sortir x0 de la base) jusqu`a loptimalite.
(e) Si la solution optimale est 0, aller `a letape 3 ; sinon, le programme initial est non
realisable.
3. PHASE 2 :
(a) Construire le 1er dictionnaire realisable (du probl`eme initial)
(b) Iterations du simplexe.
20
Gilles Savard
It
erations
Gilles Savard
Etant
donne un dictionnaire realisable, on doit choisir une variable dentree qui determine
une variable de sortie afin dobtenir le prochain dictionnaire.
x4 :
x5 :
x6 :
x3 1/2
x3 1/2
x3 1/2
et les trois variables de base sont candidates pour sortir de la base. Si lon choisit
arbitrairement comme variable de sortie x4 , on obtient apr`es un pivot, le dictionnaire
suivant :
jN
o`
u N est lensemble des indices j des variables hors-base xj . La solution courante,
xj = 0 pour tout j N donne `a lobjectif la valeur z .
x3
x5
x6
z
Si
cj 0,
j N
alors la solution courante est optimale puisque tout autre solution avec xj 0, j
N donne une valeur numerique `a lobjectif inferieure ou egale `a z .
Sil existe des j N tels que cj > 0, alors les xj correspondants sont toutes des
variables candidates `a entrer dans la base.
2. Variable de sortie
La variable de sortie est une variable de base dont la non negativite impose la contrainte
la plus forte sur la borne superieure de la variable dentree. On peut obtenir lune des
situations suivantes :
(a) On trouve une seule variable de sortie et on pivote.
(b) On trouve plusieurs variables de sortie : on choisit alors une variable de sortie
parmi ces derni`eres et on pivote.
(c) On ne trouve aucune variable de sortie : alors le probl`eme est non borne, cest-`adire que lobjectif peut prendre une valeur aussi grande que desiree (z = z +t
cj o`
u
cj est le coefficient > 0 de la variable dentree dans la derni`ere ligne du dictionnaire
et t peut prendre une valeur aussi grande que voulue).
3. D
eg
en
erescence
La presence de plusieurs variables de sortie cause dinteressantes consequences. Considerons lexemple suivant :
x4
x5
x6
z
= 1
= 3 2x1 +4x2
= 2 +x1 3x2
=
2x1 x2
21
2x3
6x3
4x3
+8x3
= 0.5
0.5x4
=
2x1 +4x2
+3x4
=
+x1 3x2
+2x4
=
4 +2x1 x2
4x4
Si lon pose `a 0 les variables hors-base, les variables de base prennent les valeurs :
x3 = 0.5, x5 = x6 = 0.
Une solution de base (ou dictionnaire realisable) avec des variables de base `a 0 est dite
degeneree. En entrant x1 dans la base, la variable de sortie est x5 ; apr`es le pivot, on
obtient :
x1
x3
x6
z
=
2x2
1.5x4 0.5x5
= 0.5
0.5x4
=
x2 +3.5x4 0.5x5
=
4 +3x2
x4
x5
On remarque que la solution na pas ete modifiee. Une iteration du simplexe qui ne
change pas la solution de base (ou la valeur) est dite degeneree. Une iteration degeneree
ne peut survenir que si lon a un dictionnaire degenere. La prochaine iteration est
egalement degeneree quoique la suivante ne lest pas et m`ene `a la solution optimale.
En pratique, les probl`emes lineaires sont souvent degeneres (on obtient des solutions de
base degenerees `a certaines etapes du simplexe). Cependant, lalgorithme du simplexe
finit generalement par faire des pivots non degeneres.
4.3.3
Crit`
ere darr
et
jN
22
cj xj
Gilles Savard
=
0.5x1 +5.5x2 +2.5x3 9x4
=
0.5x1 +1.5x2 +0.5x3
x4
= 1
x1
=
10x1 57x2
9x3 24x4
5i`eme iteration :
x5
x4
x7
z
1`ere iteration :
=
11x2 +5x3 18x4
x5
=
4x2 2x3
+8x4
+x5
= 1 11x2 5x3 +18x4
+x5
=
53x2 +41x3 204x4 20x5
2i`eme iteration :
x2
x1
x7
z
=
0.5x3 +2x4
=
0.5x3 +4x4
= 1 +0.5x3 4x4
=
14.5x3 98x4
+0.25x5 0.25x6
+0.75x5 2.75x6
0.75x5 13.25x6
6.75x5 13.25x6
3i`eme iteration :
x3
x2
x7
z
=
8x4 +1.5x5 5.5x6 2x1
=
2x4 0.5x5 +2.5x6
+x1
= 1
x1
=
18x4 +15x5 93x6 29x1
23
=
9x6
+4x1
8x2
2x3
=
x6 0.5x1 +1.5x2 +0.5x3
= 1
x1
=
24x6 +22x1 93x2 21x3
6i`eme iteration :
x5
x6
x7
z
x1
x6
x7
z
=
0.25x5 +1.25x6 +0.5x1 0.5x2
=
0.5x5 +4.5x6
+2x1
4x2
= 1
x1
=
10.5x5 70.5x6 20x1
9x2
x4
x3
x7
z
Gilles Savard
=
0.5x1 +5.5x2 +2.5x3 9x4
=
0.5x1 +1.5x2 +0.5x3
x4
= 1
x1
=
10x1 57x2
9x3 24x4
n+m
(n + m)!
)=
m
n! m!
24
Gilles Savard
Donc si la methode du simplexe ne se termine pas, une meme base doit apparatre dans
deux dictionnaires distincts. Il suffit de montrer que deux dictionnaires avec la meme
base sont identiques.
Considerons deux dictionnaires
"
et
xi = bi j$B aij xj
"
z = v + j$B cj xj
iB
(12)
iB
(13)
avec la meme base B. On sait que toutes solutions de (12) est aussi une solution de
(13) et vice-versa. En particulier, si xk est une variable hors-base et si t est un nombre,
alors
=
=
=
=
Exemple pathologique :
t
0
bi aik t
v + ck t
"n
j=1
"
Gilles Savard
max
s.c.
xi = bi j$B aij xj
"
z = v + j$B cj xj
xk
xj
xi
z
"i1
j=1
10nj xj
10ij xj + xi 100i1
xj 0
Si lon utilise la r`egle usuelle du plus grand coefficient pour le choix de la variable dentree,
la methode du simplexe necessitera 2n1 iterations pour determiner la solution optimale. Par
exemple, cet exemple pathologique avec 50 variables et 50 contraintes necessitera 249
1, 12 1015 iterations. Sur un ordinateur effectuant 1000000 operations/sec, cela signifie un
temps dexecution de 360 000 annees ! ! !
(j ' B, j '= k)
(i B)
i B
i B
et
v = v , ck = ck .
Comme xk est une variable hors-base arbitraire, les deux dictionnaires sont identiques.
4.3.4
i = 1, . . . , n
j = 1, . . . , n
26