Chap 1
Chap 1
Chapitre 1
Introduction
1. Notion d’efficacité
a. Faire c’est utiliser
b. Utiliser efficacement
c. Mise en garde
2. Les programmes d’optimisation
a. Motivations
b. Définition
c. Exemples
3. Vers la résolution de programmes
a. Dépasser la liste des cas
b. Notion de contrainte
c. Domaine
1
Vocabulaire
3
Il est possible d’utiliser différemment un même stock de ressources
disponibles et d’obtenir ainsi différents résultats.
Par exemple, disposant de 2h avant un examen, je peux :
réviser 1h puis dormir 1h, ou dormir 2h, ou regarder un film, ou
réviser 2h, ou ...
4
Conséquence A
nA
isatio
Util
Ressources Utilisation B
Conséquence B
disponibles
Util
isat
ion
C
Conséquence C
5
1. Notion d’efficacité
b. Utiliser efficacement
Une utilisation est efficace lorsque les ressources disponibles sont
utilisées de la meilleure façon.
6
Ainsi pour pouvoir identifier une utilisation efficace, il faut disposer
d’une mesure de la qualité des utilisations possibles.
Une utilisation efficace étant alors associée à la plus grande qualité.
7
Conséquence A :
qualité 10
A
ion
isat
Util
Ressources Utilisation B Conséquence B :
disponibles qualité 5
Util
isat
ion
C
Conséquence C :
qualité 20
8
Exemple
9
Exemple
Coût :
20 000 e
P 2)
→
C2
P 1,
→
(C 1
A:
Euros disponibles
B:
(C
1 →
P2 ,
C2
→
P1 )
Coût :
18 500 e
10
1. Notion d’efficacité
c. Mise en garde
Attention toutefois à bien choisir la mesure de l’efficacité d’une
prise de décision.
Efficacité ne veut pas nécessairement dire profit maximum.
11
Exemple
Pour optimiser un trajet à vélo, il ne s’agit pas juste de trouver le
chemin le plus court.
12
2. Les programmes d’optimisation
2. Les programmes d’optimisation
a. Motivations
L’environnement réel est souvent complexe et les paramètres à
prendre en compte dans une décision sont difficilement identifiables.
Dans ce cas, les conséquences d’une décision sont souvent difficiles
à évaluer.
13
Exemple
La mise en place d’automates de prêts dans les bibliothèques
municipales est-elle efficace pour la collectivité afin de maximiser
le bien-être social ?
14
De plus, même lorsque les paramètres de la situation sont
clairement identifiés, la recherche d’une meilleure solution peut
s’avérer difficile.
15
Exemple
Je veux aller de Bures à Verrières en passant par Chilly en un
minimum de temps
16
Le formalisme mathématique permet parfois de répondre à ces
difficultés :
17
Toutefois, la modélisation peut s’avérer trop simplificatrice.
18
2. Les programmes d’optimisation
b. Définition
Exemple
19
Exemple
19
L’outil mathématique adapté aux problèmes de décision s’appelle
programme d’optimisation.
20
Qualité
e atteinte
sibl
Qualité maximum ?
os
np
atio
U tilis
Maximum obtenu ?
ur p os
vale
Z: D → R
X 7→ Z(X)
24
Notations
Un programme de maximisation se note :
Max Z(X)
s.c. X ∈ D
Min Z(X)
s.c. X ∈ D
25
Définition
Une valeur X ∗ maximisant (ou minimisant) Z(X) est appelée
solution du programme.
La valeur maximale Z(X ∗ ) du critère, atteinte en X ∗ , est appelée
valeur du programme, et notée Z ∗ .
26
Remarque
Il ne peut y avoir qu’une seule valeur Z ∗ d’un programme, mais
cette valeur peut être atteinte en plusieurs solutions.
Exemple
Max Z(x1 , x2 ) = x1
s.c. x1 , x2 ∈ [0, 1]
a pour valeur Z ∗ = 1
X ∗ = (1, 1), X ∗ = (1, 0), X ∗ = (1, 0.4),... sont solutions
(le programme possède une infinité de solutions)
27
Remarque
Un programme peut ne pas avoir de solution (et dans ce cas, il
n’a pas de valeur non plus).
Exemple
Max Z(x1 , x2 ) = x1
s.c. x1 , x2 ∈ [0, +∞[
n’a pas de solution car le critère Z peut être arbitrairement grand
sur le domaine spécifié.
28
Remarque
Toute solution d’un programme de minimisation
[Min Z(X) s.c. X ∈ D] est aussi solution du programme de
maximisation [Max −Z(X) s.c. X ∈ D].
29
Remarque
Toute solution d’un programme de minimisation
[Min Z(X) s.c. X ∈ D] est aussi solution du programme de
maximisation [Max −Z(X) s.c. X ∈ D].
29
Remarque (suite)
De même, toute solution de [Max Z(X) s.c. X ∈ D] est aussi
solution de [Min −Z(X) s.c. X ∈ D].
Ainsi tout problème de décision peut indifféremment être modélisé
par un programme de maximisation ou de minimisation.
30
2. Les programmes d’optimisation
c. Exemples
Reconsidérons le problème de livraison des bateaux.
coût ?
31
Modélisation no 1
32
Modélisation no 1
32
Modélisation no 1
32
Modélisation no 1
32
Modélisation no 1 (suite)
Z = 100(100 + 100)
= 20 000
00)
100, 1
=(
, x 2)
(x 1
Z = 100(140 + 45)
= 18 500
33
Modélisation no 2
34
Modélisation no 2
34
Modélisation no 2 (suite)
Z = 10 000 + 10 000
= 20 000
2 )
(1,
x2 )=
(x 1,
Z = 4 500 + 14 000
= 18 500
35
Modélisation no 3
36
Modélisation no 3
36
Modélisation no 3 (suite)
Z = 10 000 × 1 +
14 000×0+4 500×0+
, x 22
)= 10 000 × 1 = 20 000
, x 21
, x 12
(x 11
, 1)
0, 0
(1,
Z = 10 000 × 0 +
14 000×1+4 500×1+
10 000 × 0 = 18 500
37
3. Vers la résolution de
programmes
3. Vers la résolution de
programmes
Modélisation no 1 no 2 no 3
Variables x1 , x2 ∈ R x1 , x2 ∈ {1, 2} x11 , x12 , x21 , x22 ∈ N
nombre de km no de port nombre de bateaux
par bateau (
par bateau par trajet
10 000 si x1 = 1
Objectif Z 100x1 + 100x2 Z= Z = 10 000x11 + 14 000x12
14 000 si x1 = 2
(
4 500 si x2 = 1
+ +4 500x21 + 10 000x22
10 000 si x2 = 2
Domaine D {(100, 100), (140, 45)} {(1, 2), (2, 1)} {(1, 0, 0, 1), (0, 1, 1, 0)}
38
Dans une situation plus complexe, le choix du modèle doit être
pertinent pour permettre sa résolution facilement.
C’est-à-dire pour permettre sa résolution par une machine en un
temps raisonnable.
39
Si on part d’une situation avec 3 chantiers, 3 ports, 1 bateau
disponible par chantier et 1 bateau à livrer dans chaque port, alors
il faut comparer les coûts des 6 cas :
(C1 → P1 , C2 → P2 , C3 → P3 ), (C1 → P1 , C2 → P3 , C3 → P2 ),
(C1 → P2 , C2 → P1 , C3 → P3 ), (C1 → P2 , C2 → P3 , C3 → P1 ),
(C1 → P3 , C2 → P1 , C3 → P2 ), (C1 → P3 C2 → P2 , C3 → P1 ).
C’est encore raisonnable.
40
Une situation analogue avec 20 chantiers et 20 ports compte :
41
Une situation analogue avec 20 chantiers et 20 ports compte :
20 × 19 × . . . × 1 ≃ 2 × 1018 cas.
Même avec un ordinateur puissant, le nombre de cas à évaluer
devient trop important dès que le nombre de chantiers et de ports
devient relativement grand.
On pourrait aussi imaginer plusieurs bateaux disponible par
chantier, plusieurs bateaux à livrer dans chaque port, ce qui
décuplerait le nombre de cas à traiter.
41
La méthode de résolution d’un programme d’optimisation par
évaluation exhaustive des cas possibles n’est pas en général
algorithmiquement efficace.
42
Dans le cours, nous présentons des méthodes évitant l’examen de
l’ensemble des cas possibles.
Ces méthodes reposent sur une description du domaine plutôt
qu’une présentation de la liste de ses éléments.
43
Exemple
x2
•
• •
• • •
• • • •
• • • • •
x1
Un domaine
• à partir de D = {(0, 0), (1, 0), (2, 0), (3, 0), (4, 0), (0, 1), (1, 1),
(2, 1), (3, 1), (0, 2), (1, 2), (2, 2), (0, 3), (1, 3), (0, 4)},
il y a 15 conditions à considérer :
(x1 , x2 ) = (0, 0) ou (x1 , x2 ) = (1, 0) ou . . .ou (x1 , x2 ) =
(0, 4) ;
• à partir de D = {x1 , x2 ∈ N | x1 + x2 ≤ 4, x1 ≥ 0, x2 ≥ 0},
il y a 3 conditions à considérer :
x1 + x2 ≤ 4, x1 ≥ 0 et x2 ≥ 0.
45
3. Vers la résolution de
programmes
b. Notion de contrainte
Plutôt que d’énumérer tous les cas possibles, le domaine peut être
décrit par l’ensemble des contraintes que doit satisfaire une valeur
pour être admissible.
46
Définition
Une contrainte est une relation qui doit être vérifiée par toute
valeur admissible.
Exemple
Un investisseur choisit d’investir un montant x dans une
entreprise.
A priori, x peut prendre toutes les valeurs positives (1 euro, 1
milliard d’euros, ...).
La contrainte de budget de l’investisseur est la relation entre le
montant x et le budget B de l’investisseur : x ≤ B.
Ainsi, pour qu’un montant x soit admissible, il faut que x ≤ B
soit vérifiée.
Si B = 106 , alors 107 ≤ 106 n’est pas vérifiée, donc x = 107 n’est
pas admissible.
47
Astuce : Analyse dimensionnelle
48
Astuce : Analyse dimensionnelle
x1 + x2 ≤ 1
est :
49
Remarque
Une contrainte considérée isolément permet d’exclure du domaine
les valeurs ne la vérifiant pas.
Elle ne permet pas de rendre admissible les valeurs la vérifiant.
50
Exemple
Un investisseur cherche à placer une somme d’argent. Il dispose
de 100 000e, et peut investir dans deux entreprises. De plus, il
souhaite investir plus dans l’entreprise 2 que dans l’entreprise 1.
51
Exemple
Un investisseur cherche à placer une somme d’argent. Il dispose
de 100 000e, et peut investir dans deux entreprises. De plus, il
souhaite investir plus dans l’entreprise 2 que dans l’entreprise 1.
On modélise la somme à placer dans les entreprises 1 et 2 par les
variables x1 et x2 , avec x1 ∈ [0, +∞[ et x2 ∈ [0, +∞[.
Comme il ne peut investir qu’une quantité positive d’argent, on a
x1 ≥ 0 et x2 ≥ 0.
La contrainte de budget de l’investisseur s’écrit
x1 + x2 ≤ 100 000.
La préférence de l’investisseur pour l’entreprise 2 s’écrit x1 ≤ x2 .
Ces quatre contraintes déterminent les choix possibles pour
l’investisseur.
51
3. Vers la résolution de
programmes
c. Domaine
Chaque contrainte exclut un certain ensemble de valeurs des
variables.
Le domaine est alors constitué des valeurs qui, en considérant
chaque contrainte isolément, ne sont exclues par aucune contrainte.
Toutes les valeurs possibles
une contrainte
D
Valeurs exclues par
52
D2 D3
D1
53
Exemple
(
x1 + x2 ≥ 5
Le domaine D : est tel que :
x1 ≥ 0
54
Exemple
Reprenons le problème de transport des bateaux et les 3 modèles
considérés précédemment
C1
• 100 km
140 km • P1
45 km
• P2
•100 km
C2
Modélisation no 1 no 2 no 3
Variables x1 , x2 ∈ R x1 , x2 ∈ {1, 2} x11 , x12 , x21 , x22 ∈ N
nombre de km no de port nombre de bateaux
par bateau (
par bateau par trajet
10 000 si x1 = 1
Objectif Z 100x1 + 100x2 Z= Z = 10 000x11 + 14 000x12
14 000 si x1 = 2
(
4 500 si x2 = 1
+ +4 500x21 + 10 000x22
10 000 si x2 = 2
Domaine D {(100, 100), (140, 45)} {(1, 2), (2, 1)} {(1, 0, 0, 1), (0, 1, 1, 0)} 55
Exemple (suite)
L’expression des contraintes dépend fortement des choix de
modélisation.
Si xi représente le nombre de km par bateau disponible en Ci
(modélisation no 1), alors les valeurs a priori possibles des variables
sont tous les couples (x1 , x2 ) avec x1 ∈ [0, +∞[ et x2 ∈ [0, +∞[.
Les contraintes doivent exclure tous les couples sauf (100, 100) et
(140, 45).
Il semble difficile de caractériser D comme une intersection
d’ensemble de valeurs vérifiant certaines relations entre x1 et x2 .
56
Exemple (suite)
Si xi représente le numéro du port où amener le bateau en Ci
(modélisation no 2), alors les valeurs a priori possibles des
variables sont (1, 1), (1, 2), (2, 1) et (2, 2).
Les contraintes doivent exclure (1, 1) et (2, 2).
Par exemple, le domaine peut être identifié par une unique
relation : x1 + x2 = 3.
Toutefois, cette contrainte est difficilement interprétable dans la
situation, et difficilement généralisable à de nombreux ports,
nombreux chantiers, ...
57
Exemple (suite)
Si xij représente le nombre de bateaux parcourant Ci → Pj
(modélisation no 3), , alors les valeurs a priori possibles des
variables sont (0, 0, 0, 0), (0, 0, 0, 1), (0, 0, 1, 0), (0, 0, 1, 1), . . .,
(1, 1, 1, 1) (on trouve 24 = 16 possibilités).
Les contraintes doivent exclure toutes les possibilités sauf
(1, 0, 0, 1) et (0, 1, 1, 0).
Les contraintes suivantes conviennent :
58
Exemple (suite)
Le programme d’optimisation du modèle no 3 s’écrit alors :
Min
100x11 + 140x12 + 45x21 + 100x22
x11 + x12 ≤ 1,
x21 + x22 ≤ 1,
s.c. x11 + x21 ≥ 1,
x12 + x22 ≥ 1,
x , x , x , x ∈ {0, 1}.
11 12 21 22
59
Exemple (suite)
Le modèle no 3 se généralise facilement à de nombreux ports,
chantiers et bateaux.
Par exemple, avec 20 chantiers, 20 ports, et 1 bateau par
chantier, le domaine contient 20 × 19 × . . . × 1 ≃ 2 × 1018 valeurs
admissibles.
En utilisant la formalisation no 3, le nombre de variable xij est
20 × 20 = 400, et le nombre de contraintes est 40 :
1 Variables décisionnelles ?
2 Fonction objectif ?
3 Contraintes ?
61
Variables décisionnelles
62
Variables décisionnelles
62
Variables décisionnelles
62
Variables décisionnelles
63
Fonction objectif
63
Fonction objectif
63
Fonction objectif
63
Fonction objectif
63
Fonction objectif
63
Fonction objectif
63
Fonction objectif
63
Fonction objectif
63
Fonction objectif
63
Contraintes
64
Contraintes
• Contraintes intrinsèques
64
Contraintes
64
Contraintes
64
Contraintes
64
Contraintes
64
Contraintes
Les contraintes ne peuvent pas être les mêmes selon ce que l’on
souhaite optimiser. Il est absurde d’imposer un profit minimal si
l’on est déjà en train de maximiser le profit !
64
Contraintes (suite)
— Contrainte de matériaux.
Chaise Table Buffet
Planches 1 3 6
Tasseaux 4 8 2
Quincaillerie 20 16 60
Vernis 1 3 6
65
Contraintes (suite)
— Contrainte de matériaux.
Chaise Table Buffet
Planches 1 3 6
Tasseaux 4 8 2
Quincaillerie 20 16 60
Vernis 1 3 6
• Construire dans les limites d’un stock.
• Ne pas dépasser un certain budget de commande de ma-
tière première.
65
Contraintes (suite)
— Contrainte de matériaux.
Chaise Table Buffet
Planches 1 3 6
Tasseaux 4 8 2
Quincaillerie 20 16 60
Vernis 1 3 6
• Construire dans les limites d’un stock.
• Ne pas dépasser un certain budget de commande de ma-
tière première.
— Diversité : construire au moins un exemplaire de chaque meuble
pour alimenter les réseaux publicitaires.
65
Contraintes (suite)
— Contrainte de matériaux.
Chaise Table Buffet
Planches 1 3 6
Tasseaux 4 8 2
Quincaillerie 20 16 60
Vernis 1 3 6
• Construire dans les limites d’un stock.
• Ne pas dépasser un certain budget de commande de ma-
tière première.
— Diversité : construire au moins un exemplaire de chaque meuble
pour alimenter les réseaux publicitaires.
— ...
65
Résumé du chapitre (1/2)
66
Résumé du chapitre (2/2)
67