Académique Documents
Professionnel Documents
Culture Documents
Master 1 GE et Master 1 LT
Méthodes Quantitatives
Appliquées à l’Environnement 1
Daniel DE WOLF
1 Introduction 5
1.1 Objectifs du cours . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 La notion de matrice . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Calcul matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Addition de deux matrices . . . . . . . . . . . . . . . . . 8
1.3.2 Multiplication par un scalaire . . . . . . . . . . . . . . . 8
1.3.3 La transposition d’une matrice . . . . . . . . . . . . . . . 9
1.3.4 Produit scalaire de deux vecteurs . . . . . . . . . . . . . 10
1.3.5 Le produit matriciel . . . . . . . . . . . . . . . . . . . . 11
1.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2
Table des matières 3
9 Le solveur d’EXCEL. 69
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.2 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . . 72
9.2.1 Le rapport des réponses . . . . . . . . . . . . . . . . . . 73
9.2.2 Le rapport de sensibilité . . . . . . . . . . . . . . . . . . 74
9.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4 Table des matières
10 Interprétation de la solution 77
10.1 Interprétation économique . . . . . . . . . . . . . . . . . . . . . 77
10.1.1 Interprétation des coûts réduits . . . . . . . . . . . . . . 80
10.1.2 Interprétation des prix cachés . . . . . . . . . . . . . . . 80
10.2 Analyse de sensibilité . . . . . . . . . . . . . . . . . . . . . . . . 81
10.2.1 Sensibilité aux coefficients objectifs . . . . . . . . . . . . 81
10.2.2 Sensibilité aux coefficients du membre de droite . . . . . 81
10.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
A Formulaire 87
A.1 Le calcul des dérivées . . . . . . . . . . . . . . . . . . . . . . . . 87
A.2 Les dérivées partielles . . . . . . . . . . . . . . . . . . . . . . . . 87
A.3 Le calcul des intégrales . . . . . . . . . . . . . . . . . . . . . . . 88
A.4 Solution d’une équation du second degré . . . . . . . . . . . . . 88
A.5 Equation d’un cercle . . . . . . . . . . . . . . . . . . . . . . . . 89
A.6 Conditions de Kuhn et Tucker . . . . . . . . . . . . . . . . . . . 89
A.7 Méthode de Franck Wolfe . . . . . . . . . . . . . . . . . . . . . 90
Chapitre 1
Introduction
• les problèmes linéaires que l’on rencontre lorsque toutes les relations du
modèle (objectif et contraintes) sont purement linéaires ;
• les modèles non linéaires que l’on rencontre lorsque soit la fonction ob-
jectif, soit au moins une contrainte est non linéaire.
• les modèles en nombres entiers que l’on rencontre lorsque les variables de
décisions doivent être entières (par exemple, pour modéliser des décisions
d’investissement du type tout ou rien).
5
6 Chapitre 1. Introduction
est une matrice de genre (3, 2), c’est-à-dire qu’elle comporte 3 lignes et 2 co-
lonnes.
Remarquez qu’il y a une autre façon de spécifier une matrice que celle de
la donnée d’un tableau de chiffre illustrée en (1.1). Dans cette autre forme, on
indique d’abord le symbole utilisé pour représenter la matrice dans sa totalité,
celui utilisé pour représenter un élément quelconque, de ligne i et colonne j,
enfin le genre de la matrice, en indiquant les valeurs possibles des indices. Par
exemple, on définit la matrice A suivante :
Définition 1.3 Deux matrices sont dites de même genre, si elles ont le même
nombre de lignes et de colonnes.
C = A + B,
avec
cij = aij + bij .
Solution :
2−3 3 + 5 −1 + 2 −1 8 1
C= = .
4 + 6 −2 + 1 7+4 10 −1 11
A + B = B + A.
Une autre motivation possible pour l’étude d’une telle opération est la
transformation d’une matrice origines-destinations représentant la demande de
transport de camions en une matrice origines-destinations d’équivalents voi-
tures particulières. Comme un camion représente l’encombrement de plusieurs
voitures sur la voirie, on multiplie chaque élément de la matrice camions par
un scalaire (par exemple, un camion est l’équivalent de 7 voitures).
Autrement dit :
B = αA,
avec
bij = αaij .
Exemple :
1 2
7 2 4 14
2
= .
−3 8 15 −6 16 30
Autrement dit :
AT = {aij T },
avec
aij T = aji .
Exemple :
3 −2 " #
T 3 4 8
A= 4 5 A = .
−2 5 −1
8 −1
10 Chapitre 1. Introduction
A = AT .
L’interprétation sur le tableau est que les éléments situés symétriquement par
rapport à la diagonale principale doivent être identiques. Ce cas est illustré
par l’exemple suivant :
3 2 4
A= 2 5 1
4 1 7
xT y = 3 · 1 + 2 · 2 + 1 · 4 + 1 · 1 = 12.
Le produit matriciel
C = AB
est une matrice C de genre (m × p) qui se calcule comme suit :
c11 c12 ... c1p
c21 c22 ... c2p
C=
,
... ... ... ...
cm1 cm2 ... cmp
12 Chapitre 1. Introduction
avec l’élément cij qui est le produit scalaire de la ligne i de A par la colonne j
de B : n X
cij = aik bkj .
k=1
4·2+5·1 4·1+5·3 13 19
ou encore
Ax = b.
Enfin signalons que, contrairement au produit de réels, le produit de ma-
trices est une opération non commutative. En général, AB 6= BA.
Une autre motivation possible pour l’étude du produit matriciel est la
suivante. Notons A la matrice donnant le nombre de routes directes entre les
villes a1 , a2 , a3 , d’une part, et les villes b1 , b2 , d’autre part (voir figure 1.1).
Notons B la matrice donnant le nombre de routes directes entre les villes b1 ,
b2 , d’une part, et les villes c1 , c2 , , c3 d’autre part.
a c
b
a c
b
a c
On a donc que :
1 0
1 1 0
A= 1 1 B= .
0 1 1
0 1
0 1 1
On constate que cik donne le nombre de routes liant ai à ck en passant par une
des deux villes intermédiaires b1 ou b2 .
14 Chapitre 1. Introduction
1.4 Exercices
1.1. Transposition d’une matrice. Calculez la transposée des matrices
suivantes :
2 5 1 3 1
A=
1 −1 ;B
=
2 6 7 ;C
= 1 5 6 2 .
3 2 4 1 5
Dans cette dernière expression, δij est l’indice de Kronecker (utilisé dans
la définition de la matrice identité) :
1 si i = j,
δij =
0 sinon.
Chapitre 2
Formulation en modèles
d’optimisation.
2.1 Introduction
On parle de problèmes linéaires lorsque l’on veut minimiser une fonction
linéaire sous des contraintes linéaires. Nous prenons un exemple tiré de Hillier
et Lieberman [8] de fabrication de deux nouveaux modèles de chassis au moyen
des capacités résiduelles de trois ateliers. Le chassis en aluminium nécessite 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. Tandis que le chassis
en bois nécessite le passage dans le deuxième atelier pour fabriquer le cadre
en bois et dans le troisième atelier où le verre est monté sur le chassis. Les
marges unitaires, 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 2.1.
15
16 Chapitre 2. Formulation en modèles d’optimisation.
Ici les quantités que le modèle doit déterminer sont les productions de chassis
par semaine. Notons donc :
Ici, on désire maximiser son profit net. La marge unitaire étant de 3 pour le
premier type de chassis et de 5 pour le second, l’objectif s’exprime comme :
Ces relations peuvent être de simples bornes sur les variables. Par exemple, les
quantité produites ne peuvent être négatives. Mathématiquement :
x1 , x2 ≥ 0.
x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
2.3. Définition des variables 17
x = x1 + x2
x1 ≤ 2.000
et l’objectif s’écrira :
min z = 2x1 + 3x2
Comme le coefficient de x2 est supérieur à celui de x1 , on va d’abord utiliser
x1 puis x2 . Comme applications de ceci, on peut citer :
s2 = s1 + x2 − D2
En général :
st+1 = st + xt+1 − Dt+1
sont des coûts marginaux. Ils s’interprètent ainsi : une unité supplémentaire
de la quantité xj coûte cj unités monétaires supplémentaires. En présence de
coûts fixes, on introduira des variables binaires.
Remarquez également que lorsque le coût change, il faut introduire une
nouvelle variable. Prenons un exemple. Supposons que les unités produites en
heures normales aient un coût unitaire de production de 10 euros tandis que
les unités produites au delà auront un coût unitaire de 15 euros. Dans ce cas,
il faut définir deux variables :
x = quantité produite en heures normales ;
y = quantité produite en heures supplémentaires.
Ce qui permettra d’écrire l’objectif simplement comme :
min z = 1x + 1, 5y
• Satisfaction de la demande :
Ce sont des contraintes très souvent présentes. Elles s’expriment le fait
que la demande doit être satisfaite. Pour le même exemple d’exploitation
d’un réseau de transport de gaz, nous verrons au chapitre 4 que la quan-
tité fournie au nœud de demande j, notée dj , doit être au moins égale à
la demande au nœud j, notée dj . Ce qui s’exprime par :
dj ≥ dj
• Contraintes de conservation :
Ces contraintes sont présentes dans la plupart des problèmes sur réseaux.
Elles seront illustrées à la section 4.1 du chapitre 4 illustrant l’exemple
O
1 f13 f34 4
f23 3 f35
2 5
D
x ≤ 2000 + y
min z = 5y
2.6. Exercices 23
2.6 Exercices
2.1. Optimisation d’une fonderie. Une petite fonderie au Québec est spé-
cialisée dans la fonte de matériaux de récupération afin de produire deux
types de produits : des tuyaux agricoles d’adduction et d’évacuation
d’eau ainsi que des contrepoids pour tracteurs. La fonderie est en pleine
planification des opérations de la semaine prochaine. Les commandes
enregistrées s’élève à 34 tonnes pour les tuyaux et 14 tonnes pour les
contrepoids. Cependant la fonderie ne s’est pas engagée à livrer l’en-
semble de ces commandes la semaine prochaine. On livrera ce que les
capacités de production permettent. Il n’y a pas de pénalité à ne pas li-
vrer les commandes la semaine prochaine. La semaine prochaine, la main
d’œuvre disponible sera de 160 heures dans l’atelier de polissage et de
120 heures dans l’atelier peinture. Il faut compter 8 heures la tonne pour
polir les tuyauteries et 4 heures la tonne pour les contrepoids. La peinture
requiert 4 heures pour une tonne de tuyaux, 6 heures pour une tonne de
contrepoids. La marge sur une tonne de tuyaux est de 1 000 $, sur une
tonne de contrepoids de 1 200 $. Quelles sont les commandes à honorer
la semaine prochaine pour maximiser le profit ?
Formuler le problème linéaire de la maximisation du profit.
La société offre aux villes un prix de 35 euro par tonne de déchets. Elle
doit décider du montant optimal de déchets à acheter à chaque ville pour
minimiser son coût d’achat. Pour couvrir ses frais fixes, la société doit au
moins collecter 1.500 tonnes de listing d’ordinateur par an. Au delà de
6.000 tonnes de journaux mis sur le marché par an, le prix que la société
24 Chapitre 2. Formulation en modèles d’optimisation.
3.1 Introduction
On parle de programmes en nombres entiers lorsque l’on minimise
une fonction linéaire sous contraintes linéaires et que chaque variable doit être
entière. On appelle problèmes mixtes entiers les problèmes comportant un
certain nombre de variables réelles et un certain nombre de variables entières.
Il est à remarquer que la résolution des problèmes en nombres entiers
est beaucoup plus difficile que celle des problèmes linéaires. Nous allons
illustrer sur un exemple tiré de Williams [20] le fait qu’il est nécessaire de
résoudre le problème en nombres entiers. En effet, la méthode simpliste qui
consisterait à résoudre le problème linéaire et d’ensuite arrondir sa solution
optimale peut conduire à des solutions sous-optimales. Soit le problème :
Max z = x1 + x2
−2x1
+2x2 ≥ 1
Scq −8x1 +10x2 ≤ 13
x2 ≥ 0 et entiers.
x1 ,
En résolvant le modèle linéaire obtenu en relâchant le caractère entier
des variables, c’est-à-dire en résolvant la relaxation linéaire suivante :
Max z = x1 + x2
−2x1 +2x2 ≥ 1
Scq −8x1 +10x2 ≤ 13
x2 ≥ 0,
x1 ,
on obtient la solution optimale du problème linéaire suivante :
25
26 Chapitre 3. Les problèmes en nombres entiers.
x2
(3)
4,5 (4;4,5)
4
3
z =2
(1;2)
2
z =1
1
(1) (4)
(2) -1 1 2 3 4 x1
c(x)
c(x, y) = Ky + mx
m i y i ≤ xi (3.5)
xi ≤ Mi yi (3.6)
yi ∈ {0, 1} (3.7)
où mi est une borne inférieure sur la teneur de xi dans le mélange et Mi est une
borne supérieure sur xi . Par exemple, si la teneur minimum dans le mélange
est de 5 %, ces contraintes s’écrivent :
0, 05yi ≤ xi ≤ 1, 0yi
1. Soit xi > 0. Alors, par les contraintes (3.6) et (3.7), la variable yi doit
valoir 1 et exprime bien que l’ingrédient i est dans le mélange.
2. Soit xi = 0. Alors, par les contraintes (3.5) et (3.7), la variable yi doit
valoir 0.
La contrainte (3.8), exprimera donc bien que au plus k ingrédients seront pris
dans le mélange.
3.6 Exercices
3.1. Localisation optimale d’émetteurs de télévision. Etant donné une
région comportant quatre villes (Lille, Dunkerque, Valencienne et Ba-
sieux), on veut savoir où implanter, parmi les 5 emplacements possibles
les émetteurs pour desservir ces différentes villes au moindre coût. La
dernière colonne représente le coût de construction de chaque émetteur.
On demande formuler le problème.
Charbon 1 2 3 4 5 6 7 8
Prix 12 14 17 10 13 9 15 11
Teneur Si 2,0 2,5 % 1,0 % 5,0 % 1,0 % 5,0 % 2,0 % 1,5 %
Point Offre
Dunkerque 110
Mons 60
Tertre 0
1. La fonction transport est maintenant dissociée de la fonction vente de gaz sur le réseau
français. Le transport est assuré par une société nommée GRT Gaz pour Gestionnaire du
Réseau de Transport de Gaz.
33
34 Chapitre 4. Les notions de graphe, de flot et de réseau.
que leurs demandes journalières cumulées pour les secteurs domestique et in-
dustriel sont reprises au tableau 4.2.
Pour acheminer le gaz depuis les points d’entrée dans le réseau régional
jusqu’aux clients, le GRT Gaz dispose d’un réseau de gazoducs comparables
au réseau d’autoroutes liant les grands centres de la région entre eux. Le réseau
est représenté schématiquement à la figure 4.1.
0
Dunkerque
110 60 Lille |20| Tertre
|70| 0
60
0
50 |50| |20| |20| Valenciennes 60
0 60 Mons
|70|
Lens 10
|20| |40|
10 50
40
Denain
20
i Ville correspondante
1 Dunkerque
2 Lille
3 Lens
4 Tertre
5 Mons
6 Valenciennes
7 Denain
On a donc que :
N = {1, 2, 3, 4, 5, 6, 7}
Les arcs sont les gazoducs liant deux nœuds. En fonction des numéros indiqués
à la figure 4.2, on peut décrire les arcs directement comme au tableau 4.4.
Arc De A (i, j)
1 Dunkerque Lille (1, 2)
2 Dunkerque Lens (1, 3)
3 Lille Lens (2, 3)
4 Lille Valenciennes (2, 6)
5 Lens Denain (3, 7)
6 Tertre Lille (4, 2)
7 Mons Valenciennes (5, 6)
8 Valenciennes Denain (6, 7)
On a donc que :
A = {(1, 2), (1, 3), (2, 3), (2, 6), (3, 7), (4, 2), (5, 6), (6, 7)}
36 Chapitre 4. Les notions de graphe, de flot et de réseau.
O4
Dunkerque 4 Tertre
arc 6
O1 Lille f42
1 arc 1 f12
|20|
|70| 2
arc 2 arc 4 O5
f13 arc 3
f26 Valenciennes
|20| f23 |20| arc 7
|50| D2 5 Mons
6
f56 |70|
Lens 3
arc 5 arc 8 f67
f37 |40| D6
|20| 7
D3 Denain
D7
fij
i j
O1 = f12 + f13
f12 + f42 = f23 + f26 + D2
f13 + f23 = f37 + D3
O4 = f42
O5 = f56
f26 + f56 = D6 + f67
f37 + f67 = +D7
0 ≤ f12 ≤ 70 0 ≤ f37 ≤ 20
0 ≤ f13 ≤ 50 0 ≤ f42 ≤ 20
0 ≤ f23 ≤ 20 0 ≤ f56 ≤ 70
0 ≤ f26 ≤ 20 0 ≤ f67 ≤ 40
En général, si cij note la capacité de l’arc (i, j), c’est-à-dire le flux maxi-
mum qui peut traverser l’arc et semblablement, et si bij note la borne
inférieure (éventuelle) sur ce flot de sorte que l’on a :
Définition 4.2 On appelle flot l’ensemble des flux d’arcs s’ils respectent :
• en chaque nœud i ∈ N , l’équation de conservation (4.1)
38 Chapitre 4. Les notions de graphe, de flot et de réseau.
0
f01
f04 f05
1 f12 f42
4
2
f26
f80 f13 f23 f56
f28 5
6
Lens 3 f37 f67
f38 7
f78 f68
!!8
Le flux traversant l’arc de retour est appelé le flot total traversant le réseau.
max z = f80
Dans le cas d’un problème de flux à coût minimum, on peut écrire l’objectif
suivant : X
min z = cij fij
(i,j)∈A
4.4 Exercices
4.1. Amélioration d’un réseau routier. On prévoit une augmentation du
trafic entre les villes A et F. On veut déterminer le flot maximum que le
réseau routier (voir tableau 4.5) peut supporter entre les deux villes.
(a) Représenter le réseau sous forme d’un graphe avec le flot total.
(b) Formuler le problème de la détermination du flot maximum.
sont transportés par bateau vers les ports d’arrivée aux États-Unis. Les
capacités journalières de transport par bateau sont données au tableau
4.8. Une barre dans ce tableau indique que le transport est impossible.
Enfin, depuis les ports d’arrivés, les voitures sont transportées vers Los
5.1 Introduction
Lorsqu’il n’y a que deux variables de décision, un problème linéaire peut
être résolu de manière purement graphique. Nous présentons à la section 5.1
cette méthode de résolution 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ère nécessaire. Il s’agit
de l’algorithme du Simplexe dont nous présentons le principe à la section 5.5.
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ésenterons dans la
troisième partie du cours possède également une mise en œuvre de l’algorithme
du Simplexe.
Reprenons la formulation de l’exemple introductif de production de chassis :
max z = 3 x1 + 5 x2
x1
≤ 4
2x2 ≤ 12
(5.1)
s.c.q.
3x1 + 2x2 ≤ 18
x1 ≥ 0
≥ 0
x2
41
42 Chapitre 5. Résolution des modèles linéaires
Dans le cas de l’exemple, c’est l’ensemble des points (x1 , x2 ) satisfaisant les
inégalités de (5.1).
x2
(4)
9 (1)
6
(2)
4
2 (3)
(5)
0 2 4 6 x1
z = 3x1 + 5x2 .
z = k.
3x1 + 5x2 = k.
Les points d’une de ces droites sont donc le lieu de tous les points donnant
la même valeur du profit (d’où le nom de droite d’isovaleur de la fonction
objectif). Ceci est fait à la figure 5.2 où l’on a représenté
z = 15,
z = 30,
z = 36.
x2
(4)
9
z = 36
z = 30
6
(2)
z = 15 4
0 2 4 6 x1
x2
!
z = 18
9
! z ! = 3x1 + 2x 2 = 18
z = 12
(2,6)
6
z! = 6
(4,3)
0 2 4 6 x1
Observation 5.3 Même si tout un côté du polygone est optimal, on peut tou-
jours choisir une solution optimale correspondant à un sommet.
Par exemple, à la figure 5.4, les points (0,0) et (0,6) sont des sommets
adjacents car situés aux deux extrémités d’un côté du polygone. Alors que les
points (0,0) et (2,6) ne sont pas adjacents car il faut parcourir deux côtés du
polygone pour aller de l’un à l’autre.
Le sommet de départ est ici évident : il suffit de prendre le point (0,0). Notez
que l’origine peut ne pas être un sommet de la région réalisable. Il faudra, dans
ce cas, recourir à un problème auxiliaire, connu sous le problème de phase I,
pour déterminer ce point de départ.
On peut donc suggérer l’algorithme suivant :
x1 = 0
(0, 9)
x1 = 4
(2, 6) (4 , 6)
(0, 6) 2x2 = 12
4 (4, 3)
2 3x1 + 2x2 = 18
(0 , 0) 2 (4, 0) (6 , 0) x2 = 0
ii) Déterminer les côtés passant par ce sommet x. Trouver un côté le long
duquel z croît. S’il n’y en n’a pas, STOP : le x courant est optimal.
5.6 Exercices
5.1. Planification de production sur coûts variables. Une entreprise
fabrique deux produits P1 et P2 dans deux ateliers (usinage et finition).
Le mois dernier, 500 unités de P1 ont été produites grâce à 750 heures
d’usinage et 250 heures de finition. De même, 700 unités de P2 ont été
produites, nécessitant 700 heures d’usinage et 350 heures de finition.
On suppose que le coût de production est directement proportionnel au
nombre d’heures passées à la production. Le mois passé, on a observé la
répartition des frais variables reprise au tableau 5.1. Il y a également un
(a) Calculer les marges sur coûts variables pour chacun des deux pro-
duits en calculant d’abord le prix de l’heure dans chacun des ateliers
et le temps nécessaire dans chacun des ateliers par produit.
(b) Les capacités de production mensuelles sont de 1.200 heures pour
l’usinage et de 500 heures pour la finition. Formuler le problème de
la maximisation de la marge sur coûts variables.
(c) Déterminer graphiquement les productions optimales.
6.1 Introduction
Les problèmes en nombres entiers sont beaucoup plus difficile à résoudre
que les problèmes linéaire. En effet, il existe une méthode de résolution : la
méthode de branch and bound, que nous illustrons la méthode sur l’exemple
suivant tiré de Norbert et al [13] :
zP∗ N E = max z = 15x1 + 50x2
−x1 + 2x2 ≤ 5,
(1)
x + 2x ≤ 14, (2) (6.1)
1 2
s.c.q.
x 1 ≤ 8, (3)
x1 , x2 ≥ 0 et entiers
x2 (3)
(2)
P0 (1)
5
4
z = 150
3 1
0
0 1 2 3 4 5 6 7 8 9 10 x1
49
50 Chapitre 6. Résolution des modèles en nombres entiers
x1 = 4, 5 x2 = 4, 75 z0 = 305.
Cette solution est inacceptable car les variables ne sont pas entières. Cepen-
dant, elle fournit une première borne supérieure sur zP∗ N E :
Une alternative, parfois utilisée, est de prendre la variable la plus proche d’un
entier.
Le “critère de choix de la variable de branchement” adopté ici est
de prendre la variable la plus distante d’un entier.
Dans notre exemple, il s’agit de la variable x1 . On va effectuer un branche-
ment sur cette variable. Comme x1 ne peut prendre que des valeurs entières,
il n’y a aucune perte de généralité d’imposer que
soit x1 ≤ 4 soit x1 ≥ 5
Imposer ces deux conditions va éliminer la solution courante P0 de la relaxation
linéaire.
En imposant séparément l’une et l’autre conditions, on obtient deux sous-
problèmes, un problème fils et un problème fille. Ce que l’on représente par
une diagramme du type de celui de la figure 6.4. Chaque nœud de cette figure
correspond à un problème linéaire. Le nœud 0 au problème original. Le nœud
1 est le problème original avec en plus la restriction x1 ≤ 4, tandis que le nœud
2 correspond au problème original avec en plus la restriction x1 ≥ 5. On a ici
numéroté les nœuds dans l’ordre où ils ont été générés.
On peut maintenant résoudre les relaxations linéaires correspondant aux
problèmes fils et fille (voir figure 6.2). Dans notre exemple, on obtient les deux
x2
(2)
(1) (3)
5 P1 P2
1 2
3
0
0 1 2 3 4 5 6 7 8 9 10 x1
x2 (3)
(2) 4
P0 (1)
5
P1 P2
P3
4
3
3
0
0 1 2 3 4 5 6 7 8 9 10 x1
Noeud 3 : x1 = 6, x2 = 4, z3 = 290.
Noeud 4 : non réalisable
6.5. Critère d’arrêt de la méthode 53
Noter que, au nœud 3, on a obtenu une solution entière dont la valeur corres-
pondante de la fonction objectif est 290. On a une première borne inférieure
sur la valeur optimale de la fonction objectif et on a donc que :
290 ≤ zP∗ N E
Il n’y a aucune raison de continuer à diviser le nœud 3 pour lequel une solution
entière a été obtenue. On dit que le nœud 3 est coupé.
z 0 = 305
x1 = 4,50
x2 = 4,75
x1 4 x1 5
z3 meilleur
z1 = 285 z2 = 300
x1 = 4 x1 = 5
x 2 = 4,5 x 2 = 4,5
x2 4 x2 5
entiers impossible
z3 = 290
x1 = 6 Impossible
x2 = 4
6.6 Exercices
6.1. Problème d’affectation de lignes aériennes. Une petite compagnie
aérienne dispose de six avions de 150 places. Elle désire affecter sa flotte
d’avions aux 2 lignes ouvertes à la concurrence (OM et OT). Le nombre
de passagers désirant effectuer chaque jour un parcours sur la ligne OM
par cette nouvelle compagnie est 500, et de 200 sur la ligne OT. Le coût
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ésire minimiser le coût d’exploitation en satisfaisant la demande.
(a) Formuler le problème de la meilleure affectation de la flotte.
(b) Résoudre par la méthode de branch and bound.
(c) Illustrer les calculs par un arbre de branch and bound.
6.2. Méthode de branch and bound. Considérons le problème en nombres
entiers suivant :
zP∗ N E = max z = 5x1 + 4x2
x1 +x2 ≤ 5, (1)
s.c.q. 10x1 +6x2 ≤ 45, (2)
x1 , x2 ≥ 0 et entiers
7.1 Introduction
55
56 Chapitre 7. Les modèles non linéaires.
x2
0
1 2 3 4 5 6
x1
∂L
= 4x1 + 2x2 − 10 + 2µ1 x1 + 3µ2 + λ1 = 0
∂x1
∂L
= 2x1 + 2x2 − 10 + 2µ1 x2 + µ2 + λ1 = 0
∂x2
µ1 g1 = µ1 (x21 + x22 − 5) = 0
µ2 g2 = µ2 (3x1 + x2 − 6) = 0
µ1 ≥ 0
µ2 ≥ 0
Pour illustrer l’utilité des conditions de Kuhn et Tucker, nous allons les
appliquer à un exemple de calcul d’équilibre de l’utilisateur, notion que nous
verrons au cours de Transport et environnement en Master 2.
7.3. Application au calcul d’équilibre de l’utilisateur 59
qOD = 5 x1
O D
x2
t1 (x1 ) = 2 + x1
t2 (x2 ) = 1 + 2x2
Le flot total entre O et D est qOD = 5 unités. De sorte que l’on peut écrire la
relation suivante :
x1 + x2 = 5
En effet, les cinq utilisateurs se répartissent entre les deux chemins possibles
entre l’origine O et la destination D.
• tous les chemins utilisés entre une même origine et une même destination
ont un temps de parcours identique ;
• tous les chemins non utilisés entre ces deux points ont un temps supérieur
ou égal à ce minimum.
Nous allons calculer l’équilibre pour cet exemple en écrivant et en résolvant les
conditions de Kuhn et Tucker. Le problème est équivalent à :
x21
min f (x1 , x2 ) = 2x1 + + x2 + x22
2
h(x) = x1 + x 2 − 5 = 0 ← λ
s.c.q. g1 (x) = −x1 ≤ 0 ← µ1
−x2 ≤ 0 ← µ2
g2 (x) =
Ecrivons le Lagrangien :
µ1 , µ2 ≥ 0 (7.7)
Supposons d’abord que x∗1 , x∗2 > 0. Donc, par les conditions de complémenta-
rité (7.6), µ1 = µ2 = 0. Les deux premières conditions (7.5) se récrivent :
(2 + x∗1 ) + λ = t1 (x∗1 ) + λ = 0
(1 + 2x∗2 ) + λ = t2 (x∗2 ) + λ = 0
t1 (x∗1 ) = t2 (x∗2 )
x∗1 = 3 ⇒ t1 (x∗1 ) = 2 + 3 = 5
x∗2 = 2 ⇒ t2 (x∗2 ) = 1 + 2 · 2 = 5
On a donc bien une solution d’équilibre de l’utilisateur car tous les chemins
utilisés entre l’origine et la destination ont des temps de parcours identiques.
Aucun usager ne peut arriver plus rapidement à destination en changeant de
chemin.
Si on avait supposé au départ que x∗1 > 0 et x∗2 = 0, les conditions de
complémentarité (7.6) auraient donné µ1 = 0. Les deux premières conditions
(7.5) se récrivent dans ce cas :
(2 + x∗1 ) + λ = t1 (x∗1 ) + λ =0
∗ ∗
(1 + 2x2 ) + λ − µ2 = t2 (x2 ) + λ − µ2 = 0
Ou encore :
t1 (x∗1 ) = −λ
t2 (x∗2 ) = −λ + µ2
On en déduit que :
t2 (x∗2 ) = t1 (x∗1 ) + µ2 ≥ t1 (x∗1 )
On en déduit le temps de traversée de l’arc 2, chemin qui n’est pas utilisé, est
supérieur au temps du chemin 1, qui est utilisé :
t2 (x∗2 ) ≥ t1 (x∗1 )
7.4 Exercices
7.1. Conditions de Kuhn et Tucker. On considère le problème non linéaire
suivant (on n’impose pas aux variables d’être non négatives) :
(x − a)2 + (y − b)2 = r2
8.1 Introduction
L’idée de la méthode est la suivante. Il s’agit d’un algorithme d’ap-
proximations linéaires successives. Appliquons cette idée au problème
suivant dont les contraintes sont purement linéaires :
En effet, c’est le type de problème que nous allons rencontrer pour la résolution
du problème d’affectation du trafic (voir cours de Transport et Environnement
en Master 2). L’objectif de ce problème est en effet, comme vu à la section 7.3,
non linéaire alors que ses contraintes sont purement linéaires.
Une itération de la méthode comporte les étapes suivantes :
a) Calcul de la direction. On calcule la direction de recherche en résolvant
un problème linéaire obtenu en remplaçant la fonction objectif par son
approximation linéaire (points 1 et 2 ci-dessous).
63
64 Chapitre 8. Résolution des modèles non linéaires.
1. Comme seul l’objectif est non linéaire, on va remplacer f (x) par son
approximation de Taylor limitée à l’ordre 1 :
∂f ∂f
f (x) ∼ f (0, 0) + (0, 0)(x1 − 0) + (0, 0)(x2 − 0)
∂x1 ∂x2
∂f
= 5 − 2x1
∂x1
∂f
= 8 − 4x2
∂x2
∂f ∂f
= 5 − 2(0) = 5 = 8 − 4(0) = 8
∂x1 ∂x2
max g(x) = 5 x1 + 8 x2
(
3x1 + 2x2 ≤ 6
s.c.q.
x1 , x2 ≥ 0
x(α) = x0 + α(x1LP − x0 )
! ! ! !
x1 (α) 0 0−0 0
= +α =
x2 (α) 0 3−0 3α
8.2. La méthode de Frank-Wolfe 65
x2
P1
3
z = 5x 1 + 8x 2 = 24
1 z = 20
P2
P0
1 2 3 4 x1
Itération 2 :
1. Évaluation des dérivées partielles en x1 = (0, 2) :
∂f ∂f
= 5 − 2(0) = 5; = 8 − 4(2) = 0
∂x1 ∂x2
2. Résoudre le problème linéaire :
max z = 5 x1 + 0 x2
(
3x1 + 2x2 ≤ 6
s.c.q.
x1 , x2 ≥ 0
Ceci est fait à la figure 8.2. La solution optimale est x2LP = (2, 0).
66 Chapitre 8. Résolution des modèles non linéaires.
x2
P1
3
z=5 z = 5x 1 = 10
2
P2
P0
1 2 x1
3. Recherche unidimensionnelle :
x(α) = x1 + α(xLP − x1 )
! ! ! !
x1 (α) 0 2−0 2α
= +α =
x2 (α) 2 0−2 2 − 2α
max h(α) = 5x1 (α) − x21 (α) + 8x2 (α) − 2x22 (α)
= 10α − 4α2 + 16 − 16α − 2(4 − 8α + 4α2 )
= 8 + 10α − 12α2
h0 (α) = 10 − 24α = 0
5
La fonction est donc maximum pour α2∗ = .
12
4. Mise à jour de x :
! !
2 2α 5/6
x = =
2 − 2α 7/6
8.3. Interprétation graphique 67
x2
(0,2)
7/6
8.4 Exercice
8.1. Résolution d’un problème non linéaire. Considérons le problème
suivant :
min f (x1 , x2 ) = x21 − 4x1 + x22 − 4x2 + 8
2x1 + x2 ≤6 (1)
x1 + 2x2 ≤6 (2)
s.c.q.
x1 ≥0 (3)
x2 ≥0 (4)
Le solveur d’EXCEL.
9.1 Introduction
Nous illustrons son fonctionnement sur l’exemple tiré de Hillier et Lieber-
man [8] déjà utilisé au chapitre 2 pour illustrer le processus de formulation
d’un problème linéaire. En posant x1 , le nombre de chassis en aluminium fa-
briqués par semaine et x2 , le nombre de chassis en bois fabriqués par semaine,
on obtient la formulation suivante :
max z =
3x1 + 5x2
x1
≤ 4
≤ 12
2x2
s.c.q.
3x1 + 2x2 ≤ 18
x1 ≥ 0
≥ 0
x2
69
70 Chapitre 9. Le solveur d’EXCEL.
Ceci peut être mis en œuvre en Excel (voir la copie d’écran 9.2) de la
manière suivante :
4. Dans la zone “Cellules variables”, mettre les références des cellules conte-
nant les variables (ici $B$2:$C$2) .
7. Cliquer l’option "Rendre les variables sans contrainte non négatives" qui
correspond aux contraintes de positivité des variables.
8. Lancer la commande “Résoudre”.
La figure 9.3 présente la solution du solveur. Il est à remarquer qu’il
indique directement dans les cases des variables la valeur des variables. On
obtient bien la solution déterminée graphiquement (2,6) à laquelle correspond
une valeur maximum de l’objectif de 36.
de la manière suivante :
72 Chapitre 9. Le solveur d’EXCEL.
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).
9.2. Les rapports du solveur 73
9.3 Exercices
9.1. Organisation de la distribution d’eau. Une agence pour l’eau est
chargée de la fourniture des agglomérations situées dans son district. Le
captage est possible auprès de 3 sources d’offre maximum donnée. Il y a
quatre villes à servir dans ce district. Chaque ville, a des besoins vitaux
en eau repris en avant dernière ligne du tableau 9.1. La compagnie de
transport d’eau est obligée de fournir ces quantités au minimum. Chaque
ville, a une demande maximum donnée en dernière ligne du tableau 9.1).
Le coût unitaire de fourniture dépend à la fois du lieu de production et
du lieu de consommation de l’eau. On se demande comment organiser
Interprétation de la solution
tion. Les temps requis à chaque étape sont donnés pour chaque produit au
tableau 10.2. Enfin, il faut tenir compte des ressources en facteurs disponibles
données au tableau 10.3. Les deux premières étapes sont effectuées sur machine
tandis que la troisième ne nécessite que l’intervention de main d’œuvre. En ce
qui concerne les deux premières étapes, l’usine travaille en deux pauses de huit
heures par jour, et ceci, au maximum six jours par semaine. En ce qui concerne
la troisième, chaque personne travaille une pause de 8 heures par jour et ceci
au maximum 6 jours par semaine.
77
78 Chapitre 10. Interprétation de la solution
z ∗ = 10 920
s∗1 = 0
s∗2 = 14, 4
s∗3 = 0
1. Les produits 3, 4 et 5 sont vendus à des prix trop faibles par rapport aux
deux autres. De combien augmenter leur prix de vente, ou de combien
réduire leur coût de production, pour les rendre attractifs ?
Les réponses à ces deux types de questions sont fournies par l’interpréta-
tion économique de la solution optimale. La figure 10.2 reprend le rapport de
sensibilité d’Excel.
80 Chapitre 10. Interprétation de la solution
10.3 Exercices
10.1. Analyse de sensibilité. Une petite entreprise spécialisée en poterie a
concentré sa production sur deux produits : le bol et la chope. Les deux
ressources de base utilisées pour produire ces deux articles sont la main
d’œuvre et l’argile. Disposant de ces deux ressources en quantité limitées,
l’entreprise désire savoir combien de bols et de chopes elle doit produire
pour maximiser son bénéfice net. L’argile est disponible à raison de 120
livres par jour tandis que 40 heures de travail sont disponibles chaque
jour. Les quantités de ressource par produit ainsi que les marges unitaires
sont données dans le tableau ci-dessous.
Ressources nécessaires Marge
Produit Travail Argile Profit
(heures/unité) (livres/unité) ($/unité)
Bol 1 4 40
Chope 2 3 50
[5] GIARD Vincent, Gestion de la production et des flux, 3ème Édition, Eco-
nomica, Paris, 2003.
85
86 Bibliographie
[21] XPRESS-MP, User Guide and Reference Manual, Release 10, Dash Asso-
ciate, 1997.
Annexe A
Formulaire
f (x) = 3 f 0 (x) = 0;
f (x) = 4x f 0 (x) = 4;
f (x) = 5x2 f 0 (x) = 5 · 2x;
f (x) = 6x3 f 0 (x) = 6 · 3x2 .
87
88 Annexe A. Formulaire
Par exemple :
f (x) = 3 F (x) = 3x;
2
f (x) = 4x F (x) = 4 x2 ;
x3
f (x) = 5x2 F (x) = 5 · 3
;
x4
f (x) = 6x3 F (x) = 6 · 4
.
En général, on peut montrer la formule suivante :
xn+1
f (x) = xn , F (x) = (A.2)
n+1
Par exemple :
Z 2 h i2
(3 + 2x)dx = 3x + x2 = 10 − 4 = 6.
1 1
ax2 + bx + c = 0
b2 − 4ac
Si ce déterminant est négatif, il n’y a pas de racine réelle. Dans le cas contraire,
on peut calculer les deux racines suivantes :
√ √
−b − b2 − 4ac −b + b2 − 4ac
x1 = et x1 =
2a 2a
Il est clair qu’il n’y a qu’une seule racine si le déterminant est nul.
A.5. Equation d’un cercle 89
min f (x)
gk (x) ≤ 0, k = 1, 2, ...p
s.c.q.
hi (x) = 0, i = 1, 2, ...m
min f (x)
gk (x) ≤ 0, k = 1, 2, ...p
s.c.q.
hi (x) = 0, i = 1, 2, ...m
∂L(x∗ )
(1) = 0, ∀j = 1, ...n
∂xj
(3) µk ≥ 0, ∀k = 1, ...p
90 Annexe A. Formulaire
x(α) = x0 + α(x1LP − x0 )