UNIVERSITE DU LITTORAL COTE D’OPALE

Master 1 “
´
Economie et Gestion de l’Environnement et du D´ eveloppement Durable”
M´ ethodes quantitatives
appliqu´ ees ` a l’environnement I.
Daniel DE WOLF.
Dunkerque, Septembre 2006
Table des mati` eres
I Introduction ` a la mod´ elisation math´ ematique 5
1 Introduction 7
1.1 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Parties du cours . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 La notion de matrice . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4 Calcul matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Les notions de graphe, de flot et de r´ eseau. 19
2.1 Un exemple de transport . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Notion de graphe . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Notion de flot . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 Formulation en mod` eles d’optimisation. 27
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Formulation des probl` emes lin´ eaires . . . . . . . . . . . . . . . . 27
3.3 Formulation des probl` emes en nombres entiers . . . . . . . . . . 30
3.3.1 Probl` emes avec coˆ ut fixe . . . . . . . . . . . . . . . . . . 30
3.3.2 M´ elange avec nombre limit´ e d’ingr´ edients . . . . . . . . 31
3.3.3 Choix parmi un nombre discret de valeurs . . . . . . . . . 32
3.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3
4 Table des mati`eres
II M´ ethodes d’optimisation 35
4 R´ esolution des mod` eles lin´ eaires 37
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 R´ esolution graphique des probl` emes ` a deux variables . . . . . . . 37
4.3 Principe de l’algorithme du Simplexe . . . . . . . . . . . . . . . 41
4.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 R´ esolution des mod` eles non lin´ eaires. 45
5.1 Conditions de Kuhn et Tucker . . . . . . . . . . . . . . . . . . . 45
5.2 Application au calcul d’´ equilibre de l’utilisateur . . . . . . . . . . 48
5.3 La m´ ethode de Frank-Wolfe . . . . . . . . . . . . . . . . . . . . 49
5.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6 R´ esolution des mod` eles en nombres entiers 55
6.1 M´ ethode de “branch and bound” . . . . . . . . . . . . . . . . . . 55
6.2 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
III R´ esolution au moyen du solveur d’Excel 61
7 Le solveur d’EXCEL. 63
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.2 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . 68
7.2.1 Le rapport des r´ eponses . . . . . . . . . . . . . . . . . . 68
7.2.2 Le rapport de sensibilit´ e . . . . . . . . . . . . . . . . . . 69
7.2.3 Le rapport des limites . . . . . . . . . . . . . . . . . . . 70
7.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8
´
Etude de cas 1 : la collecte de bouteilles 73
8.1
´
Enonc´ e du probl` eme . . . . . . . . . . . . . . . . . . . . . . . . 73
9
´
Etude de cas 2 : le transport routier 77
Partie I
Introduction ` a la mod´ elisation
math´ ematique
5
Chapitre 1
Introduction
1.1 Objectifs du cours
L’objectif de ce cours est double. Il s’agit, d’une part, de donner une introduction
` a la mod´ elisation math´ ematique, outil couramment utilis´ e en gestion de l’eau,
en gestion des transports (voir cours de Master 2). Il s’agit, d’autre part, de voir
quelques m´ ethodes de r´ esolution de ces mod` eles principalement en ce qui concerne
les mod` eles lin´ eaires et les mod` eles non lin´ eaires.
Nous introduirons la notion de mod` ele math´ ematique d’optimisation. On fait
face ` a ce type de mod` ele lorsqu’il y a des actions ` a prendre en vue de minimiser ou
maximiser un objectif en respectant un certain nombre de contraintes. Prenons un
exemple. En traitement des d´ echets m´ enagers, on peut vouloir minimiser le coˆ ut
de traitement de ces d´ echets tout en respectant un certain nombre de contraintes
environnementales (normes sur la qualit´ e de l’air rejet´ e, proportion maximum de
d´ echets non recycl´ e, etc...). Les actions ` a prendre peuvent ˆ etre repr´ esent´ ee par les
quantit´ es de d´ echets envoy´ ees aux diff´ erentes fili` eres (recyclage, enfouissement,
incin´ eration, etc...).
En ce qui concerne les technique d’optimisation, nous nous limiterons ` a exposer
quelques techniques qui concernent :
• les probl` emes lin´ eaires que l’on rencontre lorsque toutes les relations math´ e-
matiques du mod` ele sont purement lin´ eaires;
• les mod` eles non lin´ eaires que l’on rencontre lorsque soit la fonction objectif,
soit au moins une contrainte est non lin´ eaire.
• les mod` eles en nombres entiers que l’on rencontre lorsque les variables de
d´ ecisions doivent ˆ etre enti` eres (par exemple, pour mod´ eliser des d´ ecisions
d’investissement du type tout ou rien).
7
8 Chapitre 1. Introduction
1.2 Parties du cours
Le cours est divis´ e en trois parties.
La premi` ere sera consacr´ ee ` a des notion de mod` ele math´ ematique. Nous
introduirons quelques outils math´ ematiques qui seront utiles pour comprendre
certaines parties plus techniques dans la suite du cours. On fera un rappel de
la notion de matrice qui est utilis´ ee, notamment en gestion des transports pour
repr´ esenter la demande de transport sous la forme d’une matrice origine destina-
tion. On rappellera ´ egalement la notion de graphe qui est utilis´ ee, notamment en
gestion des transports pour repr´ esenter l’offre, c’est-` a-dire le r´ eseau de transport.
Nous verrons ensuite comment formuler un probl` eme d’optimisation : on
parle de probl` eme d’optimisation lorsque que l’on veut d´ eterminer les valeurs de
variables de d´ ecision en vue de maximiser ou minimiser une fonction objectif tout
en respectant un certain nombre de contraintes. Un exemple classique est celui de la
d´ etermination pour une entreprise des quantit´ es ` a produire de ses diff´ erents produits
en vue de maximiser son profit tout en respectant les contraintes de capacit´ e de ses
ateliers et de satisfaction de la demande de ses clients.
La deuxi` eme partie sera consacr´ ee ` a une introduction ` a la r´ esolution des
mod` eles d’optimisation.
Nous verrons dans cette partie que si le probl` eme d’optimisation est lin´ eaire
(objectif et contraintes purement lin´ eaires), et qu’il ne comporte que deux variables
de d´ ecision, il peut ˆ etre r´ esolu de mani` ere purement graphique. S’il y a plus de
deux variables de d´ ecision, il faut recourir ` a l’algorithme du Simplexe dont nous
donnerons le principe.
En ce qui concerne les mod` eles non lin´ eaires, il y a de nombreux algorithmes
en fonction du type de probl` eme non lin´ eaire ` a r´ esoudre. Nous nous limiterons
au cas de probl` emes ` a objectif non lin´ eaire et ` a contraintes lin´ eaires pour lequel il
existe un algorithme adapt´ e : l’algorithme de Frank-Wolfe. Comme la plupart des
algorithmes non lin´ eaires, il s’agit d’un algorithme it´ eratif ayant ` a chaque it´ eration
deux ´ etapes : le calcul d’une direction de descente (en cas de minimisation) de la
fonction, ensuite une recherche unidimensionnelle le long de cette direction.
En ce qui concerne les mod` eles en nombre entiers, nous pr´ esenterons la m´ e-
thode de branch and bound.
Enfin, la troisi` eme partie du cours sera consacr´ ee ` a l’utilisation du solveur
d’Excel pour r´ esoudre des probl` emes d’optimisation en environnement. Nous
verrons notamment le probl` eme de la gestion des d´ echets, de l’optimisation des
ressources en eau et du transport de marchandises, trois mod` eles utilis´ es dans les
cours de Master 2.
Section 1.3. La notion de matrice 9
1.3 La notion de matrice
Une matrice est un outil math´ ematique tr` es pratique sur le plan des calculs. Une
matrice est un tableau de nombres sur lequel des op´ erations peuvent ˆ etre effectu´ ees.
D´ efinition 1.1 Une matrice de genre (m×n) dans R est un tableau rectangulaire
de m lignes et n colonnes de nombres r´ eels.
Elle est not´ ee de la mani` ere suivante :

a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
. . . . . . . . . . . .
a
m1
a
m2
. . . a
mn
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
. (1.1)
D´ efinition 1.2 Le coefficient a
ij
de la matrice l’´ el´ ement du tableau en position
(i, j), ` a l’intersection de la i` eme ligne et de la j` eme colonne.
Ainsi, par exemple, la matrice suivante :

a
11
a
12
a
21
a
22
a
31
a
32
¸
¸
¸
¸
¸
¸
¸
=

2 1
3 6
4 5
¸
¸
¸
¸
¸
¸
¸
est une matrice de genre (3, 2), c’est-` a-dire qu’elle comporte 3 lignes et 2 colonnes.
Il y a deux fa¸ cons de sp´ ecifier une matrice : la d´ efinition sous forme extensive
et la d´ efinition sous forme compr´ ehensive. La forme extensive consiste ` a d´ ecrire
explicitement la matrice en tant que tableau rectangulaire de nombres, en mettant
un nombre ou un symbole pour chacun de ses coefficients. La matrice (1.1) illustre
cette forme.
Dans la d´ efinition sous forme compr´ ehensive, on indique d’abord le symbole
utilis´ e pour repr´ esenter la matrice dans sa totalit´ e, celui utilis´ e pour repr´ esenter
un ´ el´ ement quelconque, de ligne i et colonne j, enfin le genre de la matrice, en
indiquant les valeurs possibles des indices. Par exemple, on d´ efinit la matrice A
suivante :
A = {a
ij
}
i=1,2,...,m; j=1,2,...,n
. (1.2)
Une formule accompagne cette description pour expliciter l’´ el´ ement en fonction
de son indice de ligne et de colonne. Un cas remarquable est celui de la matrice
10 Chapitre 1. Introduction
identit´ e. On la d´ esigne par la notation I
n
. Il s’agit d’une matrice carr´ ee d’ordre n
qui comporte des z´ eros partout sauf sur sa diagonale principale o` u les coefficients
sont ´ egaux ` a un :
I
n
=

1 0 . . . 0
0 1 . . . 0
. . . . . . . . . . . .
0 0 . . . 1
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
Une d´ efinition sous forme compr´ ehensive la matrice identit´ e est la suivante :
I
n
= {δ
ij
}
i=1,...,n; j=1,...,n
,
o` u δ
ij
d´ esigne l’indice de Kronecker qui est d´ efini de la mani` ere suivante :
δ
ij
=

1 si i = j,
0 sinon.
Voyons maintenant quelques cas particuliers importants.
1. Si n = 1, c’est-` a-dire si on a une seule colonne, on parle dans ce cas de
vecteur colonne. C’est, par exemple, le cas du vecteur x suivant :
x =

x
1
x
2
¸
¸
¸ .
2. Si m = 1, c’est-` a-dire si on n’a qu’une seule ligne, on parle de vecteur
ligne. C’est le cas, par exemple, du vecteur y suivant :
y =
¸
y
1
y
2

.
Lorsqu’on ne pr´ ecise pas qu’un vecteur est un vecteur colonne ou ligne,
on convient de consid´ erer qu’il s’agit d’un vecteur colonne. On parle du
nombre de composantes d’un vecteur plut ˆ ot que du nombre de ses ´ el´ ements.
D’un vecteur qui a n composantes, on dit qu’il est de dimension n.
3. Dans le cas o` u m = n, on parle pour une raison ´ evidente de matrice carr´ ee :
le tableau rectangulaire repr´ esentant la matrice devient en effet dans ce cas
un carr´ e. Plut ˆ ot que de dire d’une matrice carr´ ee qu’elle est de genre (n×n),
on dit qu’elle est d’ordre n.
4. Dans le cas o` u m = n = 1, on a donc une matrice qui se r´ eduit ` a un seul
coefficient r´ eel : on parle dans ce cas de scalaire.
Section 1.4. Calcul matriciel 11
1.4 Calcul matriciel
Addition de deux matrices :
La motivation pour l’´ etude d’une telle op´ eration sur les matrices est de pouvoir,
dans un mod` ele d’affectation du trafic, additionner les demandes de diff´ erents
groupes d’utilisateurs se d´ epla¸ cant sur un mˆ eme r´ eseau. Ainsi, on additionnera, par
exemple, les matrices origine-destination des voitures particuli` eres et des camions.
D´ efinition 1.3 Deux matrices sont dites de mˆ eme genre, si elles ont le mˆ eme
nombre de lignes et de colonnes.
D´ efinition 1.4 Pour deux matrices de mˆ eme genre, A(m×n) et B (m×n), on
d´ efinit la somme des deux matrices comme une troisi` eme matrice de mˆ eme genre
(m×n), not´ ee C. Elle est obtenue en additionnant les termes occupant des places
identiques dans les deux matrices Aet B. On note
C = A+B,
avec
c
ij
= a
ij
+ b
ij
.
Exemple 1.1 Calculer :
C =

2 3 −1
4 −2 7
¸
¸
¸ +

−3 5 2
6 1 4
¸
¸
¸.
Solution :
C =

2 −3 3 + 5 −1 + 2
4 + 6 −2 + 1 7 + 4
¸
¸
¸ =

−1 8 1
10 −1 11
¸
¸
¸ .
On remarquera qu’une des cons´ equences de la d´ efinition d’addition de matrices
est que cette op´ eration est commutative, c’est-` a-dire que :
A+B = B +A.
12 Chapitre 1. Introduction
Multiplication par un scalaire :
La motivation pour l’´ etude d’une telle op´ eration sur les matrices est de pou-
voir, dans un mod` ele d’affectation du trafic, tenir compte d’une augmentation
g´ en´ erale de la demande de d´ eplacements. Cela se traduira, pour la matrice origine-
destination par la multiplication par un scalaire.
Une autre motivation possible pour l’´ etude d’une telle op´ eration est la trans-
formation d’une matrice origine-destination repr´ esentant la demande de transport
de camions en une matrice origine-destination d’´ equivalents voitures particuli` eres.
Comme un camion repr´ esente l’encombrement de plusieurs voitures sur la voirie,
on multiplie chaque ´ el´ ement de la matrice camions par un scalaire (par exemple,
un camion est l’´ equivalent de 7 voitures).
D´ efinition 1.5 La multiplication d’une matrice A par un scalaire α ∈ R donne
une matrice B, de mˆ eme genre dont chaque ´ el´ ement est l’´ el´ ement correspondant
de Amultipli´ e par le scalaire.
Autrement dit :
B = αA,
avec
b
ij
= αa
ij
.
Exemple :
2

1 2 7
−3 8 15
¸
¸
¸ =

2 4 14
−6 16 30
¸
¸
¸ .
La transposition d’une matrice :
La motivation pour l’´ etude d’une telle op´ eration sur les matrices est de pouvoir,
dans un mod` ele d’affectation du trafic, passer de la demande d’heure de pointe
du matin ` a la demande d’heure de pointe du soir. Comme g´ en´ eralement les gens
retournent chez eux le soir, la matrice origine-destination du soir est la transpos´ ee
de celle du matin.
D´ efinition 1.6 La matrice transpos´ ee d’une matrice Ade genre (m×n) est une
matrice ` a n lignes et m colonnes, not´ ee A
T
o` u l’´ el´ ement en position (i, j) est a
ji
Autrement dit :
A
T
= {a
ij
T
},
Section 1.4. Calcul matriciel 13
avec
a
ij
T
= a
ji
.
Exemple :
A =

3 −2
4 5
8 −1
¸
¸
¸
¸
¸
¸
¸
A
T
=

3 4 8
−2 5 −1
¸
¸
¸ .
D´ efinition 1.7 Une matrice carr´ ee Ad’ordre n est dite sym´ etrique si
∀i, j : a
ij
= a
ji
.
Ce qui peut encore se noter matriciellement par
A = A
T
.
L’interpr´ etation sur le tableau est que les ´ el´ ements situ´ es sym´ etriquement par rap-
port ` a la diagonale principale doivent ˆ etre identiques.
Produit scalaire de deux vecteurs :
La motivation pour l’´ etude d’une telle op´ eration est la suivante. Si c
j
est le coˆ ut
unitaire de transport d’une tonne de produit j et x
j
est le nombre de tonnes de
produit j transport´ ees, le coˆ ut total de transport z se calcule comme suit :
z =
n
¸
j=1
c
j
x
j
= c
T
x.
D´ efinition 1.8 Soient x et y, deux vecteurs colonnes de dimension n. Le produit
scalaire de x par y est d´ efini comme la somme des produits des ´ el´ ements occupant
des places identiques dans les deux vecteurs :
x
T
y =
n
¸
i=1
x
i
y
i
. (1.3)
En notation matricielle, on peut ´ ecrire le produit scalaire de la mani` ere suivante :

x
1
x
2
. . . x
n

y
1
y
2
. . .
y
n
¸
¸
¸
¸
¸
¸
¸
= x
1
y
1
+ x
2
y
2
+ . . . + x
n
y
n
.
14 Chapitre 1. Introduction
On v´ erifie bien, dans la notation reprise ci-dessus, que le i` eme ´ el´ ement du vecteur
ligne x
T
est multipli´ e par le i` eme du vecteur colonne y et qu’ensuite on effectue la
somme de ces produits. Il est ` a noter que cette op´ eration peut ˆ etre effectu´ ee grˆ ace
` a la fonction SOMMEPROD d’EXCEL.
Exemple 1.2 Calculer de produit scalaire de :
x =

3
2
1
1
¸
¸
¸
¸
¸
¸
¸
, y =

1
2
4
1
¸
¸
¸
¸
¸
¸
¸
.
Solution : on a alors le produit scalaire suivant :
x
T
y = 3 · 1 + 2 · 2 + 1 · 4 + 1 · 1 = 12.
Remarquons que le produit scalaire est une op´ eration commutative. En effet :
x
T
y =
n
¸
i=1
x
i
y
i
=
n
¸
i=1
y
i
x
i
= y
T
x.
Le produit matriciel :
La motivation pour l’´ etude d’une telle op´ eration sur les matrices est de pou-
voir, dans un mod` ele d’affectation du trafic, faire des changements non uni-
formes de la matrice origine-destination. Par exemple, une augmentation du
nombre de v´ ehicules quittant une zone ou arrivant dans une zone se traduit par
la pr´ emultiplication ou la postmultiplication de la matrice origine-destination par
une matrice diff´ erente de la matrice identit´ e par un seul ´ el´ ement diagonal.
D´ efinition 1.9 Consid´ erons deux matrices A et B de genre (m × n) et (n × p)
avec
A =

a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
. . . . . . . . . . . .
a
m1
a
m2
. . . a
mn
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
et B =

b
11
b
12
. . . b
1p
b
21
b
22
. . . b
2p
. . . . . . . . . . . .
b
n1
b
n2
. . . b
np
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
Le produit matriciel
C = AB
Section 1.4. Calcul matriciel 15
est une matrice C de genre (m×p) qui se calcule comme suit :
C =

c
11
c
12
. . . c
1p
c
21
c
22
. . . c
2p
. . . . . . . . . . . .
c
m1
c
m2
. . . c
mp
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
,
avec l’´ el´ ement c
ij
qui est le produit scalaire de la ligne i de Apar la colonne j de
B :
c
ij
=
n
¸
k=1
a
ik
b
kj
.
On a visualis´ e, ` a titre d’exemple, dans les matrices A et B, les coefficients
concern´ es par le calcul du coefficient c
21
. Il est obtenu en faisant le produit scalaire
de la deuxi` eme ligne de A(i = 2) par la premi` ere colonne de B (j = 1).
Exemple 1.3 Calculez C = AB, o` u les matrices Aet B sont donn´ ees par :
A =

2 1
3 6
4 5
¸
¸
¸ B =
¸
2 1
1 3
¸
Solution : la matrice C est calcul´ ee comme suit :
AB =

2 1
3 6
4 5
¸
¸
¸
¸
2 1
1 3
¸
=

2 · 2 + 1 · 1 2 · 1 + 1 · 3
3 · 2 + 6 · 1 3 · 1 + 6 · 3
4 · 2 + 5 · 1 4 · 1 + 5 · 3
¸
¸
¸ =

5 5
12 21
13 19
¸
¸
¸ .
Une autre motivationpossible pour l’´ etude du produit matriciel est la suivante.
Notons Ala matrice donnant le nombre de routes directes entre les villes a
1
, a
2
, a
3
,
d’une part, et les villes b
1
, b
2
, d’autre part (voir figure 1.1). Notons B la matrice
donnant le nombre de routes directes entre les villes b
1
, b
2
, d’une part, et les villes
c
1
, c
2
, , c
3
d’autre part.
On a donc que :
A =

1 0
1 1
0 1
¸
¸
¸
¸
¸
¸
¸
B =

1 1 0
0 1 1
¸
¸
¸ .
16 Chapitre 1. Introduction
a

a

a

c

c

c

b

b

Figure 1.1: Illustration du produit matriciel.
Calculons le produit matriciel :
AB =

1 0
1 1
0 1
¸
¸
¸
¸
1 1 0
0 1 1
¸
=

1 1 0
1 2 1
0 1 1
¸
¸
¸ .
On constate que c
i
k donne le nombre de routes liant a
i
` a c
k
en passant par une des
deux villes interm´ ediaires b
1
ou b
2
.
Voyons maintenant un cas particulier important. Il s’agit du cas o` u p = 1.
C’est le cas o` u l’on multiplie une matrice (m×n) par un vecteur. Le membre de
gauche d’un syst` eme d’´ equations lin´ eaires rentre dans cette cat´ egorie. En effet, le
syst` eme

a
11
x
1
+a
12
x
2
. . . +a
1n
x
n
= b
1
a
21
x
1
+a
22
x
2
. . . +a
2n
x
n
= b
2
. . . . . . . . . . . . . . . . . .
a
m1
x
1
+a
m2
x
2
. . . +a
mn
x
n
= b
m
peut se noter matriciellement de la mani` ere suivante :

a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
. . . . . . . . . . . .
a
m1
a
m2
. . . a
mn
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸

x
1
x
2
. . .
x
n
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
=

b
1
b
2
. . .
b
m
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
,
ou encore
Ax = b.
Enfin signalons que, contrairement au produit de r´ eels, le produit de matrices
est une op´ eration non commutative. En g´ en´ eral, AB = BA.
Section 1.5. Exercices 17
1.5 Exercices
1.1. Transposition d’une matrice. Calculez la transpos´ ee des matrices sui-
vantes :
A =

2 5
1 −1
3 2
¸
¸
¸
¸
¸
¸
¸
; B =

1 3 1
2 6 7
4 1 5
¸
¸
¸
¸
¸
¸
¸
; C =
¸
1 5 6 2

.
1.2. Le produit matriciel est non commutatif. Calculez les produits AB et
BApour les matrices suivantes :
A =

1 2 3
3 2 1
¸
¸
¸ et B =

5 1
6 −2
−3 1
¸
¸
¸
¸
¸
¸
¸
.
Quelle conclusion en tirez-vous ?
1.3. Multiplication par un scalaire. Calculez D = AB
T
+ αC
T
avec
A =

2
−1
3
¸
¸
¸
¸
¸
¸
¸
, B =

−2
0
1
43
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
, α =
1
2
et C =

1 0 2
4 7 0
3 −2 6
−1 5 1
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
.
1.4.
´
Ecriture en forme extensive.
´
Ecrire sous sa forme extensive la matrice
X = {x
ij
}
i=1,...3;j=1,...3
, o` u
x
ij
=

