Vous êtes sur la page 1sur 24

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

RECHERCHE
OPRATIONNELLE

page 1 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

Sommaire
RECHERCHE OPRATIONNELLE........................................................................................................................1
Sommaire..................................................................................................................................................................2
Programmation linaire.............................................................................................................................................3
Exemple classique.................................................................................................................................................3
Mise en quation...............................................................................................................................................3
Formulation gnrale........................................................................................................................................3
Propositions.......................................................................................................................................................3
Forme canonique & standard................................................................................................................................3
Transformation dcriture.................................................................................................................................3
Forme standard..................................................................................................................................................3
Forme canonique...............................................................................................................................................4
Exemple.............................................................................................................................................................4
Bases, bases ralisables, solutions de base............................................................................................................4
Base & hors-base...............................................................................................................................................4
Solution de base................................................................................................................................................4
Exemple.............................................................................................................................................................4
Caractrisation dune base ralisable................................................................................................................4
Thorme...........................................................................................................................................................4
Solutions optimales...........................................................................................................................................5
Caractrisation des bases optimales......................................................................................................................5
Thorme...........................................................................................................................................................5
Exemple classique.............................................................................................................................................5
Algorithme du simplexe Mthode des tableaux.................................................................................................5
Mthode.............................................................................................................................................................5
Exemple classique.............................................................................................................................................6
Analyse du tableau final du simplexe...............................................................................................................7
Mthode rvise du simplexe................................................................................................................................8
Convergence & Initialisation du simplexe............................................................................................................8
Thorme : Convergence de lalgorithme.........................................................................................................8
Initialisation.......................................................................................................................................................8
Initialisation : Mthode du gros M....................................................................................................................9
Initialisation : Mthode des deux phases..........................................................................................................9
Perturbation verticale & horizontale...................................................................................................................10
Perturbation verticale......................................................................................................................................10
Exemple de perturbation verticale..................................................................................................................10
Perturbation horizontale..................................................................................................................................11
Exemple de perturbation horizontale..............................................................................................................11
Ajout dun nouveau produit C dans lexemple classique................................................................................11
Dualit.................................................................................................................................................................12
Exemple : Problme du restaurant et du pharmacien concurrents..................................................................12
Modlisation du problme...............................................................................................................................13
Mise en quation sur quelques exemples............................................................................................................13
Problme de transport.....................................................................................................................................13
Ordonnancement contraintes disjonctives....................................................................................................13
Prise en compte de puissance..........................................................................................................................14
Programmation linaire combinatoire (entiers)..................................................................................................15
Algorithme du B&B........................................................................................................................................15
Illustration de lalgorithme..............................................................................................................................15
Exemple de modlisation : Localisation dusines...........................................................................................16
Processus alatoire : chanes de Markov.................................................................................................................17
Gnralits.......................................................................................................................................................17
Classification des tats....................................................................................................................................17
Comportement asymptotique et distribution stationnaire...............................................................................17
Dcisions et Chanes de Markov.....................................................................................................................18
Exemple du confectionneur.............................................................................................................................19
Dcisions multiples.........................................................................................................................................19
Exemple du confectionneur (suite et fin)........................................................................................................20

page 2 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

page 3 sur 24

ENSERB informatique

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

Programmation linaire
Exemple classique
Soit une firme produisant du A et du B avec du M1, du M2 et du M3, selon le tableau suivant :
A
B
Stocks
M1
2
1
8
M2
1
2
7
M3
0
1
3
Gain / unit
4
5
Mise en quation
Soit x1 la quantit de A et x2 la quantit de B, avec x1 0 et x 2 0 .
-

bilan de M1 : 2 x1 x 2 8

bilan de M2 : x1 2 x 2 7

bilan de M3 : x 2 3

Critre : Z 4 x1 5 x 2

Formulation gnrale
Le problme (P) revient de chercher x tel que la fonction conomique Z soit maximum.

Z x c, x

P Ax b
x0

x 0, Ax b est un polydre, qui reprsente lensemble des solutions. Si est vide, le problme na
pas de solution ralisable. Sinon le problme possde une solution optimale, moins que Z ne soit pas born sur
. On distingue les contraintes lches et satures.
Propositions
-

est un polydre convexe (par construction).


Sil existe une solution optimale finie, cest un sommet de

Forme canonique & standard


Transformation dcriture

x x x
xR
x,x 0
ax b
ax b
ax b

page 4 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

ax s b
ax s b
et
ax b
ax b
s0
s0

Min Z Max Z

Forme standard
Un problme est dit sous forme standard si et seulement si toutes les vraies contraintes, autre que xi 0 , sont
des galits. Il est souvent ncessaire dintroduire des variables dcart pour transformer des ingalits en
galit.
Forme canonique
Quant la forme canonique, elle fait intervenir exclusivement des ingalits.
Remarque : Notons que pour ces deux formes, il faut se ramener un problme de maximum.
Exemple
crivons lexemple sous forme standard.

2x1 x2 x3 0 0 8
x 2x 0 x 0 7
1 2
4

0 x 2 0 0 x5 3
xi 0

, ce qui donne la matrice A 1


0

8

0 et b 7 .
3
1

Bases, bases ralisables, solutions de base

Z x c, x

On suppose que le problme P scrit

Ax b
x0

avec A une matrice de dimension m x n.

Base & hors-base


Considrons un m-uplet B. On dit que B forme un base si et seulement si la matrice AB m x m, constitue par les
colonnes de A dindice dans B, est rgulire. Le complment de B dans 1, , n est le hors-base associ HB.
On a : Ax b AB x B AHB x HB b et Z x t cx Z x t c B x B t c HB x HB . Ainsi toute solution
de P vrifie :

