Vous êtes sur la page 1sur 23

Ecole Nationale Superieure en Genie des Syst`emes Industriels

Optimisation et recherche operationnelle


Didier Maquin
Septembre 2009
Qui suis-je ?
Didier Maquin
Professeur dAutomatique
Institut National Polytechnique de Lorraine
Ecole Nationale Superieure dElectricite et de Mecanique
Ecole Nationale Superieure des Mines de Nancy
Centre de Recherche en Automatique de Nancy
Contact : didier.maquin@ensem.inpl-nancy.fr
Plus de details ?
Site personnel : http://www.ensem.inpl-nancy.fr/Didier.Maquin
Site du laboratoire : http://www.cran.uhp-nancy.fr
Organisation du cours
Volume total denviron 30 heures reparties en
10 seances de cours magistral d1h45
4 seances de travaux diriges papier de 2h
Travaux pratiques sur Excel et Scilab ( ? ?)
Supports
Polycopie de Christian Zanne (enseignant precedent)
Cours interactifs sur le WEB ( ? ?)
Intervenants
Didier Maquin (Professeur ENSEM)
Barthelemy Zoz (Agrege ENSGSI)
Dalil Ichalal (Doctorant, ATER EEIGM)
Benot Marx (Matre de Conferences ENSG) ( ? ?)
Evaluation
( ? ? ? ?)
Chapitre 1
Methodes doptimisation
Introduction
Un exemple elementaire Sensibilisation au probl`eme
Methodes directes `a une variable
Position du probl`eme
Methode dichotomique sequentielle
Methode du nombre dor
Methode de Fibonacci
Methodes indirectes Crit`ere analytique
Schema general
Methode du gradient
Methode de Newton
Programmation lineaire
Exemple introductif Resolution graphique
Simplexe Exemple
Simplexe Methode du tableau
Simplexe Formulation generale
Programmation lineaire en nombres entiers
Terminaisons ou solutions non standards
Introduction
Loptimisation est un ensemble de techniques permettant de trouver les
valeurs des variables qui rendent optimale une fonction de reponse appelee
aussi fonction objectif ou crit`ere.
Dun point de vue mathematique, cela correspond `a la recherche des
extrema de fonctions `a plusieurs variables.
y
x x
a
x
b
x
max
x
2
x
1
x
1max
x
2max
Courbes isocritres de y=f(x
1
, x
2
)
Fonction dune variable Fonction de plusieurs variables
y = f (x) y = f (x1, x2)
Introduction
Les methodes doptimisation peuvent etre classees en fonction du type
detude que lon souhaite mener et en fonction des informations dont on
dispose.
Si le phenom`ene analyse est susamment connu pour quil soit
modelise (au sens represente par une ensemble de relations
mathematiques), on cherchera les extrema de ce mod`ele en utilisant des
methodes analytiques (notions de derivation, methode de Lagrange,
etc.). Ces methodes sont appelees methodes indirectes puisquil faut
prealablement diposer dun mod`ele mathematique du phenom`ene.
Si la modelisation nest pas possible (probl`eme de complexite), on
emploiera une methode directe doptimisation basee sur une recherche
heuristique.
Methodes indirectes crit`ere analytique
Un exemple elementaire sensibilisation au probl`eme
Une entreprise decide delaborer un nouveau produit `a partir dune
quantite y de mati`ere premi`ere dont le kilogramme co ute 2 euros ;
Lheure-ouvrier revient `a 10 euros `a lentreprise ;
La fonction habituellement utilisee par lentreprise pour caracteriser
lactivite est P(x, y) = kxy o` u x est le nombre dheures-ouvrier et k un
coecient constant (ici k = 7) ;
Linvestissement est limite `a 10 keuros.
Trouver la production (cest-`a-dire determiner la valeur des variables x et y)
qui maximise lactivite.
Modelisation
Fonction dinvestissement : 10x + 2y 10000 y 5x + 5000
Fonction dactivite : P(x) kx(5x + 5000) = 5kx
2
+ 5000kx
Solution
Lactivite sera maximisee pour la valeur x telle que
dP(x)
dx

x= x
= 0
Methodes indirectes crit`ere analytique
Solution
Lactivite sera maximisee pour la valeur x telle que
dP(x)
dx

x= x
= 0
P(x) = 5kx
2
+ 5000kx
dP(x)
dx
= 10kx + 5000k
do` u : x = 500 heures-ouvrier et y = 2500 kg entrainant P = 8 750 000
0 200 400 600 800 1000 1200 1400
0
1000
2000
3000
4000
5000
6000
7000
Droite dinvestissement
P=8.75 10
6
Courbes isocritre
Methodes indirectes crit`ere analytique
Ajout de contrainte
Dans la description precedente, le nombre dheures-ouvrier x est independant
de la quantite de mati`eres traitee y.
En realite, il faut b heures-ouvrier pour demarrer la production et, en 1
heure, a kg de mati`ere premi`ere sont traites (A.N. b = 10 et a = 3).
On ajoute donc la contrainte :
si 0 x b y = 0
si x > b y = a(x b)
Le probl`eme est maintenant decrit par deux contraintes lineaires liant x et y
y = 5x + 5000 et y = 3(x 10)
Solution
La solution est donc donnee par lunique point dintersection de la droite
dinvestissement et de la droite de production.
Methodes indirectes crit`ere analytique
y = 5x + 5000
y = 3x 30
_
x = 628.45 heures-ouvrier et y = 1856.25 kg.
ce qui conduit `a P = 6 691 781
0 200 400 600 800 1000 1200 1400
0
1000
2000
3000
4000
5000
6000
7000
Droite dinvestissement
Droite de production
Methodes directes `a une variable
Position du probl`eme
On consid`ere une fonction dune variable y = f (x) denie sur un
intervalle [xA; xB] ;
On cherche le minimum (resp. le maximum) de cette fonction sur cet
intervalle) ;
On pose lhypoth`ese que sur lintervalle considere, la fonction est
unimodale.
Fonction unimodale
Fonction qui ne presente quun seul
optimum. Pour un minimum, note
x [xA; xB] :
f est decroissante sur [xA; x],
f est croissante sur [ x; xB].
y
x x
A
x
B
x
^
Methodes directes `a une variable
Methode dichotomique sequentielle
Dans lintervalle de recherche [xA; xB], 2 mesures sont eectuees aux points
dabcisses x1 et x2 proches du milieu de lintervalle et susamment eloignes
lun de lautre pour que les reponses en ces points soient signicativement
dierentes.
y
x x
1
x
A
x
B
x
2
La reponse au point dabcisse x1 est inferieure `a la reponse au point
dabscisse x2 (y1 < y2).
Methodes directes `a une variable
Methode dichotomique sequentielle
Dans lintervalle de recherche [xA; xB], 2 mesures sont eectuees aux points
dabcisses x1 et x2 proches du milieu de lintervalle et susamment eloignes
lun de lautre pour que les reponses en ces points soient signicativement
dierentes.
y
x x
1
x
A
x
B
x
2
On elimine alors la zone [xA; x1] soit `a peu pr`es la moitie de lintervalle
detude.
Methodes directes `a une variable
Methode dichotomique sequentielle
Dans lintervalle de recherche [xA; xB], 2 mesures sont eectuees aux points
dabcisses x1 et x2 proches du milieu de lintervalle et susamment eloignes
lun de lautre pour que les reponses en ces points soient signicativement
dierentes.
y
x x
1
x
A
x
B
x
2
x
3
x
4
On eectue de nouveau deux mesures de part et dautre du centre de
lintervalle restant [x1; xB], cest-`a-dire en x3 et x4.
Methodes directes `a une variable
Methode dichotomique sequentielle
Dans lintervalle de recherche [xA; xB], 2 mesures sont eectuees aux points
dabcisses x1 et x2 proches du milieu de lintervalle et susamment eloignes
lun de lautre pour que les reponses en ces points soient signicativement
dierentes.
y
x x
1
x
A
x
B
x
2
x
3
x
4
Ici la reponse au point dabscisse x3 etant plus faible, on eliminera la zone
[x1; x3].
Methodes directes `a une variable
Methode dichotomique sequentielle
On proc`ede de cette mani`ere jusqu`a lobtention de la precision souhaitee.
Pour evaluer lecacite de cette methode, on peut relier le nombre dessais
(nombre de mesures) N, `a la largeur de lintervalle initial, L et `a lintervalle
restant .
Etape Nb. exp. Nb. tot.
nouvelles exp.
1 2 2 L
1
2
2 2 4 L
_
1
2
_
2
3 2 6 L
_
1
2
_
3
.
.
.
.
.
.
.
.
.
.
.
.
m 2 2m L
_
1
2
_
m
Methodes directes `a une variable
Methode dichotomique sequentielle
On a donc :
= L
_
1
2
_
m
et m =
N
2
o` u m est le nombre diterations. On obtient ainsi :
N = 2
_
ln ln L
ln 2
_
Pour obtenir une precision egale `a 10
3
, il est necessaire de realiser 20
mesures (
_
1
2
_
10
= 10
3
).
Intuitivement satisfaisante, cette methode nest pas tr`es ecace. Il est en
eet necessaire de realiser, `a chaque iteration, deux nouvelles experiences ;
une technique nimpliquant quune mesure `a chaque iteration permettrait
deconomiser des experiences.
Cest lobjectif des methodes suivantes (Fibonacci et nombre dor).
Methodes directes `a une variable
Methode du nombre dor
Le principe est identique `a la methode precedente : la zone optimale est
cernee de plus en plus precisement par elimination successive dune partie de
lintervalle. Ici, on ne simpose a priori le nombre dessais `a eectuer.
A la premi`ere iteration, deux essais sont realises et ensuite, `a chaque
iteration, un seul essai est eectue et est compare au point conserve de
literation precedente.
Cela est possible dans la mesure o` u x1 partage lintervalle [xA; x2] de la meme
facon que x2 partage lintervalle [xA; xB] ; pour cela, on doit avoir la relation :
y
x x
1
x
2
x
A
x
B
1
d
xAx1
xAx2
=
xAx2
xAxB
lorsque lintervalle de
recherche conserve est
[xA; x2].
Methodes directes `a une variable
Methode du nombre dor
A cause de la symetrie due au fait que lon peut avoir, lors des deux premiers
essais, y1 < y2 ou y1 > y2, engendrant des intervalles de recherche [xA; x2]
ou [x1; xB], on peut montrer que le rapport d =
xAx2
xAxB
doit respecter legalite :
1 d
d
= d
Cela permet de determiner la valeur du rapport d. On a :
d
2
+ d 1 = 0 d =
1 +

5
2
= 0.618
Cette valeur est appelee nombre dor. Ainsi, `a chaque iteration, un des essais
de literation precedente pourra etre utilise.
y
x x
1
x
2
x
A
x
B
1
d
x
3
Methodes directes `a une variable
Methode du nombre dor
Lecacite de la methode se deduit de la relation entre le nombre dessais,
N, la largeur de lintervalle initial, L, et lintervalle nal .
On a :
= L (0.618)
m
et m = N 1
On obtient ainsi
N = 1 +
_
ln ln L
ln 0.618
_
Pour obtenir une precision de 10
3
, 16 experiences sont alors necessaires.
La methode du nombre dor est tr`es ecace lorsquil est possible de faire
evoluer la variable de facon continue. Par contre, lorsque la variable ne peut
prendre que des valeurs discr`etes, la technique de Fibonacci est mieux
adaptee.
Methodes directes `a une variable
Methode de Fibonacci 1 1 2 3 5 8 13
Leonardo Fibonacci (v. 1175 `a Pise, Italie - v. 1250) est
un mathematicien italien. Fibonacci (de son nom mo-
derne), ou Leonardo Fibonacci, avait, `a lepoque, pour
nom dusage Leonardo Pisano (Leonard de Pise).
Probl`eme : possedant initialement un couple de lapins, combien de couples
obtient-on en douze mois si chaque couple engendre tous les mois un
nouveau couple `a compter du second mois de son existence ?
Ce probl`eme est `a lorigine de la suite dont le n
` eme
terme correspond au
nombre de paires de lapins au n
` eme
mois. On suppose que :
le premier mois, il y a juste une paire de lapereaux ;
les lapereaux ne sont pub`eres qu`a partir du deuxi`eme mois ;
chaque mois, toute paire susceptible de procreer engendre eectivement
une nouvelle paire de lapereaux ;
les lapins ne meurent jamais (la suite est strictement croissante).
Methodes directes `a une variable
Methode de Fibonacci
On cherche `a localiser le minimum dune fonction dune variable, denie sur
un intervalle L, avec une precision /2 en eectuant le moins dessais
possible.
On transforme le probl`eme precedent en un probl`eme equivalent :
Quelle est la taille du plus grand intervalle, note

Lk, sur lequel on peut
localiser le minimum dans un intervalle de longueur avec k essais ?
Algorithme de recherche
Il faut au moins deux essais pour pouvoir eliminer une partie de lintervalle.
y
x x
1 0 L x
2
Si y2 > y1, x [0; x2]
il faut x2

Lk1
Si y2 y1, x [x1; L]
il faut L x1

Lk1
Methodes directes `a une variable
Methode de Fibonacci Algorithme de recherche
y
x x
1
x
2
0 L
Si y2 > y1, x [0; x2]
il faut x2

Lk1
Si y2 y1, x [x1; L]
il faut L x1

Lk1
Pour minimiser le nombre dessais, on a interet `a prendre legalite,
cest-`a-dire :
x2 = L x1 =

Lk1
Cela signie que x1 et x2 doivent etre symetriques par rapport au milieu de
lintervalle [0; L].
Methodes directes `a une variable
Methode de Fibonacci Algorithme de recherche
Supposons y2 > y1, on conserve donc lintervalle [0; x2]. On souhaite utiliser
la reponse en x1. Compte tenu de ce qui prec`ede, on choisit le nouveau point
x3 comme etant le symetrique de x1 par rapport au milieu de lintervalle de
recherche [0; x2].
y
x x
1
x
2
x
3
0 L
L
k
L
k-1
^
^
L
k-2
^
Si y1 > y3, x [0; x1]
il faut x1

Lk2
On a obtenu precedemment x2 = L x1 =

Lk1. En prenant le cas limite de
linegalite precedente, on a maintenant x1 =

Lk2. Le premier intervalle de
recherche L peut etre note, an de generaliser lalgorithme L =

Lk.
Les intervalles successifs de recherche vont donc satisfaire la relation :

Lk =

Lk1 +

Lk2
Methodes directes `a une variable
Methode de Fibonacci Initialisation de la suite des

Lk
On demarre avec au moins deux mesures. En eet moins de deux essais ne
donne aucune information sur la position du minimum.
k = 0

L0 =
k = 1

L1 =
Pour des questions derreur de mesure, on suppose que deux mesures doivent
etre separees dau moins pour que lon puisse assurer f (x1) = f (x2).
x
2
x
1
!
"
"
On initialise egalement pour k = 2 :
k = 2

L2 = 2
Methodes directes `a une variable
Methode de Fibonacci Initialisation de la suite des

Lk
La suite de Fibonacci est denie par :
Fk = Fk1 + Fk2 avec F0 = 1 et F1 = 1
Dapr`es linitialisation de

L0,

L1 et

L2, on obtient donc la suite suivante :
k 0 1 2 3 4 5
Fk 1 1 2 3 5 8
Lk 2 3 5 2 8 3
On a donc :

Lk(, ) = Fk Fk2
Si lon choisit = p =

2

Lk(p) = p(2Fk Fk2) = p(Fk + (Fk Fk2


. .
Fk1
))

Lk(p) = p(Fk + Fk1) = pFk+1


Methodes directes `a une variable
Methode de Fibonacci Determination des param`etres
Lintervalle de recherche initial L =

Lk est connu.
Si lon xe le nombre dessais k, on peut en deduire la precision de
localisation de loptimum :
=
L + Fk2
Fk
Si lon xe la precision p, on peut determiner le nombre minimal dessais k
quil faut realiser :
L + Fk2
Fk
2p
Dans le cas o` u lon a = p =

2
, on choisira k tel que :
pFk L ou p
L
Fk
Methodes indirectes Crit`ere analytique
Schema general
On consid`ere une fonction objectif scalaire (crit`ere) J() fonction dun
vecteur de param`etres , decrite de facon analytique. On cherche la
valeur

du vecteur pour laquelle J atteint son minimum (ou son
maximum).
Les methodes de recherche doptimum que nous allons presenter sont,
par nature, iterative.
On demarre avec une valeur donnee dun param`etre 1, appelee valeur
initiale et on gen`ere une sequence de valeurs 2, 3, ..., n, dont on
esp`ere quelle va converger vers la valeur

pour laquelle J(

) est
minimum.
Le calcul de i constitue la i
` eme
iteration du calcul.
En pratique, on termine la sequence apr`es un nombre ni N diterations
et lon admet que N est une approximation de

.
Le vecteur i = i +1 i est appele le i
` eme
pas. Chaque iteration doit
nous rapprocher du minimum, cest-`a-dire J(i +1) < J(i ). Dans ce cas
le pas est dit acceptable.
Methodes indirectes Crit`ere analytique
Schema general
Une methode iterative sera acceptable si tous les pas quelle produit
sont acceptables.
Toutes les methodes suivent le schema suivant :
Poser i = 1. Choisir une valeur initiale 1.
Determiner un vecteur i dans la direction proposee par le i
` eme
pas.
Determiner un scalaire i tel que le pas i = i i soit acceptable.
Tester si le crit`ere darret est atteint. Sil ne lest pas, incrementer i de 1
et retourner `a letape 2. Sil lest, accepter i +1 comme estimation de

.
Les methodes di`erent par le choix de la direction du pas i et
lamplitude du pas i .
Methodes indirectes Crit`ere analytique
Schema general
Ces methodes convergent vers le minimum absolu sil ny a pas de
minimum local. Dans le cas contraire, le minimum atteint depend du point
dinitialisation.
J(!)
! !*
minimum local
Methodes indirectes Crit`ere analytique
Methode du gradient
Soit un vecteur de param`etres `a estimer de dimension k et J une fonction
scalaire de ce vecteur. On cherche le minimum de J en partant dun point
initial 1. Au cours des iterations, on eectue un developpement limite au
premier ordre autour de la solution precedente :
J(i +1) = J(i ) +
_
J()

=i
_
T
(i +1 i )
avec
=
_

(1)

(2)
. . .
(k)
_
T
J()

=
_
J()

(1)
J()

(2)
. . .
J()

(k)
_
T
Il faut obtenir J(i +1) < J(i ) (decroissance du crit`ere `a chaque pas), on
doit donc avoir :
_
J()

=i
_
T
(i +1 i ) < 0
Methodes indirectes Crit`ere analytique
Methode du gradient
_
J()

=i
_
T
(i +1 i ) < 0
La diminution de la fonction est maximale si (i +1 i ) est colineaire au
gradient et de sens oppose. Lexpression precedente est en eet le produit
scalaire de deux vecteurs.
On pose donc :
(i +1 i ) = i
_
J()

=i
_
On obtient donc lexpression de litere `a literation i + 1 :
i +1 = i i
_
J()

=i
_
o` u i est lamplitude du pas qui doit rester petit pour que le develop-
pement limite reste valide et que le pas soit acceptable.
Methodes indirectes Crit`ere analytique
Methode du gradient
La methode peut etre employee meme si lon ne connat pas analytiquement
la fonction `a optimiser. Dans ce cas, on eectue une evaluation numerique
du gradient :
J()


J(i +i ) J(i )
i
o` u i est un petit accroissement.
Analyse de la convergence
La vitesse de convergence est liee au choix du pas i , la convergence la plus
rapide etant obtenue pour i =
2
m+M
o` u m et M sont respectivement la
plus petite et la plus grande valeur valeur propre de la matrice des derivees
secondes.
Methodes indirectes Crit`ere analytique
Analyse de la convergence
On pourra utiliser les principes suivants pour choisir le pas i
limiter la norme de i +1 i par , cest-`a-dire imposer i

G(i )
o` u G(i ) est le vecteur gradient du crit`ere evalue en i
limiter, de la meme mani`ere, la variation de chacune des composantes j
de i , cest-`a-dire i min
j
_
j
Gj (i )
_
De plus, on peut etre confronte `a une convergence oscillante tr`es lente. On
peut alors modier le pas en fonction de la nature de levolution du crit`ere.
x
2
x
1
Methodes indirectes Crit`ere analytique
Methode du gradient Exemple f (x1, x2) = x1 x
2
1
x1x2 + x2 x
3
2
0
20
40
60
80
0
20
40
60
80
!6
!4
!2
0
2
4
x1
Surface dfinie par f
x2
f
(
x
1
,
x
2
)
Methodes indirectes Crit`ere analytique
Methode du gradient Exemple f (x1, x2) = x1 x
2
1
x1x2 + x2 x
3
2
Courbes iso!critre
x1
x
2
!1.5 !1 !0.5 0 0.5 1 1.5
!1.5
!1
!0.5
0
0.5
1
1.5
Methodes indirectes Crit`ere analytique
Methode du gradient Exemple f (x1, x2) = x1 x
2
1
x1x2 + x2 x
3
2
Courbes iso!critre
x1
x
2
!1.5 !1 !0.5 0 0.5 1 1.5
!1.5
!1
!0.5
0
0.5
1
1.5
Methodes indirectes Crit`ere analytique
Methode du gradient Exemple f (x1, x2) = x1 x
2
1
x1x2 + x2 x
3
2
Courbes iso!critre
x1
x
2
!1.5 !1 !0.5 0 0.5 1 1.5
!1.5
!1
!0.5
0
0.5
1
1.5
Methodes indirectes Crit`ere analytique
Programme Matlab
c
% Optimisation sans contraintes
% f=x1-x1*x1-x1*x2+x2-x2*x2*x2
clear,format compact,clf reset,close all
fprintf(Optimisation sans contrainte - Gradient)
XX=-1.5:.05:1.5;YY=-1.5:.05:1.5;
[X1,X2] = meshgrid(XX, YY);
F = X1-X1.^2-X1.*X2+X2-X2.^3;
figure(1)
mesh(F),title(Surface definie par f)
xlabel(x1),ylabel(x2),zlabel(f(x1,x2))
pause
figure(3)
contour(XX,YY,F,50)
title(Courbes iso-crit`ere)
xlabel(x1),ylabel(x2)
pause
hold on
Methodes indirectes Crit`ere analytique
Programme Matlab
c
(suite)
x = [2 1];
f = x(1)-x(1)*x(1)-x(1)*x(2)+x(2)-x(2)*x(2)*x(2);
iter = 1; ff(1) = f;
fprintf(iter. : %3.0f x1 : %7.3f x2 : %7.3f f : %7.3f \n, ...
iter,x(1),x(2),f)
pas = .25;
X = zeros(2,21); X(:,1) = x;
for iter = 2:21
Grad(1,1) = 1-2*x(1)-x(2);
Grad(2,1) = -x(1)+1-3*x(2)*x(2);
x = x-pas*Grad;
X(:,iter) = x;
plot([X(1,iter-1),x(1)],[X(2,iter-1),x(2)],r),pause
ff(iter) = x(1)-x(1)*x(1)-x(1)*x(2)+x(2)-x(2)*x(2)*x(2);
fprintf(iter. : %3.0f x1 : %7.3f x2 : %7.3f f : %7.3f\n,...
iter,x(1),x(2),ff(iter))
end
figure(4),plot(ff,r),title(Evolution du crit`ere),xlabel(Iterations),pause
figure(5),plot(X),title(Evolution des iteres)
Methodes indirectes Crit`ere analytique
Resultats numeriques
iter. : 1 x1 : 2.000 x2 : 1.000 f : -4.000
iter. : 2 x1 : 1.000 x2 : 0.000 f : 0.000
iter. : 3 x1 : 0.750 x2 : 0.000 f : 0.188
iter. : 4 x1 : 0.625 x2 : 0.062 f : 0.258
iter. : 5 x1 : 0.547 x2 : 0.153 f : 0.314
iter. : 6 x1 : 0.485 x2 : 0.249 f : 0.363
iter. : 7 x1 : 0.430 x2 : 0.331 f : 0.397
iter. : 8 x1 : 0.382 x2 : 0.391 f : 0.418
iter. : 9 x1 : 0.343 x2 : 0.431 f : 0.428
iter. : 10 x1 : 0.314 x2 : 0.456 f : 0.433
iter. : 11 x1 : 0.293 x2 : 0.472 f : 0.436
iter. : 12 x1 : 0.279 x2 : 0.482 f : 0.437
iter. : 13 x1 : 0.269 x2 : 0.488 f : 0.437
iter. : 14 x1 : 0.262 x2 : 0.492 f : 0.437
iter. : 15 x1 : 0.258 x2 : 0.495 f : 0.437
iter. : 16 x1 : 0.255 x2 : 0.497 f : 0.437
iter. : 17 x1 : 0.254 x2 : 0.498 f : 0.437
iter. : 18 x1 : 0.252 x2 : 0.499 f : 0.437
iter. : 19 x1 : 0.252 x2 : 0.499 f : 0.437
iter. : 20 x1 : 0.251 x2 : 0.499 f : 0.437
iter. : 21 x1 : 0.251 x2 : 0.500 f : 0.437
Methodes indirectes Crit`ere analytique
Methode de Newton
Le principe de cette methode est identique `a la methode du gradient, mais
on eectue maintenant un developpement `a lordre deux, ce qui correspond
`a une approximation locale par une quadrique.
Le developpement secrit :
J(i +1) = J(i )+
_
J()

=i
_
T
(i +1i )+
1
2
(i +1i )
T
_

2
J()

=i
_
(i +1i )
On cherche le minimum du crit`ere quadratique J par rapport `a
laccroissement (i +1 i ) :
J(i +1)
(i +1 i )
= 0
Cest-`a-dire :
_
J()

=i
_
+
_

2
J()

=i
_
(i +1 i ) = 0
Methodes indirectes Crit`ere analytique
Methode de Newton
Cest-`a-dire :
_
J()

=i
_
+
_

2
J()

=i
_
(i +1 i ) = 0
On obtient donc lexpression de mise `a jour du vecteur de param`etre :
i +1 = i
_

2
J()

=i
_
1
_
J()

=i
_
Linverse de la matrice des derivees secondes (matrice hessienne) fournit le
pas optimal davancement dans la direction du gradient.
La convergence de la methode de Newton est plus rapide que celle du
gradient ; elle nengendre pas doscillation au cours des iterations.
On demontre cependant que la convergence nest assuree que si linverse du
Hessien est deni positif.
Programmation lineaire
Un exemple introductif resolution graphique
Une entreprise fabrique deux produits P1 et P2 en utilisant une machine m et
deux mati`eres premi`eres p et q.
Les temps de fabrication et les quantites de mati`eres pour la production
dune unite de P1 et de P2 sont donnes dans le tableau ci-dessous :
P1 P2
m 1 h 2 h
p 2 kg 2 kg
q 9 kg 4 kg
Les prots realises sont de 4 AC par unites de P1 et de 2 AC par unite de P2.
Sachant que lon dispose chaque jour de 8 h dutilisation de la machine de
fabrication, 10 kg de produit p et 36 kg de produit q, quelle quantite x1 de
P1 et x2 de P2 doit-on produire quotidiennement pour realiser un prot
maximal ?
Programmation lineaire
Un exemple introductif resolution graphique
Expression du crit`ere `a optimiser
J(x1, x2) = 4x1 + 2x2
Expression des contraintes
Temps dutilisation de la machine m
x1 + 2x2 8 x2
1
2
x1 + 4
Mati`ere premi`ere p
2x1 + 2x2 10 x2 x1 + 5
Mati`ere premi`ere q
9x1 + 4x2 36 x2
9
4
x1 + 9
Programmation lineaire
Un exemple introductif resolution graphique
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
x
1
+ 2x
2
= 8
9x
1
! 4x
2
= 36
x
1
+ x
2
= 5
Programmation lineaire
Un exemple introductif resolution graphique
Le crit`ere `a maximiser et les contraintes etant lineaires, le domaine de
solution admissibles est un poly`edre convexe.
Les etudes theoriques montrent (evident dans IR
2
) que la solution optimale
se trouve sur lun des sommets de ce polyh`edre.
Programmation lineaire
Un exemple introductif resolution graphique
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
x
1
+ 2x
2
= 8
9x
1
! 4x
2
= 36
x
1
+ x
2
= 5
Programmation lineaire
Un exemple introductif resolution graphique
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
(x
1
, x
2
) = (16/5, 9/5)
4 x
1
+ 2 x
2
= 82/5
4 x
1
+ 2 x
2
= 8
Programmation lineaire
Un exemple introductif resolution graphique
La solution est ici le sommet intersection des droites x1 + x2 = 5 et
9x1 + 4x2 = 36, ce qui donne :
x1 =
16
5
et x2 =
9
5
La valeur du crit`ere, cest-`a-dire le montant du prot vaut :
J
_
16
5
,
9
5
_
=
82
5
Compte tenu de la remarque precedente, on pourrait donc envisager
devaluer le crit`ere en chaque sommet, mais le nombre de sommets augmente
rapidement avec le nombre de variables et le nombre de contraintes.
Solution proposee par George Dantzig (1914 2005)
Algorithme du simplexe
Programmation lineaire
Methode du simplexe
Fonction objectif et contraintes lineaires (par rapport aux variables
inconnues).
Formulation generale :
max
x
M = c
T
x
sous les contraintes Ax b
x 0
avec x IR
n
, A IR
mn
, b IR
m
et m < n.
Simplexe Exemple
Considerons le probl`eme suivant :
max
x
M = 40x1 + 60x2
sous les contraintes 2x1 + x2 70
x1 + x2 40
x1 + 3x2 90
x1 0
x2 0
Programmation lineaire
Simplexe Exemple
Considerons le probl`eme suivant :
max
x
M = 40x1 + 60x2
sous les contraintes 2x1 + x2 70
x1 + x2 40
x1 + 3x2 90
x1 0
x2 0
Simplexe Premi`ere idee
Transformation des contraintes inegalites en contraintes egalites par
lintroduction de variables decart.
Introduisons donc les variables x3, x4 et x5 pour obtenir les egalites :
2x1 + x2 + x3 = 70
x1 + x2 + x4 = 40
x1 + 3x2 + x5 = 90
xj 0, j = 1, . . . , 5
Methode systematique Simplexe
2x1 + x2 + x3 = 70
x1 + x2 + x4 = 40
x1 + 3x2 + x5 = 90
Syst`eme de trois equations `a cinq inconnues,
Equations independantes ; rang de la matrice du syst`eme egal `a 3,
Si lon impose arbitrairement la valeur de deux des variables, les trois
variables restantes peuvent etre deduites.
Solution de base : x1 = x2 = 0
x3 = 70, x4 = 40 x5 = 90
Valeur du crit`ere M = 40x1 + 60x2 nulle,
Pour augmenter M, il faut augmenter x1 ou x2,
On choisit x2 (meilleure sensibilite) en conservant x1 = 0.
Methode systematique Simplexe
2x1 + x2 + x3 = 70
x1 + x2 + x4 = 40
x1 + 3x2 + x5 = 90
On choisit daugmenter x2 (meilleure sensibilite) en conservant x1 = 0.
Cette augmentation est contrainte par la valeurs des autres variables.
x3 = 70 x2 0 x2 70
x4 = 40 x2 0 x2 40
x5 = 90 3x2 0 x2 30
Valeur maximale admissible x2 = 30. On recalcule les autres variables.
Nouvelle solution admissible :
x1 = 0, x2 = 30, x3 = 40, x4 = 10, x5 = 0
Nouvelles variables de base x2, x3 et x4.
Nouvelles valeur du crit`ere M = 40x1 + 60x2 = 1800.
Methode systematique Simplexe
Idee : recommencer la meme operation avec les nouvelles variables de
base.
La premi`ere fois, les variables de base (x3, x4 et x5, variables decart)
ninterviennent quune seule fois dans chaque equation.
2x1 + x2 + x3 = 70
x1 + x2 + x4 = 40
x1 + 3x2 + x5 = 90
Pour se placer de nouveau dans cette situation avec les nouvelles
variables de base x2, x3 et x4, on extrait x2 de la troisi`eme equation
(x2 = 30
x1+x5
3
) et on la substitue dans les deux premi`eres :
5/3 x1 + x3 1/3 x5 = 40
2/3 x1 + x4 1/3 x5 = 10
1/3 x1 + x2 + 1/3 x5 = 30
Le crit`ere sexprime alors sous la forme : M = 1800 + 20x1 20x5
Methode systematique Simplexe
M = 1800 + 20x1 20x5
5/3 x1 + x3 1/3 x5 = 40
2/3 x1 + x4 1/3 x5 = 10
1/3 x1 + x2 + 1/3 x5 = 30
On choisit daugmenter x1 en conservant x5 = 0
x3 = 40 5/3 x1 0 x1 24
x4 = 10 2/3 x1 0 x1 15
x5 = 30 1/3 x1 0 x1 90
Valeur maximale admissible x1 = 15.
Nouvelle solution admissible :
x1 = 15, x2 = 25, x3 = 15, x4 = 0 x5 = 0
Nouvelles variables de base x1, x2 et x3.
Methode systematique Simplexe
Nouvelle valeur du crit`ere M = 2100 30x4 10x5.
La seule mani`ere de modier x4 et x5 consiste `a les rendre positives
Diminution de la valeur du crit`ere M.
Il nexiste donc plus damelioration possible et la derni`ere solution
obtenue est la solution optimale.
La valeur du crit`ere est alors egale `a 2100.
Meme resultat que la solution graphique ( !)
Resolution graphique
2x
1
+ x
2
= 70
x
1
+ 3x
2
= 90
x
1
+ x
2
= 40
x
1
x
2
x
2
= 0
x
1
= 0
Resolution graphique
2x
1
+ x
2
= 70
x
1
+ 3x
2
= 90
x
1
+ x
2
= 40
x
1
x
2
x
2
= 0
x
1
= 0
M = 0
Resolution graphique
2x
1
+ x
2
= 70
x
1
+ 3x
2
= 90
x
1
+ x
2
= 40
x
1
x
2
x
2
= 0
x
1
= 0
M = 0 M = 900
Resolution graphique
2x
1
+ x
2
= 70
x
1
+ 3x
2
= 90
x
1
+ x
2
= 40
x
1
x
2
x
2
= 0
x
1
= 0
M = 0 M = 900
M = 2100
15
25
Resolution graphique
2x
1
+ x
2
= 70
x
1
+ 3x
2
= 90
x
1
+ x
2
= 40
x
1
x
2
x
2
= 0
x
1
= 0
M = 0 M = 900
M = 2100
15
25
Mise en uvre - Methode du tableau
Retour sur lexemple
Considerons le probl`eme sous forme standard suivant :
max
x
M = 40x1 + 60x2
sous les contraintes 2x1 + x2 + x3 = 70
x1 + x2 + x4 = 40
x1 + 3x2 + x5 = 90
Construction du tableau initial
M x1 x2 x3 x4 x5 b
0 2 1 1 0 0 70
0 1 1 0 1 0 40
0 1 3 0 0 1 90
1 40 -60 0 0 0 0
Mise en uvre - Methode du tableau
Crit`ere et contraintes
M x1 x2 x3 x4 x5 b
0 2 1 1 0 0 70
0 1 1 0 1 0 40
0 1 3 0 0 1 90
1 40 -60 0 0 0 0
M x1 x2 x3 x4 x5 b
0 2 1 1 0 0 70
0 1 1 0 1 0 40
0 1 3 0 0 1 90
1 40 -60 0 0 0 0
Choix de la variable que lon fait entrer dans la base (valeur la plus negative)
M x1 x2 x3 x4 x5 b
0 2 1 1 0 0 70/1 = 70
0 1 1 0 1 0 40/1 = 40
0 1 3 0 0 1 90/3 = 30
1 40 -60 0 0 0 0
Calcul de la valeur maximale que lon peut lui attribuer
Mise en uvre - Methode du tableau
Crit`ere et contraintes
M x1 x2 x3 x4 x5 b
0 2 1 1 0 0 70
0 1 1 0 1 0 40
0 1/3 1 0 0 1/3 30
1 40 60 0 0 0 0
Normalisation de la ligne correspondante
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 1 1 0 1 0 40
0 1/3 1 0 0 1/3 30
1 40 60 0 0 0 0
Elimination par la methode du pivot
Mise en uvre - Methode du tableau
Crit`ere et contraintes
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 1 1 0 1 0 40
0 1/3 1 0 0 1/3 30
1 40 60 0 0 0 0
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 2/3 0 0 1 1/3 10
0 1/3 1 0 0 1/3 30
1 40 60 0 0 0 0
Mise en uvre - Methode du tableau
Crit`ere et contraintes
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 2/3 0 0 1 1/3 10
0 1/3 1 0 0 1/3 30
1 40 60 0 0 0 0
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 2/3 0 0 1 1/3 10
0 1/3 1 0 0 1/3 30
1 20 0 0 0 20 1800
Mise en uvre - Methode du tableau
Crit`ere et contraintes
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 2/3 0 0 1 1/3 10
0 1/3 1 0 0 1/3 30
1 -20 0 0 0 20 1800
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 2/3 0 0 1 1/3 10
0 1/3 1 0 0 1/3 30
1 -20 0 0 0 20 1800
Selection de la nouvelle variable de base ... et on recommence !
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 403/5 = 24
0 2/3 0 0 1 1/3 103/2 = 15
0 1/3 1 0 0 1/3 303/1 = 90
1 -20 0 0 0 20 1800
Mise en uvre - Methode du tableau
Crit`ere et contraintes
M x1 x2 x3 x4 x5 b
0 5/3 0 1 0 1/3 40
0 1 0 0 3/2 1/2 15
0 1/3 1 0 0 1/3 30
1 20 0 0 0 20 1800
M x1 x2 x3 x4 x5 b
0 0 0 1 5/2 1/2 15
0 1 0 0 3/2 1/2 15
0 0 1 0 1/2 1/2 25
1 0 0 0 30 10 2100
Formulation generale
Probl`eme general
max
x
M = c
T
x
sous les contraintes Ax b
x 0
Introduction de variables decart, xn+1, . . . , xn+m forme standard
max
xe
M = c
T
e
xe + u
sous les contraintes Aexe = b
xe 0
Denitions
Tout vecteur xe satisfaisant les contraintes egalite est appele vecteur
admissible.
Un vecteur admissible qui maximise le crit`ere est appele vecteur
admissible optimal.
Lensemble Xad = {xe|Aexe = b, xe 0} est lensemble des solutions
admissibles du probl`eme
Formulation generale
Resolution du probl`eme standard
On ecrit Ae sous la forme Ae = [B, N] o` u N designe les colonnes de Ae
qui ne sont pas dans B,
On partitionne les vecteurs xe en [xB, xN] et c
T
e
en
_
c
T
B
, c
T
N

,
Toute solution du probl`eme verie Aexe = b, c-`a-d :
BxB + NxN = b
La solution de base associee `a la base B est la solution particuli`ere
obtenue en posant xN = 0. Le vecteur xB est alors determine de facon
unique par la resolution du syst`eme de Cramer :
BxB = b, soit xb = B
1
b
On ne modie le syst`eme lineaire des contraintes Aexe = b en le
multipliant par une matrice reguli`ere K. La solution precedente a ete
obtenue en choisissant K = B
1
. On a en eet
Aexe = b BxB + NxN = b
Aexe = b xB + B
1
NxN = B
1
b
Formulation generale
Resolution du probl`eme standard
Crit`ere initial :
M = c
T
e
xe = c
T
B
xB + c
T
N
xN
avec xB = B
1
b B
1
NxN
M = c
T
B
B
1
b +
_
c
T
N
c
T
B
B
1
N
_
xN
M = M(x) + c
T
N
xN
Une condition necessaire et susante pour que B soit une base
admissible optimale (au sens o` u la solution de base associee est
admissible et optimale) est que le vecteur des co uts reduits des variables
hors base soit negatif ou nul ; cN 0.
En eet, dans ce cas, comme xN 0, le terme c
T
N
xN est necessairement
negatif ou nul. Comme lon cherche `a maximiser la valeur du crit`ere,
cela signie que lon a atteint loptimum et quil est egal `a M(x).
Formulation generale
Resolution du probl`eme standard
On consid`ere une base quelconque B
i
et x
i
la solution correspondante,
Sil existe une variable hors base xs telle que la composante de rang s
du vecteur de co uts reduits cN que lon notera cN(s) est positive, alors
a) on peut augmenter indeniment la valeur de xs sans sortir de lensemble
des solutions admissibles et, dans ce cas, loptimum du crit`ere est non
borne,
b) il existe une autre base B
i +1
et une autre solution de base x
i +1
telle que
lon ait M(x
i +1
) > M(x
i
)
Formulation generale
Resolution du probl`eme standard
On part de la solution x
i
=
_
x
i
B
, x
i
N

=
_
B
1
b, 0

On envisage un deplacement dans lequel la variable xs est la seule parmi


les variables hors base `a changer de valeur : nulle dans la solution x
i
,
elle va prendre une valeur xs = > 0.
La nouvelle solution x = [xB, xN] obtenue veriera :
xN = es
o` u es est un vecteur de la dimension de xN avec toutes ses composantes
nulles sauf la composante de rang s egale `a 1.
Formulation generale
Resolution du probl`eme standard
La valeur de doit etre choisie de telle sorte que x = [xB, xN] reste une
solution admissible, cest-`a-dire :
xB = B
1
b B
1
NxN 0
avec :
xN = es
do` u :
xB = b Ns 0
En regroupant les contraintes, on a :
_
_
_
xN = es
xB = b Ns
Formulation generale
Resolution du probl`eme standard
Contraintes : _
_
_
xN = es
xB = b Ns
Deux cas peuvent alors se presenter :
Cas 1 : Ns 0
La valeur de peut etre aussi grande que lon veut, on aura toujours
xB 0 et loptimum du crit`ere est non borne
Cas 2 : i (1 i m) | Ns (i ) > 0
La valeur de ne peut etre augmentee indeniment ; la plus grande
valeur

de est denie par :

= min
i ,Ns (i )>0

b(i )
Ns (i )

=
b(r )
Ns (r )
et lon a M(x
i +1
) = M(x
i
) +

cN(s) > M(x
i
).
Formulation generale
Resolution du probl`eme standard
Si le probl`eme est non degenere, on remarque que cette solution a
exactement m composantes non nulles.
la variable xs , nulle dans x
i
, est devenue strictement positive,
la variable xr , strictement positive dans x
i
a maintenant pour valeur :
xr = b(r )

Ns (r ) = 0
La solution x
i +1
=
_
x
i +1
B
, x
i +1
N

est une solution de base. Elle


correspond `a la base B
i +1
deduite de B
i
en remplacant la colonne r par
la colonne s (bases B
i
et B
i +1
adjacentes).
Programmation lineaire en nombre entiers
Sensibilisation `a travers un exemple
Un industriel fabrique deux types de moteurs electriques (standard MS
et haute performance MHP) necessitant chacun quatre phases de
production.
La vente dun moteur de type MS degage un prot de 100 AC; il est de
90 AC pour un MHP.
Les temps de fabrication unitaires, en heures, des deux types de
moteurs, ainsi que les disponibilites des postes de production sont les
suivants :
MS MHP Disponibilite
Fabrication des pi`eces 0,7 1 630
Bobinage 0,5 5/6 600
Assemblage 1 2/3 708
Controle & emballage 0,1 0,25 135
Combien de moteur de chaque type doit-il fabriquer
pour assurer un prot maximal ?
Programmation lineaire en nombre entiers
Sensibilisation `a travers un exemple
Soit x1 le nombre de MS et x2 le nombre de MHP `a produire.
Le prot (crit`ere `a maximiser) secrit :
p = 100x1 + 90x2
ce qui conduit `a :
x2 =
10
9
x1 +
p
90
Les contraintes sont exprimees dans le tableau ci-dessous :
Contraintes
Fabrication des pi`eces 0.7x1 + x2 630
Bobinage 0, 5x1 + 5x2/6 600
Assemblage x1 + 2x2/3 708
Controle & emballage 0, 1x1 + 0, 25x2 135
Nombre MS x1 0
Nombre MHP x2 0
Programmation lineaire en nombre entiers
Resolution graphique
0 200 400 600 800 1000 1200 1400
0
100
200
300
400
500
600
700
800
900
1000
1100
x
1
+ 2 x
2
/ 3 = 708
0.1 x
1
+ 0,25 x
2
= 135
0,5 x
1
+ 5 x
2
/ 6 = 600
0,7 x
1
+ x
2
= 630
Programmation lineaire en nombre entiers
Resolution graphique
0 200 400 600 800 1000 1200 1400
0
100
200
300
400
500
600
700
800
900
1000
1100
x
2
= ! 10 x
1
+ 852
(x
1
, x
2
) = (540, 252)
Programmation lineaire en nombre entiers
Modication des contraintes
La solution du probl`eme pose est donc (x1, x2) = (540, 252)
La contrainte relative au poste de fabrication des pi`eces secrit :
0.7x1 + x2 630
Si la disponibilite du poste de travail fabrication des pi`eces est egale `a
620 heures, la contrainte secrit :
0.7x1 + x2 620
La resolution conduit `a (x1, x2) = (547.5, 233.25)
Il faut, bien s ur, que les nombres de moteurs fabriques soient des
entiers !
On verie que la solution (x1, x2) = (547, 233) appartient au domaine
admissible et que, pour cet exemple, cest la solution optimale du
probl`eme
Programmation lineaire en nombre entiers
Second exemple
max
x1,x2
x1 + 2x2
sous les contraintes 2x1 + x2 4
2, 4x1 3x2 0
avec x1 IN et x2 IN
0 0.5 1 1.5 2 2.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2 x
1
+ x
2
= 4 2,4 x
1
! 3 x
2
= 0
Programmation lineaire en nombre entiers PLNE
Second exemple
Solution du probl`eme de programmation lineaire : (x1, x2) = (1.43, 1.14)
0 0.5 1 1.5 2 2.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
x
1
+ 2 x
2
= 3,71
Solution du PLNE, par arrondi : (x1, x2) = (1, 1) ne fait pas partie du
domaine des solutions !
Solution du PLNE arrondie la plus proche : (x1, x2) = (1, 0) ce nest
pas la solution optimale !
Solution du PNLE (x1, x2) = (2, 0)
Terminaisons ou solutions non standards du simplexe
Degenerescence duale
Considerons lexemple traite precedemment
max
x1,x2
100x1 + 90x2
sous les contraintes 0.7x1 + x2 630
0.5x1 + 5x2/6 600
x1 + 2x2/3 708
0.1x1 + 0.25x2 135
avec x1 0 et x2 0
Si le prot realise en vendant un moteur standard passe de 100 AC `a
63 AC, le crit`ere `a maximiser devient :
p = 63x1 + 90x2
Le domaine de solutions deni par les contraintes est reste identique.
Mais la droite de prot peut secrire :
0.7x1 + x2 =
p
90
Cette droite est parall`ele `a la premi`ere contrainte.
Terminaisons ou solutions non standards du simplexe
Degenerescence duale
0 100 200 300 400 500 600 700 800 900 1000
0
100
200
300
400
500
600
700
0.7 x
1
+ x
2
= 57600
Domaine des
solutions
La droite de prot est parall`ele `a un cote du polygone. On peut donc
choisir la solution optimale le long de cette arete.
Terminaisons ou solutions non standards du simplexe
Solution non bornee
Considerons lexemple suivant :
max
x1,x2
x1 + 2x2
sous les contraintes x1 4x2 2
x1 + 2x2 5
avec x1 0 et x2 0
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
! 2 x
1
+ x
2
= 2
! x
1
+ 2 x
2
= 5
x
1
! 4 x
2
= 2
Le domaine des solutions admissibles nest pas borne.
Le crit`ere peut etre inni !
Terminaisons ou solutions non standards du simplexe
Contraintes redondantes ou contradictoires
Dans lexemple relatif au fabriquant de moteur :
0 200 400 600 800 1000 1200 1400
0
100
200
300
400
500
600
700
800
900
1000
1100
x
1
+ 2 x
2
/ 3 = 708
0.1 x
1
+ 0,25 x
2
= 135
0,5 x
1
+ 5 x
2
/ 6 = 600
0,7 x
1
+ x
2
= 630
La contrainte 0.5x1 +5/6x2 600 est redondante (elle ne contribue pas
`a la denition du domaine de solution)
Dans un probl`eme dierent, si cette contrainte avait ete
0.5x1 + 5/6x2 600, lensemble des solutions admissibles aurait ete
lensemble vide. On est en presence de contraintes contradictoires.
Bibliographie
Ces diapositives sinspirent (librement !) du document :
Optimisation et recherche operationnelle,
cours de 3i`eme annee de lENSGSI, ecrit par Christian Zanne, 2008,
ainsi que de mon cours :
Elements de theorie des graphes et programmation lineaire,
cours de 2i`eme annee de lENSEM, 2008.
Des emprunts ont egalement ete eectue au livre :
Introduction `a loptimisation,
de Jean-Christophe Culioli, editions Ellipses, 1994.