1
i+j
si i < j,
δ
ij
si i ≥ j.
Dans cette derni` ere expression, δ
ij
est l’indice de Kronecker (utilis´ e dans la
d´ efinition de la matrice identit´ e) :
δ
ij
=

1 si i = j,
0 sinon.
18 Chapitre 1. Introduction
1.5. Utilit´ e du produit matriciel. Consid´ erons le r´ eseau ferroviaire de transport
r´ egional du brabant flamant illustr´ e ` a la figure 1.2. On y a ´ egalement attribu´ e
un num´ ero ` a chacune des villes pour faciliter l’´ ecriture de la matrice.
Anvers(1)
Malines(2)
Bruxelles(3)
Leuven(4)
Aarschot(5)
Liers(6)
Herentals(7)
Figure 1.2: Utilit´ e du produit matriciel.
(a) Repr´ esenter par la matrice Ale nombre de liaisons directes (sans gare
interm´ ediaire) entre la ville i et la ville j.
(b) La matrice Aest-elle sym´ etrique ? Justifiez bri` evement.
(c) Calculer A
2
= AA.
(d) Donner l’interpr´ etation de A
2
.
Chapitre 2
Les notions de graphe, de flot et de r´ eseau.
2.1 Un exemple de transport
Nous allons introduire la notion de graphe ainsi que la notion de flot sur un graphe
sur un exemple de transport non routier. Cet exemple va ´ egalement nous permettre
d’introduire le concept de mod` ele d’optimisation. Consid´ erons le probl` eme d’une
soci´ et´ e locale de transport de gaz dans une r´ egion comme la r´ egion du Nord.
Les donn´ ees du probl` eme utilis´ ees ici sont purement fictives. En effet, seule la
soci´ et´ e de transport, en l’occurrence, Gaz de France, dispose de ces informations
strat´ egiques que sont, par exemple, la consommation de ses gros clients industriels.
Supposons donc que la r´ egion du Nord soit aliment´ ee en gaz naturel, d’une
part, par des importations de gaz arrivant par bateaux au terminal de Dunkerque,
et, d’autre part, par des importations de gaz norv´ egien et n´ eerlandais qui arrivent
par gazoducs terrestres via la Belgique de Mons ou de Tertre (voir figure 2.1). Le
tableau 2.1 reprend les quantit´ es inject´ ees dans le r´ eseau en ces diff´ erents points
d’offre.
Point Offre
Dunkerque 110
Mons 60
Tertre 0
Tableau 2.1: Quantit´ es offertes.
Du cˆ ot´ e demande, la soci´ et´ e de transport doit satisfaire la demande domestique
d’une part (chauffage, cuisson, ...etc.), ainsi que la demande de grosses industries,
particuli` erement les industries chimiques qui sont de grosses consommatrices de
gaz dans leur processus de fabrication. Les 4 grandes agglom´ erations et/ou centres
industriels importants de la r´ egion sont Lille, Lens, Denain et Valenciennes. Leurs
demandes journali` eres cumul´ ees pour les secteurs domestique et industriel sont
19
20 Chapitre 2. Les notions de graphe, de flot et de r´eseau.
reprises au tableau 2.2.
Ville Demande journali` ere
Lille 60
Valenciennes 50
Lens 40
Denain 20
Tableau 2.2: Quantit´ es demand´ ees.
Pour acheminer le gaz depuis les points d’entr´ ee dans le r´ eseau r´ egional jus-
qu’aux clients, Gaz de France dispose d’un r´ eseau de gazoducs comparables au
r´ eseau d’autoroutes liant les grands centres de la r´ egion entre eux. Le r´ eseau est
repr´ esent´ e sch´ ematiquement ` a la figure 2.1.
Dunkerque
Lille
Tertre
Mons
Lens
Denain
60
|70|
50
|50|
|20|
0
10
|40|
20
|70|
60
|20|
|20|
10
60
60
40
50
110
|20|
0
0
Valenciennes
0
Figure 2.1: Repr´ esentation des principaux gazoducs.
Chacun de ces gazoducs a une capacit´ e maximum que l’on a repr´ esent´ ee ` a
la figure 2.1 par la quantit´ e not´ ee |c| le long de l’arc correspondant au gazoduc.
Par exemple, la capacit´ e journali` ere maximum pour le gazoduc liant Dunkerque
` a Lens est de 50. On a ´ egalement repris le plan actuel d’exploitation du r´ eseau,
c’est-` a-dire l’ensemble des pr´ el` evements et des flux de gaz dans le r´ eseau. Par
exemple, on pr´ el` eve 110 ` a Dunkerque dont 50 sont envoy´ es vers Lens et 60 vers
Lille. Le gazoduc de Lille vers Lens n’est pas utilis´ e.
Supposons maintenant qu’on enregistre une augmentation de la demande.
Comment la soci´ et´ e se demande jusqu’` a quel niveau de demande totale elle pourra
faire face avec le r´ eseau actuel ? Nous allons voir comment formuler math´ emati-
Section 2.2. Notion de graphe 21
quement ce probl` eme. Pour cela, nous allons introduire le concept math´ ematique
de graphe qui permet de repr´ esenter le r´ eseau.
2.2 Notion de graphe
D´ efinition 2.1 Un graphe est d´ efini comme la paire G = (N, A) ou N note un
ensemble de nœuds et A un ensemble de couples (i, j), appel´ es arcs, avec i ∈ N
et j ∈ N.
Dans l’exemple, chaque ville repr´ esente un nœud du r´ eseau. Le tableau 2.3
reprend la liste des nœuds du r´ eseau.
i Ville correspondante
1 Dunkerque
2 Lille
3 Lens
4 Tertre
5 Mons
6 Valenciennes
7 Denain
Tableau 2.3: Nœuds du r´ eseau.
On a donc que :
N = {1, 2, 3, 4, 5, 6, 7}
Les arcs sont les gazoducs liant deux nœuds. Par exemple, si on attribue des
num´ eros comme indiqu´ e ` a la figure 2.2aux arcs, onpeut d´ ecrire les arcs directement
comme au tableau 2.4.
Arc De A (i, j)
1 Dunkerque Lille (1, 2)
2 Dunkerque Lens (1, 3)
3 Lille Lens (2, 3)
4 Tertre Lille (4, 2)
5 Lille Valenciennes (2, 6)
6 Mons Valenciennes (5, 6)
7 Valenciennes Denain (6, 7)
8 Lens Denain (3, 7)
Tableau 2.4: Arcs du r´ eseau.
22 Chapitre 2. Les notions de graphe, de flot et de r´eseau.
On a donc que :
A = {(1, 2), (1, 3), (2, 3), (4, 2), (2, 6), (5, 6), (6, 7), (3, 7)}
Dunkerque
Lille
Tertre
Mons
Valenciennes
Lens
Denain
arc 1
arc2
arc 3
arc 8
arc 6
arc 7
arc5
arc 4
4
2
1
3
7
6
5
Figure 2.2: Repr´ esentation du r´ eseau via un graphe
2.3 Notion de flot
Nous allons maintenant introduire la notion de flot. Dans chaque arc, on va faire
circuler un flux, c’est-` a-dire une quantit´ e par unit´ e de temps. Dans notre exemple,
il s’agissait de la quantit´ e de gaz circulant par jour du nœud i au nœud j. On note
par f
ij
cette quantit´ e qui traverse l’arc (i, j) par unit´ e de temps.
i
f
ij
j
Figure 2.3: Notion de flux dans un arc
N’importe quel ensemble de quantit´ es f
ij
n’est pas acceptable. Il faut que ces
flux respectent :
• la conservation du flux en chaque nœud de N ,
• la capacit´ e de l’arc en chaque arc de A.
Appliquons ceci ` a l’exemple que nous allons formuler comme un mod` ele d’op-
timisation. Comme variables de d´ ecision, d´ esignons par :
f
ij
, le flux journalier de gaz de i ` a j, ∀(i, j) ∈ A,
O
i
, le pr´ el` evement de gaz au nœud i, ∀i ∈ N,
D
j
, la demande de gaz au nœud j, ∀j ∈ N.
Section 2.3. Notion de flot 23
Les contraintes du probl` emes sont de deux types :
• Les contraintes de conservation aux nœuds expriment que ”tout ce qui entre
au nœud” est ´ egal ` a ”tout ce qui sort”. On peut ´ ecrire, pour l’exemple, que :
O
1
= f
12
+ f
13
f
12
+ f
42
= f
23
+ f
26
+ D
2
f
13
+ f
23
= f
37
+ D
3
O
4
= f
42
O
5
= f
56
f
26
+ f
56
= D
6
+ f
67
f
37
+ f
67
= +D
7
En g´ en´ eral, on peut ´ ecrire la relation suivante au nœud i (voir figure 2.4) :
¸
j|(i,j)∈A
f
ij
+ D
i
=
¸
k|(k,i)∈A
f
ki
+ O
i
(2.1)
i
f
ij
f
ki
D
i
O
i
k j
Figure 2.4: Conservation au nœud i
• Les contraintes de capacit´ e des arcs s’expriment simplement comme :
f
12
≤ 70 f
37
≤ 20
f
13
≤ 50 f
42
≤ 20
f
23
≤ 20 f
56
≤ 70
f
26
≤ 20 f
67
≤ 40
En g´ en´ eral, si c
ij
note la capacit´ e de l’arc (i, j), c’est-` a-dire le flux maximum
qui peut traverser l’arc et semblablement, et si b
ij
note la borne inf´ erieure
(´ eventuelle) sur ce flot de sorte que l’on a :
b
ij
≤ f
ij
≤ c
ij
(2.2)
24 Chapitre 2. Les notions de graphe, de flot et de r´eseau.
Remarquons qu’une fa¸ con de ne pas devoir d´ efinir les variables d’offre et de
demande est de relier tous les nœuds d’offre ` a un nœud fictif 0 qui sera l’entr´ ee
dans le r´ eseau et de relier tous les nœuds de demande ` a un nœud de sortie n + 1.
Dunkerque
Lille
Tertre
Mons
Valenciennes
Lens
Denain
60
50
0
10
20
60
10
60
60
40
50
110
0
0
0
4
2
1
3
7
6
5
8
Figure 2.5: Repr´ esentation du r´ eseau avec arc de retour.
Comme la somme des entr´ ees doit ˆ etre ´ egale ` a la somme des sorties, on peut
relier le nœud de sortie n + 1 au nœud d’entr´ ee 0 par un arc de retour (n + 1, 0).
D´ efinition 2.2 On appelle flot l’ensemble des flux d’arcs s’ils respectent :
• en chaque nœud i ∈ N, l’´ equation de conservation (2.1)
• en chaque arc (i, j) ∈ A, les in´ equations de capacit´ e (2.2).
Le flux traversant l’arc de retour est appel´ e le flot total traversant le r´ eseau.
Dans l’exemple, le but ´ etait de d´ eterminer le fluxmaximumqui pouvait traverser
le r´ eseau. Aussi peut-on ´ ecrire l’objectif suivant :
maxz = f
80
Section 2.4. Exercices 25
2.4 Exercices
2.1. Am´ elioration d’un r´ eseau routier. On pr´ evoit une augmentation du trafic
entre les villes A et F (voir tableau 2.5). On veut d´ eterminer le flot maximum
que le r´ eseau routier actuel peut supporter entre les deux villes.
Arc Origine Destination Capacit´ e
1 A B 3
2 A C 7
3 C B 2
4 C D 2
5 B D 4
6 C E 4
7 E D 2
8 D F 6
9 E F 5
Tableau 2.5: Capacit´ es et flux actuels d’un r´ eseau routier.
(a) Repr´ esenter le r´ eseau sous forme d’un graphe. Compl´ eter le graphe de
mani` ere ` a y faire apparaˆıtre le flot total.
(b) Formuler le probl` eme de la d´ etermination du flot maximum.
(c) Repr´ esenter les ´ equations de conservation sous forme matricielle Ax =
b. Qu’a de particulier la matrice A des coefficients ?
2.2. Migration entre la banlieue et le centre ville. Le trafic matinal entre une
banlieue dortoir (nœud 1) et le centre ville (nœud 9) est illustr´ e ` a la figure 2.6.
On a repr´ esent´ e le trafic actuel ainsi que la capacit´ e maximum de chacune
600
3
4
1
7
6
2
5
9
8
|700|
500
|500|
0
|100|
350
|700|
200
|200|
100
|100|
550
|700|
300
|400|
100
|100|
400
|150|
500
|500|
100
|500|
350
|500|
750
|750|
400
|450|
200
|200|
100 |100|
Figure 2.6: Migration entre banlieue et capitale.
26 Chapitre 2. Les notions de graphe, de flot et de r´eseau.
des routes (chiffres entre barres). On demande si l’on peut augmenter le
trafic entre 1 et 9 et la valeur de ce trafic maximum. Formuler le probl` eme.
2.3. Gestion de la chaˆıne d’approvisionnement. Le responsable logistique
d’un producteur de voitures allemandes doit r´ epondre ` a une augmentation
des exportations en direction des
´
Etats-Unis. Les voitures sont produites ` a
Stuttgart et de l` a sont transf´ er´ ees par train vers un des trois ports de d´ epart.
Le tableau 2.6 reprend les capacit´ es exprim´ ees en moyenne par jour. Par
exemple, pour Rotterdam, un train de 150 voitures maximum arrive tous
les trois jours. Ce qui correspond ` a une capacit´ e journali` ere de transport
de 50 voitures. De ces trois ports, les v´ ehicules sont transport´ es par ba-
D´ epart arriv´ ee capacit´ e journali` ere
Stuttgart Rotterdam 50
Bordeaux 70
Lisbonne 40
Tableau 2.6: Capacit´ es de transport par train
teau vers les ports d’arriv´ ee aux
´
Etats-Unis. Les capacit´ es journali` eres de
transport par bateau sont donn´ ees au tableau 2.7. Une barre dans ce tableau
indique que le transport est impossible. Enfin, depuis les ports d’arriv´ es, les
D´ epart vers New-York vers New-Orl´ eans
Rotterdam 60 -
Bordeaux 40 50
Lisbonne - 30
Tableau 2.7: Capacit´ es de transport par bateau
voitures sont transport´ ees vers Los Angeles, le centre de distribution local
par camions. Les contrats journaliers de transport pr´ evoient des quantit´ es
maximum donn´ ees au tableau 2.8. Quel est le flot maximum de voitures qui
D´ epart contrat vers Los Angeles
New-York 80
New-Orl´ eans 70
Tableau 2.8: Capacit´ es de transport par camion
peuvent en flux journalier arriver ` a Los Angeles en partant de Stuttgart.
(a) Repr´ esenter le probl` eme sur un graphique de r´ eseau.
(b) Formuler le probl` eme.
Chapitre 3
Formulation en mod` eles d’optimisation.
3.1 Introduction
On parle de probl` emes lin´ eaires lorsque l’on veut minimiser une fonction lin´ eaire
sous des contraintes purement lin´ eaires.
On appelle programmes en nombres entiers les mod` eles comportant une
fonction objectif et des contraintes lin´ eaires et des variables astreintes ` a des valeurs
enti` eres. Si certaines variables du mod` ele sont continues et d’autres en nombres
entiers, on parle de programmation mixte enti` ere. Enfin, un cas particulier tr` es
fr´ equent de programmes en nombres entiers est celui o` u les variables ne peuvent
prendre que les valeurs 0 ou 1 : on parle alors de programmation z´ ero/un.
Comme nous le verrons ` a la section 3.3, la classe d’application des mod` eles
en nombres entiers est plus large que l’on ne le pense. Il y a certes les probl` emes
o` u soit les quantit´ es de facteurs mises en œuvre sont indivisibles (comme les per-
sonnes), soit les quantit´ es produites sont indivisibles et en petite quantit´ e (comme
la production d’avions). Mais, il y a toute une s´ erie de mod` eles o` u l’introduction
des variables z´ ero/un permet de mod´ eliser des d´ ecisions d’investissement du type
tout ou rien.
3.2 Formulation des probl` emes lin´ eaires
Nous prenons un exemple tir´ e de Hillier et Lieberman [8]. Il s’agit d’une entreprise
de fabrication de chassis qui envisage la production de deux nouveaux mod` eles
au moyen des capacit´ es r´ esiduelles de ses trois ateliers. Il s’agit respectivement
d’un chassis en aluminium et d’un chassis en bois. Le premier produit n´ ecessite
le passage dans le premier atelier pour fabriquer le cadre en aluminium et dans le
troisi` eme atelier o` u le verre est mont´ e sur le chassis. Tandis que le second produit
n´ ecessite le passage dans le deuxi` eme atelier pour fabriquer le cadre en bois et
27
28 Chapitre 3. Formulation en mod`eles d’optimisation.
dans le troisi` eme atelier o` u le verre est mont´ e sur le chassis. Les marges unitaires,
les temps de fabrication de chacun des produits dans chacun des ateliers ainsi que
les capacit´ es hebdomadaires r´ esiduelles de ces ateliers sont donn´ es au tableau 3.1.
Produit 1 Produit 2 Capacit´ e disponible
(heures/produit) (heures/produit) (heures/semaine)
Atelier 1 1 0 4
Atelier 2 0 2 12
Atelier 3 3 2 18
Marge 3$ 5$
Tableau 3.1: Marges, temps d’usinage et capacit´ es.
La question qui se pose est la suivante : “Combien faut-il produire de chassis
de chaque type par semaine pour maximiser le profit net ?”
La formulation d’un probl` eme d’optimisation comporte toujours les trois ´ etapes
suivantes :
1. choix des variables du mod` ele;
2. formulation de l’objectif;
3. formulation des contraintes.
La premi` ere ´ etape consiste ` a choisir les variables du probl` eme.
D´ efinition 3.1 On appelle variable toute quantit´ e utile ` a la r´ esolution du probl` eme
dont le mod` ele doit d´ eterminer la valeur.
Cette d´ efinition permet de diff´ erencier les variables des param` etres, qui sont des
donn´ ees qui peuvent varier, par exemple d’une p´ eriode ` a l’autre ou d’un sc´ enario
` a l’autre. Ici les quantit´ es que le mod` ele doit d´ eterminer sont les productions de
chassis par semaine. Notons donc :
x
1
= nombre de chassis de type 1 produits par semaine,
x
2
= nombre de chassis de type 2 produits par semaine.
La deuxi` eme ´ etape consiste ` a formuler math´ ematiquement l’objectif.
Section 3.2. Formulation des probl`emes lin´eaires 29
D´ efinition 3.2 On appelle fonction objectif d’un probl` eme d’optimisation le cri-
t` ere de choix entre les diverses solutions possibles.
Ici l’entreprise d´ esire maximiser son profit net. La marge ´ etant de 3 pour le premier
type de chassis et de 5 pour le second, l’objectif s’exprime comme suit :
maxz = 3x
1
+ 5x
2
La troisi` eme ´ etape est la formulation les contraintes du probl` eme.
D´ efinition 3.3 On appelle contraintes du probl` eme toutes les relations limitant
le choix des valeurs possibles des variables.
Ces relations peuvent ˆ etre de simples bornes sur les variables. Par exemple, les
quantit´ e produites ne peuvent ˆ etre n´ egatives. Math´ ematiquement :
x
1
, x
2
≥ 0.
Elles peuvent ˆ etre plus complexes comme les contrainte de capacit´ e de produc-
tion. Le temps pour assembler 1 chassis de type 1 dans l’atelier 1 est de 1 heure
o` u il reste 4 heures disponibles. D’o` u la contrainte de capacit´ e de l’atelier 1 :
x
1
≤ 4
Semblablement, on peut construire les contraintes de capacit´ es des deux autres
ateliers :
2x
2
≤ 12
3x
1
+ 2x
2
≤ 18
On peut r´ esumer la formulation du probl` eme d’optimisation de la mani` ere
suivante :
maxz = 3 x
1
+ 5 x
2
s.c.q.

x
1
≤ 4
2x
2
≤ 12
3x
1
+ 2x
2
≤ 18
x
1
≥ 0
x
2
≥ 0
On obtient un probl` eme lin´ eaire car aussi bien la fonction objectif que les
contraintes s’expriment comme des fonctions lin´ eaires des variables.
30 Chapitre 3. Formulation en mod`eles d’optimisation.
3.3 Formulation des probl` emes en nombres entiers
Dans cette section, nous voyons plus en d´ etails les diff´ erents types de probl` emes
o` u la programmation en nombres entiers est d’application.
3.3.1 Probl` emes avec coˆ ut fixe
Ce sont les probl` emes o` ul’onencoure uncoˆ ut fixe de mise enroute de la production.
Supposons que x note la quantit´ e produite d’un bien au coˆ ut marginal c et que f
note le coˆ ut fixe de mise en route de la production. Le coˆ ut total de production,
not´ e z, s’exprime de la mani` ere suivante :
z =

0 si x = 0;
f + cx si x > 0.
On a donc une condition logique : s’il y a production, le coˆ ut fixe doit ˆ etre encouru.
Dans le cas contraire, il n’est pas encouru. La forme de cette fonction (non lin´ eaire)
est repr´ esent´ ee ` a la figure 3.1.
K
c(x)
x
m
Figure 3.1: Probl` eme avec coˆ ut fixe de production
On peut mod´ eliser la fonction par la programmation mixte z´ ero/un. En
effet, d´ efinissons la variable binaire y ∈ {0, 1} indiquant s’il y a production ou
non :
y = 1 si la production x > 0; (3.1)
y = 0 si la production x = 0. (3.2)
L’objectif peut alors se formuler de la mani` ere suivante :
z = fy + cx
Section 3.3. Formulation des probl`emes en nombres entiers 31
Le coˆ ut fixe de production ne sera, en effet, encouru que si y = 1, c’est-` a-dire s’il y
a production. Il faut encore pourvoir exprimer sous forme de contraintes lin´ eaires
les conditions (3.1) et (3.2). Ceci est fait en ajoutant la contrainte suivante :
x ≤ My (3.3)
o` u M est une borne sup´ erieure sur la production.
Montrons l’´ equivalence. En effet, si x > 0, la contrainte (3.3) ne peut ˆ etre
satisfaite que pour y = 1. Ce qui exprime la condition (3.1). Si, par contre, x = 0,
la contrainte (3.3) est satisfaite pour y = 0 ou y = 1. Cependant, l’objectif ´ etant
de minimiser les coˆ uts de production, l’optimiseur va choisir la valeur y = 0. On
a donc ´ egalement exprim´ e la condition (3.2).
3.3.2 M´ elange avec nombre limit´ e d’ingr´ edients
Il s’agit ´ egalement d’un probl` eme g´ en´ erique conduisant ` a une formulation mixte
enti` ere, les variables binaires indiquant la pr´ esence d’uningr´ edient dans le m´ elange.
C’est le cas, par exemple, d’un probl` eme de m´ elange d’huiles o` u cinq huiles
sont disponibles mais o` udes contraintes techniques impliquent que seulement trois
huiles diff´ erentes peuvent ˆ etre pr´ esentes dans le m´ elange. Un autre exemple, est
celui du chargement de hauts fourneaux o` u le nombre de charbons disponibles
est souvent nettement sup´ erieur au nombre de charbons qui peuvent ˆ etre charg´ es
simultan´ ement. Ce nombre ´ etant limit´ e par le nombre de portes de chargement du
haut fourneau.
Ce probl` eme peut ˆ etre r´ esolu par la programmation mixte z´ ero/un. Si x
i
note la quantit´ e d’ingr´ edient i dans le m´ elange, d´ efinissons la variable binaire y
i
indiquant la pr´ esence de l’ingr´ edient i dans le m´ elange. Autrement dit :
y
i
=

1 si x
i
> 0
0 si x
i
= 0
On introduit alors les contraintes suivantes :
m
i
y
i
≤ x
i
≤ M
i
y
i
et y
i
∈ {0, 1} (3.4)
o` u m
i
est une borne inf´ erieure sur la teneur de x
i
dans le m´ elange et M
i
est une
borne sup´ erieure sur la teneur de x
i
dans le m´ elange.
La conditiondunombre maximumd’ingr´ edients dans le m´ elange s’exprime
alors simplement par :
n
¸
i=1
y
i
≤ k, (3.5)
32 Chapitre 3. Formulation en mod`eles d’optimisation.
avec k, le nombre maximum d’ingr´ edients dans le m´ elange.
D´ emontrons l’´ equivalence. Deux cas sont possibles pour la variable x
i
:
1. Soit x
i
> 0. Alors, par les contraintes (3.4), la variable y
i
doit valoir 1 et
exprime bien que l’ingr´ edient i est dans le m´ elange.
2. Soit x
i
= 0. Alors, par la contrainte (3.4), la variable y
i
doit valoir 0. La
condition (3.5) exprimera donc bien que au plus k ingr´ edients seront pris
dans le m´ elange.
On a donc bien que y
i
est une indicatrice de pr´ esence de l’ingr´ edient i dans le
m´ elange.
3.3.3 Choix parmi un nombre discret de valeurs
Dans beaucoup de probl` emes industriels, lors du dimensionnement d’un appareil-
lage, on doit choisir sa capacit´ e parmi les valeurs commerciales existant sur le
march´ e. Par exemple, lors du dimensionnement d’une canalisation de transport
d’eau, on doit choisir parmi les valeurs suivantes pour le diam` etre :
12 cm, 17 cm, 24 cm ou 47 cm.
On peut ` a nouveau mod´ eliser ce choix par l’utilisation de variables binaires. En
effet, d´ efinissons la variable x comme ´ etant le diam` etre choisi et d´ efinissons y
i
une
indicatrice du fait que le diam` etre num´ ero i a ´ et´ e choisi. On peut alors ´ ecrire la
relation suivante pour le choix du diam` etre :
x = 12y
1
+ 17y
2
+ 24y
3
+ 47y
4
avec la contrainte qu’un seul diam` etre doit ˆ etre choisi :
y
1
+ y
2
+ y
3
+ y
4
= 1 (3.6)
et bien sˆ ur en imposant le caract` ere binaire de chaque indicatrice :
y
i
∈ {0, 1}, ∀i = 1, 2. . .4
La contrainte (3.6) fera, en effet, qu’une seule indicatrice vaudra un tandis que
toutes les autres seront ` a z´ ero.
Section 3.4. Exercices 33
3.4 Exercices
3.1. Recyclage du papier. Une soci´ et´ e priv´ ee de tri de d´ echets et recyclage de
papier peut se fournir en d´ echets aupr` es de deux villes. Son rˆ ole consiste ` a
s´ eparer les listes d’ordinateur et les journaux. La r´ epartition entre m´ enages
et soci´ et´ es est diff´ erente d’une ville ` a l’autre expliquant un pourcentage
diff´ erent de listes d’ordinateur et de journaux dans les d´ echets. Ces pour-
centages ainsi que la quantit´ e maximum de d´ echets que peuvent fournir par
an ces deux villes sont reprises au tableau suivant :
Ville Listes Journaux Offre
(%) (%) (tonnes par an)
Ville 1 5 20 10.000
Ville 2 15 30 20.000
La soci´ et´ e offre aux villes un prix de 35 euro par tonne de d´ echets. Elle
doit d´ ecider du montant optimal de d´ echets ` a acheter ` a chaque ville pour
minimiser son coˆ ut d’achat. Pour couvrir ses frais fixes, la soci´ et´ e doit au
moins collecter 1.500 tonnes de listing d’ordinateur par an. Au del` a de 6.000
tonnes de journaux mis sur le march´ e par an, le prix que la soci´ et´ e re¸ coit
pour la vente de journaux chute et donc la compagnie ne d´ esire pas vendre
plus que cette quantit´ e. Combien la soci´ et´ e doit-elle acheter de d´ echets par
an ` a chacune des deux villes ?
Formuler math´ ematiquement le probl` eme comme un probl` eme d’optimisa-
tion lin´ eaire ` a deux variables (choix des variables, expression des contraintes
et de l’objectif).
3.2. Affectation de lignes a´ eriennes. Une compagnie a´ erienne r´ egionale d´ esire
affecter sa flotte d’avions aux 4 lignes qu’elle exploite (lignes A, B, C et
D). Le nombre de passagers d´ esirant effectuer chaque jour un parcours sur
la ligne A est 100, sur la B de 200, sur la C de 150 et sur la D de 300. La
compagnie dispose de deux types d’avions : 10 petits avions de 40 places et
5 avions moyens de 180 places. Le coˆ ut d’exploitation d’un avion d´ epend de
sa taille et de la ligne ` a laquelle il est affect´ e : ils sont donn´ es au tableau 3.2.
On d´ esire minimiser le coˆ ut d’exploitation en satisfaisant la demande.
(a) Formuler math´ ematiquement le probl` eme de la meilleure affectation
de la flotte de cette compagnie.
(b) Vos variables peuvent-elles prendre toutes les valeurs r´ eelles non n´ e-
gatives ? Si non, pr´ ecisez la restriction ` a imposer.
34 Chapitre 3. Formulation en mod`eles d’optimisation.
Lignes A B C D
Petits avions 10 17 15 23
Grands avions 90 210 140 250
Tableau 3.2: Coˆ uts d’exploitation.
3.3. Tourn´ ees de v´ ehicules. Consid´ erons le probl` eme d’organisation de la col-
lecte des d´ echets. La collectivit´ e locale dispose de 12 v´ ehicules de collecte
r´ epartis comme suit pour collecter dans 4 villes not´ ees ville 1 ` a ville 4.
Ville 1 2 3 4
Nombre de camions 4 3 1 4
Les temps de trajets entre ces villes et l’incin´ erateur sont les suivants :
Vers ville 1 ville 2 ville 3 ville 4 incin´ erateur
De la ville 1 0 10 ∞ ∞ 45
De la ville 2 10 0 5 ∞ ∞
De la ville 3 ∞ 5 0 5 20
De la ville 4 ∞ ∞ 5 0 ∞
De l’incin´ erateur 45 ∞ 20 ∞ 0
(a) Repr´ esenter le probl` eme par un graphique de r´ eseau. En particulier,
indiquer ` a chaque ville par une fl` eche entrante ou sortante et un nombre
le nombre de v´ ehicules qui entrent ou sortent du r´ eseau ` a la ville.
(b) Formuler le probl` eme de minimisation du temps total pour aller ` a l’in-
cin´ erateur comme un probl` eme en nombres entiers. Pour l’objectif et
les contraintes, on donnera une formulation d´ etaill´ ee (pas de formule
g´ en´ erale).
(c) Donner la matrice d’incidence nœuds-arcs. Pour cela, mettre toute les
variables ` a gauche.
(d) Quelle est la particularit´ e de la matrice ?
Partie II
M´ ethodes d’optimisation
35
Chapitre 4
R´ esolution des mod` eles lin´ eaires
4.1 Introduction
Lorsqu’il n’y a que deux variables de d´ ecision, un probl` eme lin´ eaire peut ˆ etre
r´ esolu de mani` ere purement graphique. Nous pr´ esentons ` a la section 4.2 cette
m´ ethode de r´ esolution graphique.
Lorsqu’il y a un plus grand nombre de variables, un algorithme mis en œuvre
sous la forme d’un programme informatique s’av` ere n´ ecessaire. Il s’agit de l’al-
gorithme du Simplexe dont nous pr´ esenterons le principe ` a la section 4.3.
Cet algorithme est mis en œuvre dans de nombreux logiciels d’optimisation
tels que GAMS [2] ou OMP. Le solveur d’Excel que nous pr´ esenterons dans la
troisi` eme partie du cours poss` ede ´ egalement une mise en œuvre de l’algorithme
du Simplexe.
4.2 R´ esolution graphique des probl` emes ` a deux variables
Reprenons la formulation de l’exemple de production de chassis de la section 3.2 :
maxz = 3 x
1
+ 5 x
2
s.c.q.

x
1
≤ 4
2x
2
≤ 12
3x
1
+ 2x
2
≤ 18
x
1
≥ 0
x
2
≥ 0
(4.1)
Comme annonc´ e ci-dessus, dans le cas de deux variables de d´ ecision, un
probl` eme lin´ eaire peut ˆ etre r´ esolu de mani` ere purement graphique en suivant le
processus en trois ´ etapes :
37
38 Chapitre 4. R´esolution des mod`eles lin´eaires
1. repr´ esentation graphique de la r´ egion r´ ealisable,
2. repr´ esentation graphique des contraintes,
3. d´ etermination de la solution optimale.
La premi` ere ´ etape de la r´ esolution consiste donc ` a repr´ esenter graphiquement
la r´ egion r´ ealisable.
D´ efinition 4.1 On appelle r´ egion r´ ealisable, l’ensemble des valeurs de variables
de d´ ecision qui satisfont toutes les contraintes.
Dans le cas de l’exemple, c’est l’ensemble des points (x
1
, x
2
) satisfaisant les
in´ egalit´ es de (4.1).
10
8
6
4
2
0 2 4 6 8 x
1
x
2
(1)
(2)
(3)
(4)
(5)
Figure 4.1: Ensemble de production.
Graphiquement une in´ egalit´ e telle que 3x
1
+ 2x
2
≤ 18 correspond ` a un demi-
planlimit´ e par la droite obtenue enprenant l’in´ equation ` a l’´ egalit´ e (3x
1
+2x
2
= 18).
Lorsque l’on fait l’intersection des cinq demi-plans correspondant aux cinq in´ ega-
lit´ es :

x
1
≤ 4 (1)
2x
2
≤ 12 (2)
3x
1
+ 2x
2
≤ 18 (3)
x
1
≥ 0 (4)
x
2
≥ 0 (5)
on obtient le polygone hachur´ e ` a la figure 4.1.
Section 4.2. R´esolution graphique des probl`emes `a deux variables 39
On voit ici clairement que le syst` eme est sous-d´ etermin´ e. On va devoir choisir
entre ces diff´ erents plans de production. Pour ce faire, et c’est la deuxi` eme ´ etape
de la r´ esolution, on va repr´ esenter graphiquement des lignes d’isovaleur de la
fonction objectif :
z = 3x
1
+ 5x
2
.
En effet, on remarquera que l’expression de la fonction objectif fait intervenir trois
variables et ne peut donc ˆ etre repr´ esent´ ee que dans l’espace. Pour se ramener dans
le plan, on va consid´ erer des valeurs successives de l’objectif :
z = k.
Ce qui correspond graphiquement ` a des droites parall` eles
3x
1
+ 5x
2
= k.
Les points d’une de ces droites sont donc le lieu de tous les points donnant la mˆ eme
valeur du profit (d’o` u le nom de droite d’isovaleur de la fonction objectif). Ceci
est fait ` a la figure 4.2 o` u l’on a repr´ esent´ e z = 15 et z = 30.
9
6
4
2
0 2 6 x
1
x
2
z = 36
z = 30
z = 15
(2, 6)
5 10
Figure 4.2: Droites d’isoprofit.
La droite d’isovaleur z = 15, c’est-` a-dire :
z = 3x
1
+ 5x
2
= 15
passe par les points (5,0) et (0,3) tandis que la droite d’isovaleur z = 330, c’est-` a-
dire :
z = 3x
1
+ 5x
2
= 30
40 Chapitre 4. R´esolution des mod`eles lin´eaires
passe par les points (10,0) et (0,6) . On obtient donc des droites parall` eles qui
montent vers le haut si z s’accroˆıt.
Enfin, et c’est la troisi` eme ´ etape de la r´ esolution, l’optimum sera d´ etermin´ e
graphiquement comme le plan de production situ´ e sur la droite d’isoprofit la plus
´ elev´ ee, c’est-` a-dire celle qui donne le profit le plus ´ elev´ e. On voit ` a la figure 4.2
qu’il s’agit du point
x

= (2, 6).
Justifions ce choix. Comme on maximise le profit on a int´ erˆ et ` a prendre la droite
d’isovaleur la plus ´ elev´ ee possible. Bien sˆ ur, il faut que le plan de production soit
encore r´ ealisable : autrement dit, il faut se restreindre ` a la r´ egion r´ ealisable. On a
alors la tr` es important remarque suivante :
Observation 4.1 Pour maximiser l’objectif, il faut prendre la droite d’isovaleur
de l’objectif qui touche encore la r´ egion r´ ealisable et qui donne la plus grande
valeur ` a l’objectif. Le point de contact est un point optimum.
Sur base de cet exemple, on d´ eduit une deuxi` eme observation.
Observation 4.2 On constate que la solution optimale est ` a un sommet de la
r´ egion r´ ealisable.
On peut alors se poser la question suivante : La solution optimale d’un probl` eme
d’optimisation lin´ eaire sera-t-elle toujours trouv´ ee en un sommet de la r´ egion
r´ ealisable ?
En fait, le seul cas o` u se pr´ esentent des solutions qui ne sont pas en des sommets
de la r´ egion r´ ealisable est la situation o` u tout un cˆ ot´ e est optimal. Illustrons ce cas
en changeant l’objectif. Supposons que l’on aie un objectif de la forme :
maxz

= 3x
1
+ 2x
2
Il est facile, dans ce cas, de voir que les droites d’isovaleur de l’objectif seraient
toutes parall` eles au cˆ ot´ e :
3x
1
+ 2x
2
= 18
On en d´ eduit que tout le cˆ ot´ e joignant le sommet (2,6) au sommet (4,3) est
optimal. Mais, mˆ eme dans ce cas, on peut trouver une solution (mˆ eme deux) en
un sommet de la r´ egion r´ ealisable. Il suffit de choisir le point (2,6) ou le point
(4,3). Sur base de cet exemple, on tire une troisi` eme observation :
Observation 4.3 Mˆ eme si tout un cˆ ot´ e du polygone est optimal, on peut toujours
choisir une solution optimale correspondant ` a un sommet.
Section 4.3. Principe de l’algorithme du Simplexe 41
4.3 Principe de l’algorithme du Simplexe
En conclusions, on voit qu’il suffit de limiter la recherche de l’optimum d’un
probl` eme lin´ eaire aux seuls sommets de la r´ egion r´ ealisable. On peut faire mieux
que d’´ evaluer l’objectif en chaque sommet.
Ainsi, le principe de l’algorithme du Simplexe est, partant d’un sommet de la
r´ egion r´ ealisable, d’aller de sommet en sommet adjacent jusqu’` a d´ etermination de
l’optimum.
D´ efinition 4.2 On appelle sommets adjacents d’un polygone, deux sommets joints
par un cˆ ot´ e du polygone.
Par exemple, ` a la figure 4.3, les points (0,0) et (0,6) sont des sommets adjacents
car situ´ es aux deux extr´ emit´ es d’un cˆ ot´ e du polygone. Alors que les points (0,0) et
(2,6) ne sont pas adjacents car il faut parcourir deux cˆ ot´ es du polygone pour aller
de l’un ` a l’autre.
10
8
4
2
2 8
3x1 + 2x2 = 18
x
1
= 4
x
1
= 0
2x
2
= 12
x
2
= 0
(0, 9)
(0, 6)
(2, 6)
(4, 3)
(4, 0)
(0 , 0)
(6 , 0)
(4 , 6)
Figure 4.3: Notion de sommets adjacents
Le sommet de d´ epart est ici ´ evident : il suffit de prendre le point (0,0).
P
0
= (0, 0)
Notez que l’origine peut ne pas ˆ etre un sommet de la r´ egion r´ ealisable. Il faudra
alors recourir ` a un probl` eme auxiliaire, connu sous le probl` eme de phase I, pour
d´ eterminer ce point de d´ epart.
On peut donc sugg´ erer l’algorithme suivant :
42 Chapitre 4. R´esolution des mod`eles lin´eaires
i) Choisir comme point de d´ epart un sommet x