x B AB AHB x HB AB b

et on constate que si lon fixe la valeur des variables hors-bases

x HB , on dtermine la valeur des x B .


Solution de base
On appelle solution de base (associe B), la solution particulire obtenue en faisant x HB 0 , do
1
x B AB b . Une telle solution est dite ralisable si x B 0 . Une solution de base est dite dgnre1 si x B

a des composantes nulles.


1

Dans le cadre de notre tude, nous faisons lhypothse supplmentaire que toute les solutions de bases sont non
dgnres, cest dire rang A m .
page 5 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

Exemple
Dans lexemple, B 3,4,5 forme une base. La solution de base associ B est x t 0
avec Z x 0 . Pour B 1,2,5 , on obtient la solution optimale x 3
t

Z x 22 Z max .

1 avec

Caractrisation dune base ralisable


Une base est dite ralisable, si pour son criture canonique, tous les seconds membres bi sont positifs.
Thorme

Soit x R n , Ax b, x 0 un polydre convexe (il peut tre non born) ensemble des solutions
ralisables de (P). Lensemble des points extrmaux2 de correspond lensemble des solutions de base
ralisables.
Par ailleurs, tout point x dun polydre convexe born est combinaison linaire convexe3 de points extrmes
de .
Solutions optimales
Le maximum de la forme linaire Z x c, x sur le polydre convexe vide est :
- soit infini
- soit fini et obtenu en au moins un point extrmal. Si le maximum est atteint en plusieurs points
extrmaux, il est atteint en tout point combinaison convexe de ces points extrmaux.

Caractrisation des bases optimales

AB x B AHB xHB b

c B x B cHB xHB Z x

Soit B une base et HB le hors-base associ, on peut crire

quelconque de Rm

c
t

, do pour un y

t yAB x B t c HB t yAHB x HB Z x t yb . En choisissant y tel que

c B t yAB 0 , cest dire t AB t c B , on obtient

x B AB 1 AHB x HB AB 1b

cHB AHB x HB Z x b
t

. Cest lcriture

canonique par rapport la base B : les coefficients des variables de base sont lidentit, et Z sexprime laide
dune constante qui dpend de la base B, et des variables hors-base.
Remarque : Par une lecture directe, on obtient la solution de base associe B et la valeur correspondante du
critre.
Thorme
Une condition ncessaire et suffisante, en labsence de dgnrescence, pour que B soit optimale est que :
t

2
3

c HB t c HB t AHB t c HB t c B AB AHB 0 .

ou point anguleux ou sommet

x i xi , i 0, i 1
i

page 6 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

Exemple classique

7
criture canonique dans la base 3, 4, 5 :
.
0 1 0 0 1
3

4 5 0 0 0 Z x

Ainsi pour x1 x 2 0 , on obtient la solution de base x 3 8 , x 4 7 , x5 3 et Z x 0 . La base


3, 4, 5 nest pas optimale !
0
0
3
1 0 2/3

0
1

1
/
3
1
0
2

criture canonique dans la base 1, 2, 5 :


.
0 0 1/ 3
0 1
1

0 0
1
2 0 Z x 22

Ainsi pour x3 x 4 0 , on obtient la solution de base x1 3 , x 2 2 , x5 1 et Z x 22 . La base


1, 2, 5 est optimale !
1
2

1
0

0
1

0
0

Algorithme du simplexe Mthode des tableaux


Mthode
- On suppose dans un premier temps connatre une base B ralisable.

a1,1


On donne les donnes du problme sous forme dun tableau
a
m,1
c
1

On passe lcriture canonique par rapport la base B, ce qui donne de faon simplifie :

0 0

AHB AB AHB

b AB b

c HB t c HB t AHB

Z x t b

b1


.
bm

Z x

a1,n

a m,n
cn

Si c HB nest pas ngatif ou nul, il faut utiliser un changement de base.

Considrons lindice e de ce max ci 0 .

On teste la colonne Ae : si tous les coefficients sont ngatifs, alors lalgorithme se termine car Z .

Sinon, on forme les coefficients q i bi / a i ,e et on dtermine s tel que bs / a s ,e min bi / ai ,e pour les

a i ,e 0 . La ligne s est dite ligne de pivot. Si le minimum obtenu est unique (non dgnrescence) la

nouvelle solution x aura toutes ses composantes > 0, et par consquent x sera une solution de base
associe la nouvelle base B B / s e .

page 7 sur 24

14/12/14

Esnard Aurlien
-

Recherche oprationnelle

Le nouveau tableau se calcule par pivotage : on utilise la mthode de Gauss en prenant pour pivot le
coefficient a s ,e , ou on effectue la pr-multiplication du tableau par la matrice de pivotage :

0 0

ENSERB informatique

a1,e / a s ,e

a s 1,e / a s ,e

1 / a s ,e
a s 1,e / a s ,e

0
1

a m ,e / a s ,e
c e / a s ,e

0 0 1

, dont la colonne singulire est en position s.

On arrte lalgorithme ds lors que la base obtenue savre optimale.


On lit les solutions du problme dans le tableau final.

Exemple classique
On applique lalgorithme du simplexe pour lexemple initial.
1. base 3, 4, 5

3 2

4 1
5 0

1 1 0 0

8 /1

2 0 1 0 7 7/2
1 0 0 1 3 3 / 1
5 0 0 0 Z x

o [ ] : reprsente le pivot.

On change dans la base courante s = 5 avec e = 2 pour former la nouvelle base.


2. base 3, 4, 2

3 2

4 1
2 0

5 / 2 L1 L1 L pivot / pivot a1,e

0 0 1 2 1 1 / 1 L2 L2 L pivot / pivot a2,e


1 0 0 1
3
L3 L pivot / pivot a3,e

