Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Méthodes quantitatives
appliquées à l’environnement I.
Daniel DE WOLF.
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
3
4 Table des matières
II Méthodes d’optimisation 35
7 Le solveur d’EXCEL. 63
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.2 Les rapports du solveur . . . . . . . . . . . . . . . . . . . . . . 68
7.2.1 Le rapport des réponses . . . . . . . . . . . . . . . . . . 68
7.2.2 Le rapport de sensibilité . . . . . . . . . . . . . . . . . . 69
7.2.3 Le rapport des limites . . . . . . . . . . . . . . . . . . . 70
7.3 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5
Chapitre 1
Introduction
L’objectif de ce cours est double. Il s’agit, d’une part, de donner une introduction
à la modélisation mathématique, outil couramment utilisé en gestion de l’eau,
en gestion des transports (voir cours de Master 2). Il s’agit, d’autre part, de voir
quelques méthodes de résolution de ces modèles principalement en ce qui concerne
les modèles linéaires et les modèles non linéaires.
Nous introduirons la notion de modèle mathématique d’optimisation. On fait
face à ce type de modèle lorsqu’il y a des actions à prendre en vue de minimiser ou
maximiser un objectif en respectant un certain nombre de contraintes. Prenons un
exemple. En traitement des déchets ménagers, on peut vouloir minimiser le coût
de traitement de ces déchets tout en respectant un certain nombre de contraintes
environnementales (normes sur la qualité de l’air rejeté, proportion maximum de
déchets non recyclé, etc...). Les actions à prendre peuvent être représentée par les
quantités de déchets envoyées aux différentes filières (recyclage, enfouissement,
incinération, etc...).
En ce qui concerne les technique d’optimisation, nous nous limiterons à exposer
quelques techniques qui concernent :
• les problèmes linéaires que l’on rencontre lorsque toutes les relations mathé-
matiques du modèle sont purement linéaires;
• les modèles non linéaires que l’on rencontre lorsque soit la fonction objectif,
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).
7
8 Chapitre 1. Introduction
Une matrice est un outil mathématique très pratique sur le plan des calculs. Une
matrice est un tableau de nombres sur lequel des opérations peuvent être effectuées.
est une matrice de genre (3, 2), c’est-à-dire qu’elle comporte 3 lignes et 2 colonnes.
Il y a deux façons de spécifier une matrice : la définition sous forme extensive
et la définition sous forme compréhensive. La forme extensive consiste à décrire
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éfinition sous forme compréhensive, 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 :
A = {aij }i=1,2,...,m; j=1,2,...,n . (1.2)
Une formule accompagne cette description pour expliciter l’élément en fonction
de son indice de ligne et de colonne. Un cas remarquable est celui de la matrice
10 Chapitre 1. Introduction
La motivation pour l’étude d’une telle opération sur les matrices est de pouvoir,
dans un modèle d’affectation du trafic, additionner les demandes de différents
groupes d’utilisateurs se déplaçant sur un même réseau. Ainsi, on additionnera, par
exemple, les matrices origine-destination des voitures particulières et des camions.
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.
12 Chapitre 1. Introduction
La motivation pour l’étude d’une telle opération sur les matrices est de pou-
voir, dans un modèle d’affectation du trafic, tenir compte d’une augmentation
générale de la demande de déplacements. Cela se traduira, pour la matrice origine-
destination par la multiplication par un scalaire.
Une autre motivation possible pour l’étude d’une telle opération est la trans-
formation d’une matrice origine-destination représentant la demande de transport
de camions en une matrice origine-destination d’équivalents voitures 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
La motivation pour l’étude d’une telle opération sur les matrices est de pouvoir,
dans un modèle d’affectation du trafic, passer de la demande d’heure de pointe
du matin à la demande d’heure de pointe du soir. Comme généralement les gens
retournent chez eux le soir, la matrice origine-destination du soir est la transposée
de celle du matin.
Autrement dit :
AT = {aij T },
Section 1.4. Calcul matriciel 13
avec
aij T = aji .
Exemple :
3 −2
3 4 8
A=
4 5
AT = .
−2 5 −1
8 −1
A = AT .
L’interprétation sur le tableau est que les éléments situés symétriquement par rap-
port à la diagonale principale doivent être identiques.
La motivation pour l’étude d’une telle opération est la suivante. Si cj est le coût
unitaire de transport d’une tonne de produit j et xj est le nombre de tonnes de
produit j transportées, le coût total de transport z se calcule comme suit :
n
z= cj xj = cT x.
j=1
On vérifie bien, dans la notation reprise ci-dessus, que le ième élément du vecteur
ligne xT est multiplié par le ième du vecteur colonne y et qu’ensuite on effectue la
somme de ces produits. Il est à noter que cette opération peut être effectuée grâce
à la fonction SOMMEPROD d’EXCEL.
xT y = 3 · 1 + 2 · 2 + 1 · 4 + 1 · 1 = 12.
Le produit matriciel :
La motivation pour l’étude d’une telle opération sur les matrices est de pou-
voir, dans un modèle d’affectation du trafic, faire des changements non uni-
formes de la matrice origine-destination. Par exemple, une augmentation du
nombre de véhicules quittant une zone ou arrivant dans une zone se traduit par
la prémultiplication ou la postmultiplication de la matrice origine-destination par
une matrice différente de la matrice identité par un seul élément diagonal.
Le produit matriciel
C = AB
Section 1.4. Calcul matriciel 15
avec l’élément cij qui est le produit scalaire de la ligne i de A par la colonne j de
B: n
cij = aik bkj .
k=1
Exemple 1.3 Calculez C = AB, où les matrices A et B sont données par :
2 1
2 1
A= 3 6
B=
1 3
4 5
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.
On a donc que :
1 0
1 1 0
A= 1 1 B=
.
0 1 1
0 1
16 Chapitre 1. Introduction
a c
b
a c
b
a c
On constate que ci k donne le nombre de routes liant ai à ck en passant par une des
deux villes intermédiaires b1 ou b2 .
Voyons maintenant un cas particulier important. Il s’agit du cas où p = 1.
C’est le cas où l’on multiplie une matrice (m × n) par un vecteur. Le membre de
gauche d’un système d’équations linéaires rentre dans cette catégorie. En effet, le
système
a11 x1 +a12 x2 . . . +a1n xn = b1
a21 x1 +a22 x2 . . . +a2n xn = b2
... ... ... ... ... ...
am1 x1 +am2 x2 . . . +amn xn = bm
peut se noter matriciellement de la manière suivante :
a11 a12 . . . a1n x1 b1
a21 a22 . . . a2n
x2
b2
= ,
... ... ... ... ... ...
am1 am2 . . . amn xn bm
ou encore
Ax = b.
1.5 Exercices
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.
18 Chapitre 1. Introduction
Anvers(1) Herentals(7)
Liers(6)
Malines(2) Aarschot(5)
Leuven(4)
Bruxelles(3)
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 également nous permettre
d’introduire le concept de modèle d’optimisation. Considérons le problème d’une
société locale de transport de gaz dans une région comme la région du Nord.
Les données du problème utilisées ici sont purement fictives. En effet, seule la
société de transport, en l’occurrence, Gaz de France, dispose de ces informations
stratégiques que sont, par exemple, la consommation de ses gros clients industriels.
Supposons donc que la région du Nord soit alimentée 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égien et néerlandais qui arrivent
par gazoducs terrestres via la Belgique de Mons ou de Tertre (voir figure 2.1). Le
tableau 2.1 reprend les quantités injectées dans le réseau en ces différents points
d’offre.
Point Offre
Dunkerque 110
Mons 60
Tertre 0
Tableau 2.1: Quantités offertes.
19
20 Chapitre 2. Les notions de graphe, de flot et de réseau.
Pour acheminer le gaz depuis les points d’entrée dans le réseau régional jus-
qu’aux clients, Gaz de France 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 2.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
Figure 2.1: Représentation des principaux gazoducs.
i Ville correspondante
1 Dunkerque
2 Lille
3 Lens
4 Tertre
5 Mons
6 Valenciennes
7 Denain
Tableau 2.3: Nœuds du réseau.
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éros comme indiqué à la figure 2.2 aux arcs, on peut décrire 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éseau.
22 Chapitre 2. Les notions de graphe, de flot et de réseau.
On a donc que :
A = {(1, 2), (1, 3), (2, 3), (4, 2), (2, 6), (5, 6), (6, 7), (3, 7)}
Dunkerque
1 arc 1 Lille
arc 4
4 Tertre
2
arc5
arc2 arc 3
Valenciennes
5 Mons
6
arc 6
Lens 3 arc 7
arc 8
7
Denain
Nous allons maintenant introduire la notion de flot. Dans chaque arc, on va faire
circuler un flux, c’est-à-dire une quantité par unité de temps. Dans notre exemple,
il s’agissait de la quantité de gaz circulant par jour du nœud i au nœud j. On note
par fij cette quantité qui traverse l’arc (i, j) par unité de temps.
fij
i j
• Les contraintes de conservation aux nœuds expriment que ”tout ce qui entre
au nœud” est égal à ”tout ce qui sort”. On peut écrire, pour l’exemple, que :
O1 = f12 + f13
f12 + f42 = f23 + f26 + D2
f13 + f23 = f37 + D3
O4 = f42
O5 = f56
f26 + f56 = D6 + f67
f37 + f67 = +D7
Oi
k j
fki i fij
Di
f12 ≤ 70 f37 ≤ 20
f13 ≤ 50 f42 ≤ 20
f23 ≤ 20 f56 ≤ 70
f26 ≤ 20 f67 ≤ 40
En général, si cij note la capacité de l’arc (i, j), c’est-à-dire le flux maximum
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 :
0
110
0
Dunkerque 60
1 60 Lille 0 4
2
Tertre
50 0
Valenciennes
6 5 Mons
60
Lens 3 10 10
Denain
40 50
60 7
20
Comme la somme des entrées doit être égale à la somme des sorties, on peut
relier le nœud de sortie n + 1 au nœud d’entrée 0 par un arc de retour (n + 1, 0).
Définition 2.2 On appelle flot l’ensemble des flux d’arcs s’ils respectent :
Le flux traversant l’arc de retour est appelé le flot total traversant le réseau.
Dans l’exemple, le but était de déterminer le flux maximum qui pouvait traverser
le réseau. Aussi peut-on écrire l’objectif suivant :
max z = f80
Section 2.4. Exercices 25
2.4 Exercices
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é à la figure 2.6.
On a représenté le trafic actuel ainsi que la capacité maximum de chacune
teau vers les ports d’arrivée aux États-Unis. Les capacités journalières de
transport par bateau sont données au tableau 2.7. Une barre dans ce tableau
indique que le transport est impossible. Enfin, depuis les ports d’arrivés, les
3.1 Introduction
On parle de problèmes linéaires lorsque l’on veut minimiser une fonction linéaire
sous des contraintes purement linéaires.
On appelle programmes en nombres entiers les modèles comportant une
fonction objectif et des contraintes linéaires et des variables astreintes à des valeurs
entières. Si certaines variables du modèle sont continues et d’autres en nombres
entiers, on parle de programmation mixte entière. Enfin, un cas particulier très
fréquent de programmes en nombres entiers est celui où les variables ne peuvent
prendre que les valeurs 0 ou 1 : on parle alors de programmation zéro/un.
Comme nous le verrons à la section 3.3, la classe d’application des modèles
en nombres entiers est plus large que l’on ne le pense. Il y a certes les problèmes
où soit les quantités de facteurs mises en œuvre sont indivisibles (comme les per-
sonnes), soit les quantités produites sont indivisibles et en petite quantité (comme
la production d’avions). Mais, 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
tout ou rien.
Nous prenons un exemple tiré de Hillier et Lieberman [8]. Il s’agit d’une entreprise
de fabrication de chassis qui envisage la production de deux nouveaux modèles
au moyen des capacités résiduelles de ses trois ateliers. Il s’agit respectivement
d’un chassis en aluminium et d’un chassis en bois. Le premier produit 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 second produit
nécessite le passage dans le deuxième atelier pour fabriquer le cadre en bois et
27
28 Chapitre 3. Formulation en modèles d’optimisation.
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 3.1.
2. formulation de l’objectif;
Cette définition permet de différencier les variables des paramètres, qui sont des
données qui peuvent varier, par exemple d’une période à l’autre ou d’un scénario
à l’autre. Ici les quantités que le modèle doit déterminer sont les productions de
chassis par semaine. Notons donc :
Ici l’entreprise désire maximiser son profit net. La marge étant de 3 pour le premier
type de chassis et de 5 pour le second, l’objectif s’exprime comme suit :
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.
Elles peuvent être plus complexes comme les contrainte de capacité de produc-
tion. Le temps pour assembler 1 chassis de type 1 dans l’atelier 1 est de 1 heure
où il reste 4 heures disponibles. D’où la contrainte de capacité de l’atelier 1 :
x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
On obtient un problème linéaire car aussi bien la fonction objectif que les
contraintes s’expriment comme des fonctions linéaires des variables.
30 Chapitre 3. Formulation en modèles d’optimisation.
Dans cette section, nous voyons plus en détails les différents types de problèmes
où la programmation en nombres entiers est d’application.
Ce sont les problèmes où l’on encoure un coût fixe de mise en route de la production.
Supposons que x note la quantité produite d’un bien au coût marginal c et que f
note le coût fixe de mise en route de la production. Le coût total de production,
noté z, s’exprime de la manière suivante :
0 si x = 0;
z=
f + cx si x > 0.
On a donc une condition logique : s’il y a production, le coût fixe doit être encouru.
Dans le cas contraire, il n’est pas encouru. La forme de cette fonction (non linéaire)
est représentée à la figure 3.1.
c(x)
x
Figure 3.1: Problème avec coût fixe de production
z = f y + cx
Section 3.3. Formulation des problèmes en nombres entiers 31
x ≤ My (3.3)
mi yi ≤ xi ≤ Mi yi et yi ∈ {0, 1} (3.4)
où mi est une borne inférieure sur la teneur de xi dans le mélange et Mi est une
borne supérieure sur la teneur de xi dans le mélange.
La condition du nombre maximum d’ingrédients dans le mélange s’exprime
alors simplement par :
n
yi ≤ k, (3.5)
i=1
32 Chapitre 3. Formulation en modèles d’optimisation.
1. Soit xi > 0. Alors, par les contraintes (3.4), la variable yi doit valoir 1 et
exprime bien que l’ingrédient i est dans le mélange.
y1 + y2 + y3 + y4 = 1 (3.6)
yi ∈ {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 à zéro.
Section 3.4. Exercices 33
3.4 Exercices
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é reçoit
pour la vente de journaux chute et donc la compagnie ne désire pas vendre
plus que cette quantité. Combien la société doit-elle acheter de déchets par
an à chacune des deux villes ?
Formuler mathématiquement le problème comme un problème d’optimisa-
tion linéaire à deux variables (choix des variables, expression des contraintes
et de l’objectif).
Lignes A B C D
Petits avions 10 17 15 23
Grands avions 90 210 140 250
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 :
35
Chapitre 4
4.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 4.2 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’al-
gorithme du Simplexe dont nous présenterons le principe à 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ésenterons dans la
troisième partie du cours possède également une mise en œuvre de l’algorithme
du Simplexe.
max z = 3 x1 + 5 x2
x1
≤ 4
2x2 ≤ 12
(4.1)
s.c.q.
3x1 + 2x2 ≤ 18
x1 ≥ 0
x2 ≥ 0
37
38 Chapitre 4. 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 (4.1).
x2
(4)
10
8 (1)
(2)
6
2 (3)
(5)
0 2 4 6 8 x1
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 4.2 où l’on a représenté z = 15 et z = 30.
x2
z = 30 (2, 6)
6
z = 15
4
2 z = 36
0 2 5 6 10 x1
z = 3x1 + 5x2 = 15
passe par les points (5,0) et (0,3) tandis que la droite d’isovaleur z = 330, c’est-à-
dire :
z = 3x1 + 5x2 = 30
40 Chapitre 4. Résolution des modèles linéaires
passe par les points (10,0) et (0,6) . On obtient donc des droites parallèles qui
montent vers le haut si z s’accroı̂t.
Enfin, et c’est la troisième étape de la résolution, l’optimum sera déterminé
graphiquement comme le plan de production situé sur la droite d’isoprofit la plus
élevée, c’est-à-dire celle qui donne le profit le plus élevé. On voit à la figure 4.2
qu’il s’agit du point
x∗ = (2, 6).
Justifions ce choix. Comme on maximise le profit on a intérêt à prendre la droite
d’isovaleur la plus élevée possible. Bien sûr, il faut que le plan de production soit
encore réalisable : autrement dit, il faut se restreindre à la région réalisable. On a
alors la très important remarque suivante :
Il est facile, dans ce cas, de voir que les droites d’isovaleur de l’objectif seraient
toutes parallèles au côté :
3x1 + 2x2 = 18
On en déduit que tout le côté joignant le sommet (2,6) au sommet (4,3) est
optimal. Mais, même dans ce cas, on peut trouver une solution (même deux) en
un sommet de la région réalisable. Il suffit de choisir le point (2,6) ou le point
(4,3). Sur base de cet exemple, on tire une troisième observation :
Observation 4.3 Même si tout un côté du polygone est optimal, on peut toujours
choisir une solution optimale correspondant à un sommet.
Section 4.3. Principe de l’algorithme du Simplexe 41
Définition 4.2 On appelle sommets adjacents d’un polygone, deux sommets joints
par un côté du polygone.
Par exemple, à la figure 4.3, 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.
x1 = 0
10
(0, 9)
8 x1 = 4
(2, 6) (4 , 6)
(0, 6) 2x2 = 12
4 (4, 3)
2 3x1 + 2x2 = 18
(0 , 0) 2 (4, 0) (6 , 0) 8 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.
x1
9
Itération 2
P 2 = (2, 6)
P 1 = (0, 6)
Itération 1
P 0 = (0, 0) 2 4 6 x2
4.4 Exercices
4.2. La minimisation des coûts. Une entreprise peut fabriquer un même produit
dans deux usines différentes. Les capacités de production de ces deux usines,
exprimées en quantité de produit par jour, sont de 7 pour la première 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 à cette production est de 60
par jour. Or chaque unité produite nécessite 10 heures de main d’œuvre dans
la première usine alors qu’elle n’en nécessite que 5 dans la seconde. Enfin,
la production totale doit permettre de satisfaire au moins une demande de 8
unités par jour. Sachant que les coûts variables unitaires sont de 2 pour la
première usine et de 3 pour la seconde, l’entreprise désire produire à coût
minimum.
(a) Calculer la marge nette de frais de transport pour chacun des deux
produits.
44 Chapitre 4. Résolution des modèles linéaires
min f (x)
hi (x) = 0, i = 1, 2, . . .m (5.1)
s.c.q.
gk (x) ≤ 0, k = 1, 2, p
45
46 Chapitre 5. Résolution des modèles non linéaires.
Définition 5.1 La dérivée partielle d’une fonction par rapport à une variable est
obtenue en dérivant la fonction en considérant que toutes les autres variables sont
des constantes.
µ1 g1 = µ1 (x21 + x22 − 5) = 0
µ2 g2 = µ2 (3x1 + x2 − 6) = 0
µ1 ≥ 0
µ2 ≥ 0
48 Chapitre 5. Résolution des modèles non linéaires.
Pour illustrer l’utilité des conditions de Kuhn et Tucker, nous allons les appliquer à
un exemple de calcul d’équilibre de l’utilisateur. Considérons l’exemple de réseau
très simple illustré à la figure 5.1 où deux chemins parallèles joignent le point
d’entrée O du point de sortie D du réseau.
qOD = 5 x1
O D
x2
t1 = 2 + x1
t2 = 1 + 2x2
qui donnent le temps de traversée de l’arc en fonction du flux sur celui-ci. Le flux
total entre O et D est qOD = 5.
Nous allons calculer l’équilibre pour cet exemple en écrivant la formulation sous
forme de minimisation et en résolvant les conditions de Kuhn et Tucker. Le
Section 5.2. Application au calcul d’équilibre de l’utilisateur 49
1. Comme seul l’objectif est non linéaire, on va remplacer f (x) par son ap-
proximation de Taylor limitée à l’ordre 1 :
∂f ∂f
f (x) ∼ f (0, 0) + (0, 0)(x1 − 0) + (0, 0)(x2 − 0)
∂x1 ∂x2
x2
P1
3
z = 5x 1 + 8x 2
P2
P0
1 2 x1
x1 = x0 + α(x1LP − x0 )
x1 0 0−0 0
= +α =
x2 0 3−0 3α
Itération 2 :
52 Chapitre 5. Résolution des modèles non linéaires.
max z = 5 x1 + 0 x2
3x1 + 2x2 ≤ 6
s.c.q.
x1 , x2 ≥ 0
Ceci est fait à la figure 5.3. La solution optimale est x2LP = (2, 0).
x2
P1
3
z = 5x 1
2
P2
P0
1 2 x1
3. Recherche unidimensionnelle :
x2 = x1 + α(xLP − x1 )
x1 0 2−0 2α
= +α =
x2 2 0−2 2 − 2α
On obtient donc le problème de minimisation unidimensionnelle :
5.4 Exercices
Nous illustrons la méthode sur l’exemple suivant tiré de Norbert et al [13] dont on
a légèrement modifié la fonction objectif :
55
56 Chapitre 6. Résolution des modèles en nombres entiers
(3)
(2)
x2 (1)
P0
5 P2
P1
P3
4
z = 150
3
0
0 1 2 3 4 5 6 7 8 9 10 x1
x1 = 4, 5 x2 = 4, 75 z0 = 305.
Cette solution est inacceptable car les variables ne sont pas entières. Cependant,
elle fournit une première borne supérieure sur zP∗ N E :
z 0 = 305
x1 = 4, 50
x2 = 4, 75
x1 4 x1 5
z1 = 285 z2 = 300
x1 = 4 x1 = 5
x 2 = 4, 5 x 2 = 4, 5
x2 4 x2 5
z3 = 290 z4 = ∞
x1 = 6 Problème
x2 = 4 non réalisable
suivantes :
Noeud 3 : x1 = 6, x2 = 4, z3 = 290.
Noeud 4 : non réalisable
Noter que, au nœud 3, on a obtenu une solution entière dont la valeur correspon-
dante 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 est clair également qu’il n’y a aucune raison de continuer à diviser le nœud 3
pour lequel la solution optimale du problème en nombres entiers a été obtenue.
On dit que le nœud 3 est coupé.
Remarquons aussi que le nœud 4 a conduit à un problème non réalisable. Ce
n’est pas étonnant vu que l’on rajoute de plus en plus de contraintes. A nouveau,
dans ce cas, il ne sert à rien de continuer à diviser ce nœud. On peut donc couper
le nœud 4.
Remarquons, pour terminer, que l’on peut également couper la branche du
nœud 1. En effet, la valeur de z1 = 285 est inférieure à la borne inférieure de 290
qui vient d’être trouvée. On n’a donc aucun espoir de trouver en poursuivant les
calculs à la branche 1 de trouver une solution entière meilleure que 290. Dans le
cas contraire, on aurait du diviser la branche 1.
La méthode est terminée puisqu’il n’existe plus de nœud à diviser. On déter-
mine la solution optimale comme étant la meilleure solution entière trouvée. Il
s’agit du point P3 suivant :
On a ainsi, pour notre exemple, trouvé et aussi prouvé que la solution du nœud 3
était la solution optimale du problème en nombres entiers.
En conclusions, il y a trois raisons de couper une branche dans l’arbre :
1. lorsque la relaxation linéaire obtenue est non réalisable (cas du nœud 4),
6.2 Exercices
max z = x1 + 2x2
−2x1 + 2x2 ≤ 1
scq x1 + x2 ≤ 6, 5
x1 , x2 ≥ 0 et entiers.
Résoudre par la méthode de branch and bound en résolvant les relaxations
linéaires de manière purement graphique.
6.2. Problème d’affectation de lignes aériennes. Une petite compagnie aérien-
ne dispose de six avions de 150 places. Elle désire affecter sa flotte d’avions
aux deux lignes intérieures ouvertes à la concurrence (les lignes 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 mathématiquement le problème de la meilleure affectation
de la flotte de cette compagnie.
(b) Résoudre par la méthode de branch and bound en résolvant chaque fois
la relaxation linéaire de manière purement graphique.
6.3. 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
On demande de résoudre le problème par la méthode de branch and bound
en résolvant les relaxations linéaires de manière purement graphique.
(a) Résoudre graphiquement la relaxation linéaire initiale.
(b) Représenter ici par un arbre la suite de vos calculs. Justifier les
différents pas de la méthode.
Partie III
Résolution au moyen du solveur d’Excel
61
Chapitre 7
Le solveur d’EXCEL.
7.1 Introduction
63
64 Chapitre 7. Le solveur d’EXCEL.
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é de l’atelier 1 1 0 =B4*$B$2+C4*$C$2 4
5 Capacité de l’Atelier 2 0 2 =B5*$B$2+C5*$C$2 12
6 Capacité de l’atelier 3 3 2 =B6*$B$2+C6*$C$2 18
4. Dans la zone “Cellules variables”, mettre les références des cellules conte-
nant les variables (ici $B$2:$C$2) .
6. Dans ”Option” (voir la copie d’écran 7.2), choisir ”Modèle supposé li-
1. On a rentré les trois contraintes en un bloc. On peut rentrer par groupe les
contraintes ayant même sens. Ainsi, dans l’exemple, on a rentré 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é de l’atelier 1 1 0 2 4
5 Capacité de l’atelier 2 0 2 12 12
6 Capacité de l’atelier 3 3 2 18 18
Lorsque le solveur a terminé, soit qu’il ait trouvé la solution optimale, soit qu’il
ne parvienne pas à en trouver (problème non réalisable ou non convergence de
l’algorithme de résolution), la boı̂te de dialogue illustrée à la figure 7.3 apparaı̂t
(ici avec le message de sortie que l’on attendait, à savoir l’optimalité de solution).
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). Cette
boı̂te permet également de générer à la demande trois types de rapport :
• le rapport de sensibilité,
Le rapport des limites (voir figure 7.6) fournit pour chaque variable :
7.3 Exercices
7.2. Organisation de la distribution d’eau. Une agence pour l’eau est chargé,
dans son district, du captage de l’eau et 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 (le captage est limité pour ne pas diminuer trop le niveau
des nappes souterraines). Le tableau 7.4 donne en dernière colonne l’offre
de chaque source. Il y a quatre villes à servir dans ce district. Le problème
est la répartition de l’eau disponible entre ces quatre villes durant la saison
sèche. Chaque ville, a des besoins vitaux en eau qui sont repris en avant
dernière ligne du tableau 7.4. La compagnie de transport d’eau est obligée
de fournir ces quantités au minimum. Chaque ville, a une demande effective,
qui peut être plus élevée (elle est donnée en dernière ligne du tableau 7.4).
Chacune des villes peut être alimentée par n’importe quelle source, sauf la
ville 4 qui ne peut être alimentée à partir de la source 3. Cependant, vu
l’éloignement géographique, le coût unitaire de fourniture dépend à la fois
du lieu de production et du lieu de consommation de l’eau (voir le tableau
7.4 pour les données.)
à la table 7.5 tandis que les coûts de transport unitaire (en euro/tonne) des
bétons sont donnés à la table 7.6. On veut déterminer 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
Coût de Réception
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
Chaque usine a une capacité mensuelle de traitement qui ne peut être dépassée.
Elle est donnée au tableau 8.4 en tonnes par mois. Chaque dépôt a une capacité
maximum de transit par mois qui est donnée au tableau 8.5 en tonnes par mois.
Chaque ville a une fourniture mensuelle donnée dans le tableau 8.6 en tonnes par
mois. On se demande comment organiser la collecte des bouteilles pour minimiser
73
74 Chapitre 8. Étude de cas 1 : la collecte de bouteilles
Coût de Réception
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 -
Coût de Réception
fourniture Dépôt de Dépôt de Dépôt de Dépôt 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
Usine de Usine de
Liverpool Brighton
Capacité 150 000 200 000
Le tableau 8.8 donne les économies due à la fermeture (en milliers de Livres)
des deux dépôts.
Dépôt Économie
Newcastle 10
Exeter 5
Le tableau 8.9 donne les coûts de fourniture pour les nouveaux dépôts.
Indiquer comment modifier votre formulation mathématique obtenue au cha-
pitre précédent pour pouvoir déterminer quel(s) nouveau(x) dépôt(s) faut-
il ouvrir, si le dépôt de Birmingham doit être étendu et quel(s) dépôt(s)
doit(vent) être fermé(s).
Coût de Fournisseur
fourniture Usine de Usine de Dépôt de Dépôt 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ût de fourniture (nouveaux dépôts)
Chapitre 9
On veut déterminer la manière dont se répartissent les usagers d’un réseau routier.
Pour cela, on va considérer que les usagers choisissent le chemin entre leur origine
à leur destination de temps minimum. Un équilibre sera atteint lorsque, pour tout
groupe d’utilisateurs du réseau ayant même origine et même destination :
Les arcs du réseau sont repris au tableau 9.1. Leur temps de traversée, noté ta (xa )
pour l’arc a est fonction de xa , 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
heure. On considère ici deux paires origine destination. La première va du nœud
Origine Destination aa ba
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
77
78 Chapitre 9. Étude de cas 2 : le transport routier
où xa note le flux sur l’arc a et fp note le flux sur le chemin p et δp,od = 1 si le
chemin p relie o à d. La relation entre x et les variables fp étant donnée par la
relation suivante :
xa = fp ηa,p
p
9.2. Le résoudre afin d’en déduire flux ainsi que les temps de traversée des divers
arcs.
[5] GIARD Vincent, Gestion de la production et des flux, 3ème Édition, Econo-
mica, Paris, 2003.
[7] HEIZEZ Jay, Barry RENDER, Operations Management, 8ème édition, Pear-
son Education, Upper Saddle River, 2006.
79
80 Bibliographie