de la r´ egion r´ ealisable.
ii) D´ eterminer les cˆ ot´ es passant par ce sommet x

. Trouver un cˆ ot´ e le long
duquel z croˆıt. S’il n’y en n’a pas, STOP : le x

courant est optimal.
iii) D´ eterminer le sommet y

` a l’autre bout du cˆ ot´ e et poser x

= y

. Retour
en ii).
Pour le choix du sommet adjacent ` a l’´ etape ii), l’algorithme du Simplexe utilise
le crit` ere de choix de la direction suivant : prendre la direction qui assure le plus
grand accroissement de la fonction objectif pour un pas de un dans la direction.
Au d´ epart, du point (0,0), deux directions sont possibles : la direction (x
1
, 0) avec
x
1
> 0, c’est-` a-dire aller vers le point (4,0) et la direction (0, x
2
) avec x
2
> 0,
c’est-` a-dire aller vers le point (0,6). Au vu de la fonction objectif :
maxz = 3x
1
+ 5x
2
il vaut mieux prendre la direction de x
2
.
Le fonctionnement de l’algorithme dans le cas de l’exemple est illustr´ e ` a la
figure 4.4. A la premi` ere it´ eration, partant du sommet initial P
0
= (0, 0), on
9
2 4 6
x
1
x
2 P
0
= (0, 0)
P
1
= (0, 6)
P
2
= (2, 6)
Itération 1
Itération 2
Figure 4.4: Chemin de l’algorithme du Simplexe.
d´ etermine la direction de l’axe vertical qui permet d’accroˆıtre l’objectif. On va
jusqu’au bout du cˆ ot´ e et on obtient le point P
1
= (0, 6) en fin d’it´ eration 1. A
la deuxi` eme it´ eration, on se dirige vers le point P
2
= (2, 6). A la troisi` eme
it´ eration, on constate qu’il n’y a plus de direction d’accroissement de l’objectif.
On est donc ` a l’optimum.
Section 4.4. Exercices 43
4.4 Exercices
4.1. Recyclage du papier. Pour l’exercice 3.1 formul´ e au chapitre 3, d´ eterminez
graphiquement la solution optimale du probl` eme lin´ eaire.
4.2. La minimisation des coˆ uts. Une entreprise peut fabriquer un mˆ eme produit
dans deux usines diff´ erentes. Les capacit´ es de production de ces deux usines,
exprim´ ees en quantit´ e de produit par jour, sont de 7 pour la premi` ere usine et
de 10 pour la seconde. D’autre part, on suppose que le nombre d’heures de
main d’œuvre que l’on peut affecter globalement ` a cette production est de 60
par jour. Or chaque unit´ e produite n´ ecessite 10 heures de main d’œuvre dans
la premi` ere usine alors qu’elle n’en n´ ecessite que 5 dans la seconde. Enfin,
la production totale doit permettre de satisfaire au moins une demande de 8
unit´ es par jour. Sachant que les coˆ uts variables unitaires sont de 2 pour la
premi` ere usine et de 3 pour la seconde, l’entreprise d´ esire produire ` a coˆ ut
minimum.
(a)
´
Ecrire le programme lin´ eaire correspondant.
(b) R´ esoudre graphiquement.
4.3. Fabrication et transport de produits frais. La production d’une compa-
gnie se r´ eduit ` a 2 produits frais, P et Q qu’un grossiste lui ach` ete. La marge
unitaire de la compagnie, hors frais de transport, est de 42 euro pour P et 48
euro pour Q. Chaque soir, les produits frais sont achemin´ es chez le grossiste
par un transporteur qui facture ` a la compagnie 2 euro par kg transport´ e. Ce
coˆ ut de transport vient en d´ eduction de la marge. La capacit´ e de transport est
de 2.100 kg par jour. Les produits P et Q s’´ elaborent ` a partir de 2 mat´ eriaux
Met Nselon les recettes pr´ esent´ ees au tableau 4.1. Consid´ erons une journ´ ee
Produit Poids (en kg) Poids (en kg) Poids total
du composant M du composant N (en kg)
P 4 3 7
Q 2 1 3
Tableau 4.1: Fabrication et transport de produits frais.
o` u la compagnie dispose de 1.600 kg de M et de 1.200 kg de N.
(a) Calculer la marge nette de frais de transport pour chacun des deux
produits.
44 Chapitre 4. R´esolution des mod`eles lin´eaires
(b) Formuler le probl` eme de la maximisation du revenu net de la compa-
gnie.
(c) D´ eterminer graphiquement la solution optimale.
Chapitre 5
R´ esolution des mod` eles non lin´ eaires.
Un probl` eme d’optimisation est dit lin´ eaire s’il s’agit de la maximisation (ou de
la minimisation) d’une fonction lin´ eaire sous des contraintes purement lin´ eaires.
Un mod` ele est dit non lin´ eaire si l’objectif ou au moins une contrainte est non
lin´ eaire.
Nous verrons ci-dessous les conditions qui sont v´ erifi´ ees ` a l’optimum d’un
probl` eme non lin´ eaire. Ces conditions sont particuli` erement utiles pour calculer
la solution d’´ equilibre sur un r´ eseau de transport (voir cours de “Transport et
Environnement”). Nous pr´ esenterons enfin la m´ ethode de Franck-Wolfe qui est
particuli` erement bien adapt´ ee pour r´ esoudre le probl` eme du calcul de la solution
d’´ equilibre sur un r´ eseau de transport.
5.1 Conditions de Kuhn et Tucker
Nous consid´ erons le probl` eme de minimisation sous contraintes suivant :
min f(x)
s.c.q.

h
i
(x) = 0, i = 1, 2, . . .m
g
k
(x) ≤ 0, k = 1, 2, p
(5.1)
o` u f(x), h
i
(x), i = 1, 2, . . .m et g
k
(x), k = 1, 2, . . .p sont des fonctions de R
n
dans R.
A titre d’illustration, consid´ erons l’exemple suivant :
maxe(x) = −2x
2
1
−2x
1
x
2
−x
2
2
+ 10x
1
+ 10x
2
s.c.q.

x
2
1
+ x
2
2
≤ 5
3x
1
+ x
2
≤ 6
45
46 Chapitre 5. R´esolution des mod`eles non lin´eaires.
Il se r´ ecrit sous la forme (5.1) de la mani` ere suivante :
minf(x) = 2x
2
1
+ 2x
1
x
2
+ x
2
2
−10x
1
−10x
2
s.c.q.

g
1
(x) = x
2
1
+ x
2
2
−5 ≤ 0
g
2
(x) = 3x
1
+ x
2
−6 ≤ 0
Pour ´ ecrire les conditions d’optimalit´ e, on a besoin de la notion de d´ eriv´ ees
partielles.
D´ efinition 5.1 La d´ eriv´ ee partielle d’une fonction par rapport ` a une variable est
obtenue en d´ erivant la fonction en consid´ erant que toutes les autres variables sont
des constantes.
Illustrons ceci sur l’exemple suivant :
f(x) = 2x
2
1
+ 2x
1
x
2
+ x
2
2
−10x
1
−10x
2
Les d´ eriv´ ees partielles se calculent comme suit :
∂f
∂x
1
= 4x
1
+ 2x
2
−10
∂f
∂x
2
= 2x
1
+ 2x
2
−10
Pour ´ ecrire les conditions d’optimalit´ e, on a encore besoin de la notion de
Lagrangien.
D´ efinition 5.2 La fonction de Lagrange est obtenue en multipliant le membre de
gauche de chaque contrainte d’´ egalit´ e par un multiplicateur λ
i
, le membre de
gauche de chaque contrainte d’in´ egalit´ e par son multiplicateur µ
k
et en addition-
nant le tout ` a la fonction objectif :
L(x, λ, µ) = f(x) +
m
¸
i=1
λ
i
h
i
(x) +
p
¸
k=1
µ
k
g
k
(x)
´
Ecrivons le Lagrangien pour l’exemple :
L(x) = 2x
2
1
+ 2x
1
x
2
+ x
2
2
−10x
1
−10x
2

1
(x
2
1
+ x
2
2
−5) + µ
2
(3x
1
+ x
2
−6).
On peut alors ´ ecrire les tr` es importantes conditions n´ ecessaires suivantes :
Section 5.1. Conditions de Kuhn et Tucker 47
Th´ eor` eme 5.1 Conditions de Kuhn-Tucker. Soit x

un minimum local pour le
probl` eme
min f(x)
s.c.q. h(x) = 0,
g(x) ≤ 0
et supposons x

r´ egulier pour les contraintes. Alors il existe des multiplicateurs
λ ∈ R
m
et µ ∈ R
p
tels que
∂L(x

, λ, µ)
∂x
j
= 0∀j = 1, . . .n (5.2)
µ
k
g
k
(x

) = 0, ∀k = 1, . . .p (5.3)
µ
k
≥ 0, ∀k = 1, . . .p (5.4)
En ´ ecrivant le Lagrangien, on passe d’un probl` eme d’optimisation sous cont-
raintes ` a un probl` eme sans contrainte. Les conditions d’optimalit´ e pour une fonc-
tion d´ efinie sur R
n
sont l’annulation de ses d´ eriv´ ees partielles. Les conditions (5.2)
ne sont rien d’autre que l’annulation des d´ eriv´ ees partielles du Lagrangien.
Les conditions (5.3) sont les conditions de compl´ ementarit´ e disant que si une
contrainte n’est pas active, son multiplicateur µ
k
doit ˆ etre nul. Remarquez aussi
que les contraintes (5.3) peuvent s’interpr´ eter en disant que L(x

) = f(x

).
Illustrons ceci sur l’exemple suivant :
minf(x) = 2x
2
1
+ 2x
1
x
2
+ x
2
2
−10x
1
−10x
2
s.c.q.

g
1
(x) = x
2
1
+ x
2
2
−5 ≤ 0
g
2
(x) = 3x
1
+ x
2
−6 ≤ 0
Ecrivons le Lagrangien pour ce probl` eme :
L(x
1
, x
2
) = 2x
2
1
+ 2x
1
x
2
+ x
2
2
−10x
1
−10x
2

1
(x
2
1
+ x
2
2
−5) + (3x
1
+ x
2
−6)
Les conditions de Kuhn et Tucker s’´ ecrivent ici simplement :
∂L
∂x
1
= 4x
1
+ 2x
2
−10 + 2µ
1
x
1
+ 3µ
2
= 0
∂L
∂x
2
= 2x
1
+ 2x
2
−10 + 2µ
1
x
2
+ µ
2
= 0
µ
1
g
1
= µ
1
(x
2
1
+ x
2
2
−5) = 0
µ
2
g
2
= µ
2
(3x
1
+ x
2
−6) = 0
µ
1
≥ 0
µ
2
≥ 0
48 Chapitre 5. R´esolution des mod`eles non lin´eaires.
5.2 Application au calcul d’´ equilibre de l’utilisateur
Pour illustrer l’utilit´ e des conditions de Kuhn et Tucker, nous allons les appliquer ` a
un exemple de calcul d’´ equilibre de l’utilisateur. Consid´ erons l’exemple de r´ eseau
tr` es simple illustr´ e ` a la figure 5.1 o` u deux chemins parall` eles joignent le point
d’entr´ ee O du point de sortie D du r´ eseau.
D O
x1
x2
q
OD
= 5
Figure 5.1: Exemple d’´ equilibre des utilisateurs.
Notons x
1
le flux de v´ ehicules sur l’arc 1 et x
2
, le flux sur le second axe.
Consid´ erons les fonctions lin´ eaires suivantes :
t
1
= 2 + x
1
t
2
= 1 + 2x
2
qui donnent le temps de travers´ ee de l’arc en fonction du flux sur celui-ci. Le flux
total entre O et D est q
OD
= 5.
D´ efinition 5.3 On a atteint une solution d’´ equilibre de l’utilisateur si tous les
chemins utilis´ es entre une mˆ eme origine et une mˆ eme destination ont un temps de
parcours identique et si tous les chemins non utilis´ es entre ces deux points ont un
temps sup´ erieur ou ´ egal ` a ce minimum.
Nous verrons au cours de “Transport et Environnement” que l’´ equilibre de l’utili-
sateur peut ˆ etre d´ etermin´ e en r´ esolvant le probl` eme non lin´ eaire suivant :
min z(x
1
, x
2
) =

x
1
0
t
1
(x
)
dx
1
+

x
2
0
t
2
(x
2
)dx
2
scq x
1
+ x
2
= 5
x
1
, x
2
≥ 0
Nous allons calculer l’´ equilibre pour cet exemple en ´ ecrivant la formulation sous
forme de minimisation et en r´ esolvant les conditions de Kuhn et Tucker. Le
Section 5.2. Application au calcul d’´equilibre de l’utilisateur 49
probl` eme est ´ equivalent ` a :
min f(x
1
, x
2
) = 2x
1
+
x
2
1
2
+ x
2
+ x
2
2
s.c.q.

h(x) = x
1
+ x
2
−5 = 0 ← λ
g
1
(x) = −x
1
≤ 0 ← µ
1
g
2
(x) = −x
2
≤ 0 ← µ
2
Ecrivons le Lagrangien :
L(x
1
, x
2
) = f(x
1
, x
2
) + λh(x) + µ
1
g
1
(x) + µ
2
g
2
(x)
= 2x
1
+
x
2
1
2
+ x
2
+ x
2
2
+ λ(x
1
+ x
2
−5) + µ
1
(−x
1
) + µ
2
(−x
2
)
´
Ecrivons les conditions de Kuhn et Tucker :
2 + x
1
+ λ −µ
1
= 0
1 + 2x
2
+ λ −µ
2
= 0
µ
1
(−x
1
) = 0
µ
2
(−x
2
) = 0
µ
1
, µ
2
≥ 0
Supposons d’abord que x
1
, x
2
> 0. Donc µ
1
= µ
2
= 0. Les deux premi` eres
conditions se r´ ecrivent :
2 + x
1
+ λ = t
1
(x
1
) + λ = 0
1 + 2x
2
+ λ = t
2
(x
2
) + λ = 0
On en d´ eduit les temps de travers´ ee des arcs sont identiques :
t
1
(x

1
) = t
2
(x

2
)
On a donc bien une solution d’´ equilibre de l’utilisateur car tous les chemins utilis´ es
entre l’origine et ladestinationsont de temps de parcours identiques. Aucunusager
ne peut arriver plus rapidement ` a destination en changeant de chemin.
Supposons maintenant que seul x
1
> 0. Donc µ
1
= 0 et µ
2
≥ 0. Les deux
premi` eres conditions se r´ ecrivent :
2 + x
1
+ λ = t
1
(x
1
) + λ = 0
1 + 2x
2
+ λ = t
2
(x
2
) + λ −µ
2
= 0
On en d´ eduit les temps de travers´ ee des arcs sont identiques :
t
1
(x

1
) = −λ ≤ −λ + µ
2
= t
2
(x

2
)
A nouveau les conditions d’´ equilibre sont v´ erifi´ ees : le chemin non utilis´ e est de
temps sup´ erieur.
50 Chapitre 5. R´esolution des mod`eles non lin´eaires.
5.3 La m´ ethode de Frank-Wolfe
L’id´ ee de la m´ ethode est la suivante. Il s’agit d’un algorithme d’approxima-
tions lin´ eaires successives. Appliquons cette id´ ee au probl` eme suivant dont les
contraintes sont purement lin´ eaires :
maxf(x) = 5x
1
−x
2
1
+ 8x
2
−2x
2
2
s.c.q.

3x
1
+ 2x
2
≤ 6
x
1
, x
2
≥ 0
En effet, c’est le type de probl` eme que nous allons rencontrer pour la r´ esolution
du probl` eme d’affectation du trafic.
Une it´ eration de la m´ ethode comporte les ´ etapes suivantes :
a) Calcul de la direction. On calcule la direction de recherche en r´ esolvant un
probl` eme lin´ eaire obtenu en rempla¸ cant la fonction objectif par son approxi-
mation lin´ eaire (points 1 et 2 ci-dessous).
b) Calcul du pas. On calcule le pas ` a faire dans la direction en minimisant la
fonction f(x) le long de la direction d´ etermin´ ee en a) (points 3 et 4 ci-
dessous).
Nous partons du point initial x
0
= (0, 0).
It´ eration 1 :
1. Comme seul l’objectif est non lin´ eaire, on va remplacer f(x) par son ap-
proximation de Taylor limit´ ee ` a l’ordre 1 :
f(x) ∼ f(0, 0) +
∂f
∂x
1
(0, 0)(x
1
−0) +
∂f
∂x
2
(0, 0)(x
2
−0)
´
Evaluons les d´ eriv´ ees partielles en x
0
= (0, 0) :
∂f
∂x
1
= 5 −2(0) = 5
∂f
∂x
2
= 8 −4(0) = 8
D’o` u l’approximation lin´ eaire de la fonction en (0,0) :
g(x) = 5x
1
+ 8x
2
2. On peut donc r´ esoudre le probl` eme lin´ eaire :
maxg(x) = 5 x
1
+ 8 x
2
s.c.q.

3x
1
+ 2x
2
≤ 6
x
1
, x
2
≥ 0
Section 5.3. La m´ethode de Frank-Wolfe 51
x
1
x
2
1 2
3
2
1
P
1
P
2
P
0
z = 5x
1
+ 8x
2
Figure 5.2: M´ ethode de Franck-Wolfe : it´ eration 1
par l’algorithme du Simplexe en g´ en´ eral. Comme il n’y a que deux variables,
ceci est fait graphiquement ` a la figure 5.2. La solution optimale est le point
x
1
LP
= (0, 3).
3. Comme, plus on s’´ eloigne du point de d´ epart x
0
, plus l’approximation
lin´ eaire g(x) s’´ eloigne de la fonction f(x), on a probablement ´ et´ e trop loin
en allant jusqu’au point x
1
LP
. Cependant, en se dirigeant dans la direction
de x
1
LP
, au d´ ebut du mois, on pourra r´ eduire f(x). On va d´ eterminer le pas
dans la direction :
x
1
= x
0
+ α(x
1
LP
−x
0
)

x
1
x
2

=

0
0

+ α

0 −0
3 −0

=

0

avec α ∈ [0, 1] qui minimise cette fois la vraie fonction :
h(α) = f(x
0
+ α(x
1
LP
−x
0
)).
On obtient donc le probl` eme de minimisation unidimensionnelle :
maxh(α) = 24α −18α
2
dont le maximum est obtenu en annulant la d´ eriv´ ee : α = 2/3.
4. Mise ` a jour de x :
x
1
= (0, 0) + 2/3 [(0, 3) −(0, 0)] = (0, 2)
It´ eration 2 :
52 Chapitre 5. R´esolution des mod`eles non lin´eaires.
1.
´
Evaluation des d´ eriv´ ees partielles en x
1
= (0, 2) :
∂f
∂x
1
= 5 −2(0) = 5
∂f
∂x
2
= 8 −4(2) = 0
2. R´ esoudre le probl` eme lin´ eaire :
maxz = 5 x
1
+ 0 x
2
s.c.q.

3x
1
+ 2x
2
≤ 6
x
1
, x
2
≥ 0
Ceci est fait ` a la figure 5.3. La solution optimale est x
2
LP
= (2, 0).
x
1
x
2
1 2
3
2
1
P
1
P
2
P
0
z = 5x
1
Figure 5.3: M´ ethode de Franck-Wolfe : it´ eration 2.
3. Recherche unidimensionnelle :
x
2
= x
1
+ α(x
LP
−x
1
)

x
1
x
2

=

0
2

+ α

2 −0
0 −2

=


2 −2α

On obtient donc le probl` eme de minimisation unidimensionnelle :
maxh(α) = 8 + 10α −12α
2
qui est maximum pour α = 5/12.
4. Mise ` a jour de x :
x
2
= (0, 2) + 5/12 [(2, 0) −(0, 2)] = (5/6, 7/6)
Section 5.4. Exercices 53
5.4 Exercices
5.1. Conditions de Kuhn et Tucker. On vous donne le probl` eme de la maxi-
misation de la fonction 14x − x
2
+ 6y − y
2
+ 7 sous les contraintes que
x + y ≤ 2 et x + 2y ≤ 3.
(a)
´
Ecrire les conditions n´ ecessaires d’optimalit´ e de Kuhn et Tucker pour
ce probl` eme.
(b) R´ esoudre graphiquement entra¸ cant les courbes d’iso-valeurs de la fonc-
tion objectif et la r´ egion r´ ealisable. Pour cela, compl´ eter les carr´ es pour
la fonction objectif.
(c) V´ erifier si la solution d´ etermin´ ee graphiquement satisfait les conditions
de Kuhn et Tucker.
(d) Indiquez quelles sont les contraintes actives ` a l’optimum.
5.2. M´ ethode de Franck-Wolfe. Faire une troisi` eme it´ eration de la m´ ethode de
Franck-Wolfe pour le probl` eme consid´ er´ e ` a la section 5.3.
5.3.
´
Equilibre de l’utilisateur versus ´ equilibre social. Consid´ erons un r´ eseau
de transport tr` es simple reliant une banlieue au centre ville. Il y a deux routes
parall` eles : l’autoroute, dont le flux en milliers de v´ ehicules par heure est
not´ e x
1
et une voie nationale, dont le flux de v´ ehicule en milliers de v´ ehicules
par heure est not´ e x
2
. L’origine et la destination sont les mˆ emes pour les
deux axes. Seules varient leurs fonctions de performance donnant le temps
de travers´ ee de l’axe (t
a
) en fonction du flux sur l’axe (x
a
). Ces fonctions
sont donn´ ees par :
t
1
(x
1
) = 3 + 0, 5x
1
t
2
(x
2
) = 1 + x
2
Le nombre de voitures d´ esirant se rendre de la banlieue vers le centre ville
est de 1500 (1,5 milliers) durant l’heure de point du matin (entre 8 heures et
9 heures).
(a) D´ eterminer un point d’´ equilibre de l’utilisateur en ´ ecrivant un probl` e-
me de minimisation ´ equivalent et en r´ esolvant les conditions de Kuhn
et Tucker pour ce probl` eme ´ equivalent (Examiner tous les cas possibles
pour les axes utilis´ es).
(b) On appelle ´ equilibre social un point o` u les usagers se r´ epartissent sur
le r´ eseau de mani` ere ` a minimiser le temps total passer sur le r´ eseau :
minz =
¸
a
x
a
t
a
(x
a
).
54 Chapitre 5. R´esolution des mod`eles non lin´eaires.
´
Ecrire le probl` eme d’optimisation ´ equivalent et le r´ esoudre par les
conditions de Kuhn et Tucker.
(c) En d´ eduire, dans les deux cas, le temps total pass´ e par les usagers sur
le r´ eseau. En comparant ces deux valeurs, quelle est votre conclusion
sur l’attitude des automobilistes donc le comportement est mod´ elis´ e
par un ´ equilibre de l’utilisateur ?
Chapitre 6
R´ esolution des mod` eles en nombres entiers
Une diff´ erence majeure avec la programmation lin´ eaire r´ eside dans la difficult´ e
de r´ esoudre de tels probl` emes. En effet, en programmation lin´ eaire, il existe un al-
gorithme qui permet de r´ esoudre des probl` emes d’` a peu pr` es n’importe quelle taille,
` a savoir l’algorithme du Simplexe. Par contre pour les probl` emes en nombres
entiers, il existe une m´ ethode connue sous le nom de m´ ethode de branch and
bound, qui ne garantit pas que l’on puisse ´ eviter l’´ enum´ eration explicite, c’est-` a-
dire d’envisager toutes les combinaisons de valeurs enti` eres pour les variables.
6.1 M´ ethode de “branch and bound”
Nous illustrons la m´ ethode sur l’exemple suivant tir´ e de Norbert et al [13] dont on
a l´ eg` erement modifi´ e la fonction objectif :
z

PNE
= maxz = 15x
1
+ 50x
2
s.c.q.

−x
1
+ 2x
2
≤ 5, (1)
x
1
+ 2x
2
≤ 14, (2)
x
1
≤ 8, (3)
x
1
, x
2
≥ 0 et entiers
(6.1)
La r´ egion r´ ealisable est repr´ esent´ ee ` a la figure 6.1.
Remarquons qu’une fa¸ con de r´ esoudre le probl` eme serait de construire une
borne sup´ erieure sur z

PNE
et une borne inf´ erieure sur z

PNE
et ensuite de raffiner
ces bornes jusqu’` a les ´ egaliser.
Question 1 : comment construire une borne inf´ erieure sur z

PNE
?
La r´ eponse ` a cette question est ` a la fois simple et difficile. En effet, pour trouver
une borne inf´ erieure, il suffit de donner une solution r´ ealisable pour (6.1). Comme
55
56 Chapitre 6. R´esolution des mod`eles en nombres entiers
x1
x
2
0 1 2 3 4 5 6 7 8
5
4
3
2
1
0
P
0
P
1
P
2
P
3
9 10
z = 150
(1)
(2)
(3)
Figure 6.1: Repr´ esentation de la r´ egion r´ ealisable.
l’objectif est de maximiser, l’optimum du probl` eme ne pourra qu’ˆ etre sup´ erieur
` a la valeur de z en ce point. Par exemple, le point (4,4) appartient ` a la r´ egion
r´ ealisable :
z(4, 4) = 15 ×4 + 50 ×4 = 260 ≤ z

PNE
Cependant trouver en g´ en´ eral une solution r´ ealisable pour un probl` eme en nombres
entiers n’est pas une mince affaire.
Question 2 : comment construire une borne sup´ erieure sur z

PNE
?
Une fa¸ con de r´ epondre ` a cette question est de r´ esoudre le probl` eme lin´ eaire
que l’on obtient ` a partir de (6.1) en laissant tomber les contraintes d’int´ egralit´ e des
variables. Comme on maximise sur un ensemble r´ ealisable plus large, l’optimum
ainsi obtenu ne pourra qu’ˆ etre sup´ erieur ` a l’optimum du probl` eme en nombres
entiers. C’est aussi le premier pas de la m´ ethode de branch and bound que nous
allons maintenant d´ ecrire sur l’exemple.
Appliquons la m´ ethode ` a l’exemple.
Pas 0. R´ esoudre la relaxation lin´ eaire.
Pour cet exemple, on obtient comme solution de la relaxation lin´ eaire le point not´ e
P
0
` a la figure 6.1 :
x
1
= 4, 5 x
2
= 4, 75 z
0
= 305.
Cette solution est inacceptable car les variables ne sont pas enti` eres. Cependant,
elle fournit une premi` ere borne sup´ erieure sur z

PNE
:
z

PNE
≤ 305 = z

PL
.
Section 6.1. M´ethode de “branch and bound” 57
Pas 1. Brancher sur une variable non enti` ere.
La seconde id´ ee de la m´ ethode de branch and bound est (comme le nom l’indique)
d’op´ erer une s´ eparation : la r´ egion r´ ealisable va ˆ etre s´ epar´ ee en deux sous-r´ egions
dont aucune ne peut contenir la solution optimale non enti` ere P
0
. Cette s´ eparation
n´ ecessite le choix d’une variable de s´ eparation. Le choix de cette variable est
heuristique. Diff´ erents choixsont possibles et de ce choixpeut d´ ependre l’efficacit´ e
de la m´ ethode de r´ esolution. Une fa¸ con simple de choisir cette variable est de
prendre la variable la plus distante d’un entier. Une alternative, parfois utilis´ ee,
est de prendre la variable la plus proche d’un entier.
Le “crit` ere de choix de la variable de branchement” adopt´ e ici est de prendre
la variable la plus distante d’un entier.
Dans notre exemple, il s’agit de la variable x
1
. On va effectuer un branchement
sur cette variable. Comme x
1
ne peut prendre que des valeurs enti` eres, il n’y a
aucune perte de g´ en´ eralit´ e d’imposer que
soit x
1
≤ 4 soit x
1
≥ 5
Imposer cette condition va ´ eliminer la solution courante P
0
de la relaxation lin´ eaire.
En g´ en´ eral, si la variable choisie x
k
a une valeur non enti` ere N+, on imposera
s´ epar´ ement :
soit x
k
≤ N soit x
k
≥ N + 1.
En imposant s´ epar´ ement l’une et l’autre conditions, on obtient deux sous-
mod` eles, un mod` ele fils et un mod` ele fille. Ce que l’on repr´ esente par une dia-
gramme du type de celui de la figure 6.2. Chaque nœud de cette figure correspond
` a un probl` eme lin´ eaire. Le nœud 0 au mod` ele original. Le nœud 1 est le mod` ele
original avec en plus la restriction x
1
≤ 4, tandis que le nœud 2 correspond au
mod` ele original avec en plus la restriction x
1
≥ 5. On a ici num´ erot´ e les nœuds
dans l’ordre o` u ils ont ´ et´ e g´ en´ er´ es.
On peut maintenant r´ esoudre les relaxations lin´ eaires correspondant aux pro-
bl` emes fils et fille. Dans notre exemple, on obtient les deux solutions suivantes :
Noeud 1 : x
1
= 4, x
2
= 4, 5, z
1
= 285.
Noeud 2 : x
1
= 5, x
2
= 4, 5 z
2
= 300.
Remarquez que les valeurs atteintes par la fonction objectif sont moins ´ elev´ ees
que dans la relaxation lin´ eaire pr´ ec´ edente. Ceci n’est pas ´ etonnant : on a, en
effet, ajout´ e des contraintes et donc restreint l’espace des solutions r´ ealisables.
Comme les deux sous-r´ egions forment une repr´ esentation contenant l’ensemble
des solution enti` eres, on peut en conclure que la borne sup´ erieure sur z

PNE
est :
z