Z Z L / pivot c
0 0 0 5 Z x 15
pivot
e

0 1 0 1

page 8 sur 24

14/12/14

Esnard Aurlien

3.

ENSERB informatique

base 3,1, 2

3 0

1 1
2 0

4.

Recherche oprationnelle

0 1 2 3

3 / 3

0 0 1 2
1 0 0 1

1
3


3/ 2

0 0 4 3 Z x 19

base 5,1, 2

5 0

1 1
2 0

0
0
1
0

1/ 3
2/3
1/ 3
1

2/3
1/ 3
2/3
2

1
1
0
3
0
2
0 Z x 22

La base courante est optimale. Par consquent, x 3


t

1 est la solution optimale, qui donne

Z max 22 .
Analyse du tableau final du simplexe

Supposons que le problme scrive P :

b1

AB
premier tableau de la forme :
bk

Z x c, x

Ax b
x0

, on va introduire des variables dcart, qui fournisse un

, pour lequel on dispose de la base

0 0 Z x

page 9 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

AB 1
t

Binitial b1 bk . Le tableau final est obtenu par une pr-multiplication avec

b1 1


bk
1

0 0

O
, ce qui donne
1

AB

AB b

, avec pour base B final

b1 bk .

Z x b
t

Dans le tableau final, on remarque :


-

la place de la matrice identit correspondant aux variables dcart, on a

la place de AB , on a Id

la place de AHB , on a

dans la ligne du critre sous les variables dcart, on a t .

AB

AB AHB

Ainsi pour obtenir AB1 , on lit dans le tableau final les colonnes correspondant la base initiale, dans lordre o
elles apparaissent de b1 bk. Et rciproquement avec le tableau initial et la base finale, pour obtenir AB .

Mthode rvise du simplexe


Le mthode consiste, contrairement la mthode des tableaux, revenir pour chaque itration aux donnes de
lnonc, pour viter les erreurs darrondis successives. Par ailleurs, on essaye de minimiser les calculs.
Supposons que lon dispose dune base B ralisable, on a lalgorithme suivant.
1.

Lire A, b, c
Lire B base telle que

AB b 0

2.

k0
kk+1

3.

litration k, soit B la base courante,

x x B , x HB la solution de base associe.

b AB 1b

t
t
c B AB

Calculer

i, ci t ci t Ai
4.

Si ci 0 alors FIN loptimum est atteint.


Sinon il existe e tel que c e 0 , et on peut encore augmenter strictement Z, ce qui montre que B nest pas
optimal.
1

Ae AB Ae .

5.

Calculer

6.

Si Ae 0 , alors FIN optimum non born.


Sinon calculer s tel que qi soit minimum.
La nouvelle base est B B \ {s} U {e} ; on retourne en 2.

page 10 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

Convergence & Initialisation du simplexe


Thorme : Convergence de lalgorithme
Sous lhypothse de non dgnrescence, lalgorithme du simplexe converge en un nombre fini ditrations. En
pratique, lalgorithme est encore fini dans le cas de la dgnrescence. La convergence rsulte du fait quil y a un
nombre fini de base, et que le changement de base dcrit prcdemment entrane toujours une augmentation de
Z.
Initialisation

Souvent la base de dpart nest pas une vidence. Par ailleurs, nous avons toujours suppos que rang A m
avec A une matrice de dimension m x n. La phase dinitialisation doit permettre de fournir un systme de
contraintes non redondantes (supprimer les contraintes redondantes) et fournir une base de dpart ce qui se
traduit par une matrice identit dans le tableau.

1 0 0 b1

0 1 0
Par des pivotages successifs, on peut se ramener la forme de tableau suivante
. Si
0 0 1

0 0 . . . #

une ligne i de zros apparat, soit le second membre bi 0 , auquel cas la contrainte i est redondante et on la
supprime, soit bi 0 et le problme na pas de solution.
Initialisation : Mthode du gros M
On suppose que lon dispose dune criture canonique pour la base B, ce qui se traduit par le tableau suivant :

0
0

0
1
0

0 b1

0 . Si tous les bi sont positifs, alors la base est ralisable ; si lun au moins est
1 bm

ngatif on doit avoir recours la technique des variables artificielles. En premier, on multiplie les lignes relatives
aux bi ngatifs par -1 pour les rendre positifs. On obtient de ce fait un nouveau tableau A b , avec second
membre positifs, mais on ne possde priori plus de base initiale. On associe au problme P, le problme PA

dfini comme suit, PA :

Ax I . y b , b 0

x 0, y 0

i 1

, o M est une constante trs grande. On rsout le problme

Z max c, x M y i
PA, la base de dpart est celle des colonnes de y. Le fait que chaque yi ait un cot M assure que lalgorithme
tente de faire sortir les variables artificielles de la base. Quand chaque yi est hors-base, on est en fait en train de
rsoudre P.
Initialisation : Mthode des deux phases
Considrons le problme P classique, et supposons que lon ne dispose pas dune matrice identit pour dbuter
lalgorithme, on va alors introduire des variables artificielles (purement algbriques).

page 11 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

Considrons le problme P1

ENSERB informatique

Ax Iy b

x 0, y 0 , qui nest pas sous forme canonique car W

min

contient les variables

t cy W
min

Ax Iy b
de bases yi. On se ramne alors au problme P2

x 0, y 0
~ t
t
cAx Wmax cb

~
avec Wmin Wmax , sur lequel on

excute lalgorithme du simplexe.


En terminant le simplexe, deux cas se prsentent :
a) Wmin 0 et le problme P na pas de solution
b)

Wmin 0 et il faut encore distinguer deux cas :


-