PNE
≤ max(z
1
, z
2
) = 300.
58 Chapitre 6. R´esolution des mod`eles en nombres entiers
z
0
= 305
x
1
= 4, 50
x ,
2
= 4 75
x
1
4
x
1
5
z
1
= 285
x
1
= 4
x
2
= 4, 5
z
2
= 300
x
1
= 5
x
2
= 4, 5
x
2
4 x
2
5
z
3
= 290
x
1
= 6
x
2
= 4
z
4
= ∞
Probl` eme
non r´ ealisable
Figure 6.2: Arbre de branch and bound.
Pas 2. Diviser ` a nouveau un nœud fils ou fille en deux.
Ici, aucune des deux solutions n’est acceptable car toutes les deux comportent des
parties fractionnaires. On va donc continuer en choisissant un des deux nœuds
pour le diviser ` a nouveau. Le choix du nœud ` a diviser est ` a nouveau heuristique
et peut ` a nouveau avoir une grande influence sur le temps total mis pour r´ esoudre
le probl` eme. Pour l’illustration de la m´ ethode, nous adoptons la r` egle de choix
heuristique suivante :
Le “crit` ere de choix du nœud ` a diviser” adopt´ e ici est de prendre la la re-
laxation lin´ eaire fournit la meilleure (c’est-` a-dire la plus grande en cas de
maximisation) valeur de la fonction objectif.
Pour cet exemple, on choisit donc le nœud 2 et on r´ ep` ete le Pas 1.
Pas 1. Choisir une variable pour brancher.
Ici seule la variable x
2
est non enti` ere. On la choisit donc pour op´ erer le branche-
ment suivant :
soit x
2
≤ 4 soit x
2
≥ 5
On ajoute s´ epar´ ement chacune de ces contraintes aux contraintes du probl` eme 2
et on g´ en` ere ainsi les nœuds 3 et 4. Ceci est illustr´ e ` a la figure 6.2. On r´ esout
graphiquement les relaxations lin´ eaires (voir figure 6.1) et on obtient les solutions
Section 6.1. M´ethode de “branch and bound” 59
suivantes :
Noeud 3 : x
1
= 6, x
2
= 4, z
3
= 290.
Noeud 4 : non r´ ealisable
Noter que, au nœud 3, on a obtenu une solution enti` ere dont la valeur correspon-
dante de la fonction objectif est 290. On a une premi` ere borne inf´ erieure sur la
valeur optimale de la fonction objectif et on a donc que :
290 ≤ z

PNE
Il est clair ´ egalement qu’il n’y a aucune raison de continuer ` a diviser le nœud 3
pour lequel la solution optimale du probl` eme en nombres entiers a ´ et´ e obtenue.
On dit que le nœud 3 est coup´ e.
Remarquons aussi que le nœud 4 a conduit ` a un probl` eme non r´ ealisable. Ce
n’est pas ´ etonnant vu que l’on rajoute de plus en plus de contraintes. A nouveau,
dans ce cas, il ne sert ` a rien de continuer ` a diviser ce nœud. On peut donc couper
le nœud 4.
Remarquons, pour terminer, que l’on peut ´ egalement couper la branche du
nœud 1. En effet, la valeur de z
1
= 285 est inf´ erieure ` a la borne inf´ erieure de 290
qui vient d’ˆ etre trouv´ ee. On n’a donc aucun espoir de trouver en poursuivant les
calculs ` a la branche 1 de trouver une solution enti` ere meilleure que 290. Dans le
cas contraire, on aurait du diviser la branche 1.
La m´ ethode est termin´ ee puisqu’il n’existe plus de nœud ` a diviser. On d´ eter-
mine la solution optimale comme ´ etant la meilleure solution enti` ere trouv´ ee. Il
s’agit du point P
3
suivant :
x

1
= 6, x

2
= 4, z

PNE
= 290
On a ainsi, pour notre exemple, trouv´ e et aussi prouv´ e que la solution du nœud 3
´ etait la solution optimale du probl` eme en nombres entiers.
En conclusions, il y a trois raisons de couper une branche dans l’arbre :
1. lorsque la relaxation lin´ eaire obtenue est non r´ ealisable (cas du nœud 4),
2. lorsque la relaxation lin´ eaire obtenue fournit une solution enti` ere (cas du
nœud 3),
3. lorsque la valeur de la borne sup´ erieure est inf´ erieure ` a la valeur de la
meilleure solution enti` ere obtenue (cas du nœud 1).
60 Chapitre 6. R´esolution des mod`eles en nombres entiers
6.2 Exercices
6.1. M´ ethode de branch and bound. Consid´ erons le probl` eme en nombres
entiers suivant :
maxz = x
1
+ 2x
2
scq

−2x
1
+ 2x
2
≤ 1
x
1
+ x
2
≤ 6, 5
x
1
, x
2
≥ 0 et entiers.
R´ esoudre par la m´ ethode de branch and bound en r´ esolvant les relaxations
lin´ eaires de mani` ere purement graphique.
6.2. Probl` eme d’affectation de lignes a´ eriennes. Une petite compagnie a´ erien-
ne dispose de six avions de 150 places. Elle d´ esire affecter sa flotte d’avions
aux deux lignes int´ erieures ouvertes ` a la concurrence (les lignes OM et OT).
Le nombre de passagers d´ esirant effectuer chaque jour un parcours sur la
ligne OMpar cette nouvelle compagnie est 500, et de 200 sur la ligne OT. Le
coˆ ut marginal (frais variables tels que le carburant, les taxes d’atterrissage,
etc. . . ) d’un voyage sur la ligne OM est de 4 et de 3 sur la ligne OT. On
d´ esire minimiser le coˆ ut d’exploitation en satisfaisant la demande.
(a) Formuler math´ ematiquement le probl` eme de la meilleure affectation
de la flotte de cette compagnie.
(b) R´ esoudre par la m´ ethode de branch and bound en r´ esolvant chaque fois
la relaxation lin´ eaire de mani` ere purement graphique.
6.3. M´ ethode de branch and bound. Consid´ erons le probl` eme en nombres
entiers suivant :
z

PNE
= maxz = 5x
1
+ 4x
2
s.c.q.

x
1
+x
2
≤ 5, (1)
10x
1
+6x
2
≤ 45, (2)
x
1
, x
2
≥ 0 et entiers
On demande de r´ esoudre le probl` eme par la m´ ethode de branch and bound
en r´ esolvant les relaxations lin´ eaires de mani` ere purement graphique.
(a) R´ esoudre graphiquement la relaxation lin´ eaire initiale.
(b) Repr´ esenter ici par un arbre la suite de vos calculs. Justifier les
diff´ erents pas de la m´ ethode.
Partie III
R´ esolution au moyen du solveur d’Excel
61
Chapitre 7
Le solveur d’EXCEL.
7.1 Introduction
Le solveur d’EXCELest un r´ esolveur d’´ equation ainsi qu’un optimiseur exploitant
les techniques de la programmation lin´ eaire, de la programmation en nombres
entiers et de la programmation non lin´ eaire.
Illustrons ceci sur un exemple tir´ e de Hillier et Lieberman [8] d´ ej` a utilis´ e
au chapitre 3 pour illustrer le processus de formulation d’un probl` eme lin´ eaire.
Pour rappel, le probl` eme s’´ enonce ainsi : une entreprise de fabrication de chassis
envisage la mise en production de deux nouveaux mod` eles, le chassis en aluminium
et le chassis en bois, au moyen des capacit´ es r´ esiduelles de ses trois ateliers : ` a
savoir l’atelier 1, o` u sont fabriqu´ es les cadres en aluminium, l’atelier 2, o` u sont
fabriqu´ es les cadres en bois et l’atelier 3 o` u le montage du verre sur le chassis est
r´ ealis´ e pour les deux types de chassis.
Le nombre d’heures n´ ecessaires par produit dans les trois ateliers et le nombre
d’heures encore disponibles par semaine dans ces ateliers sont donn´ es au ta-
bleau 7.1.
Atelier Chassis Chassis Capacit´ e
aluminium bois disponible
1 1 h 0 h 4 h/semaine
2 0 h 2 h 12 h/semaine
3 3 h 2 h 18 h/semaine
Tableau 7.1: Temps n´ ecessaires et capacit´ es r´ esiduelles
Les marges unitaires sont de 3 $ pour le chassis en aluminium et de 5 $ pour
le chassis en bois
63
64 Chapitre 7. Le solveur d’EXCEL.
On se pose la question suivante : combien produire de chassis de chaque type
par semaine pour maximiser le profit net ?
La formulation de ce probl` eme est particuli` erement simple. Elle a ´ et´ e faite
` a la section 3.2. En posant x
1
, le nombre de chassis en aluminium fabriqu´ es par
semaine et x
2
, le nombre de chassis en bois fabriqu´ es par semaine, on obtient la
formulation suivante :
maxz = 3x
1
+ 5x
2
s.c.q.

x
1
≤ 4
2x
2
≤ 12
3x
1
+ 2x
2
≤ 18
x
1
≥ 0
x
2
≥ 0
Comme vu au chapitre 3, pour un probl` eme lin´ eaire ` a deux variables, on peut
d´ eterminer sa solution optimale graphiquement. Le point optimum est d´ etermin´ e
comme ´ etant le sommet de la r´ egionr´ ealisable situ´ e sur la droite d’isovaleur donnant
la valeur la plus ´ elev´ ee ` a l’objectif. Il s’agit ici du point :
x

= (2, 6)
donnant la valeur maximum du profit suivante :
z

= 36.
Nous allons maintenant r´ esoudre le probl` eme au moyen du solveur d’Excel.
La premi` ere chose ` a faire est de rentrer les donn´ ees num´ eriques du probl` eme et
les formules de calcul de la fonction objectif ainsi que du membre de gauche des
contraintes. Pour la clart´ e du mod` ele, il est indispensable de mettre ´ egalement des
commentaires. Comme le probl` eme est lin´ eaire, on peut rentrer les coefficients
num´ eriques sous forme d’une matrice. On remarquera au tableau 7.2 que les
coefficients d’une mˆ eme ´ equation ainsi que sa formule de calcul ont ´ et´ e rang´ es dans
une mˆ eme ligne qui contient comme commentaire le nom de l’´ equation (Atelier
1, Atelier 2, . . . ). De mˆ eme, les coefficients se rapportant ` a une mˆ eme variable
ont ´ et´ e rang´ e en colonne sous le nom de la variable (x
1
, x
2
). Remarquez ici, pour
comprendre les formules, que l’on a choisi de placer la valeur de x
1
en cellule
$B$2$, tandis que celle de x
2
est plac´ ee en cellule $C$2.
Il reste maintenant ` a indiquer ` a Excel, o` u se trouvent les variables, la fonction
objectif, le membre de gauche, de droite et le sens des contraintes. Ceci peut ˆ etre
mis en œuvre en Excel (voir la copie d’´ ecran 7.1) de la mani` ere suivante :
1. Dans le menu “Outils”, choisir le sous-menu “Solveur”.
Section 7.1. Introduction 65
A B C D E
1 en alu en bois b
2 Production de chassis
3 Profit 3 5 =B3*$B$2+C3*$C$2
4 Capacit´ e de l’atelier 1 1 0 =B4*$B$2+C4*$C$2 4
5 Capacit´ e de l’Atelier 2 0 2 =B5*$B$2+C5*$C$2 12
6 Capacit´ e de l’atelier 3 3 2 =B6*$B$2+C6*$C$2 18
Tableau 7.2: Exemple de probl` eme lin´ eaire.
Figure 7.1: Param` etres du solveur.
2. Dans la zone “Cellule ` a d´ efinir”, mettre la r´ ef´ erence de la cellule de calcul
de l’objectif (ici $D$3).
3. Dans la zone “
´
Egale ` a”, choisir Max ou Min (ici Max).
4. Dans la zone “Cellules variables”, mettre les r´ ef´ erences des cellules conte-
nant les variables (ici $B$2:$C$2) .
5. Dans la zone “Contraintes”, choisir “ajouter une contrainte”. Le menu
suivant apparaˆıt :
Cellule : Relation : Contrainte :
Pour chaque contrainte :
66 Chapitre 7. Le solveur d’EXCEL.
• Dans la zone “Cellule”, mettre la r´ ef´ erence de la cellule contenant la
formule de calcul du membre de gauche (pour l’atelier 1 : $D$4). Il
faut donc pr´ ealablement avoir calcul´ e ce membre de gauche.
• Dans la zone “Relation”, mettre le sens de la contrainte (par exemple,
pour l’atelier 1 : <=).
• Dans la zone “Contrainte”, mettre la r´ ef´ erence de la cellule contenant
le membre de droite (pour l’atelier 1 : $E$4). On peut ´ egalement
directement entrer une valeur. Mais cela n’est pas ` a conseiller sauf s’il
s’agit de la valeur ”0” qui n’est pas susceptible de varier.
6. Dans ”Option” (voir la copie d’´ ecran 7.2), choisir ”Mod` ele suppos´ e li-
Figure 7.2: Options du solveur.
n´ eaire”. On doit ´ egalement choisir l’option ”Suppos´ e non n´ egatif” qui
correspond aux contraintes de positivit´ e des variables.
7. Lancer la commande “R´ esoudre”.
Le tableau 7.3 pr´ esente la solution du solveur. Il est ` a remarquer qu’il indique
directement dans les cases des variables la valeur de ces variables. On obtient
bien la solution d´ etermin´ ee graphiquement (2,6) ` a laquelle correspond une valeur
maximum de l’objectif (36).
Plusieurs remarques sur les particularit´ es du solveur d’Excel s’imposent
ici :
1. On a rentr´ e les trois contraintes en un bloc. On peut rentrer par groupe les
contraintes ayant mˆ eme sens. Ainsi, dans l’exemple, on a rentr´ e les trois
Section 7.1. Introduction 67
A B C D E
1 en alu en bois b
2 Production de chassis 2 6
3 Profit 3 5 36
4 Capacit´ e de l’atelier 1 1 0 2 4
5 Capacit´ e de l’atelier 2 0 2 12 12
6 Capacit´ e de l’atelier 3 3 2 18 18
Tableau 7.3: Solution du solveur
contraintes de capacit´ es en bloc par la commande suivante :
$D$4 : $D$6 <= $E$4 : $E$6
2. Excel d´ etermine le nomd’une variable ou le nomd’une contrainte en prenant
le premier commentaire situ´ e ` a gauche de la cellule et le premier commentaire
situ´ e au dessus de la cellule de calcul de la variable ou de la contrainte. Ainsi
les noms des variables x
1
et x
2
seront respectivement “production de chassis
en alu” et “production de chassis en bois”.
3. Les contraintes de positivit´ e des variables doivent ˆ etre entr´ ees explicitement,
ceci contrairement ` a la convention de certains optimiseurs qui consid` erent
par d´ efaut des variables non n´ egatives. On a rentr´ e ces contraintes, comme
indiqu´ e plus haut, en s´ electionnant l’option ”suppos´ e non n´ egatif”.
4. Seules les variables non calcul´ ees (les variables ind´ ependantes du mod` ele)
doivent ˆ etre rentr´ ees dans la section variables. Ainsi, si l’on avait cal-
cul´ e dans une cellule le nombre d’heures pass´ ees dans l’atelier 1, cette cel-
lule contiendrait une variable (au sens math´ ematique du terme) mais ne
devrait pas ˆ etre rentr´ ee dans les cellules variables pour Excel, sans quoi
Excel consid´ ererait qu’il s’agit d’une variable ind´ ependante et effacerait sa
formule de calcul pour y mettre une valeur num´ erique.
5. Si le mod` ele est lin´ eaire (contraintes lin´ eaires et fonction objectif lin´ eaire),
on a tout int´ erˆ et ` a s´ electionner l’option “Mod` ele suppos´ e lin´ eaire”, ce qui
d´ eclenchera l’algorithme du Simplexe plut ˆ ot qu’un algorithme g´ en´ eral de
programmation non lin´ eaire.
6. Remarquez enfin que pour modifier le mod` ele on peut utiliser :
• la commande “supprimer la contrainte”;
• la commande “modifier la contrainte”.
68 Chapitre 7. Le solveur d’EXCEL.
7.2 Les rapports du solveur
Lorsque le solveur a termin´ e, soit qu’il ait trouv´ e la solution optimale, soit qu’il
ne parvienne pas ` a en trouver (probl` eme non r´ ealisable ou non convergence de
l’algorithme de r´ esolution), la boˆıte de dialogue illustr´ ee ` a la figure 7.3 apparaˆıt
(ici avec le message de sortie que l’on attendait, ` a savoir l’optimalit´ e de solution).
Figure 7.3: Rapports possibles du solveur.
Elle laisse le choix entre garder dans les cellules variables la solution obtenue
par le solveur soit r´ etablir la solution initiale (g´ en´ eralement z´ ero partout). Cette
boˆıte permet ´ egalement de g´ en´ erer ` a la demande trois types de rapport :
• le rapport des r´ eponses,
• le rapport de sensibilit´ e,
• le rapport des limites.
7.2.1 Le rapport des r´ eponses
Le rapport des r´ eponses (voir figure 7.4) fournit :
• les informations sur l’objectif : la r´ ef´ erence de la cellule, le nom, la valeur
originale et finale de la “cellule cible (` a Maximiser)”;
• les informations sur les variables : la r´ ef´ erence de la cellule, le nom, la
valeur originale et finale des “cellules variables”;
• les informations sur les contraintes : la r´ ef´ erence de la cellule, le nom, la
valeur finale du membre de gauche, la formule, son status (active ou non ` a la
solution finale), ainsi que la marge (valeur de l’´ ecart entre les deux membres
de l’in´ egalit´ e).
Section 7.2. Les rapports du solveur 69
Figure 7.4: Rapports des r´ eponses.
Pour d´ eterminer le nom, Excel fait la concat´ enation du premier commentaire
rencontr´ e dans la mˆ eme ligne et du premier commentaire rencontr´ e dans la mˆ eme
colonne. Ceci est particuli` erement utile si l’on a des variables ` a deux indices
comme dans un probl` eme de transport. En effet, les variables seront stock´ ees
dans un tableau o` u les lignes correspondront aux origines et les colonnes aux
destinations. Il suffira de mettre “de i” ` a gauche de la ligne et “vers j” en haut de
la colonne pour que le nom de la variable soit “de i vers j” .
7.2.2 Le rapport de sensibilit´ e
Le rapport de sensibilit´ e (voir figure 7.5) fournit :
• les informations sur les variables : la r´ ef´ erence de la cellule, le nom et la
valeur finale de la variable, le coˆ ut r´ eduit, le coefficient objectif, l’accrois-
sement et la diminution maximale de ce coefficient avant qu’une variable ne
change de valeur.
• les informations sur les contraintes : la r´ ef´ erence de la cellule, le nom et la
valeur finale du membre de gauche de la contrainte, le prix cach´ e, la valeur du
membre de droite, l’augmentation et la diminution maximum de ce membre
de droite telle que le prix cach´ e reste le mˆ eme.
70 Chapitre 7. Le solveur d’EXCEL.
Figure 7.5: Rapport de sensibilit´ e.
7.2.3 Le rapport des limites
Figure 7.6: Rapport des limites.
Le rapport des limites (voir figure 7.6) fournit pour chaque variable :
• sa limite inf´ erieure, c’est-` a-dire la plus petite valeur de la variable qui satisfait
les contraintes en maintenant les autres variables fix´ ees ` a leur valeur;
• la limite sup´ erieure, c’est-` a-dire plus grande valeur de la variable qui satisfait
les contraintes en maintenant les autres variables fix´ ees ` a leur valeur.
Section 7.3. Exercices 71
7.3 Exercices
7.1. Recyclage du papier. Pour l’exercice 31 formul´ e au chapitre 3,
(a) R´ esoudre au moyen du Solveur d’Excel.
(b) Donner la solution obtenue par Excel.
7.2. Organisation de la distribution d’eau. Une agence pour l’eau est charg´ e,
dans son district, du captage de l’eau et de la fourniture des agglom´ erations
situ´ ees dans son district. Le captage est possible aupr` es de 3 sources d’offre
maximum donn´ ee (le captage est limit´ e pour ne pas diminuer trop le niveau
des nappes souterraines). Le tableau 7.4 donne en derni` ere colonne l’offre
de chaque source. Il y a quatre villes ` a servir dans ce district. Le probl` eme
est la r´ epartition de l’eau disponible entre ces quatre villes durant la saison
s` eche. Chaque ville, a des besoins vitaux en eau qui sont repris en avant
derni` ere ligne du tableau 7.4. La compagnie de transport d’eau est oblig´ ee
de fournir ces quantit´ es au minimum. Chaque ville, a une demande effective,
qui peut ˆ etre plus ´ elev´ ee (elle est donn´ ee en derni` ere ligne du tableau 7.4).
Chacune des villes peut ˆ etre aliment´ ee par n’importe quelle source, sauf la
ville 4 qui ne peut ˆ etre aliment´ ee ` a partir de la source 3. Cependant, vu
l’´ eloignement g´ eographique, le coˆ ut unitaire de fourniture d´ epend ` a la fois
du lieu de production et du lieu de consommation de l’eau (voir le tableau
7.4 pour les donn´ ees.)
Coˆ ut de Destination Offre
fourniture Ville Ville Ville Ville de la
venant de 1 2 3 4 source
Source 1 16 13 22 17 50
Source 2 14 13 19 15 60
Source 3 19 20 23 - 50
Besoin 30 70 0 10
Demande 50 70 30 60
Tableau 7.4: Coˆ ut de fourniture
On se demande comment organiser le transport de toute l’eau disponible de
sorte ` a assurer ` a toutes les villes, leurs besoins minimaux tout en minimisant
les coˆ uts de transport totaux pour le district
(a) Formuler le probl` eme de transport de l’eau.
(b) R´ esoudre au moyen du Solveur d’Excel.
72 Chapitre 7. Le solveur d’EXCEL.
7.3. Transport de pond´ ereux. Une entreprise a 3 chantiers en cours : C1, C2,
C3. Elle poss` ede 2 unit´ es de production de b´ eton, B1 et B2, et 2 carri` eres,
G1 et G2, o` u sont produits les gravillons qui entrent dans la fabrication du
b´ eton. Si la production interne ne suffit pas, il est possible de faire appel
` a la sous-traitance pour la production de gravillons (unit´ e G3) et/ou pour
la production de b´ eton (unit´ e B3). Dans la mesure du possible, on ´ evite
d’utiliser la sous-traitance. Il faut 1/2 tonne de gravillons pour 1 tonne de
b´ eton. Les quantit´ es de b´ eton ` a fournir dans la p´ eriode aux chantiers C1,
C2 et C3 sont respectivement 100, 200 et 130 tonnes. Les capacit´ es de
production en gravillons des unit´ es G1 et G2 sont respectivement 75 et 60
tonnes pendant la p´ eriode. La carri` ere du sous-traitant G3 peut fournir 100
tonnes au maximum. Les capacit´ es de production en b´ eton des unit´ es B1
et B2 sont respectivement de 60 et 120 tonnes. Le sous-traitant B3 a une
capacit´ e de 600 tonnes pendant la mˆ eme p´ eriode. Les centrales ` a b´ eton B1,
B2 et B3 utilisent uniquement les gravillons provenant de G1, G2 ou G3.
Les coˆ uts de transport unitaire (en euro/tonne) des gravillons sont donn´ es
EURO/tonne vers B1 vers B2 vers B3
de G1 100 80 85
de G2 60 70 65
de G3 120 180 140
Tableau 7.5: Coˆ uts de transport des gravillons
` a la table 7.5 tandis que les coˆ uts de transport unitaire (en euro/tonne) des
b´ etons sont donn´ es ` a la table 7.6. On veut d´ eterminer comment satisfaire les
EURO/tonne vers C1 vers C2 vers C3
de B1 40 50 60
de B2 25 30 30
de B3 40 45 60
Tableau 7.6: Coˆ uts de transport des b´ etons
commandes accept´ ees ` a coˆ ut de transport minimum tout en n’ayant recours
` a la sous-traitance que pour les capacit´ es manquantes de fa¸ con interne.
(a) Formuler le probl` eme (choix des variables, expression de l’objectif et
des contraintes).
(b) Mettre sous la forme d’un mod` ele de calcul en Excel.
(c) Donner la solution obtenue par Excel.
Chapitre 8
´
Etude de cas 1 : la collecte de bouteilles
8.1
´
Enonc´ e du probl` eme
Une entreprise sp´ ecialis´ ee dans le recyclage de bouteilles en plastique poss` ede deux
usines, l’une situ´ ee ` a Liverpool et l’autre ` a Brighton. De plus, elle dispose de quatre
entrepˆ ots de stockage interm´ ediaire situ´ es ` a Newcastle, Birmingham, London et
Exeter respectivement. Cette entreprise ach` ete son ingr´ edient ` a six fournisseurs :
six grosses villes avec lesquelles elle a un contrat d’achat des bouteilles ` a recycler.
Les bouteilles ` a recycler peuvent aller directement aux usines, soit transiter via les
d´ epˆ ots. Les tableaux 8.1, 8.2 et 8.3 fournissent les coˆ uts de transport unitaires (en
Livres par tonne). Une barre indique que le transport n’est pas possible entre les
deux lieux.
Coˆ ut de R´ eception
fourniture Usine de Usine de
venant de Liverpool Brighton
Newcastle 0,5 -
Birmingham 0,5 0,3
London 1,0 0,5
Exeter 0,2 0,2
Tableau 8.1: Coˆ ut de fourniture des d´ epˆ ots vers les usines
Chaque usine a une capacit´ e mensuelle de traitement qui ne peut ˆ etre d´ epass´ ee.
Elle est donn´ ee au tableau 8.4 en tonnes par mois. Chaque d´ epˆ ot a une capacit´ e
maximum de transit par mois qui est donn´ ee au tableau 8.5 en tonnes par mois.
Chaque ville a une fourniture mensuelle donn´ ee dans le tableau 8.6 en tonnes par
mois. On se demande comment organiser la collecte des bouteilles pour minimiser
73
74 Chapitre 8.
´
Etude de cas 1 : la collecte de bouteilles
Coˆ ut de R´ eception
fourniture Usine de Usine de
venant de Liverpool Brighton
Ville 1 1,0 2,0
Ville 2 - -
Ville 3 1,5 -
Ville 4 2,0 -
Ville 5 - -
Ville 6 1,0 -
Tableau 8.2: Coˆ ut de fourniture des villes vers les usines
Coˆ ut de R´ eception
fourniture D´ epˆ ot de D´ epˆ ot de D´ epˆ ot de D´ epˆ ot de
venant de Newcastle Birmingham London Exeter
Ville 1 - 1,0 - -
Ville 2 1,5 0,5 1,5 -
Ville 3 0,5 0,5 2,0 0,2
Ville 4 1,5 1,0 - 1,5
Ville 5 - 0,5 0,5 0,5
Ville 6 1,0 - 1,5 1,5
Tableau 8.3: Coˆ ut de fourniture des villes vers les d´ epˆ ots
Usine de Usine de
Liverpool Brighton
Capacit´ e 150 000 200 000
Tableau 8.4: Capacit´ e des usines
D´ epˆ ot de D´ epˆ ot de D´ epˆ ot de D´ epˆ ot de
Newcastle Birmingham London Exeter
Capacit´ e 70 000 50 000 100 000 40 000
Tableau 8.5: Capacit´ e des d´ epˆ ots
Ville 1 Ville 2 Ville 3 Ville 4 Ville 5 Ville 6
Offre 50 000 10 000 40 000 35 000 60 000 20 000
Tableau 8.6: Offre des villes
Section 8.1.
´
Enonc´e du probl`eme 75
les coˆ uts de transport.
8.1. Formuler math´ ematiquement le probl` eme.
8.2.
´
Ecrire votre mod` ele en Excel et le r´ esoudre au moyen d’Excel.
8.3. Il est maintenant possible de construire un nouveau d´ epˆ ot ` a Bristol et ` a
Northampton. Il est ´ egalement possible d’´ etendre celui de Birmingham. On
consid` ere qu’il n’est pas possible d’avoir plus de quatre d´ epˆ ots ouverts et
on peut, si n´ ecessaire, fermer ceux de Newcastle et d’Exeter. Le tableau 8.7
donne les coˆ uts d’ouverture (en milliers de Livres) et les capacit´ es mensuelles
de transit (en milliers de tonnes par mois) des nouveaux d´ epˆ ots.
D´ epˆ ot Coˆ ut Capacit´ e
Bristol 12 30
Northampton 4 25
Extension de Birmingham 3 20
Tableau 8.7: Coˆ uts d’ouverture
Le tableau 8.8 donne les ´ economies due ` a la fermeture (en milliers de Livres)
des deux d´ epˆ ots.
D´ epˆ ot
´
Economie
Newcastle 10
Exeter 5
Tableau 8.8:
´
Economie due ` a la fermeture
Le tableau 8.9 donne les coˆ uts de fourniture pour les nouveaux d´ epˆ ots.
Indiquer comment modifier votre formulation math´ ematique obtenue au cha-
pitre pr´ ec´ edent pour pouvoir d´ eterminer quel(s) nouveau(x) d´ epˆ ot(s) faut-
il ouvrir, si le d´ epˆ ot de Birmingham doit ˆ etre ´ etendu et quel(s) d´ epˆ ot(s)
doit(vent) ˆ etre ferm´ e(s).
8.4. R´ esoudre au moyen d’Excel.
76 Chapitre 8.
´
Etude de cas 1 : la collecte de bouteilles
Coˆ ut de Fournisseur
fourniture Usine de Usine de D´ epˆ ot de D´ epˆ ot de
vers Liverpool Brighton Bristol Northampton
Bristol 0,6 0,4
Northampton 0,4 0,3
Client 1 1,0 2,0 1,2 -
Client 2 - - 0,6 0,4
Client 3 1,5 - 0,5 -
Client 4 2,0 - - 0,5
Client 5 - - 0,3 0,6
Client 6 1,0 - 0,8 0,9
Tableau 8.9: Coˆ ut de fourniture (nouveaux d´ epˆ ots)
Chapitre 9
´
Etude de cas 2 : le transport routier
On veut d´ eterminer la mani` ere dont se r´ epartissent les usagers d’un r´ eseau routier.
Pour cela, on va consid´ erer que les usagers choisissent le chemin entre leur origine
` a leur destination de temps minimum. Un ´ equilibre sera atteint lorsque, pour tout
groupe d’utilisateurs du r´ eseau ayant mˆ eme origine et mˆ eme destination :
• tous les chemins utilis´ es ont un temps de parcours identique.
• tous les chemins non utilis´ es ont un temps sup´ erieur ` a ce temps.
Les arcs du r´ eseau sont repris au tableau 9.1. Leur temps de travers´ ee, not´ e t
a
(x
a
)
pour l’arc a est fonction de x
a
, le flux sur cet arc :
t
a
(x
a
) = a
a
+ b
a
x
a
o` u le temps de travers´ ee de l’arc est exprim´ e en minutes et le flux en v´ ehicules par
heure. On consid` ere ici deux paires origine destination. La premi` ere va du nœud
Origine Destination a
a
b
a
A B 21 0,01
A C 8 0,1
B D 6 0,1
C B 4 0,02
C D 19 0,01
Tableau 9.1: Description des arcs
A vers le nœud D. La seconde va du nœud C vers le nœud D. Il y a un flot de q
AD
=
50 v´ ehicules par heure allant de A vers D et un flux q
CD
= 50 v´ ehicules par heure
allant de C vers D.
77
78 Chapitre 9.
´
Etude de cas 2 : le transport routier
Consid´ erons le probl` eme d’optimisation non lin´ eaire suivant :
min z(x) =
¸
a

x
a
0
t
a
(w)dw
scq

¸
p
f
p
δ
p,od
= q
od
∀od
f
p
≥ 0 ∀p
(9.1)
o` u x
a
note le flux sur l’arc a et f
p
note le flux sur le chemin p et δ
p,od
= 1 si le
chemin p relie o ` a d. La relation entre x et les variables f
p
´ etant donn´ ee par la
relation suivante :
x
a
=
¸
p
f
p
η
a,p
o` u η
a,p
= 1 si l’arc a appartient au chemin p.
En utilisant les conditions de Kuhn et Tucker de (9.1), on peut montrer que les
flux optimaux satisfont les conditions d’´ equilibre de l’utilisateur.
9.1. Exprimer le probl` eme (9.1) en un mod` ele de calcul EXCEL.
9.2. Le r´ esoudre afin d’en d´ eduire flux ainsi que les temps de travers´ ee des divers
arcs.
9.3. V´ erifier les conditions d’´ equilibre de l’utilisateur de votre solution.
Bibliographie
[1] BAGLIN G´ erard, Olivier BRUEL, Alain GARREAU, Michel GREIF et
Christian VAN DELFT, Management Industriel et Logistique, 3` eme
´
Edition,
Economica, Paris, 2001.
[2] BROOKE Anthony, David KENDRICK et Alexander MEERAUS, GAMS
User’s guide Release 2.25, The Scientific Press, San Francisco, 1992.
[3] EXCEL, Guide de l’utilisateur, Microsoft, 1992.
[4] FORD L.K. et D.K. FULKERSON, Flows in networks, Princeton University
Press, Princeton, New Jersey, 1962.
[5] GIARD Vincent, Gestion de la production et des flux, 3` eme
´
Edition, Econo-
mica, Paris, 2003.
[6] GUERET Christelle, Christian PRINS et Marc SEVAUX, Applications of
optimization with XPRESS-MP, Eyrolles, Paris, 2000.
[7] HEIZEZ Jay, Barry RENDER, Operations Management, 8` eme ´ edition, Pear-
son Education, Upper Saddle River, 2006.
[8] F.S. HILLIER et G.S. LIEBERMAN, Introduction to Operations Research,
6` eme ´ edition, Mac Graw-Hill International Editions, Singapour, 1995.
[9] F.S. HILLIER, M.S. HILLIER et G.S. LIEBERMAN, Introduction to Mana-
gement Sciences, 1` ere ´ edition, Mac Graw-Hill International Editions, Boston,
2000.
[10] Lee KRAJEWSKI, Manoj MALHOTRA et Larry RITZMAN, Operations
Management, 8` eme ´ edition, Pearson Education, Upper Saddle River, 2007.
[11] LACAZE Dominique, Optimisation appliqu´ ee ` a la gestion et ` a l’´ economie,
Economica, 1990.
[12] LUENBERGER D, Linear and Nonlinear Programming, Addison Wesley,
1984.
79
80 Bibliographie
[13] Y. NORBERT, R. OUELLET et R. PARENT, La recherche op´ erationnelle,
Ga¨ etan Morin
´
Editeur, Montr´ eal-Paris, 1995.
[14] SHEFFI Yosef, Urban Transportation Networks: Equilibrium Analysis with
Mathematical Programming Methods, Prentice-Hall, New Jersey, 1985.
[15] Hamdy TAHA, Operations Resaerch: an Introduction, 8` eme ´ edition, Pearson
Education, Upper Saddle River, 2007.
[16] M.P. WILLIAMS, Model building in Mathematical Programming, John Wi-
ley, 1990.
[17] M.P. WILLIAMS, Model solving in Mathematical Programming, John Wiley,
1992.

Table des mati` res e
I Introduction a la mod´ lisation math´ matique ` e e 1 Introduction 1.1 1.2 1.3 1.4 1.5 2 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . . Parties du cours . . . . . . . . . . . . . . . . . . . . . . . . . . La notion de matrice . . . . . . . . . . . . . . . . . . . . . . . . 5 7 7 8 9

Calcul matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 19

Les notions de graphe, de flot et de r´ seau. e 2.1 2.2 2.3 2.4

Un exemple de transport . . . . . . . . . . . . . . . . . . . . . . 19 Notion de graphe . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Notion de flot . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 27

3

Formulation en mod` les d’optimisation. e 3.1 3.2 3.3

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Formulation des probl` mes lin´ aires . . . . . . . . . . . . . . . . 27 e e Formulation des probl` mes en nombres entiers . . . . . . . . . . 30 e 3.3.1 3.3.2 3.3.3 Probl` mes avec coˆ t fixe . . . . . . . . . . . . . . . . . . 30 e u M´ lange avec nombre limit´ d’ingr´ dients . . . . . . . . 31 e e e Choix parmi un nombre discret de valeurs . . . . . . . . . 32

3.4

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3

4 II M´ thodes d’optimisation e 4 R´ solution des mod` les lin´ aires e e e 4.1 4.2 4.3 4.4 5

Table des mati`res e 35 37

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 R´ solution graphique des probl` mes a deux variables . . . . . . . 37 e e ` Principe de l’algorithme du Simplexe . . . . . . . . . . . . . . . 41 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 45

R´ solution des mod` les non lin´ aires. e e e 5.1 5.2 5.3 5.4

Conditions de Kuhn et Tucker . . . . . . . . . . . . . . . . . . . 45 Application au calcul d’´ quilibre de l’utilisateur . . . . . . . . . . 48 e La m´ thode de Frank-Wolfe . . . . . . . . . . . . . . . . . . . . 49 e Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 55

6

R´ solution des mod` les en nombres entiers e e 6.1 6.2

M´ thode de “branch and bound” . . . . . . . . . . . . . . . . . . 55 e Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

III R´ solution au moyen du solveur d’Excel e 7 Le solveur d’EXCEL. 7.1 7.2

61 63

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . 68 7.2.1 7.2.2 7.2.3 Le rapport des r´ ponses . . . . . . . . . . . . . . . . . . 68 e Le rapport de sensibilit´ . . . . . . . . . . . . . . . . . . 69 e Le rapport des limites . . . . . . . . . . . . . . . . . . . 70

7.3 8

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

´ Etude de cas 1 : la collecte de bouteilles 73 ´ 8.1 Enonc´ du probl` me . . . . . . . . . . . . . . . . . . . . . . . . 73 e e ´ Etude de cas 2 : le transport routier 77

9

Partie I Introduction a la mod´ lisation ` e math´ matique e 5 .

.

e e • les mod` les non lin´ aires que l’on rencontre lorsque soit la fonction objectif. e e e en gestion des transports (voir cours de Master 2)..). Prenons un exemple. Il s’agit. Les actions a prendre peuvent etre repr´ sent´ e par les e e ` ˆ e e quantit´ s de d´ chets envoy´ es aux diff´ rentes fili` res (recyclage.. proportion maximum de e e d´ chets non recycl´ . Il s’agit. de donner une introduction ` a la mod´ lisation math´ matique. e e soit au moins une contrainte est non lin´ aire. 7 . etc.. e • les mod` les en nombres entiers que l’on rencontre lorsque les variables de e d´ cisions doivent etre enti` res (par exemple. e e e e Nous introduirons la notion de mod` le math´ matique d’optimisation. enfouissement. de voir quelques m´ thodes de r´ solution de ces mod` les principalement en ce qui concerne e e e les mod` les lin´ aires et les mod` les non lin´ aires.1 Objectifs du cours L’objectif de ce cours est double. etc. En traitement des d´ chets m´ nagers. nous nous limiterons a exposer ` quelques techniques qui concernent : • les probl` mes lin´ aires que l’on rencontre lorsque toutes les relations math´ e e e matiques du mod` le sont purement lin´ aires. outil couramment utilis´ en gestion de l’eau.Chapitre 1 Introduction 1. e e e e e incin´ ration. On fait e e ` face a ce type de mod` le lorsqu’il y a des actions a prendre en vue de minimiser ou ` e maximiser un objectif en respectant un certain nombre de contraintes. d’autre part. d’une part.). pour mod´ liser des d´ cisions e ˆ e e e d’investissement du type tout ou rien). e En ce qui concerne les technique d’optimisation. on peut vouloir minimiser le coˆ t e e u de traitement de ces d´ chets tout en respectant un certain nombre de contraintes e environnementales (normes sur la qualit´ de l’air rejet´ ..

En ce qui concerne les mod` les en nombre entiers. il y a de nombreux algorithmes e e en fonction du type de probl` me non lin´ aire a r´ soudre.8 Chapitre 1.2 Parties du cours Le cours est divis´ en trois parties. Nous nous limiterons e e ` e au cas de probl` mes a objectif non lin´ aire et a contraintes lin´ aires pour lequel il e ` e ` e existe un algorithme adapt´ : l’algorithme de Frank-Wolfe. Introduction 1. trois mod` les utilis´ s dans les e e cours de Master 2. Nous e e verrons notamment le probl` me de la gestion des d´ chets. En ce qui concerne les mod` les non lin´ aires. ensuite une recherche unidimensionnelle le long de cette direction. et qu’il ne comporte que deux variables e de d´ cision. e a e Nous verrons ensuite comment formuler un probl` me d’optimisation : on e parle de probl` me d’optimisation lorsque que l’on veut d´ terminer les valeurs de e e variables de d´ cision en vue de maximiser ou minimiser une fonction objectif tout e en respectant un certain nombre de contraintes. la troisi` me partie du cours sera consacr´ e a l’utilisation du solveur e e ` d’Excel pour r´ soudre des probl` mes d’optimisation en environnement. On rappellera egalement la notion de graphe qui est utilis´ e. de l’optimisation des e e ressources en eau et du transport de marchandises. c’est-` -dire le r´ seau de transport. Nous e e ` e e introduirons quelques outils math´ matiques qui seront utiles pour comprendre e certaines parties plus techniques dans la suite du cours. notamment en ´ e gestion des transports pour repr´ senter l’offre. La deuxi` me partie sera consacr´ e a une introduction a la r´ solution des e e ` ` e mod` les d’optimisation. nous pr´ senterons la m´ e e e thode de branch and bound. il faut recourir a l’algorithme du Simplexe dont nous e ` donnerons le principe. e La premi` re sera consacr´ e a des notion de mod` le math´ matique. notamment en gestion des transports pour e repr´ senter la demande de transport sous la forme d’une matrice origine destinae tion. il peut etre r´ solu de mani` re purement graphique. S’il y a plus de e ˆ e e deux variables de d´ cision. il s’agit d’un algorithme it´ ratif ayant a chaque it´ ration e e ` e deux etapes : le calcul d’une direction de descente (en cas de minimisation) de la ´ fonction. On fera un rappel de la notion de matrice qui est utilis´ e. Enfin. Comme la plupart des e algorithmes non lin´ aires. . Un exemple classique est celui de la e e ` e d´ termination pour une entreprise des quantit´ s a produire de ses diff´ rents produits en vue de maximiser son profit tout en respectant les contraintes de capacit´ de ses e ateliers et de satisfaction de la demande de ses clients. e Nous verrons dans cette partie que si le probl` me d’optimisation est lin´ aire e e (objectif et contraintes purement lin´ aires).

.. .1) illustre cette forme.. amn ee D´ finition 1.. . Dans la d´ finition sous forme compr´ hensive. la matrice suivante :           a11 a12   a21 a31 a32  a22    =       2 1   3 6    4 5  est une matrice de genre (3. j). .3. .. celui utilis´ pour repr´ senter e e e e e un el´ ment quelconque.n . (1.. on indique d’abord le symbole e e utilis´ pour repr´ senter la matrice dans sa totalit´ . e Ainsi. . 2)... en mettant un nombre ou un symbole pour chacun de ses coefficients. . La forme extensive consiste a d´ crire e e ` e explicitement la matrice en tant que tableau rectangulaire de nombres. . Une e e matrice est un tableau de nombres sur lequel des op´ rations peuvent etre effectu´ es..2) Une formule accompagne cette description pour expliciter l’´ l´ ment en fonction ee de son indice de ligne et de colonne. par exemple.1 Une matrice de genre (m × n) dans R est un tableau rectangulaire e de m lignes et n colonnes de nombres r´ els. a l’intersection de la i` me ligne et de la j eme colonne.... enfin le genre de la matrice. de ligne i et colonne j. a1n   . on d´ finit la matrice A e suivante : A = {aij }i=1. e Elle est not´ e de la mani` re suivante : e e   a11    a21       a12 a22 .2.3 La notion de matrice Une matrice est un outil math´ matique tr` s pratique sur le plan des calculs. a2n   .. . La matrice (1. La notion de matrice 9 1. Par exemple.1) am1 am2 ..m.. c’est-` -dire qu’elle comporte 3 lignes et 2 colonnes. e ˆ e D´ finition 1.2 Le coefficient aij de la matrice l’´ l´ ment du tableau en position e ` ` (i.     (1.. . en ´e indiquant les valeurs possibles des indices.2. a Il y a deux fa¸ ons de sp´ cifier une matrice : la d´ finition sous forme extensive c e e et la d´ finition sous forme compr´ hensive..Section 1. j=1. Un cas remarquable est celui de la matrice .

Il s’agit d’une matrice carr´ e d’ordre n e e qui comporte des z´ ros partout sauf sur sa diagonale principale o` les coefficients e u sont egaux a un : ´ `            1 0 0 1 . C’est le cas.. 1. In = 0   0   .. e on convient de consid´ rer qu’il s’agit d’un vecteur colonne.10 Chapitre 1.. . 0 sinon.. 3. c’est-` -dire si on a une seule colonne. . o` δij d´ signe l’indice de Kronecker qui est d´ fini de la mani` re suivante : u e e e δij =      1 si i = j. Dans le cas ou m = n. Voyons maintenant quelques cas particuliers importants..n. C’est.. Si n = 1. 4. . on a donc une matrice qui se r´ duit a un seul ` e ` coefficient r´ el : on parle dans ce cas de scalaire..... e o e on dit qu’elle est d’ordre n. Dans le cas ou m = n = 1. j=1. le cas du vecteur x suivant :   x1  x=  . 1 . on parle pour une raison evidente de matrice carr´ e : ` ´ e le tableau rectangulaire repr´ sentant la matrice devient en effet dans ce cas e un carr´ . 0 0 . c’est-` -dire si on n’a qu’une seule ligne.. Si m = 1. Plutˆ t que de dire d’une matrice carr´ e qu’elle est de genre (n×n).. e .n .... . par exemple. o ´e D’un vecteur qui a n composantes. On la d´ signe par la notation I n . Lorsqu’on ne pr´ cise pas qu’un vecteur est un vecteur colonne ou ligne.. x2 2... par exemple.     Une d´ finition sous forme compr´ hensive la matrice identit´ est la suivante : e e e I n = {δij }i=1. on parle de vecteur a ligne. On parle du e nombre de composantes d’un vecteur plutˆ t que du nombre de ses el´ ments.. du vecteur y suivant : y= y1 y2 . on parle dans ce cas de a vecteur colonne.. Introduction e identit´ . on dit qu’il est de dimension n...

Ainsi.4 Calcul matriciel Addition de deux matrices : La motivation pour l’´ tude d’une telle op´ ration sur les matrices est de pouvoir. les matrices origine-destination des voitures particuli` res et des camions. par e c e e exemple. On remarquera qu’une des cons´ quences de la d´ finition d’addition de matrices e e est que cette op´ ration est commutative. D´ finition 1. On note C = A + B. Elle est obtenue en additionnant les termes occupant des places e identiques dans les deux matrices A et B. on additionnera.Section 1. si elles ont le mˆ me nombre de lignes et de colonnes. Exemple 1. . on e e d´ finit la somme des deux matrices comme une troisi` me matrice de mˆ me genre e e e (m × n). e e dans un mod` le d’affectation du trafic. avec cij = aij + bij . 4 −2 7 6 1 4 Solution :      C=  2−3 3 + 5 −1 + 2  7+4    4 + 6 −2 + 1 =  −1  8 1  10 −1 11 . A (m × n) et B (m × n).3 Deux matrices sont dites de mˆ me genre. not´ e C. additionner les demandes de diff´ rents e e groupes d’utilisateurs se d´ pla¸ ant sur un mˆ me r´ seau. e e e e D´ finition 1.1 Calculer : 2 3 −1   −3 5 2  C=  + . c’est-` -dire que : e a A + B = B + A.4.4 Pour deux matrices de mˆ me genre. Calcul matriciel 11 1.

5 La multiplication d’une matrice A par un scalaire α ∈ R donne e ´e une matrice B. de mˆ me genre dont chaque el´ ment est l’´ l´ ment correspondant e ee de A multipli´ par le scalaire. Une autre motivation possible pour l’´ tude d’une telle op´ ration est la transe e e formation d’une matrice origine-destination repr´ sentant la demande de transport de camions en une matrice origine-destination d’´ quivalents voitures particuli` res. e Autrement dit : B = αA. j) est aji e u ee Autrement dit : AT = {aij T }. tenir compte d’une augmentation e g´ n´ rale de la demande de d´ placements. Exemple :     2  1 2 7   −3 8 15 =  2 4 14  −6 16 30 .6 La matrice transpos´ e d’une matrice A de genre (m × n) est une e e ` matrice a n lignes et m colonnes. D´ finition 1. e e dans un mod` le d’affectation du trafic. la matrice origine-destination du soir est la transpos´ e e de celle du matin. . ´e un camion est l’´ quivalent de 7 voitures). Cela se traduira. pour la matrice originee e e destination par la multiplication par un scalaire. e on multiplie chaque el´ ment de la matrice camions par un scalaire (par exemple. dans un mod` le d’affectation du trafic. not´ e AT o` l’´ l´ ment en position (i. Introduction La motivation pour l’´ tude d’une telle op´ ration sur les matrices est de poue e voir. e D´ finition 1. passer de la demande d’heure de pointe e du matin a la demande d’heure de pointe du soir. e e Comme un camion repr´ sente l’encombrement de plusieurs voitures sur la voirie.12 Multiplication par un scalaire : Chapitre 1. avec bij = αaij . Comme g´ n´ ralement les gens ` e e retournent chez eux le soir. La transposition d’une matrice : La motivation pour l’´ tude d’une telle op´ ration sur les matrices est de pouvoir.

Si cj est le coˆ t e e unitaire de transport d’une tonne de produit j et xj est le nombre de tonnes de produit j transport´ es. Ce qui peut encore se noter matriciellement par A = AT .. ` ˆ Produit scalaire de deux vecteurs : u La motivation pour l’´ tude d’une telle op´ ration est la suivante.. on peut ecrire le produit scalaire de la mani` re suivante : ´ e     xn    x1 x2 .8 Soient x et y. L’interpr´ tation sur le tableau est que les el´ ments situ´ s sym´ triquement par rape ´e e e port a la diagonale principale doivent etre identiques. . (1. le coˆ t total de transport z se calcule comme suit : e u n z= j=1 cj xj = cT x.7 Une matrice carr´ e A d’ordre n est dite sym´ trique si e e e ∀i. . yn        = x1 y1 + x2 y2 + . deux vecteurs colonnes de dimension n. Le produit e ´e scalaire de x par y est d´ fini comme la somme des produits des el´ ments occupant e des places identiques dans les deux vecteurs : n xT y = i=1 xi yi . . D´ finition 1.4. D´ finition 1. Exemple : A=         13 3 −2  4 5 8 −1        AT =   3 4 8  −2 5 −1 . . j : aij = aji . + xn yn . y1 y2 . Calcul matriciel avec aij T = aji .3) En notation matricielle.Section 1. .

. . dans un mod` le d’affectation du trafic. a2n   . Le produit matriciel : La motivation pour l’´ tude d’une telle op´ ration sur les matrices est de poue e voir. faire des changements non unie formes de la matrice origine-destination..   Solution : on a alors le produit scalaire suivant : xT y = 3 · 1 + 2 · 2 + 1 · 4 + 1 · 1 = 12. . . a1n   . .. Remarquons que le produit scalaire est une op´ ration commutative..     a12 a22 . . b2p         .. .. .. amn Le produit matriciel C = AB . . ` Exemple 1..... En effet : e n n xT y = i=1 xi yi = i=1 yi xi = y T x. ... . bn1 bn2 . . bnp am1 am2 ..    y=       1 2 4 1     .. .. A=  .2 Calculer de produit scalaire de :        x= 3 2 1 1     . Il est a noter que cette op´ ration peut etre effectu´ e grˆ ce ` e ˆ e a a la fonction SOMMEPROD d’EXCEL. .. que le i` me el´ ment du vecteur e e ´e T ligne x est multipli´ par le i` me du vecteur colonne y et qu’ensuite on effectue la e e somme de ces produits. .9 Consid´ rons deux matrices A et B de genre (m × n) et (n × p) e e avec   a11    a21       b11 b12 . dans la notation reprise ci-dessus. Par exemple. . b1p    b21 b22 .14 Chapitre 1. e e ´e D´ finition 1.  et     B=  . Introduction On v´ rifie bien. . une augmentation du nombre de v´ hicules quittant une zone ou arrivant dans une zone se traduit par e la pr´ multiplication ou la postmultiplication de la matrice origine-destination par e une matrice diff´ rente de la matrice identit´ par un seul el´ ment diagonal.

b2 . Notons B la matrice donnant le nombre de routes directes entre les villes b1 . a3 .. Il est obtenu en faisant le produit scalaire e de la deuxi` me ligne de A (i = 2) par la premi` re colonne de B (j = 1). Calcul matriciel est une matrice C de genre (m × p) qui se calcule comme suit :   c11    c21     15 c12 c22 C=  .     cm1 cm2 . On a donc que :         A= 1 0       1 1 0  .. et les villes b1 . les coefficients e ` concern´ s par le calcul du coefficient c21 . . c2p   . 1 1  B=  0 1 1  0 1 . c1p   .. o` les matrices A et B sont donn´ es par : u e 2 1  A= 3 6   4 5   B= 2 1 1 3 Solution : la matrice C est calcul´ e comme suit : e 2 1  AB =  3 6   4 5   2 1 1 3 2·2+1·1 2·1+1·3 5 5     =  3 · 2 + 6 · 1 3 · 1 + 6 · 3  =  12 21  . b2 . 4·2+5·1 4·1+5·3 13 19     Une autre motivation possible pour l’´ tude du produit matriciel est la suivante.. d’autre part (voir figure 1. . . cmp avec l’´ l´ ment cij qui est le produit scalaire de la ligne i de A par la colonne j de ee B: n cij = k=1 aik bkj . a2 . . .3 Calculez C = AB. et les villes c1 .. ..Section 1. . . d’une part. c3 d’autre part.1). dans les matrices A et B. c2 . e e Exemple 1. . On a visualis´ . e Notons A la matrice donnant le nombre de routes directes entre les villes a1 .. .. . d’une part. a titre d’exemple.4.

 =   . ` C’est le cas o` l’on multiplie une matrice (m × n) par un vecteur. .. Il s’agit du cas ou p = 1... En g´ n´ ral.. AB = BA. . En effet. +a1n xn . .. .. e Voyons maintenant un cas particulier important. +a12 x2 +a22 x2 . .. . e e e . le produit de matrices e est une op´ ration non commutative..... . a2n   x2     . 0 1 1   On constate que ci k donne le nombre de routes liant ai a ck en passant par une des ` deux villes interm´ diaires b1 ou b2 .. +a2n xn . Le membre de u gauche d’un syst` me d’´ quations lin´ aires rentre dans cette cat´ gorie. am1 am2 . a1n   x1    . =           am1 x1 +am2 x2 . .. xn bm Enfin signalons que. . . amn ou encore Ax = b.1: Illustration du produit matriciel.. Calculons le produit matriciel : 1 0  AB =  1 1   0 1   1 1 0 0 1 1 1 1 0   =  1 2 1 . . ..  .. ... Introduction a b a b a c c c Figure 1..       . contrairement au produit de r´ els...    b1   b2   .. a12 a22 . . . le e e e e syst` me e                    a11 x1 a21 x1 . .. +amn xn   bm  peut se noter matriciellement de la mani` re suivante : e           a11 a21 . = = b1 b2 .16 Chapitre 1..

Multiplication par un scalaire. o` xij =      1 i+j si i < j. Transposition d’une matrice.. 1.5. B =     2   3   −2       0    1 43 .. Calculez D = AB T + αC T avec       A=        −1  . . Calculez les produits AB et BA pour les matrices suivantes :     A=   1 2 3  3 2 1  et B=       5 6 −2 .3.1.3 .4.Section 1.2.j=1.   −3 1 1    Quelle conclusion en tirez-vous ? 1.3.. Ecrire sous sa forme extensive la matrice u X = {xij }i=1. Ecriture en forme extensive. C =         3 2 4 1 5  2  5    1 3 1    1 5 6 2 . δij est l’indice de Kronecker (utilis´ dans la e d´ finition de la matrice identit´ ) : e e δij =      1 si i = j. δij e Dans cette derni` re expression.     ´ ´ 1.. B =  2 6 7  .     α= 1 et C = 2          1 4 −1 0 2   7 0   3 −2 6 5 1 . Le produit matriciel est non commutatif.5 Exercices 1. si i ≥ j. Exercices 17 1. Calculez la transpos´ e des matrices suie vantes :         A =  1 −1  .. 0 sinon..

Consid´ rons le r´ seau ferroviaire de transport e e e r´ gional du brabant flamant illustr´ a la figure 1. On y a egalement attribu´ e e` ´ e un num´ ro a chacune des villes pour faciliter l’´ criture de la matrice.18 Chapitre 1. e ` e Anvers (1) Liers (6) Malines (2) Herentals (7) Aarschot (5) Leuven (4) Bruxelles (3) Figure 1.5. e e (c) Calculer A2 = AA. e . e (a) Repr´ senter par la matrice A le nombre de liaisons directes (sans gare e interm´ diaire) entre la ville i et la ville j. (d) Donner l’interpr´ tation de A2 . Introduction 1.2. e (b) La matrice A est-elle sym´ trique ? Justifiez bri` vement.2: Utilit´ du produit matriciel. Utilit´ du produit matriciel.

particuli` rement les industries chimiques qui sont de grosses consommatrices de e gaz dans leur processus de fabrication. par des importations de gaz arrivant par bateaux au terminal de Dunkerque. et. Lens. de flot et de r´ seau. Consid´ rons le probl` me d’une e e e soci´ t´ locale de transport de gaz dans une r´ gion comme la r´ gion du Nord. . En effet. d’une e e part. Denain et Valenciennes. cuisson. Le tableau 2. Gaz de France. Point Dunkerque Mons Tertre Offre 110 60 0 Tableau 2. la soci´ t´ de transport doit satisfaire la demande domestique oe ee d’une part (chauffage.1 Un exemple de transport Nous allons introduire la notion de graphe ainsi que la notion de flot sur un graphe sur un exemple de transport non routier..). dispose de ces informations ee strat´ giques que sont. Les 4 grandes agglom´ rations et/ou centres e industriels importants de la r´ gion sont Lille. la consommation de ses gros clients industriels.1: Quantit´ s offertes. ainsi que la demande de grosses industries.Chapitre 2 Les notions de graphe. par des importations de gaz norv´ gien et n´ erlandais qui arrivent e e par gazoducs terrestres via la Belgique de Mons ou de Tertre (voir figure 2. e 2. ee e e Les donn´ es du probl` me utilis´ es ici sont purement fictives.1 reprend les quantit´ s inject´ es dans le r´ seau en ces diff´ rents points e e e e d’offre. e Du cˆ t´ demande. seule la e e e soci´ t´ de transport.etc.. en l’occurrence. Leurs e demandes journali` res cumul´ es pour les secteurs domestique et industriel sont e e 19 . par exemple. d’autre part. e Supposons donc que la r´ gion du Nord soit aliment´ e en gaz naturel. Cet exemple va egalement nous permettre ´ d’introduire le concept de mod` le d’optimisation.1).

Ville Demande journali` re e Lille 60 Valenciennes 50 Lens 40 Denain 20 Tableau 2. la capacit´ journali` re maximum pour le gazoduc liant Dunkerque e e a Lens est de 50. e reprises au tableau 2. Le r´ seau est e e e repr´ sent´ sch´ matiquement a la figure 2. On a egalement repris le plan actuel d’exploitation du r´ seau. e e e ` 0 Dunkerque 110 60 |70| 50 |50| |20| Lens 40 0 60 |20| 10 Lille |20| Tertre 0 0 Valenciennes 60 |20| |70| 10 |40| Denain 20 Figure 2.20 Chapitre 2. on pr´ l` ve 110 a Dunkerque dont 50 sont envoy´ s vers Lens et 60 vers ee ` e Lille.2. de flot et de r´seau.2: Quantit´ s demand´ es.1 par la quantit´ not´ e |c| le long de l’arc correspondant au gazoduc. Les notions de graphe. e Supposons maintenant qu’on enregistre une augmentation de la demande. ` ´ e c’est-` -dire l’ensemble des pr´ l` vements et des flux de gaz dans le r´ seau. Comment la soci´ t´ se demande jusqu’` quel niveau de demande totale elle pourra ee a faire face avec le r´ seau actuel ? Nous allons voir comment formuler math´ matie e 60 Mons 50 . e Chacun de ces gazoducs a une capacit´ maximum que l’on a repr´ sent´ e a e e e ` la figure 2.1: Repr´ sentation des principaux gazoducs. e e Par exemple.1. Par a ee e exemple. Le gazoduc de Lille vers Lens n’est pas utilis´ . e e Pour acheminer le gaz depuis les points d’entr´ e dans le r´ seau r´ gional juse e e qu’aux clients. Gaz de France dispose d’un r´ seau de gazoducs comparables au e r´ seau d’autoroutes liant les grands centres de la r´ gion entre eux.

7} Les arcs sont les gazoducs liant deux nœuds.4. 6. si on attribue des num´ ros comme indiqu´ a la figure 2. chaque ville repr´ sente un nœud du r´ seau.2. j) (1. Arc De A 1 Dunkerque Lille 2 Dunkerque Lens 3 Lille Lens 4 Tertre Lille 5 Lille Valenciennes 6 Mons Valenciennes 7 Valenciennes Denain 8 Lens Denain Tableau 2. e e 2. 6) (6. 3) (4.2 Notion de graphe D´ finition 2.3: Nœuds du r´ seau. on peut d´ crire les arcs directement e e` e comme au tableau 2.3 e e reprend la liste des nœuds du r´ seau. nous allons introduire le concept math´ matique e e de graphe qui permet de repr´ senter le r´ seau.4: Arcs du r´ seau. e On a donc que : N = {1. 2. Notion de graphe 21 quement ce probl` me. 3) (2. 2) (2. e (i. j). Pour cela.2 aux arcs. 2) (1. Dans l’exemple. Le tableau 2.1 Un graphe est d´ fini comme la paire G = (N. 5. 3. 4. appel´ s arcs. avec i ∈ N e et j ∈ N . e i Ville correspondante 1 Dunkerque 2 Lille 3 Lens 4 Tertre 5 Mons 6 Valenciennes 7 Denain Tableau 2. A) ou N note un e e ensemble de nœuds et A un ensemble de couples (i. 6) (5.Section 2. 7) (3. Par exemple. 7) .

e e fij i j Figure 2. (5. e Appliquons ceci a l’exemple que nous allons formuler comme un mod` le d’op` e timisation. ee la demande de gaz au nœud j. j) ∈ A. . Dans chaque arc. 6). a e e il s’agissait de la quantit´ de gaz circulant par jour du nœud i au nœud j. (2. 7)} Dunkerque 1 arc 1 arc 3 Lille 2 arc 4 arc5 4 Tertre arc2 Lens 3 arc 8 arc 7 7 Valenciennes 6 arc 6 5 Mons Denain Figure 2. (6. de flot et de r´seau. 2). 2). j) par unit´ de temps. d´ signons par : e e fij . 7). (2. 3). Dans notre exemple. Comme variables de d´ cision. (1. e A = {(1.3: Notion de flux dans un arc N’importe quel ensemble de quantit´ s fij n’est pas acceptable. c’est-` -dire une quantit´ par unit´ de temps. ∀j ∈ N. ∀(i. le flux journalier de gaz de i a j.2: Repr´ sentation du r´ seau via un graphe e e 2. Oi . 3). • la capacit´ de l’arc en chaque arc de A. (4. On note e par fij cette quantit´ qui traverse l’arc (i. on va faire circuler un flux. Les notions de graphe.3 Notion de flot Nous allons maintenant introduire la notion de flot. Il faut que ces e flux respectent : • la conservation du flux en chaque nœud de N . ` le pr´ l` vement de gaz au nœud i. 6). Dj . ∀i ∈ N. (3.22 On a donc que : Chapitre 2.

j). Notion de flot Les contraintes du probl` mes sont de deux types : e 23 • Les contraintes de conservation aux nœuds expriment que ”tout ce qui entre au nœud” est egal a ”tout ce qui sort”.i)∈A fki + Oi (2.4: Conservation au nœud i • Les contraintes de capacit´ des arcs s’expriment simplement comme : e f12 f13 f23 f26 ≤ 70 ≤ 50 ≤ 20 ≤ 20 f37 f42 f56 f67 ≤ 20 ≤ 20 ≤ 70 ≤ 40 En g´ n´ ral. si cij note la capacit´ de l’arc (i. pour l’exemple.Section 2. et si bij note la borne inf´ rieure e (´ ventuelle) sur ce flot de sorte que l’on a : e bij ≤ fij ≤ cij (2.j)∈A k|(k.4) : e e ´ fij + Di = j|(i. c’est-` -dire le flux maximum e e e a qui peut traverser l’arc et semblablement. on peut ecrire la relation suivante au nœud i (voir figure 2. On peut ecrire. que : ´ ` ´ O1 f12 + f42 f13 + f23 O4 O5 f26 + f56 f37 + f67 = = = = = = = f12 + f13 f23 + f26 + D2 f37 + D3 f42 f56 D6 + f67 +D7 En g´ n´ ral.2) .1) Oi k fki i fij j Di Figure 2.3.

e e Le flux traversant l’arc de retour est appel´ le flot total traversant le r´ seau. 0). l’´ quation de conservation (2.1) e • en chaque arc (i. e D´ finition 2. e ` 0 110 Dunkerque 1 50 Lens 3 40 60 0 Lille 2 0 60 0 4 Tertre Valenciennes 6 60 5 Mons 10 60 10 Denain 7 20 50 8 Figure 2. les in´ quations de capacit´ (2. e e Comme la somme des entr´ es doit etre egale a la somme des sorties. de flot et de r´seau. e e Dans l’exemple. e Remarquons qu’une fa¸ on de ne pas devoir d´ finir les variables d’offre et de c e demande est de relier tous les nœuds d’offre a un nœud fictif 0 qui sera l’entr´ e ` e dans le r´ seau et de relier tous les nœuds de demande a un nœud de sortie n + 1. on peut e ˆ ´ ` relier le nœud de sortie n + 1 au nœud d’entr´ e 0 par un arc de retour (n + 1.5: Repr´ sentation du r´ seau avec arc de retour. Les notions de graphe.2 On appelle flot l’ensemble des flux d’arcs s’ils respectent : e • en chaque nœud i ∈ N . le but etait de d´ terminer le flux maximum qui pouvait traverser ´ e le r´ seau.2). j) ∈ A. Aussi peut-on ecrire l’objectif suivant : e ´ max z = f80 .24 Chapitre 2.

6: Migration entre banlieue et capitale.Section 2. On veut d´ terminer le flot maximum e que le r´ seau routier actuel peut supporter entre les deux villes.6. Migration entre la banlieue et le centre ville. e e (a) Repr´ senter le r´ seau sous forme d’un graphe. e` On a repr´ sent´ le trafic actuel ainsi que la capacit´ maximum de chacune e e e 400 |450| |200| 0 200 |100| 550 750 2 100 100 |100| 8 7 |750| |700| 350 |100| |700| 200 600 300 4 |700| 350 100 |200| |400| |100| |500| 1 6 100 |150| 500 |500| |500| 3 400 |500| 500 5 9 Figure 2.2. Qu’a de particulier la matrice A des coefficients ? 2. Exercices 25 2.4 Exercices 2. Le trafic matinal entre une banlieue dortoir (nœud 1) et le centre ville (nœud 9) est illustr´ a la figure 2. Am´ lioration d’un r´ seau routier.1. e Arc Origine 1 A 2 A 3 C 4 C 5 B 6 C 7 E 8 D 9 E Destination B C B D D E D F F Capacit´ e 3 7 2 2 4 4 2 6 5 Tableau 2. e ` ı (b) Formuler le probl` me de la d´ termination du flot maximum. .4.5). e e (c) Repr´ senter les equations de conservation sous forme matricielle Ax = e ´ b. On pr´ voit une augmentation du trafic e e e entre les villes A et F (voir tableau 2.5: Capacit´ s et flux actuels d’un r´ seau routier. Compl´ ter le graphe de e e e mani` re a y faire apparaˆtre le flot total.

Une barre dans ce tableau e indique que le transport est impossible. e des routes (chiffres entre barres). de flot et de r´seau. Les contrats journaliers de transport pr´ voient des quantit´ s e e maximum donn´ es au tableau 2. e .26 Chapitre 2.3. Ce qui correspond a une capacit´ journali` re de transport ` e e de 50 voitures.6: Capacit´ s de transport par train e ´ teau vers les ports d’arriv´ e aux Etats-Unis. On demande si l’on peut augmenter le trafic entre 1 et 9 et la valeur de ce trafic maximum. Par e e exemple. un train de 150 voitures maximum arrive tous les trois jours.8. Les capacit´ s journali` res de e e e transport par bateau sont donn´ es au tableau 2.6 reprend les capacit´ s exprim´ es en moyenne par jour. e e e (b) Formuler le probl` me. De ces trois ports.7: Capacit´ s de transport par bateau e voitures sont transport´ es vers Los Angeles. Les voitures sont produites a ` Stuttgart et de l` sont transf´ r´ es par train vers un des trois ports de d´ part. pour Rotterdam. Quel est le flot maximum de voitures qui e D´ part e contrat vers Los Angeles New-York 80 New-Orl´ ans e 70 Tableau 2. Les notions de graphe. Enfin. depuis les ports d’arriv´ s. les v´ hicules sont transport´ s par bae e D´ part e arriv´ e e capacit´ journali` re e e Stuttgart Rotterdam 50 Bordeaux 70 Lisbonne 40 Tableau 2. Gestion de la chaˆne d’approvisionnement. e 2.7. a ee e Le tableau 2. ` (a) Repr´ senter le probl` me sur un graphique de r´ seau.8: Capacit´ s de transport par camion e peuvent en flux journalier arriver a Los Angeles en partant de Stuttgart. les e D´ part e vers New-York Rotterdam 60 Bordeaux 40 Lisbonne vers New-Orl´ ans e 50 30 Tableau 2. Le responsable logistique ı d’un producteur de voitures allemandes doit r´ pondre a une augmentation e ` ´ des exportations en direction des Etats-Unis. le centre de distribution local e par camions. Formuler le probl` me.

soit les quantit´ s produites sont indivisibles et en petite quantit´ (comme e e e e u la production d’avions). la classe d’application des mod` les ` e en nombres entiers est plus large que l’on ne le pense.3.2 Formulation des probl` mes lin´ aires e e Nous prenons un exemple tir´ de Hillier et Lieberman [8]. Si certaines variables du mod` le sont continues et d’autres en nombres e e entiers. e On appelle programmes en nombres entiers les mod` les comportant une e ` fonction objectif et des contraintes lin´ aires et des variables astreintes a des valeurs e enti` res.1 Introduction On parle de probl` mes lin´ aires lorsque l’on veut minimiser une fonction lin´ aire e e e sous des contraintes purement lin´ aires. Il s’agit d’une entreprise e de fabrication de chassis qui envisage la production de deux nouveaux mod` les e au moyen des capacit´ s r´ siduelles de ses trois ateliers. on parle de programmation mixte enti` re. 3. Mais. Le premier produit n´ cessite e le passage dans le premier atelier pour fabriquer le cadre en aluminium et dans le troisi` me atelier o` le verre est mont´ sur le chassis. il y a toute une s´ rie de mod` les o` l’introduction des variables z´ ro/un permet de mod´ liser des d´ cisions d’investissement du type e e e tout ou rien. Tandis que le second produit e u e n´ cessite le passage dans le deuxi` me atelier pour fabriquer le cadre en bois et e e 27 . Il y a certes les probl` mes e o` soit les quantit´ s de facteurs mises en œuvre sont indivisibles (comme les peru e sonnes).Chapitre 3 Formulation en mod` les d’optimisation. Comme nous le verrons a la section 3. Enfin. Il s’agit respectivement e e d’un chassis en aluminium et d’un chassis en bois. e 3. un cas particulier tr` s e e fr´ quent de programmes en nombres entiers est celui o` les variables ne peuvent e u e prendre que les valeurs 0 ou 1 : on parle alors de programmation z´ ro/un.

e e e Produit 1 (heures/produit) Atelier 1 1 Atelier 2 0 Atelier 3 3 Marge 3$ Produit 2 Capacit´ disponible e (heures/produit) (heures/semaine) 0 4 2 12 2 18 5$ Tableau 3. e ´ ` e ` D´ finition 3. formulation de l’objectif. La premi` re etape consiste a choisir les variables du probl` me. e La question qui se pose est la suivante : “Combien faut-il produire de chassis de chaque type par semaine pour maximiser le profit net ?” La formulation d’un probl` me d’optimisation comporte toujours les trois etapes e ´ suivantes : 1. Ici les quantit´ s que le mod` le doit d´ terminer sont les productions de ` e e e chassis par semaine. La deuxi` me etape consiste a formuler math´ matiquement l’objectif. e ´ ` e . e dans le troisi` me atelier o` le verre est mont´ sur le chassis.1. 3. qui sont des e e e donn´ es qui peuvent varier.1 On appelle variable toute quantit´ utile a la r´ solution du probl` me e e e e dont le mod` le doit d´ terminer la valeur. formulation des contraintes. Formulation en mod`les d’optimisation. choix des variables du mod` le. e u e les temps de fabrication de chacun des produits dans chacun des ateliers ainsi que les capacit´ s hebdomadaires r´ siduelles de ces ateliers sont donn´ s au tableau 3.28 Chapitre 3. Notons donc : x1 = nombre de chassis de type 1 produits par semaine. Les marges unitaires. e 2. temps d’usinage et capacit´ s. par exemple d’une p´ riode a l’autre ou d’un sc´ nario e e ` e a l’autre.1: Marges. x2 = nombre de chassis de type 2 produits par semaine. e e Cette d´ finition permet de diff´ rencier les variables des param` tres.

2 On appelle fonction objectif d’un probl` me d’optimisation le crie e t` re de choix entre les diverses solutions possibles. Par exemple.Section 3.3 On appelle contraintes du probl` me toutes les relations limitant e e le choix des valeurs possibles des variables. e Ici l’entreprise d´ sire maximiser son profit net. x2 ≥ 0.2. Ces relations peuvent etre de simples bornes sur les variables. e . l’objectif s’exprime comme suit : max z = 3x1 + 5x2 La troisi` me etape est la formulation les contraintes du probl` me.c. on peut construire les contraintes de capacit´ s des deux autres e ateliers : 2x2 ≤ 12 3x1 + 2x2 ≤ 18 On peut r´ sumer la formulation du probl` me e e suivante : max z = 3 x1 + 5 x2   x1       2x2   s. 3x1 + 2x2     x1      x2 d’optimisation de la mani` re e ≤ 4 ≤ 12 ≤ 18 ≥ 0 ≥ 0 On obtient un probl` me lin´ aire car aussi bien la fonction objectif que les e e contraintes s’expriment comme des fonctions lin´ aires des variables. La marge etant de 3 pour le premier e ´ type de chassis et de 5 pour le second. Elles peuvent etre plus complexes comme les contrainte de capacit´ de producˆ e tion. D’o` la contrainte de capacit´ de l’atelier 1 : u u e x1 ≤ 4 Semblablement. Le temps pour assembler 1 chassis de type 1 dans l’atelier 1 est de 1 heure o` il reste 4 heures disponibles. Math´ matiquement : e ˆ e e x1 . Formulation des probl`mes lin´aires e e 29 D´ finition 3. les ˆ quantit´ produites ne peuvent etre n´ gatives.q. e ´ e D´ finition 3.

f + cx si x > 0.1) (3. s’exprime de la mani` re suivante : e e z= 0 si x = 0.1. On a donc une condition logique : s’il y a production. En e e effet.30 Chapitre 3. Formulation en mod`les d’optimisation.2) . u 3. La forme de cette fonction (non lin´ aire) e est repr´ sent´ e a la figure 3.1: Probl` me avec coˆ t fixe de production e u On peut mod´ liser la fonction par la programmation mixte z´ ro/un. 1} indiquant s’il y a production ou e non : y = 1 si la production x > 0. le coˆ t fixe doit etre encouru. e e ` c(x) m K x Figure 3. u ˆ Dans le cas contraire.3. L’objectif peut alors se formuler de la mani` re suivante : e z = f y + cx (3. ˆ u not´ z. e u u Supposons que x note la quantit´ produite d’un bien au coˆ t marginal c et que f e u note le cout fixe de mise en route de la production. d´ finissons la variable binaire y ∈ {0. Le coˆ t total de production. e 3. nous voyons plus en d´ tails les diff´ rents types de probl` mes e e e o` la programmation en nombres entiers est d’application. il n’est pas encouru.1 Probl` mes avec cout fixe e ˆ Ce sont les probl` mes o` l’on encoure un coˆ t fixe de mise en route de la production. y = 0 si la production x = 0.3 Formulation des probl` mes en nombres entiers e Dans cette section.

1) et (3.1).3) 3. c’est-` -dire s’il y u a a production.3. les variables binaires indiquant la pr´ sence d’un ingr´ dient dans le m´ lange.3) ne peut etre e ˆ satisfaite que pour y = 1. Un autre exemple. ´ la contrainte (3.3) est satisfaite pour y = 0 ou y = 1.Section 3. d´ finissons la variable binaire yi e e e e indiquant la pr´ sence de l’ingr´ dient i dans le m´ lange. l’optimiseur va choisir la valeur y = 0. Ce probl` me peut etre r´ solu par la programmation mixte z´ ro/un. si x > 0. est e ˆ e e celui du chargement de hauts fourneaux o` le nombre de charbons disponibles u est souvent nettement sup´ rieur au nombre de charbons qui peuvent etre charg´ s e ˆ e e ´ e simultan´ ment.2). Ce nombre etant limit´ par le nombre de portes de chargement du haut fourneau. En effet. Il faut encore pourvoir exprimer sous forme de contraintes lin´ aires e les conditions (3. Autrement dit : e e e yi = 1 si xi > 0 0 si xi = 0 On introduit alors les contraintes suivantes : mi yi ≤ xi ≤ Mi yi et yi ∈ {0. e e La condition du nombre maximum d’ingr´ dients dans le m´ lange s’exprime e e alors simplement par : n yi ≤ k. l’objectif etant de minimiser les coˆ ts de production.5) .4) e e o` mi est une borne inf´ rieure sur la teneur de xi dans le m´ lange et Mi est une u borne sup´ rieure sur la teneur de xi dans le m´ lange. Ceci est fait en ajoutant la contrainte suivante : x ≤ My o` M est une borne sup´ rieure sur la production. 1} (3. Formulation des probl`mes en nombres entiers e 31 Le coˆ t fixe de production ne sera. d’un probl` me de m´ lange d’huiles o` cinq huiles e e u sont disponibles mais o` des contraintes techniques impliquent que seulement trois u huiles diff´ rentes peuvent etre pr´ sentes dans le m´ lange.3. Si. par exemple. Si xi e ˆ e e note la quantit´ d’ingr´ dient i dans le m´ lange. Cependant. encouru que si y = 1. Ce qui exprime la condition (3. On u a donc egalement exprim´ la condition (3. i=1 (3. en effet.2). la contrainte (3. par contre. e e e e C’est le cas.2 M´ lange avec nombre limit´ d’ingr´ dients e e e Il s’agit egalement d’un probl` me g´ n´ rique conduisant a une formulation mixte ´ e e e ` enti` re. ´ e (3. x = 0. u e Montrons l’´ quivalence.

on doit choisir parmi les valeurs suivantes pour le diam` tre : e 12 cm. le nombre maximum d’ingr´ dients dans le m´ lange. d´ finissons la variable x comme etant le diam` tre choisi et d´ finissons yi une e ´ e e indicatrice du fait que le diam` tre num´ ro i a et´ choisi.5) exprimera donc bien que au plus k ingr´ dients seront pris e dans le m´ lange. qu’une seule indicatrice vaudra un tandis que toutes les autres seront a z´ ro. la variable yi doit valoir 1 et exprime bien que l’ingr´ dient i est dans le m´ lange. Alors.4). e e D´ montrons l’´ quivalence. Soit xi = 0. En ` e effet. Soit xi > 0. en effet.3 Choix parmi un nombre discret de valeurs Dans beaucoup de probl` mes industriels.32 Chapitre 3. Formulation en mod`les d’optimisation. par la contrainte (3. ` e (3.6) fera. 2. Alors. on doit choisir sa capacit´ parmi les valeurs commerciales existant sur le e march´ .3.4). On peut alors ecrire la e e ´e ´ relation suivante pour le choix du diam` tre : e x = 12y1 + 17y2 + 24y3 + 47y4 avec la contrainte qu’un seul diam` tre doit etre choisi : e ˆ y1 + y2 + y3 + y4 = 1 et bien sˆ r en imposant le caract` re binaire de chaque indicatrice : u e yi ∈ {0. la variable yi doit valoir 0. ∀i = 1. e On a donc bien que yi est une indicatrice de pr´ sence de l’ingr´ dient i dans le e e m´ lange. Par exemple.4 La contrainte (3. e avec k. e e 2. 24 cm ou 47 cm. e 3. . On peut a nouveau mod´ liser ce choix par l’utilisation de variables binaires. 1}. par les contraintes (3. . lors du dimensionnement d’un appareile lage. Deux cas sont possibles pour la variable xi : e e 1. lors du dimensionnement d’une canalisation de transport e d’eau. 17 cm.6) . La condition (3.

sur la C de 150 et sur la D de 300. ` e e On d´ sire minimiser le coˆ t d’exploitation en satisfaisant la demande. Le nombre de passagers d´ sirant effectuer chaque jour un parcours sur e la ligne A est 100.Section 3.1.2. expression des contraintes e ` et de l’objectif). Ces poure e centages ainsi que la quantit´ maximum de d´ chets que peuvent fournir par e e an ces deux villes sont reprises au tableau suivant : Listes Journaux Offre (%) (%) (tonnes par an) Ville 1 5 20 10.500 tonnes de listing d’ordinateur par an. B.2. Exercices 33 3. 3. Le coˆ t d’exploitation d’un avion d´ pend de u e sa taille et de la ligne a laquelle il est affect´ : ils sont donn´ s au tableau 3. pr´ cisez la restriction a imposer.000 Ville 2 15 30 20.4. Une compagnie a´ rienne r´ gionale d´ sire e e e e affecter sa flotte d’avions aux 4 lignes qu’elle exploite (lignes A. Affectation de lignes a´ riennes. la soci´ t´ doit au u ee moins collecter 1. C et D). sur la B de 200. Au del` de 6. (b) Vos variables peuvent-elles prendre toutes les valeurs r´ elles non n´ e e gatives ? Si non. e ` Ville . Combien la soci´ t´ doit-elle acheter de d´ chets par e ee e an a chacune des deux villes ? ` Formuler math´ matiquement le probl` me comme un probl` me d’optimisae e e tion lin´ aire a deux variables (choix des variables. Son rˆ le consiste a e e o ` s´ parer les listes d’ordinateur et les journaux. le prix que la soci´ t´ re¸ oit e ee c pour la vente de journaux chute et donc la compagnie ne d´ sire pas vendre e plus que cette quantit´ .000 a tonnes de journaux mis sur le march´ par an. e u (a) Formuler math´ matiquement le probl` me de la meilleure affectation e e de la flotte de cette compagnie. Pour couvrir ses frais fixes. Une soci´ t´ priv´ e de tri de d´ chets et recyclage de ee e e papier peut se fournir en d´ chets aupr` s de deux villes.000 La soci´ t´ offre aux villes un prix de 35 euro par tonne de d´ chets.4 Exercices 3. Recyclage du papier. La compagnie dispose de deux types d’avions : 10 petits avions de 40 places et 5 avions moyens de 180 places. La r´ partition entre m´ nages e e e et soci´ t´ s est diff´ rente d’une ville a l’autre expliquant un pourcentage ee e ` diff´ rent de listes d’ordinateur et de journaux dans les d´ chets. Elle ee e doit d´ cider du montant optimal de d´ chets a acheter a chaque ville pour e e ` ` minimiser son coˆ t d’achat.

3. e e ` Ville 1 2 3 4 Nombre de camions 4 3 1 4 Les temps de trajets entre ces villes et l’incin´ rateur sont les suivants : e Vers ville 1 ville 2 ville 3 De la ville 1 0 10 ∞ De la ville 2 10 0 5 De la ville 3 ∞ 5 0 De la ville 4 ∞ ∞ 5 De l’incin´ rateur e 45 ∞ 20 ville 4 incin´ rateur e ∞ 45 ∞ ∞ 5 20 0 ∞ ∞ 0 (a) Repr´ senter le probl` me par un graphique de r´ seau. La collectivit´ locale dispose de 12 v´ hicules de collecte e e e r´ partis comme suit pour collecter dans 4 villes not´ es ville 1 a ville 4. on donnera une formulation d´ taill´ e (pas de formule e e g´ n´ rale). mettre toute les variables a gauche. Tourn´ es de v´ hicules. e e ` (b) Formuler le probl` me de minimisation du temps total pour aller a l’ine ` cin´ rateur comme un probl` me en nombres entiers. En particulier. Pour l’objectif et e e les contraintes.34 Chapitre 3. Formulation en mod`les d’optimisation. u 3. ` (d) Quelle est la particularit´ de la matrice ? e . e e (c) Donner la matrice d’incidence nœuds-arcs. e e e indiquer a chaque ville par une fl` che entrante ou sortante et un nombre ` e le nombre de v´ hicules qui entrent ou sortent du r´ seau a la ville.2: Coˆ ts d’exploitation. Consid´ rons le probl` me d’organisation de la cole e e e lecte des d´ chets. e Lignes A B C D Petits avions 10 17 15 23 Grands avions 90 210 140 250 Tableau 3. Pour cela.

Partie II M´ thodes d’optimisation e 35 .

.

e e Lorsqu’il y a un plus grand nombre de variables. un e e probl` me lin´ aire peut etre r´ solu de mani` re purement graphique en suivant le e e ˆ e e processus en trois etapes : ´ 37 . e ` Cet algorithme est mis en œuvre dans de nombreux logiciels d’optimisation e tels que GAMS [2] ou OMP.2 R´ solution graphique des probl` mes a deux variables e e ` Reprenons la formulation de l’exemple de production de chassis de la section 3.c.2 cette e e e ` m´ thode de r´ solution graphique.1 Introduction Lorsqu’il n’y a que deux variables de d´ cision. un algorithme mis en œuvre sous la forme d’un programme informatique s’av` re n´ cessaire. 3x1 x1 2x2 + 2x2 x2 ≤ 4 ≤ 12 ≤ 18 ≥ 0 ≥ 0 (4. Le solveur d’Excel que nous pr´ senterons dans la troisi` me partie du cours poss` de egalement une mise en œuvre de l’algorithme e e ´ du Simplexe. dans le cas de deux variables de d´ cision.q.Chapitre 4 R´ solution des mod` les lin´ aires e e e 4.3. 4. Il s’agit de l’ale e gorithme du Simplexe dont nous pr´ senterons le principe a la section 4. un probl` me lin´ aire peut etre e e e ˆ r´ solu de mani` re purement graphique.1) Comme annonc´ ci-dessus. Nous pr´ sentons a la section 4.2 : max z = 3 x1 + 5 x2   x1                  s.

c’est l’ensemble des points (x1 .1. x2 ) satisfaisant les in´ galit´ s de (4.1 On appelle r´ gion r´ alisable. e e ` e e Lorsque l’on fait l’intersection des cinq demi-plans correspondant aux cinq in´ gae lit´ s : e   x1 ≤ 4 (1)       2x2 ≤ 12 (2)   3x1 + 2x2 ≤ 18 (3)     x1 ≥ 0 (4)      x2 ≥ 0 (5) on obtient le polygone hachur´ a la figure 4. e La premi` re etape de la r´ solution consiste donc a repr´ senter graphiquement e ´ e ` e la r´ gion r´ alisable. e e D´ finition 4. e 3. e` . l’ensemble des valeurs de variables e e e de d´ cision qui satisfont toutes les contraintes. e e e 2. R´solution des mod`les lin´aires e e e 1. repr´ sentation graphique de la r´ gion r´ alisable. e e x2 (4) 10 8 6 4 2 0 2 4 (3) (5) 6 8 x1 (1) (2) Figure 4. repr´ sentation graphique des contraintes.1: Ensemble de production. d´ termination de la solution optimale.38 Chapitre 4. e Dans le cas de l’exemple.1). ` Graphiquement une in´ galit´ telle que 3x1 + 2x2 ≤ 18 correspond a un demie e plan limit´ par la droite obtenue en prenant l’in´ quation a l’´ galit´ (3x1 +2x2 = 18).

Les points d’une de ces droites sont donc le lieu de tous les points donnant la mˆ me e valeur du profit (d’o` le nom de droite d’isovaleur de la fonction objectif).2 o` l’on a repr´ sent´ z = 15 et z = 30. Pour ce faire. c’est-` -dire : a z = 3x1 + 5x2 = 15 passe par les points (5.2: Droites d’isoprofit. 6) 6 4 2 0 z = 36 2 5 6 10 x1 Figure 4. En effet. Ce qui correspond graphiquement a des droites parall` les ` e 3x1 + 5x2 = k.Section 4. et c’est la deuxi` me etape e e ´ de la r´ solution. La droite d’isovaleur z = 15. R´solution graphique des probl`mes ` deux variables e e a 39 On voit ici clairement que le syst` me est sous-d´ termin´ . on va repr´ senter graphiquement des lignes d’isovaleur de la e e fonction objectif : z = 3x1 + 5x2 .0) et (0. Pour se ramener dans ˆ e e le plan. c’est-` a dire : z = 3x1 + 5x2 = 30 . Ceci u est fait a la figure 4. on va consid´ rer des valeurs successives de l’objectif : e z = k. On va devoir choisir e e e entre ces diff´ rents plans de production.3) tandis que la droite d’isovaleur z = 330. ` u e e x2 9 z = 30 z = 15 (2. on remarquera que l’expression de la fonction objectif fait intervenir trois variables et ne peut donc etre repr´ sent´ e que dans l’espace.2.

40 Chapitre 4. Sur base de cet exemple. Bien sˆ r.6) au sommet (4.3). e e ` Observation 4. il faut prendre la droite d’isovaleur de l’objectif qui touche encore la r´ gion r´ alisable et qui donne la plus grande e e ` valeur a l’objectif.6) ou le point e e (4.2 a ´ e ` qu’il s’agit du point x∗ = (2.6) . On a e ` e e alors la tr` s important remarque suivante : e Observation 4. On obtient donc des droites parall` les qui e montent vers le haut si z s’accroˆt. Sur base de cet exemple. on peut toujours e oe ` choisir une solution optimale correspondant a un sommet. c’est-` -dire celle qui donne le profit le plus elev´ . Illustrons ce cas e e u oe en changeant l’objectif. e e e On peut alors se poser la question suivante : La solution optimale d’un probl` me d’optimisation lin´ aire sera-t-elle toujours trouv´ e en un sommet de la r´ gion e e e r´ alisable ? e En fait. et c’est la troisi` me etape de la r´ solution.1 Pour maximiser l’objectif.3) est e oe optimal. Justifions ce choix. l’optimum sera d´ termin´ e ´ e e e e graphiquement comme le plan de production situ´ sur la droite d’isoprofit la plus ´ e elev´ e.3 Mˆ me si tout un cˆ t´ du polygone est optimal. le seul cas o` se pr´ sentent des solutions qui ne sont pas en des sommets u e de la r´ gion r´ alisable est la situation o` tout un cˆ t´ est optimal. R´solution des mod`les lin´aires e e e passe par les points (10. Mais. On voit a la figure 4. il faut se restreindre a la r´ gion r´ alisable. dans ce cas. Supposons que l’on aie un objectif de la forme : max z = 3x1 + 2x2 Il est facile. 6). on peut trouver une solution (mˆ me deux) en e e un sommet de la r´ gion r´ alisable. Le point de contact est un point optimum. il faut que le plan de production soit ´ e u encore r´ alisable : autrement dit. de voir que les droites d’isovaleur de l’objectif seraient toutes parall` les au cˆ t´ : e oe 3x1 + 2x2 = 18 On en d´ duit que tout le cˆ t´ joignant le sommet (2.0) et (0. on d´ duit une deuxi` me observation. Comme on maximise le profit on a int´ rˆ t a prendre la droite ee ` d’isovaleur la plus elev´ e possible. . mˆ me dans ce cas. Il suffit de choisir le point (2.2 On constate que la solution optimale est a un sommet de la r´ gion r´ alisable. on tire une troisi` me observation : e Observation 4. ı Enfin.

oe Par exemple. ` x1 = 0 10 (0. Principe de l’algorithme du Simplexe 41 4. 9) 8 (0.0) et (0. les points (0.6) sont des sommets adjacents ` car situ´ s aux deux extr´ mit´ s d’un cˆ t´ du polygone. e Ainsi. On peut faire mieux e e e e que d’´ valuer l’objectif en chaque sommet.3: Notion de sommets adjacents Le sommet de d´ part est ici evident : il suffit de prendre le point (0.Section 4. on voit qu’il suffit de limiter la recherche de l’optimum d’un probl` me lin´ aire aux seuls sommets de la r´ gion r´ alisable. le principe de l’algorithme du Simplexe est. D´ finition 4.3. pour ` e e d´ terminer ce point de d´ part.6) ne sont pas adjacents car il faut parcourir deux cˆ t´ s du polygone pour aller oe de l’un a l’autre.3 Principe de l’algorithme du Simplexe En conclusions.3. e e On peut donc sugg´ rer l’algorithme suivant : e . 0) x1 = 4 (2.0) et e e e oe (2. deux sommets joints e par un cˆ t´ du polygone. 3) 3x1 + 2x2 = 18 2 (4. d’aller de sommet en sommet adjacent jusqu’` d´ termination de e e a e l’optimum.0). 6) 2x2 = 12 (4. e ´ P 0 = (0. 0) 8 x2 = 0 Figure 4.2 On appelle sommets adjacents d’un polygone. 0) Notez que l’origine peut ne pas etre un sommet de la r´ gion r´ alisable. 6) 4 2 (0 . Il faudra ˆ e e alors recourir a un probl` me auxiliaire. Alors que les points (0. 0) (6 . a la figure 4. connu sous le probl` me de phase I. 6) (4 . partant d’un sommet de la r´ gion r´ alisable.

d´ termine la direction de l’axe vertical qui permet d’accroˆtre l’objectif. ı ` iii) D´ terminer le sommet y ∗ a l’autre bout du cˆ t´ et poser x∗ = y ∗ . e On est donc a l’optimum.4: Chemin de l’algorithme du Simplexe. S’il n’y en n’a pas. A la premi` re it´ ration. Le fonctionnement de l’algorithme dans le cas de l’exemple est illustr´ a la e` figure 4. 6) P 1 = (0. Au d´ part. du point (0.4. STOP : le x courant est optimal. a c’est-` -dire aller vers le point (0. partant du sommet initial P0 = (0. R´solution des mod`les lin´aires e e e e e i) Choisir comme point de d´ part un sommet x∗ de la r´ gion r´ alisable. Pour le choix du sommet adjacent a l’´ tape ii). 6). On va e ı jusqu’au bout du cˆ t´ et on obtient le point P1 = (0. on e e x1 9 Itération 2 P 2 = (2. l’algorithme du Simplexe utilise ` e le crit` re de choix de la direction suivant : prendre la direction qui assure le plus e grand accroissement de la fonction objectif pour un pas de un dans la direction.42 Chapitre 4.0) et la direction (0. Au vu de la fonction objectif : a max z = 3x1 + 5x2 il vaut mieux prendre la direction de x2 . 6) en fin d’it´ ration 1. ` . A la troisi` me e e e it´ ration. x2 ) avec x2 > 0. 6) Itération 1 P 0 = (0. e ii) D´ terminer les cˆ t´ s passant par ce sommet x∗ . Trouver un cˆ t´ le long e oe oe ∗ duquel z croˆt. 0). A oe e la deuxi` me it´ ration. 0) avec e x1 > 0. on constate qu’il n’y a plus de direction d’accroissement de l’objectif. deux directions sont possibles : la direction (x1 . Retour e oe en ii). c’est-` -dire aller vers le point (4. on se dirige vers le point P2 = (2.0). 0) 2 4 6 x2 Figure 4.6).

e (b) R´ soudre graphiquement. Les capacit´ s de production de ces deux usines.2. hors frais de transport.4. La capacit´ de transport est u e e de 2. les produits frais sont achemin´ s chez le grossiste e par un transporteur qui facture a la compagnie 2 euro par kg transport´ . . La marge e ` e unitaire de la compagnie. P et Q qu’un grossiste lui ach` te. Ce ` e coˆ t de transport vient en d´ duction de la marge. Les produits P et Q s’´ laborent a partir de 2 mat´ riaux e ` e M et N selon les recettes pr´ sent´ es au tableau 4.600 kg de M et de 1. Recyclage du papier. Exercices 43 4. Pour l’exercice 3.4 Exercices 4. e 4.3. D’autre part. Fabrication et transport de produits frais. La minimisation des couts.Section 4.100 kg par jour. e e 4.1. e e exprim´ es en quantit´ de produit par jour. on suppose que le nombre d’heures de main d’œuvre que l’on peut affecter globalement a cette production est de 60 ` par jour. Or chaque unit´ produite n´ cessite 10 heures de main d’œuvre dans e e la premi` re usine alors qu’elle n’en n´ cessite que 5 dans la seconde. Consid´ rons une journ´ e e e e e Produit P Q Poids (en kg) 4 2 Poids (en kg) 3 1 Poids total (en kg) 7 3 du composant M du composant N Tableau 4. u (a) Calculer la marge nette de frais de transport pour chacun des deux produits. ´ (a) Ecrire le programme lin´ aire correspondant. sont de 7 pour la premi` re usine et e e e de 10 pour la seconde.1 formul´ au chapitre 3. Sachant que les coˆ ts variables unitaires sont de 2 pour la e u e e ` u premi` re usine et de 3 pour la seconde.200 kg de N.1: Fabrication et transport de produits frais. est de 42 euro pour P et 48 euro pour Q. d´ terminez e e graphiquement la solution optimale du probl` me lin´ aire. La production d’une compagnie se r´ duit a 2 produits frais. Enfin. l’entreprise d´ sire produire a coˆ t minimum. Une entreprise peut fabriquer un mˆ me produit ˆ e dans deux usines diff´ rentes.1. e e la production totale doit permettre de satisfaire au moins une demande de 8 unit´ s par jour. Chaque soir. o` la compagnie dispose de 1.

44 Chapitre 4. (c) D´ terminer graphiquement la solution optimale. R´solution des mod`les lin´aires e e e (b) Formuler le probl` me de la maximisation du revenu net de la compae gnie. e .

p (5.Chapitre 5 R´ solution des mod` les non lin´ aires.c. . . 2. 2. hi (x). .p sont des fonctions de Rn u dans R. . A titre d’illustration. 2.1 Conditions de Kuhn et Tucker Nous consid´ rons le probl` me de minimisation sous contraintes suivant : e e min f (x)   hi (x) = 0. Nous pr´ senterons enfin la m´ thode de Franck-Wolfe qui est particuli` rement bien adapt´ e pour r´ soudre le probl` me du calcul de la solution e e e e d’´ quilibre sur un r´ seau de transport. 3x1 + x2 ≤ 6 45 . e e 5. e e Un mod` le est dit non lin´ aire si l’objectif ou au moins une contrainte est non e e lin´ aire. . Ces conditions sont particuli` rement utiles pour calculer e e e la solution d’´ quilibre sur un r´ seau de transport (voir cours de “Transport et e e e e Environnement”). 2. i = 1.c. .m s. k = 1. .1) o` f (x). consid´ rons l’exemple suivant : e max e(x) = −2x2 − 2x1 x2 − x2 + 10x1 + 10x2 1 2 x2 + x2 ≤ 5 1 2 s. i = 1.m et gk (x). k = 1. e Nous verrons ci-dessous les conditions qui sont v´ rifi´ es a l’optimum d’un e e ` probl` me non lin´ aire.  gk (x) ≤ 0. . . e e e Un probl` me d’optimisation est dit lin´ aire s’il s’agit de la maximisation (ou de e e la minimisation) d’une fonction lin´ aire sous des contraintes purement lin´ aires.q.q.

1 La d´ riv´ e partielle d’une fonction par rapport a une variable est e e e obtenue en d´ rivant la fonction en consid´ rant que toutes les autres variables sont e e des constantes.q. on a besoin de la notion de d´ riv´ es ´ e e e partielles.c. 1 2 On peut alors ecrire les tr` s importantes conditions n´ cessaires suivantes : ´ e e . on a encore besoin de la notion de ´ e Lagrangien. R´solution des mod`les non lin´aires. λ. µ) = f (x) + i=1 λi hi (x) + k=1 µk gk (x) ´ Ecrivons le Lagrangien pour l’exemple : L(x) = 2x2 + 2x1 x2 + x2 − 10x1 − 10x2 1 2 +µ1 (x2 + x2 − 5) + µ2 (3x1 + x2 − 6). e e e Il se r´ crit sous la forme (5.1) de la mani` re suivante : e e min f (x) = 2x2 + 2x1 x2 + x2 − 10x1 − 10x2 1 2 g1 (x) = x2 + x2 − 5 ≤ 0 1 2 s. D´ finition 5.2 La fonction de Lagrange est obtenue en multipliant le membre de e gauche de chaque contrainte d’´ galit´ par un multiplicateur λi . Illustrons ceci sur l’exemple suivant : f (x) = 2x2 + 2x1 x2 + x2 − 10x1 − 10x2 1 2 Les d´ riv´ es partielles se calculent comme suit : e e ∂f = 4x1 + 2x2 − 10 ∂x1 ∂f = 2x1 + 2x2 − 10 ∂x2 Pour ecrire les conditions d’optimalit´ . ` D´ finition 5.46 Chapitre 5. le membre de e e gauche de chaque contrainte d’in´ galit´ par son multiplicateur µk et en additione e ` nant le tout a la fonction objectif : m p L(x. g2 (x) = 3x1 + x2 − 6 ≤ 0 Pour ecrire les conditions d’optimalit´ .

n ∂xj µk gk (x∗ ) = 0. x2 ) = 2x2 + 2x1 x2 + x2 − 10x1 − 10x2 1 2 2 2 +µ1 (x1 + x2 − 5) + (3x1 + x2 − 6) Les conditions de Kuhn et Tucker s’´ crivent ici simplement : e ∂L = 4x1 + 2x2 − 10 + 2µ1 x1 + 3µ2 = 0 ∂x1 ∂L = 2x1 + 2x2 − 10 + 2µ1 x2 + µ2 = 0 ∂x2 µ1 g1 = µ1 (x2 + x2 − 5) = 0 1 2 µ2 g2 = µ2 (3x1 + x2 − 6) = 0 µ1 ≥ 0 µ2 ≥ 0 .4) En ecrivant le Lagrangien. Soit x∗ un minimum local pour le e e probl` me e min f (x) s.3) (5.3) sont les conditions de compl´ mentarit´ disant que si une e e contrainte n’est pas active.c.2) e e e ne sont rien d’autre que l’annulation des d´ riv´ es partielles du Lagrangien. . e e Les conditions (5. g(x) ≤ 0 et supposons x∗ r´ gulier pour les contraintes. . λ.1 Conditions de Kuhn-Tucker. .c.2) (5.p µk ≥ 0. . . on passe d’un probl` me d’optimisation sous cont´ e raintes a un probl` me sans contrainte. Les conditions d’optimalit´ pour une fonc` e e tion d´ finie sur Rn sont l’annulation de ses d´ riv´ es partielles. ∀k = 1. Conditions de Kuhn et Tucker 47 Th´ or` me 5.1. .q. ∀k = 1. . Alors il existe des multiplicateurs e λ ∈ Rm et µ ∈ Rp tels que ∂L(x∗ . g2 (x) = 3x1 + x2 − 6 ≤ 0 Ecrivons le Lagrangien pour ce probl` me : e L(x1 . . son multiplicateur µk doit etre nul.q. . µ) = 0∀j = 1. h(x) = 0. e Illustrons ceci sur l’exemple suivant : min f (x) = 2x2 + 2x1 x2 + x2 − 10x1 − 10x2 1 2 g1 (x) = x2 + x2 − 5 ≤ 0 1 2 s.3) peuvent s’interpr´ ter en disant que L(x∗ ) = f (x∗ ).Section 5.p (5. Remarquez aussi ˆ que les contraintes (5. Les conditions (5.

le flux sur le second axe.1 o` deux chemins parall` les joignent le point e e ` u e d’entr´ e O du point de sortie D du r´ seau. R´solution des mod`les non lin´aires. e e Notons x1 le flux de v´ hicules sur l’arc 1 et x2 . e Nous verrons au cours de “Transport et Environnement” que l’´ quilibre de l’utilie sateur peut etre d´ termin´ en r´ solvant le probl` me non lin´ aire suivant : ˆ e e e e e x1 x2 min scq z(x1 .3 On a atteint une solution d’´ quilibre de l’utilisateur si tous les e e chemins utilis´ s entre une mˆ me origine et une mˆ me destination ont un temps de e e e parcours identique et si tous les chemins non utilis´ s entre ces deux points ont un e ´ ` temps sup´ rieur ou egal a ce minimum. Le flux e total entre O et D est qOD = 5. D´ finition 5.1: Exemple d’´ quilibre des utilisateurs. nous allons les appliquer a e ` un exemple de calcul d’´ quilibre de l’utilisateur. Le e . Consid´ rons les fonctions lin´ aires suivantes : e e t1 = 2 + x1 t2 = 1 + 2x2 qui donnent le temps de travers´ e de l’arc en fonction du flux sur celui-ci. x2 ) = x1 + x2 = 5 x1 . Consid´ rons l’exemple de r´ seau e e e tr` s simple illustr´ a la figure 5. e e qOD = 5 x1 O D x2 Figure 5. e e e 5.2 Application au calcul d’´ quilibre de l’utilisateur e Pour illustrer l’utilit´ des conditions de Kuhn et Tucker. x2 ≥ 0 0 t1 (x) dx1 + 0 t2 (x2 )dx2 Nous allons calculer l’´ quilibre pour cet exemple en ecrivant la formulation sous e ´ forme de minimisation et en r´ solvant les conditions de Kuhn et Tucker.48 Chapitre 5.

Aucun usager ne peut arriver plus rapidement a destination en changeant de chemin.c. Application au calcul d’´quilibre de l’utilisateur e probl` me est equivalent a : e ´ ` min f (x1 . x2 ) + λh(x) + µ1 g1 (x) + µ2 g2 (x) x2 = 2x1 + 1 + x2 + x2 + λ(x1 + x2 − 5) + µ1 (−x1 ) + µ2 (−x2 ) 2 2 ´ Ecrivons les conditions de Kuhn et Tucker : 2 + x 1 + λ − µ1 1 + 2x2 + λ − µ2 µ1 (−x1 ) µ2 (−x2 ) µ1 . ` Supposons maintenant que seul x1 > 0.  g1 (x) =      g2 (x) = Ecrivons le Lagrangien : L(x1 .2. Les deux premi` res conditions se r´ crivent : e e 2 + x1 + λ = t1 (x1 ) + λ = 0 1 + 2x2 + λ = t2 (x2 ) + λ − µ2 = 0 On en d´ duit les temps de travers´ e des arcs sont identiques : e e t1 (x∗ ) = −λ ≤ −λ + µ2 = t2 (x∗ ) 1 2 A nouveau les conditions d’´ quilibre sont v´ rifi´ es : le chemin non utilis´ est de e e e e temps sup´ rieur.Section 5.q. Donc µ1 = 0 et µ2 ≥ 0. x2 > 0. x2 ) = f (x1 . e . Les deux premi` res conditions se r´ crivent : e 2 + x1 + λ = t1 (x1 ) + λ = 0 1 + 2x2 + λ = t2 (x2 ) + λ = 0 On en d´ duit les temps de travers´ e des arcs sont identiques : e e t1 (x∗ ) = t2 (x∗ ) 1 2 On a donc bien une solution d’´ quilibre de l’utilisateur car tous les chemins utilis´ s e e entre l’origine et la destination sont de temps de parcours identiques. x2 ) = 2x1 +        x2 1 2 49 + x2 + x2 2 −x1 ≤ 0 ← µ1 −x2 ≤ 0 ← µ2 h(x) = x1 + x2 − 5 = 0 ← λ s. Donc µ1 = µ2 = 0. µ2 = = = = ≥ 0 0 0 0 0 e Supposons d’abord que x1 .

q. on va remplacer f (x) par son ape proximation de Taylor limit´ e a l’ordre 1 : e ` f (x) ∼ f (0. Comme seul l’objectif est non lin´ aire. On peut donc r´ soudre le probl` me lin´ aire : e e e max g(x) = 5 x1 + 8 x2 3x1 + 2x2 ≤ 6 s.c. . On calcule la direction de recherche en r´ solvant un e probl` me lin´ aire obtenu en rempla¸ ant la fonction objectif par son approxie e c mation lin´ aire (points 1 et 2 ci-dessous). . Appliquons cette id´ e au probl` me suivant dont les e e e contraintes sont purement lin´ aires : e max f (x) = 5x1 − x2 + 8x2 − 2x2 1 2 3x1 + 2x2 ≤ 6 s.q. x2 ≥ 0 x1 En effet. On calcule le pas a faire dans la direction en minimisant la ` fonction f (x) le long de la direction d´ termin´ e en a) (points 3 et 4 cie e dessous). e e e 5. e b) Calcul du pas. 0).3 La m´ thode de Frank-Wolfe e L’id´ e de la m´ thode est la suivante.50 Chapitre 5.c. Il s’agit d’un algorithme d’approximae e tions lin´ aires successives. 0) : e e ∂f = 5 − 2(0) = 5 ∂x1 ∂f = 8 − 4(0) = 8 ∂x2 D’o` l’approximation lin´ aire de la fonction en (0. x2 ≥ 0 x1 . 0) + ∂f ∂f (0. R´solution des mod`les non lin´aires. e Une it´ ration de la m´ thode comporte les etapes suivantes : e e ´ a) Calcul de la direction.0) : u e g(x) = 5x1 + 8x2 2. It´ ration 1 : e 1. 0)(x2 − 0) ∂x1 ∂x2 ´ Evaluons les d´ riv´ es partielles en x0 = (0. 0)(x1 − 0) + (0. Nous partons du point initial x0 = (0. c’est le type de probl` me que nous allons rencontrer pour la r´ solution e e du probl` me d’affectation du trafic.

on pourra r´ duire f (x). La solution optimale est le point ` x1 = (0. Cependant. on a probablement et´ trop loin e e ´e 1 en allant jusqu’au point xLP . 3) − (0. 3). plus on s’´ loigne du point de d´ part x0 . Comme. 0) + 2/3 [(0. La m´thode de Frank-Wolfe e x2 3 P1 z = 5x 1 + 8x 2 51 2 1 P2 P0 1 2 x1 Figure 5. 2) It´ ration 2 : e . e e ceci est fait graphiquement a la figure 5. plus l’approximation e e lin´ aire g(x) s’´ loigne de la fonction f (x). LP 3. Mise a jour de x : x1 = (0. au d´ but du mois. On va d´ terminer le pas e e e LP dans la direction : x1 = x0 + α(x1 − x0 ) LP x1 0 0−0 = +α 0 3−0 x2 = 0 3α avec α ∈ [0.2.3. en se dirigeant dans la direction de x1 . 1] qui minimise cette fois la vraie fonction : h(α) = f (x0 + α(x1 − x0 )). e e ` 4.Section 5. Comme il n’y a que deux variables.2: M´ thode de Franck-Wolfe : it´ ration 1 e e par l’algorithme du Simplexe en g´ n´ ral. LP On obtient donc le probl` me de minimisation unidimensionnelle : e max h(α) = 24α − 18α2 dont le maximum est obtenu en annulant la d´ riv´ e : α = 2/3. 0)] = (0.

52

Chapitre 5. R´solution des mod`les non lin´aires. e e e ´ 1. Evaluation des d´ riv´ es partielles en x1 = (0, 2) : e e ∂f = 5 − 2(0) = 5 ∂x1 ∂f = 8 − 4(2) = 0 ∂x2 2. R´ soudre le probl` me lin´ aire : e e e max z = 5 x1 + 0 x2 3x1 + 2x2 ≤ 6 s.c.q. , x2 ≥ 0 x1 Ceci est fait a la figure 5.3. La solution optimale est x2 = (2, 0). ` LP
x2 3 P1

z = 5x 1

2

1

P2 P0 1 2 x1

Figure 5.3: M´ thode de Franck-Wolfe : it´ ration 2. e e 3. Recherche unidimensionnelle : x2 = x1 + α(xLP − x1 ) x1 0 2−0 = +α 2 0−2 x2

=

2α 2 − 2α

On obtient donc le probl` me de minimisation unidimensionnelle : e max h(α) = 8 + 10α − 12α2 qui est maximum pour α = 5/12. ` 4. Mise a jour de x : x2 = (0, 2) + 5/12 [(2, 0) − (0, 2)] = (5/6, 7/6)

Section 5.4. Exercices

53

5.4

Exercices

5.1. Conditions de Kuhn et Tucker. On vous donne le probl` me de la maxie 2 2 misation de la fonction 14x − x + 6y − y + 7 sous les contraintes que x + y ≤ 2 et x + 2y ≤ 3. ´ (a) Ecrire les conditions n´ cessaires d’optimalit´ de Kuhn et Tucker pour e e ce probl` me. e (b) R´ soudre graphiquement en tra¸ ant les courbes d’iso-valeurs de la fonce c tion objectif et la r´ gion r´ alisable. Pour cela, compl´ ter les carr´ s pour e e e e la fonction objectif. (c) V´ rifier si la solution d´ termin´ e graphiquement satisfait les conditions e e e de Kuhn et Tucker. (d) Indiquez quelles sont les contraintes actives a l’optimum. ` 5.2. M´ thode de Franck-Wolfe. Faire une troisi` me it´ ration de la m´ thode de e e e e e ee` Franck-Wolfe pour le probl` me consid´ r´ a la section 5.3. ´ 5.3. Equilibre de l’utilisateur versus equilibre social. Consid´ rons un r´ seau ´ e e de transport tr` s simple reliant une banlieue au centre ville. Il y a deux routes e parall` les : l’autoroute, dont le flux en milliers de v´ hicules par heure est e e not´ x1 et une voie nationale, dont le flux de v´ hicule en milliers de v´ hicules e e e par heure est not´ x2 . L’origine et la destination sont les mˆ mes pour les e e deux axes. Seules varient leurs fonctions de performance donnant le temps de travers´ e de l’axe (ta ) en fonction du flux sur l’axe (xa ). Ces fonctions e sont donn´ es par : e t1 (x1 ) = 3 + 0, 5x1 t2 (x2 ) = 1 + x2 Le nombre de voitures d´ sirant se rendre de la banlieue vers le centre ville e est de 1500 (1,5 milliers) durant l’heure de point du matin (entre 8 heures et 9 heures). (a) D´ terminer un point d’´ quilibre de l’utilisateur en ecrivant un probl` e e ´ e me de minimisation equivalent et en r´ solvant les conditions de Kuhn ´ e et Tucker pour ce probl` me equivalent (Examiner tous les cas possibles e ´ pour les axes utilis´ s). e (b) On appelle equilibre social un point o` les usagers se r´ partissent sur ´ u e le r´ seau de mani` re a minimiser le temps total passer sur le r´ seau : e e ` e min z =
a

xa ta (xa ).

54

Chapitre 5. R´solution des mod`les non lin´aires. e e e ´ Ecrire le probl` me d’optimisation equivalent et le r´ soudre par les e ´ e conditions de Kuhn et Tucker. (c) En d´ duire, dans les deux cas, le temps total pass´ par les usagers sur e e le r´ seau. En comparant ces deux valeurs, quelle est votre conclusion e sur l’attitude des automobilistes donc le comportement est mod´ lis´ e e par un equilibre de l’utilisateur ? ´

Chapitre 6 R´ solution des mod` les en nombres entiers e e
Une diff´ rence majeure avec la programmation lin´ aire r´ side dans la difficult´ e e e e de r´ soudre de tels probl` mes. En effet, en programmation lin´ aire, il existe un ale e e gorithme qui permet de r´ soudre des probl` mes d’` peu pr` s n’importe quelle taille, e e a e a savoir l’algorithme du Simplexe. Par contre pour les probl` mes en nombres ` e entiers, il existe une m´ thode connue sous le nom de m´ thode de branch and e e bound, qui ne garantit pas que l’on puisse eviter l’´ num´ ration explicite, c’est-` ´ e e a dire d’envisager toutes les combinaisons de valeurs enti` res pour les variables. e

6.1

M´ thode de “branch and bound” e

Nous illustrons la m´ thode sur l’exemple suivant tir´ de Norbert et al [13] dont on e e a l´ g` rement modifi´ la fonction objectif : e e e
∗ zP N E = max z = 15x1 + 50x2

                

−x1 + 2x2 ≤ ≤ , x2 ≥

5,

(1) (2) (3) et entiers (6.1)

s.c.q.  

x1 + 2x2 ≤ 14, x1 x1 8, 0

La r´ gion r´ alisable est repr´ sent´ e a la figure 6.1. e e e e ` Remarquons qu’une fa¸ on de r´ soudre le probl` me serait de construire une c e e ∗ ∗ borne sup´ rieure sur zP N E et une borne inf´ rieure sur zP N E et ensuite de raffiner e e ces bornes jusqu’` les egaliser. a ´
∗ Question 1 : comment construire une borne inf´ rieure sur zP N E ? e

La r´ ponse a cette question est a la fois simple et difficile. En effet, pour trouver e ` ` une borne inf´ rieure, il suffit de donner une solution r´ alisable pour (6.1). Comme e e 55

Cependant.1: Repr´ sentation de la r´ gion r´ alisable. R´solution des mod`les en nombres entiers e e (3) x2 5 4 (2) P0 P1 P2 P3 (1) z = 150 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 x1 Figure 6. C’est aussi le premier pas de la m´ thode de branch and bound que nous e allons maintenant d´ crire sur l’exemple. ∗ Question 2 : comment construire une borne sup´ rieure sur zP N E ? e Une fa¸ on de r´ pondre a cette question est de r´ soudre le probl` me lin´ aire c e ` e e e que l’on obtient a partir de (6. on obtient comme solution de la relaxation lin´ aire le point not´ e e P0 a la figure 6. le point (4. R´ soudre la relaxation lin´ aire. Par exemple. e Appliquons la m´ thode a l’exemple. Comme on maximise sur un ensemble r´ alisable plus large. e ` Pas 0.1) en laissant tomber les contraintes d’int´ gralit´ des ` e e variables. . l’optimum du probl` me ne pourra qu’ˆ tre sup´ rieur e e e a la valeur de z en ce point. 5 x2 = 4.56 Chapitre 6. 4) = 15 × 4 + 50 × 4 = 260 ≤ zP N E Cependant trouver en g´ n´ ral une solution r´ alisable pour un probl` me en nombres e e e e entiers n’est pas une mince affaire. l’optimum e ainsi obtenu ne pourra qu’ˆ tre sup´ rieur a l’optimum du probl` me en nombres e e ` e entiers.1 : ` x1 = 4.4) appartient a la r´ gion ` ` e r´ alisable : e ∗ z(4. 75 z0 = 305. e e Pour cet exemple. e e e l’objectif est de maximiser. Cette solution est inacceptable car les variables ne sont pas enti` res. e ∗ elle fournit une premi` re borne sup´ rieure sur zP N E : e e ∗ ∗ zP N E ≤ 305 = zP L .

Diff´ rents choix sont possibles et de ce choix peut d´ pendre l’efficacit´ e e e de la m´ thode de r´ solution. Dans notre exemple. on peut en conclure que la borne sup´ rieure sur zP N E est : e e ∗ zP N E ≤ max(z1 . Une alternative. Ce que l’on repr´ sente par une diae e e e gramme du type de celui de la figure 6. un mod` le fils et un mod` le fille.2. e 57 La seconde id´ e de la m´ thode de branch and bound est (comme le nom l’indique) e e d’op´ rer une s´ paration : la r´ gion r´ alisable va etre s´ par´ e en deux sous-r´ gions e e e e ˆ e e e e dont aucune ne peut contenir la solution optimale non enti` re P0 . z2 ) = 300. parfois utilis´ e. Chaque nœud de cette figure correspond a un probl` me lin´ aire.Section 6. Brancher sur une variable non enti` re. 5 z2 = 300. e est de prendre la variable la plus proche d’un entier. On va effectuer un branchement sur cette variable. tandis que le nœud 2 correspond au mod` le original avec en plus la restriction x1 ≥ 5. M´thode de “branch and bound” e Pas 1. il s’agit de la variable x1 . Le “crit` re de choix de la variable de branchement” adopt´ ici est de prendre e e la variable la plus distante d’un entier. ajout´ des contraintes et donc restreint l’espace des solutions r´ alisables. il n’y a e aucune perte de g´ n´ ralit´ d’imposer que e e e soit x1 ≤ 4 soit x1 ≥ 5 e Imposer cette condition va eliminer la solution courante P0 de la relaxation lin´ aire. Dans notre exemple. Ceci n’est pas etonnant : on a. Cette s´ paration e n´ cessite le choix d’une variable de s´ paration. En imposant s´ par´ ment l’une et l’autre conditions. On a ici num´ rot´ les nœuds e e e dans l’ordre o` ils ont et´ g´ n´ r´ s. Le nœud 1 est le mod` le ` e e e e original avec en plus la restriction x1 ≤ 4. u ´e e ee On peut maintenant r´ soudre les relaxations lin´ aires correspondant aux proe e bl` mes fils et fille. 5. . si la variable choisie xk a une valeur non enti` re N + . x2 = 4. Remarquez que les valeurs atteintes par la fonction objectif sont moins elev´ es ´ e que dans la relaxation lin´ aire pr´ c´ dente.1. en e e e ´ effet. on obtient deux souse e mod` les. Noeud 2 : x1 = 5. e e Comme les deux sous-r´ gions forment une repr´ sentation contenant l’ensemble e e ∗ des solution enti` res. Une fa¸ on simple de choisir cette variable est de e e c prendre la variable la plus distante d’un entier. on imposera e e e s´ par´ ment : e e soit xk ≤ N soit xk ≥ N + 1. x2 = 4. Le nœud 0 au mod` le original. ´ En g´ n´ ral. z1 = 285. Le choix de cette variable est e e heuristique. Comme x1 ne peut prendre que des valeurs enti` res. on obtient les deux solutions suivantes : e Noeud 1 : x1 = 4.

On la choisit donc pour op´ rer le branchement suivant : soit x2 ≤ 4 soit x2 ≥ 5 On ajoute s´ par´ ment chacune de ces contraintes aux contraintes du probl` me 2 e e e et on g´ n` re ainsi les nœuds 3 et 4.58 Chapitre 6. 75 x1 z1 = 285 x1 = 4 x 2 = 4.2. nous adoptons la r` gle de choix e e e heuristique suivante : Le “crit` re de choix du nœud a diviser” adopt´ ici est de prendre la la ree ` e laxation lin´ aire fournit la meilleure (c’est-` -dire la plus grande en cas de e a maximisation) valeur de la fonction objectif. ` Pas 2. Pour l’illustration de la m´ thode. On r´ sout e e e` e graphiquement les relaxations lin´ aires (voir figure 6. aucune des deux solutions n’est acceptable car toutes les deux comportent des parties fractionnaires. Pour cet exemple. e e Ici seule la variable x2 est non enti` re. R´solution des mod`les en nombres entiers e e z 0 = 305 x1 = 4. 5 x2 4 4 x1 5 z2 = 300 x1 = 5 x 2 = 4. Choisir une variable pour brancher. 50 x2 = 4. On va donc continuer en choisissant un des deux nœuds ` pour le diviser a nouveau. Ici.2: Arbre de branch and bound. Diviser a nouveau un nœud fils ou fille en deux. on choisit donc le nœud 2 et on r´ p` te le Pas 1. 5 x2 5 z3 = 290 x1 = 6 x2 = 4 z4 = ∞ Probl` eme non r´ ealisable Figure 6. e e Pas 1. Ceci est illustr´ a la figure 6.1) et on obtient les solutions e . Le choix du nœud a diviser est a nouveau heuristique ` ` et peut a nouveau avoir une grande influence sur le temps total mis pour r´ soudre ` e le probl` me.

e . z3 = 290. e e 2. A nouveau. ´ dans ce cas. On d´ tere e ` e mine la solution optimale comme etant la meilleure solution enti` re trouv´ e. M´thode de “branch and bound” e suivantes : Noeud 3 : x1 = 6.Section 6. x2 = 4. e ´e On dit que le nœud 3 est coup´ . lorsque la relaxation lin´ aire obtenue fournit une solution enti` re (cas du e e nœud 3). que l’on peut egalement couper la branche du ´ nœud 1. e Remarquons aussi que le nœud 4 a conduit a un probl` me non r´ alisable. on aurait du diviser la branche 1.1. il ne sert a rien de continuer a diviser ce nœud. on a obtenu une solution enti` re dont la valeur correspone dante de la fonction objectif est 290. lorsque la valeur de la borne sup´ rieure est inf´ rieure a la valeur de la e e meilleure solution enti` re obtenue (cas du nœud 1). En effet. trouv´ et aussi prouv´ que la solution du nœud 3 e e etait la solution optimale du probl` me en nombres entiers. x∗ = 4. lorsque la relaxation lin´ aire obtenue est non r´ alisable (cas du nœud 4). il y a trois raisons de couper une branche dans l’arbre : 1. Remarquons. On peut donc couper ` ` le nœud 4. pour terminer. Ce ` e e n’est pas etonnant vu que l’on rajoute de plus en plus de contraintes. On n’a donc aucun espoir de trouver en poursuivant les e e calculs a la branche 1 de trouver une solution enti` re meilleure que 290. Noeud 4 : non r´ alisable e 59 Noter que. La m´ thode est termin´ e puisqu’il n’existe plus de nœud a diviser. On a une premi` re borne inf´ rieure sur la e e valeur optimale de la fonction objectif et on a donc que : ∗ 290 ≤ zP N E Il est clair egalement qu’il n’y a aucune raison de continuer a diviser le nœud 3 ´ ` pour lequel la solution optimale du probl` me en nombres entiers a et´ obtenue. zP N E = 290 2 1 On a ainsi. ` 3. la valeur de z1 = 285 est inf´ rieure a la borne inf´ rieure de 290 e ` e qui vient d’ˆ tre trouv´ e. pour notre exemple. ´ e En conclusions. Il ´ e e s’agit du point P3 suivant : ∗ x∗ = 6. Dans le ` e cas contraire. au nœud 3.

) d’un voyage sur la ligne OM est de 4 et de 3 sur la ligne OT. M´ thode de branch and bound.2. Elle d´ sire affecter sa flotte d’avions e aux deux lignes int´ rieures ouvertes a la concurrence (les lignes OM et OT). e ` Le nombre de passagers d´ sirant effectuer chaque jour un parcours sur la e ligne OM par cette nouvelle compagnie est 500. e e 6. e e e (a) R´ soudre graphiquement la relaxation lin´ aire initiale. Probl` me d’affectation de lignes a´ riennes. scq R´ soudre par la m´ thode de branch and bound en r´ solvant les relaxations e e e lin´ aires de mani` re purement graphique. Consid´ rons le probl` me en nombres e e e entiers suivant : max z = x1 + 2x2                −2x1 + 2x2 ≤ 1 x1 + x2 ≤ 6. e e . u etc. e e (b) Repr´ senter ici par un arbre la suite de vos calculs. . +x2 ≤ x2 ≥ 5. Consid´ rons le probl` me en nombres e e e entiers suivant : ∗ zP N E = max z = 5x1 + 4x2          x1 x1 .60 Chapitre 6. Une petite compagnie a´ riene e e ne dispose de six avions de 150 places. R´solution des mod`les en nombres entiers e e 6. et de 200 sur la ligne OT.1.q.2 Exercices 6. 0 et entiers On demande de r´ soudre le probl` me par la m´ thode de branch and bound e e e en r´ solvant les relaxations lin´ aires de mani` re purement graphique. On d´ sire minimiser le coˆ t d’exploitation en satisfaisant la demande. e e 6.3. 10x1 +6x2 ≤ 45. x2 ≥ 0 et entiers. (b) R´ soudre par la m´ thode de branch and bound en r´ solvant chaque fois e e e la relaxation lin´ aire de mani` re purement graphique. les taxes d’atterrissage. . Justifier les e diff´ rents pas de la m´ thode. M´ thode de branch and bound. 5 x1 . e u (a) Formuler math´ matiquement le probl` me de la meilleure affectation e e de la flotte de cette compagnie.c. (1) (2) s. Le coˆ t marginal (frais variables tels que le carburant.

Partie III R´ solution au moyen du solveur d’Excel e 61 .

.

au moyen des capacit´ s r´ siduelles de ses trois ateliers : a savoir l’atelier 1. 7.1: Temps n´ cessaires et capacit´ s r´ siduelles e e e Les marges unitaires sont de 3 $ pour le chassis en aluminium et de 5 $ pour le chassis en bois 63 .1. l’atelier 2.1 Introduction Le solveur d’EXCEL est un r´ solveur d’´ quation ainsi qu’un optimiseur exploitant e e les techniques de la programmation lin´ aire. de la programmation en nombres e entiers et de la programmation non lin´ aire. le probl` me s’´ nonce ainsi : une entreprise de fabrication de chassis e e envisage la mise en production de deux nouveaux mod` les. o` sont u e u fabriqu´ s les cadres en bois et l’atelier 3 o` le montage du verre sur le chassis est e u r´ alis´ pour les deux types de chassis. o` sont fabriqu´ s les cadres en aluminium.Chapitre 7 Le solveur d’EXCEL. e e Le nombre d’heures n´ cessaires par produit dans les trois ateliers et le nombre e e d’heures encore disponibles par semaine dans ces ateliers sont donn´ s au tableau 7. e Illustrons ceci sur un exemple tir´ de Hillier et Lieberman [8] d´ j` utilis´ e ea e au chapitre 3 pour illustrer le processus de formulation d’un probl` me lin´ aire. e e Pour rappel. Atelier 1 2 3 Chassis Chassis aluminium bois 1h 0h 0h 2h 3h 2h Capacit´ e disponible 4 h/semaine 12 h/semaine 18 h/semaine Tableau 7. le chassis en aluminium e e e ` et le chassis en bois.

6) donnant la valeur maximum du profit suivante : z ∗ = 36. on peut rentrer les coefficients e e num´ riques sous forme d’une matrice. choisir le sous-menu “Solveur”. On remarquera au tableau 7. . De mˆ me. . On se pose la question suivante : combien produire de chassis de chaque type par semaine pour maximiser le profit net ? La formulation de ce probl` me est particuli` rement simple. Pour la clart´ du mod` le. il est indispensable de mettre egalement des e e ´ commentaires. Ceci peut etre ˆ mis en œuvre en Excel (voir la copie d’´ cran 7.c. . . Atelier 2. Dans le menu “Outils”. ). Il s’agit ici du point : ´ e ` x∗ = (2. que l’on a choisi de placer la valeur de x1 en cellule $B$2$. Nous allons maintenant r´ soudre le probl` me au moyen du solveur d’Excel. Comme le probl` me est lin´ aire. Le point optimum est d´ termin´ e e e comme etant le sommet de la r´ gion r´ alisable situ´ sur la droite d’isovaleur donnant ´ e e e la valeur la plus elev´ e a l’objectif.2. la fonction ` ` u objectif. tandis que celle de x2 est plac´ e en cellule $C$2.2 que les e coefficients d’une mˆ me equation ainsi que sa formule de calcul ont et´ rang´ s dans e ´ ´e e une mˆ me ligne qui contient comme commentaire le nom de l’´ quation (Atelier e e 1. pour un probl` me lin´ aire a deux variables. pour ´e e comprendre les formules. le nombre de chassis en bois fabriqu´ s par semaine. Elle a et´ faite e e ´e a la section 3. on peut e e ` d´ terminer sa solution optimale graphiquement. En posant x1 .1) de la mani` re suivante : e e 1. e Il reste maintenant a indiquer a Excel. le membre de gauche.q. de droite et le sens des contraintes. e e La premi` re chose a faire est de rentrer les donn´ es num´ riques du probl` me et e ` e e e les formules de calcul de la fonction objectif ainsi que du membre de gauche des contraintes. les coefficients se rapportant a une mˆ me variable e ` e ont et´ rang´ en colonne sous le nom de la variable (x1 . x2 ). le nombre de chassis en aluminium fabriqu´ s par ` e semaine et x2 .  3x1 + 2x2   x  1     x2 ≤ 4 ≤ 12 ≤ 18 ≥ 0 ≥ 0 Comme vu au chapitre 3.64 Chapitre 7. Le solveur d’EXCEL. o` se trouvent les variables. Remarquez ici. on obtient la e formulation suivante : max z = 3x1 + 5x2   x1      2x2   s.

mettre la r´ f´ rence de la cellule de calcul ee de l’objectif (ici $D$3). Introduction A 1 2 3 4 5 6 Production de chassis Profit Capacit´ de l’atelier 1 e Capacit´ de l’Atelier 2 e Capacit´ de l’atelier 3 e B C en alu en bois 3 1 0 3 5 0 2 2 D E b 65 =B3*$B$2+C3*$C$2 =B4*$B$2+C4*$C$2 4 =B5*$B$2+C5*$C$2 12 =B6*$B$2+C6*$C$2 18 Tableau 7.1. e e Figure 7. Le menu suivant apparaˆt : ı Cellule : Relation : Contrainte : Pour chaque contrainte : . ´ ` 3. 5. 4. Dans la zone “Cellule a d´ finir”. choisir “ajouter une contrainte”. e ` e 2.2: Exemple de probl` me lin´ aire. Dans la zone “Cellules variables”. choisir Max ou Min (ici Max). Dans la zone “Contraintes”.1: Param` tres du solveur. mettre les r´ f´ rences des cellules conteee nant les variables (ici $B$2:$C$2) . Dans la zone “Egale a”.Section 7.

mettre la r´ f´ rence de la cellule contenant la ee formule de calcul du membre de gauche (pour l’atelier 1 : $D$4). Il est a remarquer qu’il indique e ` directement dans les cases des variables la valeur de ces variables. • Dans la zone “Contrainte”.2). n´ aire”. pour l’atelier 1 : <=). On obtient bien la solution d´ termin´ e graphiquement (2. e Le tableau 7. Ainsi. Le solveur d’EXCEL. Il faut donc pr´ alablement avoir calcul´ ce membre de gauche. Dans ”Option” (voir la copie d’´ cran 7. Lancer la commande “R´ soudre”. On peut rentrer par groupe les e contraintes ayant mˆ me sens. e e • Dans la zone “Relation”.6) a laquelle correspond une valeur e e ` maximum de l’objectif (36). On peut egalement ´ directement entrer une valeur. mettre le sens de la contrainte (par exemple. Mais cela n’est pas a conseiller sauf s’il ` s’agit de la valeur ”0” qui n’est pas susceptible de varier.3 pr´ sente la solution du solveur. mettre la r´ f´ rence de la cellule contenant ee le membre de droite (pour l’atelier 1 : $E$4). On a rentr´ les trois contraintes en un bloc. Plusieurs remarques sur les particularit´ s du solveur d’Excel s’imposent e ici : 1.66 Chapitre 7. e 7. on a rentr´ les trois e e . dans l’exemple. • Dans la zone “Cellule”. choisir ”Mod` le suppos´ lie e e Figure 7. On doit egalement choisir l’option ”Suppos´ non n´ gatif” qui e ´ e e correspond aux contraintes de positivit´ des variables.2: Options du solveur. 6.

• la commande “modifier la contrainte”. e e e e on a tout int´ rˆ t a s´ lectionner l’option “Mod` le suppos´ lin´ aire”. Si le mod` le est lin´ aire (contraintes lin´ aires et fonction objectif lin´ aire). Ainsi e les noms des variables x1 et x2 seront respectivement “production de chassis en alu” et “production de chassis en bois”. . ce qui ee ` e e e e d´ clenchera l’algorithme du Simplexe plutˆ t qu’un algorithme g´ n´ ral de e o e e programmation non lin´ aire. Introduction A 1 2 3 4 5 6 Production de chassis Profit Capacit´ de l’atelier 1 e Capacit´ de l’atelier 2 e Capacit´ de l’atelier 3 e B 2 3 1 0 3 C 6 5 0 2 2 36 2 12 18 4 12 18 D E b 67 en alu en bois Tableau 7. cette cele e lule contiendrait une variable (au sens math´ matique du terme) mais ne e devrait pas etre rentr´ e dans les cellules variables pour Excel.1. e e 6. e 5. Les contraintes de positivit´ des variables doivent etre entr´ es explicitement. comme e e e indiqu´ plus haut.3: Solution du solveur contraintes de capacit´ s en bloc par la commande suivante : e $D$4 : $D$6 <= $E$4 : $E$6 2. e e ceci contrairement a la convention de certains optimiseurs qui consid` rent ` e par d´ faut des variables non n´ gatives. si l’on avait cale cul´ dans une cellule le nombre d’heures pass´ es dans l’atelier 1. en s´ lectionnant l’option ”suppos´ non n´ gatif”.Section 7. Excel d´ termine le nom d’une variable ou le nom d’une contrainte en prenant e le premier commentaire situ´ a gauche de la cellule et le premier commentaire e` situ´ au dessus de la cellule de calcul de la variable ou de la contrainte. Seules les variables non calcul´ es (les variables ind´ pendantes du mod` le) e e e ˆ doivent etre rentr´ es dans la section variables. e e e e 4. On a rentr´ ces contraintes. sans quoi ˆ e Excel consid´ rerait qu’il s’agit d’une variable ind´ pendante et effacerait sa e e formule de calcul pour y mettre une valeur num´ rique. Remarquez enfin que pour modifier le mod` le on peut utiliser : • la commande “supprimer la contrainte”. ˆ 3. Ainsi.

le nom. le nom. a • les informations sur les variables : la r´ f´ rence de la cellule. la formule. Elle laisse le choix entre garder dans les cellules variables la solution obtenue par le solveur soit r´ tablir la solution initiale (g´ n´ ralement z´ ro partout). 7.3: Rapports possibles du solveur.1 Le rapport des r´ ponses e Le rapport des r´ ponses (voir figure 7. soit qu’il ait trouv´ la solution optimale. a savoir l’optimalit´ de solution). soit qu’il e e ne parvienne pas a en trouver (probl` me non r´ alisable ou non convergence de ` e e l’algorithme de r´ solution). la ee valeur originale et finale des “cellules variables”.2.4) fournit : e • les informations sur l’objectif : la r´ f´ rence de la cellule. son status (active ou non a la ` e solution finale). • les informations sur les contraintes : la r´ f´ rence de la cellule.3 apparaˆt e ı e ` ı (ici avec le message de sortie que l’on attendait. Le solveur d’EXCEL. la boˆte de dialogue illustr´ e a la figure 7. le nom. 7. la valeur ee originale et finale de la “cellule cible (` Maximiser)”. ainsi que la marge (valeur de l’´ cart entre les deux membres de l’in´ galit´ ). Cette e e e e boˆte permet egalement de g´ n´ rer a la demande trois types de rapport : ı ´ e e ` • le rapport des r´ ponses.2 Les rapports du solveur Lorsque le solveur a termin´ . e • le rapport de sensibilit´ . la ee valeur finale du membre de gauche. ` e Figure 7. e e .68 Chapitre 7. e • le rapport des limites.

la valeur du membre de droite. 7.Section 7. e e . Ceci est particuli` rement utile si l’on a des variables a deux indices e ` comme dans un probl` me de transport.4: Rapports des r´ ponses. • les informations sur les contraintes : la r´ f´ rence de la cellule. l’augmentation et la diminution maximum de ce membre de droite telle que le prix cach´ reste le mˆ me.2 Le rapport de sensibilit´ e Le rapport de sensibilit´ (voir figure 7. les variables seront stock´ es e e u dans un tableau o` les lignes correspondront aux origines et les colonnes aux destinations.2.2. le coefficient objectif. e Pour d´ terminer le nom. le coˆ t r´ duit. Il suffira de mettre “de i” a gauche de la ligne et “vers j” en haut de ` la colonne pour que le nom de la variable soit “de i vers j” . l’accroisu e sement et la diminution maximale de ce coefficient avant qu’une variable ne change de valeur. En effet.5) fournit : e • les informations sur les variables : la r´ f´ rence de la cellule. Les rapports du solveur 69 Figure 7. Excel fait la concat´ nation du premier commentaire e e rencontr´ dans la mˆ me ligne et du premier commentaire rencontr´ dans la mˆ me e e e e colonne. le nom et la ee valeur finale de la variable. le prix cach´ . le nom et la ee e valeur finale du membre de gauche de la contrainte.

5: Rapport de sensibilit´ .70 Chapitre 7.2. c’est-` -dire la plus petite valeur de la variable qui satisfait e a les contraintes en maintenant les autres variables fix´ es a leur valeur.3 Le rapport des limites Figure 7. Figure 7. e ` . e ` • la limite sup´ rieure. e 7.6: Rapport des limites. Le solveur d’EXCEL. Le rapport des limites (voir figure 7.6) fournit pour chaque variable : • sa limite inf´ rieure. c’est-` -dire plus grande valeur de la variable qui satisfait e a les contraintes en maintenant les autres variables fix´ es a leur valeur.

3. 7.4 pour les donn´ es. Le tableau 7. du captage de l’eau et de la fourniture des agglom´ rations e situ´ es dans son district. Cependant. e (b) R´ soudre au moyen du Solveur d’Excel.) e Coˆ t de u fourniture venant de Source 1 Source 2 Source 3 Besoin Demande Destination Offre Ville Ville Ville Ville de la 1 2 3 4 source 16 13 22 17 50 14 13 19 15 60 19 20 23 50 30 50 70 70 0 30 10 60 Tableau 7. sauf la ˆ e ville 4 qui ne peut etre aliment´ e a partir de la source 3. ˆ ´ e e e Chacune des villes peut etre aliment´ e par n’importe quelle source. vu ˆ e ` l’´ loignement g´ ographique.4 donne en derni` re colonne l’offre e de chaque source. Recyclage du papier.3 Exercices 7. e . Exercices 71 7. a une demande effective. Le captage est possible aupr` s de 3 sources d’offre e e maximum donn´ e (le captage est limit´ pour ne pas diminuer trop le niveau e e des nappes souterraines). Il y a quatre villes a servir dans ce district. Pour l’exercice 31 formul´ au chapitre 3. le coˆ t unitaire de fourniture d´ pend a la fois e e u e ` du lieu de production et du lieu de consommation de l’eau (voir le tableau 7. e dans son district. Une agence pour l’eau est charg´ . e (a) R´ soudre au moyen du Solveur d’Excel. e (b) Donner la solution obtenue par Excel. Chaque ville. La compagnie de transport d’eau est oblig´ e de fournir ces quantit´ s au minimum.4. Chaque ville.4).Section 7. leurs besoins minimaux tout en minimisant ` ` les coˆ ts de transport totaux pour le district u (a) Formuler le probl` me de transport de l’eau. Le probl` me ` e est la r´ partition de l’eau disponible entre ces quatre villes durant la saison e s` che.2. e qui peut etre plus elev´ e (elle est donn´ e en derni` re ligne du tableau 7. a des besoins vitaux en eau qui sont repris en avant e e e derni` re ligne du tableau 7. Organisation de la distribution d’eau.1.4: Coˆ t de fourniture u On se demande comment organiser le transport de toute l’eau disponible de sorte a assurer a toutes les villes.

Transport de pond´ reux. expression de l’objectif et e des contraintes). e C3. 7. .5: Coˆ ts de transport des gravillons u a la table 7. ` e c (a) Formuler le probl` me (choix des variables. e e e ` e B2 et B3 utilisent uniquement les gravillons provenant de G1. La carri` re du sous-traitant G3 peut fournir 100 e e tonnes au maximum. (b) Mettre sous la forme d’un mod` le de calcul en Excel. 200 et 130 tonnes. Elle poss` de 2 unit´ s de production de b´ ton. Il faut 1/2 tonne de gravillons pour 1 tonne de b´ ton. o` sont produits les gravillons qui entrent dans la fabrication du u b´ ton. G2 ou G3. Le solveur d’EXCEL. On veut d´ terminer comment satisfaire les e e ` e EURO/tonne vers C1 vers C2 vers C3 de B1 40 50 60 de B2 25 30 30 de B3 40 45 60 Tableau 7.6: Coˆ ts de transport des b´ tons u e commandes accept´ es a coˆ t de transport minimum tout en n’ayant recours e ` u a la sous-traitance que pour les capacit´ s manquantes de fa¸ on interne.3. Une entreprise a 3 chantiers en cours : C1. Les coˆ ts de transport unitaire (en euro/tonne) des gravillons sont donn´ s u e EURO/tonne vers B1 vers B2 vers B3 de G1 100 80 85 de G2 60 70 65 de G3 120 180 140 Tableau 7. e e e ` e C2 et C3 sont respectivement 100. e (c) Donner la solution obtenue par Excel. Les centrales a b´ ton B1. B1 et B2. Les capacit´ s de production en b´ ton des unit´ s B1 e e e et B2 sont respectivement de 60 et 120 tonnes. Si la production interne ne suffit pas. Dans la mesure du possible. e e e e G1 et G2. Le sous-traitant B3 a une capacit´ de 600 tonnes pendant la mˆ me p´ riode.72 Chapitre 7. C2. il est possible de faire appel e a la sous-traitance pour la production de gravillons (unit´ G3) et/ou pour ` e la production de b´ ton (unit´ B3). Les capacit´ s de e production en gravillons des unit´ s G1 et G2 sont respectivement 75 et 60 e tonnes pendant la p´ riode. Les quantit´ s de b´ ton a fournir dans la p´ riode aux chantiers C1. on evite e e ´ d’utiliser la sous-traitance. et 2 carri` res.5 tandis que les coˆ ts de transport unitaire (en euro/tonne) des ` u b´ tons sont donn´ s a la table 7.6.

2 Usine de 0. ` Les bouteilles a recycler peuvent aller directement aux usines.4 en tonnes par mois.5 en tonnes par mois.5 0.3 0.Chapitre 8 ´ Etude de cas 1 : la collecte de bouteilles 8.2 et 8. De plus. e Chaque ville a une fourniture mensuelle donn´ e dans le tableau 8. On se demande comment organiser la collecte des bouteilles pour minimiser 73 . Coˆ t de u fourniture venant de Newcastle Birmingham London Exeter R´ ception e Usine de 0. e ˆ e e Elle est donn´ e au tableau 8. 8.0 0. Birmingham. elle dispose de quatre e ` ` entrepˆ ts de stockage interm´ diaire situ´ s a Newcastle.1 ´ Enonc´ du probl` me e e Une entreprise sp´ cialis´ e dans le recyclage de bouteilles en plastique poss` de deux e e e usines. Cette entreprise ach` te son ingr´ dient a six fournisseurs : e e ` six grosses villes avec lesquelles elle a un contrat d’achat des bouteilles a recycler.1: Coˆ t de fourniture des d´ pˆ ts vers les usines u e o Chaque usine a une capacit´ mensuelle de traitement qui ne peut etre d´ pass´ e. London et o e e ` Exeter respectivement. Chaque d´ pˆ t a une capacit´ e e o e maximum de transit par mois qui est donn´ e au tableau 8.3 fournissent les coˆ ts de transport unitaires (en e o u Livres par tonne). Les tableaux 8.1.2 Liverpool Brighton Tableau 8. soit transiter via les ` d´ pˆ ts. l’une situ´ e a Liverpool et l’autre a Brighton.5 0.5 1. Une barre indique que le transport n’est pas possible entre les deux lieux.6 en tonnes par e mois.

0 Ville 2 Ville 3 1.6: Offre des villes Offre .5 1.5 2.5 1.0 2.5: Capacit´ des d´ pˆ ts e e o Ville 1 Ville 2 Ville 3 Ville 4 Ville 5 Ville 6 50 000 10 000 40 000 35 000 60 000 20 000 Tableau 8.0 0.5 0.3: Coˆ t de fourniture des villes vers les d´ pˆ ts u e o Usine de Usine de Liverpool Brighton Capacit´ 150 000 200 000 e Tableau 8.5 Ville 3 0.0 Ville 2 1.5 0.2: Coˆ t de fourniture des villes vers les usines u Coˆ t de u R´ ception e fourniture D´ pˆ t de e o D´ pˆ t de e o D´ pˆ t de D´ pˆ t de e o e o venant de Newcastle Birmingham London Exeter Ville 1 1.5 Tableau 8.5 Ville 4 2.5 0.0 1.0 1.2 Ville 4 1.5 0.0 Ville 5 Ville 6 1.0 Tableau 8.4: Capacit´ des usines e D´ pˆ t de e o D´ pˆ t de e o D´ pˆ t de D´ pˆ t de e o e o Newcastle Birmingham London Exeter Capacit´ e 70 000 50 000 100 000 40 000 Tableau 8.5 1.5 Ville 5 0.5 Ville 6 1.74 ´ Chapitre 8. Etude de cas 1 : la collecte de bouteilles Coˆ t de u R´ ception e fourniture Usine de Usine de venant de Liverpool Brighton Ville 1 1.

Le tableau 8. e e ´ 8.4. Enonc´ du probl`me e e les coˆ ts de transport.1. u 8.3. e o ´ D´ pˆ t e o Economie Newcastle 10 Exeter 5 ´ Tableau 8.2. u e o Indiquer comment modifier votre formulation math´ matique obtenue au chae pitre pr´ c´ dent pour pouvoir d´ terminer quel(s) nouveau(x) d´ pˆ t(s) faute e e e o il ouvrir. fermer ceux de Newcastle et d’Exeter.8: Economie due a la fermeture ` Le tableau 8. si le d´ pˆ t de Birmingham doit etre etendu et quel(s) d´ pˆ t(s) e o ˆ ´ e o doit(vent) etre ferm´ (s).7 e donne les coˆ ts d’ouverture (en milliers de Livres) et les capacit´ s mensuelles u e de transit (en milliers de tonnes par mois) des nouveaux d´ pˆ ts.9 donne les coˆ ts de fourniture pour les nouveaux d´ pˆ ts.´ Section 8. On ´ e consid` re qu’il n’est pas possible d’avoir plus de quatre d´ pˆ ts ouverts et e e o on peut.1. e o D´ pˆ t e o Coˆ t Capacit´ u e Bristol 12 30 Northampton 4 25 Extension de Birmingham 3 20 Tableau 8. Ecrire votre mod` le en Excel et le r´ soudre au moyen d’Excel. Il est maintenant possible de construire un nouveau d´ pˆ t a Bristol et a e o ` ` Northampton. R´ soudre au moyen d’Excel. Formuler math´ matiquement le probl` me. e e 75 8. e . Il est egalement possible d’´ tendre celui de Birmingham.8 donne les economies due a la fermeture (en milliers de Livres) ´ ` des deux d´ pˆ ts. ˆ e 8.7: Coˆ ts d’ouverture u Le tableau 8. si n´ cessaire.

9 Tableau 8. Etude de cas 1 : la collecte de bouteilles Coˆ t de u fourniture vers Bristol Northampton Client 1 Client 2 Client 3 Client 4 Client 5 Client 6 Fournisseur Usine de Usine de D´ pˆ t de e o D´ pˆ t de e o Liverpool Brighton Bristol Northampton 0.3 0.5 2.4 0.6 0.0 2.8 0.0 0.0 0.5 0.6 0.9: Coˆ t de fourniture (nouveaux d´ pˆ ts) u e o .0 1.5 0.4 0.76 ´ Chapitre 8.3 1.4 1.2 0.6 1.

le flux sur cet arc : ta (xa ) = aa + ba xa o` le temps de travers´ e de l’arc est exprim´ en minutes et le flux en v´ hicules par u e e e heure.1 B D 6 0. On consid` re ici deux paires origine destination. e • tous les chemins non utilis´ s ont un temps sup´ rieur a ce temps. La seconde va du nœud C vers le nœud D. La premi` re va du nœud e e Origine Destination aa ba A B 21 0.1 C B 4 0. 77 . Un equilibre sera atteint lorsque.Chapitre 9 ´ Etude de cas 2 : le transport routier On veut d´ terminer la mani` re dont se r´ partissent les usagers d’un r´ seau routier. e e e e Pour cela. not´ ta (xa ) e e e pour l’arc a est fonction de xa . Il y a un flot de qAD = 50 v´ hicules par heure allant de A vers D et un flux qCD = 50 v´ hicules par heure e e allant de C vers D. on va consid´ rer que les usagers choisissent le chemin entre leur origine e ´ a leur destination de temps minimum. Leur temps de travers´ e.1. pour tout ` groupe d’utilisateurs du r´ seau ayant mˆ me origine et mˆ me destination : e e e • tous les chemins utilis´ s ont un temps de parcours identique. e e ` Les arcs du r´ seau sont repris au tableau 9.02 C D 19 0.01 Tableau 9.1: Description des arcs A vers le nœud D.01 A C 8 0.

e 9.od = qod ∀od p scq    fp ≥ 0 ∀p o` xa note le flux sur l’arc a et fp note le flux sur le chemin p et δp.3. on peut montrer que les flux optimaux satisfont les conditions d’´ quilibre de l’utilisateur.78 ´ Chapitre 9.p = 1 si l’arc a appartient au chemin p. e e 9.1).1) en un mod` le de calcul EXCEL. Etude de cas 2 : le transport routier Consid´ rons le probl` me d’optimisation non lin´ aire suivant : e e e xa min z(x) =     a 0 ta (w)dw (9. 9.od = 1 si le u chemin p relie o a d.1) fp δp. e e . Exprimer le probl` me (9.2.1. V´ rifier les conditions d’´ quilibre de l’utilisateur de votre solution. Le r´ soudre afin d’en d´ duire flux ainsi que les temps de travers´ e des divers e e e arcs. u En utilisant les conditions de Kuhn et Tucker de (9. La relation entre x et les variables fp etant donn´ e par la ` ´ e relation suivante : xa = fp ηa.p p o` ηa.

S. et D. e Economica. New Jersey. [6] GUERET Christelle. Eyrolles. Microsoft.S. 1990. Alain GARREAU. 8` me edition. HILLIER et G. 2003. 6` me edition. Econoe mica. HILLIER. Gestion de la production et des flux. Peare ´ son Education. San Francisco. 2006. [7] HEIZEZ Jay. LIEBERMAN. [2] BROOKE Anthony. Singapour. 79 . Upper Saddle River. Introduction to Management Sciences. Michel GREIF et e ´ Christian VAN DELFT. Boston. Paris. FULKERSON. GAMS User’s guide Release 2.Bibliographie [1] BAGLIN G´ rard. David KENDRICK et Alexander MEERAUS. Upper Saddle River. Optimisation appliqu´ e a la gestion et a l’´ conomie. Operations Management. Mac Graw-Hill International Editions. Christian PRINS et Marc SEVAUX. Management Industriel et Logistique. [8] F.K. e ´ ` e [11] LACAZE Dominique. e ´ [9] F. Flows in networks.K. Pearson Education. 1` re edition. M. 2007. 1984. Princeton. 2000.S. Manoj MALHOTRA et Larry RITZMAN. Operations Management.25. e ` Economica. Linear and Nonlinear Programming. 1992.S. Paris.S. Barry RENDER. [10] Lee KRAJEWSKI. 2001. HILLIER et G. Mac Graw-Hill International Editions. 3` me Edition. [12] LUENBERGER D. [3] EXCEL. Olivier BRUEL. Paris. Addison Wesley. The Scientific Press. ´ [5] GIARD Vincent. 1962. 8` me edition. e ´ 2000. 1992. LIEBERMAN. 3` me Edition. Guide de l’utilisateur. [4] FORD L. Introduction to Operations Research. Princeton University Press. 1995. Applications of optimization with XPRESS-MP.

1990.P. e e [14] SHEFFI Yosef. [15] Hamdy TAHA. [16] M. OUELLET et R. Pearson e ´ Education.P. John Wiley. 8` me edition.80 Bibliographie [13] Y. R. Model solving in Mathematical Programming. 1985. 2007. Urban Transportation Networks: Equilibrium Analysis with Mathematical Programming Methods. Operations Resaerch: an Introduction. Upper Saddle River. John Wiley. [17] M. NORBERT. 1995. La recherche op´ rationnelle. Prentice-Hall. Montr´ al-Paris. Model building in Mathematical Programming. 1992. WILLIAMS. New Jersey. e ´ Ga¨ tan Morin Editeur. PARENT. WILLIAMS. .