Aucun yi nappartient la base optimale de P2 ; par consquent cette base est convenable pour le
problme P. On abandonne P2 et on reprend le problme P avec la base trouve.
Certains yi sont dans la base optimale de P2, on est dans un cas dgnr. On examine la ligne de A
correspondant la variable yi de la base.
- Si tous les coefficients a i , j de la ligne i sont nuls, on supprime cette contrainte qui savre
redondante et on recommence.
- Si lun des coefficients a i , j de la ligne i est non nul, on pivote autour de cet lment, ce qui a
pour effet de faire rentrer la vraie variable x j en chassant la variable artificielle. La fonction
conomique quant elle nest pas augment par ce pivotage, car on se trouve en situation
dgnre.

Perturbation verticale & horizontale


Perturbation verticale

Ax b b

On envisage le problme

P b : x 0
Z c, x
max

dont on connat la solution complte du problme P 0 P .

Si la base B optimale du problme P est telle que AB


problme P b .

Pour des valeurs de b telles que

b b 0 , alors B est encore optimale pour le

xB b AB 1 b b 0

xHB b 0

Z x b Z x 0 t b , ce qui scrit de manire image

, on a pour valeur du critre

Z t
.
b

Notion de cot marginal : Considrons le cas particulier de perturbation verticale suivant. On augmente le
vecteur b sur une seule composante et dune seule unit, cest--dire b e j . Laugmentation du critre sera
donc de Z j , quantit que lon sait lire directement sur le tableau final du problme P. De plus, la colonne

page 12 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

A j du tableau final contient les variations des solutions relatives la base optimale, les solutions relatives au
hors-base demeurant toujours nulles.
Par ailleurs, on donne une interprtation conomique du vecteur : i est le prix du march dune unit du
bien i, cest le cot marginal du bien i.
Exemple de perturbation verticale
On reprend lexemple classique et On accrot le stock de M 1 dune unit b1 8 b1 9

3 2

4 1
5 0

1 1 0 0 8 9

2 0 1 0 7
1 0 0 1 3

5 0 0 0 Z x

. La perturbation verticale porte de fait sur la variable x3 , on sintresse

5 0 0 1/ 3

1 1 0 2/3
donc la colonne 3 du tableau final :
2 0 1 1/ 3

0 0 1

2/3
1/ 3
2/3
2

1
1

0
3
0
2

0 Z x 22

. On dduit que

t
x 3 2 / 3 2 1 / 3 0 0 1 1 / 3 est la solution optimale, qui donne Z max 22 1 car le cot
marginal gale 1.
Attention ! La linarit de Z ne vaut que pour un domaine limit des perturbations verticales, pour laquelle la
base B est encore optimale. On tablit ici que pour un augmentation du stock de , le critre varie en

Z 22 cot m arg inal sur lintervalle

9
,3 .
2

Perturbation horizontale

Ax b

On envisage le problme

P c : x 0
dont on connat la solution complte du problme P 0 P .
Z c c, x
max

La technique consiste crire P c dans la base optimale de P. La variation de c c c entrane une

variation de et lon a

t c B t AB
c B AB
t

~ c c t c A . Si la
. On tablit que c
HB
HB
HB
B
HB

perturbation horizontale porte sur les variables hors de la base B, alors la formule scrit plus simplement
c~HB c HB c HB car c B 0 dans ce cas.

page 13 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

Exemple de perturbation horizontale


On reprend lexemple classique et on suppose que le gain sur la A varie de

3 2

4 1
suivant :
5 0

1 1 0 0
2 0 1 0

1 0 0 1 3

5 0 0 0 Z x

ENSERB informatique

Ce qui donne le tableau initial

. On passe dans la base optimale, simplement en ajoutant

dans la colonne 1 du tableau final (en effet, le pivotage ne ralise que des soustractions aux lignes), ce qui donne:

2/3
1/ 3
2/3
2

5 0 0 1/ 3

1 1 0 2 / 3
2 0 1 1/ 3

0 1

5 0

11
qui donne
2 0

x 3
t

dire pour

1
1

0
3
0
2

0 Z x 22

. On ralise un pivotage pour obtenir lcriture canonique, ce

0 1/ 3
2/3
0 2/3
1/ 3
1 1/ 3
2/3
0 1 2 / 3 2 / 3
0

1
1

0
3

0
2

0 Z x 22 3

. On en dduit la solution optimale

1 , qui est indpendante de la perturbation, tant que la base reste optimale, cest--

3 2
,
; sur cet intervalle on a Z max 22 3 .
2 3

Ajout dun nouveau produit C dans lexemple classique


On veut faire un nouveau produit C ; cependant on ne souhaite pas refaire tout le simplexe. On dispose du

3 2 1 1

41 2 0
nouveau tableau initial :
5 0 1 0

4 5 0

0
1
0
0

0
0
1
0

2 8

1 7
2 3

3 Z x

page 14 sur 24

. On identifie dans le tableau final du simplexe,

14/12/14

Esnard Aurlien

5 0 0

1 1 0
2 0 1

0 0

scrit AB

1/ 3 2 / 3 1
2 / 3 1/ 3 0

1
3

1/ 3 2 / 3 0

1
1

Recherche oprationnelle

1/ 3

2/3
1/ 3

ENSERB informatique

la matrice de changement de base 3,4,5 5,1,2 qui

2 0 Z x 22
2/3
1/ 3
2/3

0 . En pr-multipliant cette matrice avec le vecteur colonne 6 relatif au


0

2
2


produit C dans le tableau initial, on obtient : AB 1 1 . En effet, toute colonne est le rsultat du calcul
2
0


2

1
t

Ai AB Ai . De mme, on peut calculer ci ci Ai , ce qui donne c6 3 1 2 0 1 1 .


2

1

5 0 0 1/ 3

1 1 0 2/3
Le nouveau tableau final scrit :
2 0 1 1/ 3

0 0 1

2/3
1/ 3
2/3
2

1
0
0
0

2
1

1
3
0
2

1 Z x 22

Il faut remarquer que

c 6 est ngatif. Par consquent, le produit C nest pas vendu assez cher puisque sa production naugmente pas la
fonction conomique ! Si au lieu de prendre un gain / unit de 3 pour le produit C d, je choisi 3
(perturbation horizontale), alors c 6 1 0 (il suffit de refaire le calcul), la solution nest donc plus
optimale et Z va pouvoir grossir.

Dualit
Exemple : Problme du restaurant et du pharmacien concurrents
Voici les donnes du restaurant.
plat 1
plat 2
plat 3
vitamines
7
9
11
calories
21
23
25
gain / unit (Fr)
10
12
14
Soient x1 , x 2 , x3 0 les quantits des plats 1, 2, 3.
On fait le bilan en vitamines et en calories :
7 x1 9 x 2 11x3 200
-

besoins
200
400

21x1 23 x 2 25 x3 400

La fonction conomique scrit : Wmin 10 x1 12 x 2 14 x3 .


Considrons maintenant les donnes du pharmacien concurrent.
Il produit 2 cachets v (1 vitamine) et c (1 calorie). Il cherche le prix de 1 v et de 1 c pour maximiser son gain.
On donne le bilan par plats:
page 15 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

- plat 1 : 7v 21c 10
- plat 2 : 9v 23c 12
- plat 3 : 11v 25c 14
La fonction conomique scrit Z max 200v 400c avec v, c 0 .
Modlisation du problme

t Ay c

Ax b

Le primal scrit (P) :

x0

et le dual scrit (D) :

Z c, x
max

y0
W b, y
min

Proposition : Loprateur de dualit permet de passer du problme primal au problme dual. Remarquons que le
dual du dual est le primal.

t A y y c

Proposition : Le dual de (P) : x 0


est (D) : y 0, y 0
Z c, x
W b, y y
max
min
Ax b

Proposition : x primal , y dual , Z x W y .


Proposition : Si x primal et y dual tels que Z x W y , alors x est la solution optimale du
primal, y est la solution optimale du dual, et Z x W y .
Corollaire : Soit x la solution optimale du primal, alors la solution optimale du dual est y .

Mise en quation sur quelques exemples


Problme de transport
Considrons 3 usines U1, U2, U3 dont les stocks respectifs sont s1, s2, s3 et 3 magasins M1, M2, M3, dont les
demandes respectives sont d1, d2, d3. On note ci , j le cot unitaire du transport de Ui vers Mj.
Le problme consiste satisfaire la demande pour le cot de transport minimal. On appelle xi , j 0 la quantit
en provenance de Ui destination de Mj.
Limitation des stocks :
- bilan de U1 : x11 x12 x13 s1
-

bilan de U2 : x 21 x 22 x 23 s 2

bilan de U3 : x31 x32 x33 s3

Satisfaction de la demande :
- bilan de M1 : x11 x 21 x 31 d1
-

bilan de M2 : x12 x 22 x32 d 2

bilan de M3 : x13 x 23 x33 d 3

Hypothse de transport : stock demande , cest--dire


galit.
La fonction conomique : Wmin

c
i

i, j

s
i

d j . Les ingalits sont transform en


j

xi , j .

Ordonnancement contraintes disjonctives


On fabrique 3 produits A, B, C sur 4 machines.

page 16 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

M1
M2
M3
M4
produit A
a1
x
a3
a4
produit B
b1
b2
x
b4
produit C
x
c2
c3
x
ai, bi, ci sont les dures ncessaires pour usiner un produit A, B, C sur la machine Mi. x indique quun produit
nest pas usin par la machine correspondant la colonne.
On veut terminer lensemble des travaux au plus tt, avec la contrainte que si une machine a commenc usiner
un produit, elle termine son action et ne peut tre affecte une autre tche. Il va donc se produire des conflits.
Par ailleurs, on respecte lordre de passage : dabord M1, puis M2, M3 et M4.
Soit x Ai 0 la date du dbut dutilisation de la machine Mi pour le produit A ; de mme pour x Bi 0 et

xCi 0 .
Respect de lordonnancement :

x A3 x A1 a1
gamme de A :

x A 4 x A3 a 3

xB 2 xB1 b1
gamme de B :

x B 4 x B 2 b2

gamme de C : xC 3 xC 2 c 2

Rsolution des conflits :


Les contraintes que lon ajoute sont dordinaires du type ET, mais parfois on doit traiter des contraintes
disjonctives, cest--dire du type OU exclusif (soit lun, soit lautre).
Prenons la cas simple suivant f x 0 ou g x 0 , on introduit la variable boolenne (entire, gale 0

ou 1), et la constante

M (10

30

f x M
par exemple). On traduit la contrainte simplement par
.

g x 1 M

conflit sur M1 : x A1 avant x B1 ou x B1 avant x A1

xB 2 b2 xC 2 2 M
conflit sur M2 :
.

x C 2 c 2 x B 2 1 2 M

de mme pour M3 et M4.

x A1 a1 x B1 1M
, ce qui se traduit
.

x B1 b1 x A1 1 1 M

page 17 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

La fonction conomique sexprime : Z min max xA 4 a 4 , x B 4 b4 , xC 3 c3 , cependant cette

fin de A

u x A4 a 4

expression nest pas linaire, on sen tire en insrant une variable auxiliaire u tel que u x b , et en posant
B4
4
u x c
C3
3

Z min u .

Prise en compte de puissance

2 x1 3x2 x3 3

xi 0,1

Considrons le problme P :

Z max x1 x2 x3 x3

k
xi xi . Par consquent, Z max x1 x 2 x3 x3 . Le

Remarquons tout dabord que xi tant boolenne,

produit de variable boolenne est encore boolenne : on va pouvoir poser y x 2 x 3 . Il faut maintenant ajouter

des contraintes telles que y se comporte comme x 2 x3 :

x 2 x3 y 1
.

x 2 x3 2 y 0

Programmation linaire combinatoire (entiers)

Ax b

Considrons le problme suivant : P : x 0, xi entier . On appelle problme relax, le problme o les x ne sont
Z c, x
max
i

plus forcment des entiers.


Toute ide dvaluation explicite est impossible mettre en uvre, on utilise une mthode implicite appel le
B&B 4.
Algorithme du B&B
On procde par itrations successives.
0. Initialisation : Je rsous le problme relax Z max [ ou min] , x . Si la solution est entire alors FIN,

sinon il faut trouver un majorant Z u de la fonction conomique : soit en calculant Z sur un point intrieur
entier du polydre, soit en prenant Z u 5.
1.

Sparation ( kme itration) : Je considre le sous-ensemble k de solution, avec 1 . Je choisi une


composante non dj entire (celle qui a la plus grosse partie fractionnaire) de la solution optimale du sousproblme Z max [ ou min] , x k , et je partitionne k en k et k , en ajoutant des contraintes qui
excluent la partie fractionnaire de la composante choisie.

4
5

Branch and Bound : sparation et valuation progressive.


Cest--dire trs grand par rapport aux donnes du problme.
page 18 sur 24

14/12/14

Esnard Aurlien

2.

Recherche oprationnelle

valuation : Pour chaque sous-problme

max [ ou min]

, x k et Z max [ ou min] , x k , je calcule


Z Lk et Z Lk .

la solution optimale (en utilisant lalgorithme du simplexe)


3.

4.

ENSERB informatique

Strilisation : Jexamine chaque sous-ensemble susceptible de contenir la solution optimale, et on strilise


un sous-ensemble si :
a) Z L Z u , [respectivement Z L Z u ], avec Z u la solution courante et Z L la solution pre (?).
b) Le sous-problme a un ensemble vide de solution.
c) Z L est obtenue avec une solution entire (valuation exacte) et Z L Z u , [respectivement Z L Z u ]
Test : Si tous les sous-ensembles sont striles, alors FIN, sinon je retourne en 1.

Illustration de lalgorithme

Je mintresse au problme

Z max 4 x1 6 x2

P : x1 x2 1, x1 3x2 9, 3x1 x2 15 . Si je rsous le problme relax Pr,


x entier
i
1.5

, et un majorant Z 9 pour le problme P. Je procde maintenant la


jobtient la solution optimale x
1.5
sparation, qui divise le problme en deux. Pour la variable x1 non entire, jinterdis la bande fractionnaire
compris entre 1 et 2. Cest--dire, je rsous un simplexe pour chaque sous-ensemble :

1 x , x1 1 et

1
, et Z 8 . Cette solution
2

2 x , x 2 2 . Le premier sous-problme donne comme rsultat x

est ralisable (la meilleur de 1 ), par consquent on la strilise. Le deuxime sous-problme, quant lui

, et Z 6 . On ne pourra avoir des solutions entires dans 2 ayant un meilleur critre que
donne x
7 / 3

Z 6 , qui est dj moins bon que celui trouv dans 1 . Finalement, Z 8 .


Remarque : Si la solution du premier sous-problme navait pas t entire, on aurait ritr la sparation, sur
1 plutt que sur 2 , car le critre y est suprieure (rappel : on cherche Zmax).

Exemple de modlisation : Localisation dusines


On dispose de 3 sites susceptibles de recevoir une construction : on veut en faire 2. Considrons le schma
suivant qui met en relation les usines Ai avec leur distributeurs Dj. Le cot unitaire du transport de Ai vers Dj est
ci , j .
D
2

A1
D
1
A2

D
3

D
4
Site
1
2

A3

capacit de production
A1
A2

capital investi
K1
K2

page 19 sur 24

cot de production unitaire


p1
p2

14/12/14

Esnard Aurlien

Recherche oprationnelle

A3

ENSERB informatique

K3

p3

De plus, chaque distributeur Di demande une quantit di. Le problme est de satisfaire la demande au cot total
optimal.

Introduction de variable boolenne :

1 si condition
. Pour le problme qui nous intresse, la condition est :
i
0 sinon

si le site Ai est construit . Par la suite, la limitation du nombre de construction se rsume 1 2 3 2 .


Soit xi , j 0 la quantit fabrique en Ai, allant vers Dj.
La satisfaction des demandes :
- de D1 : x11 x 21 d 1
-

de D2 : x12 x 22 x32 d 2

de D3 : x 23 x33 d 3

de D4 : x14 x 24 x34 d 4

La limite de production :
- de A1 : x11 x12 x14 A1 1
-

de A2 : x 21 x 22 x 23 x 24 A2 2

de A3 : x32 x33 x34 A3 3

Remarques : Attention, il faut bien vrifier que le problme est linaire. Si 1 0 , alors x11 x12 x14 0 .
Si lon avait une limitation du capitale K, on lcrirait : K 1 1 K 2 2 K 3 3 K .
La fonction conomique scrit :

Z min

p1 x11 x12 x14



. On se sert du fait que si

K
1 1

construction A1

production A1

lusine A1 nest pas construite alors la limite de production impose que les variables x1,i 0 .

Processus alatoire : chanes de Markov


Gnralits

Considrons une liste dtat 1,2, , n . la date t, le processus se trouve dans un tat i, ce que lon traduit

par X t i . On dfinit la transition de i vers j comme la probabilit p i , j P X t 1 j X t i . On fait


lhypothse que les transitions sont indpendantes du temps (phnomne stationnaire). On dfinit la matrice des
transitions P p i , j . En gnral, la distribution initiale q i P X 0 i est donne. On remarquera que la
matrice P est stochastique6. De tels matrices possdent des proprits intressantes ; notamment, la stabilit du
produit matriciel, et la proprit de Gerchgorin dont un corollaire snonce brivement en disant que les valeurs
propres sont de module infrieur 1. Lhypothse de Markov qui traduit la perte de mmoire est formul comme
suit : P X n 1 i n 1 X n i n , , X 0 i0 P X n 1 i n 1 X n i n . Le thorme de Chapman-

Kalmagarov prcise que la matrice de transition obtenue pour k itrations scrit simplement P k . La
distribution de probabilit obtenue aprs k itrations est un vecteur q k dont les composantes sont dfinies
par q i k P X k i k . On a les relations : t q k 1 t q k P et t q k t q 0 P k .

la somme des coefficients de toutes lignes fait 1.


page 20 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

Classification des tats


On peut associer la matrice des transitions P un graphe orient, dont les sommets reprsentes les diffrents
(k )
tats. On dfinit les relations comme suit i mne j k / pi , j 0 . On dit que i et j communiquent si et
seulement si i mne j et j mne i. Un graphe est dit fortement connexe si, pour tout i et pour tout j, il existe un
chemin menant de i vers j. Le graphe rduit reprsente les liens entre les composantes connexes du graphe
original. Le graphe rduit est sans circuit, ce qui induit un ordre sur ses sommets : classe transitoire et classe
finale.

f i ,( nj ) P X n j , X n 1 j , , X 1 j X 0 i reprsente la probabilit datteindre j partant de i au bout

de n transitions exactement. A partir de l, on dfinit la probabilit datteindre j partant de i f i , j

f
n 1

(n)
i, j

Considrons maintenant la probabilit, partant de i, de revenir en i : f i ,i . On dit que i est tat rcurrent si et
seulement si f i ,i 1 , et que i est transitoire sinon. Une condition ncessaire et suffisante pour quun tat soit
transitoire est que la srie

nN

( n)
i ,i

(de termes rels positifs) soit convergente. Un tat rcurrent est

caractrise par une srie divergente vers . Sur le graphe, on peut identifier des classes finales (composante
connexe dtats rcurrents) et des classes transitoires (composante connexe dtats transitoires).
Comportement asymptotique et distribution stationnaire
Considrons les deux relations suivantes : t q k 1 t q k P et t q k t q 0 P k . Lhypothse

lim q n existe, et ne dpend pas de q 0 traduit loubli du pass signifi dans la proprit de Markov.
n

Par ailleurs, cela impose que la chane est rgulire, cest--dire quil ny a quune seule classe, ncessairement
finale ; autrement le choix de q 0 serait dcisif, puisquil dterminerait la classe finale. Quelque soit la

lim P n . Par ailleurs, on a t t P , cest--dire


n

distribution initiale q 0 , on a t t q 0 avec


que
t

est un vecteur propre gauche pour P associ la valeur propre 1. En prenant,


q 0 0 0 1 0 0 , on dmontre que la matrice possde toutes ses lignes identiques

et gales

pi(,nj) j (si elle existe) ne dpend pas de i : on parle alors de distribution


. La limite lim
n

stationnaire de probabilit. Notons que si ltat final dpend de la distribution initiale, il ny a pas de distribution
limite stationnaire.
(n)
Thorme : tant donn un 0 , il existe une distribution stationnaire si, pour tout n n0 , pi , j .
Remarque : Si partir du rang n0 , la matrice de transition nme conserve tous ses lments strictement positifs,
alors le graphe associ la matrice est fortement connexe (1 seule composante connexe), donc le graphe rduit
ne possde quun seule classe, qui doit ncessairement tre terminale, donc tous les tats sont rcurrents.
Interprtation de la distribution stationnaire sur un exemple :
Considrons une rivire deux tats Haut et Bas. partir de donnes statistiques, on tablit la loi de transition
suivante, dont on suppose quelle est modlisable par un processus de Markovien :
0,3
0,7

Haut

Bas

0,5

0,5

page 21 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

0,7

Ce qui se traduit par la matrice de transition suivante : P


0,5

ENSERB informatique

0,3

. Il y a une seule classe finale, tous les

0,5

H B H B P
tats sont rcurrents. Calculons la distribution stationnaire :
, ce qui nous donne

B H 1
B 3 / 8 et H 5 / 8 .

i P X i lim P X n i donne la probabilit datteindre la position i, au bout dun temps trs

long.
i reprsente galement le temps relatif pass dans ltat i. Pour notre exemple, on dira que la rivire passe
5/8 de son temps dans ltat haut, et les 3/8 restant dans ltat bas.

reprsente le temps moyen de retour sur ltat i. Pour notre exemple, Partant de la position haute, il

faudra attendre en moyenne 8/5 de jours pour revenir en position haute.


Dcisions et Chanes de Markov
On considre une chane de Markov rgulire, cest--dire la matrice de transition P est stochastique (et tous ces
coefficients sont des probabilits), la chane est irrductible7 et il existe une seule distribution stationnaire .
Thorme : La chane est rgulire si il existe un rang au del duquel P n a tous ses coefficients > 0.
On dcide maintenant associer chaque transition un cot a i , j . On dfinit la matrice des cots A a i , j

carre et de dimension n, le nombre dtats. Lesprance de gain partant de i est a i

p
j 1

i, j

ai , j On dfinit le

v1 m

. On notera en particulier que


vecteur esprance de gains en m transitions par v m
v m
n

v1 a a i . Par convention, on pose que v 0 0 . On dispose de formules exprimant v m en


fonction de v m 1 :
v m a P v m 1
-

si on conditionne par la 1re transition : vi m ai

v m v m 1 P m 1 a

i, j

v j m 1

si on conditionne par la dernire transition : v i m vi m 1

( m 1)
i, j

aj

Formule asymptotique : v n ng .e v O1 / n o g t a est un rel appel gain, avec la distribution

stationnaire, o e t 1

I P v a ge

. La formule asymptotique donne pour


1 . v est tel que
,v 0

chaque tat une quation de droite. Le gain g caractrise la pente, et v lordonne lorigine.
Exemple du confectionneur
Un confectionneur fabrique un seul type de vtement. On suppose que les mauvaises (tat 1) et les bonnes

0,7

0,3

. Le bnfice est de 0
annes (tat 2) forment une chane de Markov, de matrice de transition P
0,5 0,5
aprs une mauvaise anne , et de 10 aprs une bonne anne. La matrice des cots sexpriment donc
7

Il existe une seule classe, terminale.


page 22 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

0
0 0,7 0 0,3 0

. Le vecteur esprance de gain se calcule a


. On
10 10
10 0,5 10 0,5 10
cherche tablir la formule asymptotique. On calcule pour commencer la distribution stationnaire B 5 / 8 et
4,6875
. Comme on
M 3 / 8 . On en dduit le gain g t a 30 / 8 . Puis on calcule v
7,8125
sintresse aux bnfices et non pas aux cots, on reprsente n v n , ce qui donne :

vM n 30 / 8 n 4,6875 O1 / n
. On en conclue que si lon part dune mauvaise anne, cest

vB n 30 / 8 n 7,8125 O1 / n

irrattrapable !
Dcisions multiples
On envisage un changement du type de vtements. Sil change de type de fabrication, il lui en cote en 5. On
cherche la politique la politique stationnaire optimale. La matrice de transition du nouveau vtement scrit

0,25 0,75

. Pour ce cas simple, on peut numrer les diffrentes politiques : on associe au rsultat dune
0,25 0,75
anne (bonne ou mauvaise) une dcision (changement de vtement ou pas). chaque stratgie correspond sa
propre matrice de transition. Par exemple, partant du 1er type de vtement, si je choisis de ne jamais changer de
vtement, je retombe sur le cas de lexemple prcdent. Cependant, lintuition nous conseille de choisir de
0,25 0,75

changer de type de vtement aprs une mauvaise anne, ce qui donne la matrice de transition
0,5
0,5
5 0,25 5 0,75 5

.
et le vecteur esprance de gain a
10 0,5 10 0,5 10
La politique optimale est stationnaire, cest--dire quelle ne dpend que de ltat. On peut reprsenter une
politique par une matrice D y i , d avec y i , d la probabilit de choisir la dcision d sachant que lon est
dans ltat i. Une politique est dterministe si pour chaque tat i correspond une dcision certaine. On dfinit
x i , d comme la probabilit de choisir la dcision d et dtre dans ltat i. On a xi , d y i , d i , daprs la

formule des probabilits conditionnelles. Par ailleurs, i qui reprsente la probabilit dtre dans ltat i scrit

i xi ,d . Supposons quil y est n tats et k dcisions possibles, on dfinit lesprance du cot dune
d

transition comme la fonction conomique minimiser :

Z min xi , d ai d , avec a d le vecteur


i 1 d 1

esprance de gains relatif la dcision d. La politique optimale va tre dtermin par Z min en ajoutant les
contraintes suivantes :
n

i 1 d 1

xi ,d i 1, xi ,d 0
t

i 1

t P i, xi ,d x j , d d Pj ,i 0 , o d P reprsente la matrice de
d 1

j 1 d 1

transition relatif la dcision d.


En rsolvant le simplexe, on obtient les rels x i , d , on pourrait de ce fait sattendre ce que les y i , d soient
aussi des rels, mais en fait ils sont gaux 0 ou 1 (politique dterministe) !
Exemple du confectionneur (suite et fin)
On liste les tats : mauvaise anne 1, bonne anne 2 ; on liste les dcisions : pas de changement 1,
changement 2. Ainsi x1, 2 reprsente la probabilit dtre dans une mauvaise anne et de changer de type de

page 23 sur 24

14/12/14

Esnard Aurlien

Recherche oprationnelle

ENSERB informatique

a et
vtement. On commence par crire les vecteurs esprance de gains relatifs aux dcisions a 1
10

5
0,7 0,3
et les matrices de transitions relatifs aux dcisions 1 P P
et
a 2
5
0,5 0,5
0,25 0,75
2
. La fonction conomique scrit : Z min 10 x 2,1 5 x1, 2 5 x 2, 2 . Les contraintes
P
0,25 0,75
scrivent x1,1 x1, 2 x 2,1 x 2, 2 1 , 0,3 x1,1 0,75 x1, 2 0,5 x 2 ,1 0,25 x 2 , 2 0 pour ltat 1 et on
obtient la mme quation pour ltat 2.
La rsolution du simplexe donne x1,1 x 2, 2 0 , x1, 2 2 / 5 et x 2,1 3 / 5 , avec Z 4 . Ainsi on
dduit

y j ,d

x j ,d
, ce qui donne y1,1 y 2, 2 0 , y1, 2 1 et y 2 ,1 1 , do la matrice de la

x
d 1

j ,d

politique optimale : D
1

, qui confirme lintuition.

page 24 sur 24

14/12/14

Vous aimerez peut-être aussi