Recherche op rationnelle et applications
Bernard Fortz
2012-2013
Table des mati res
I
Introduction la recherche op rationnelle
1 Quelques exemples de mod les math matiques
2 Tour dhorizon des techniques de recherche op rationnelle
II Applications de la programmation lin aire
3 D nition, exemples et m thode de r solution
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Notions de bases
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Exemples de mod les lin aires .
3.3 Forme standard et forme canonique dun programme lin aire . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 R solution de programmes lin aires
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 R solution graphique .
.
3.4.2 La m thode du simplexe .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.3 La m thode des deux phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.4 Cas particuliers .
.
.
.
.
.
.
.
.
.
4 Dualit
.
4.1 Le probl me dual
4.2 Relations primal/dual
4.3
.
.
.
.
.
.
.
.
.
.
.
.
.
Interpr tation conomique de la dualit
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Solveurs et langages de mod lisation
III Programmation en nombres entiers et optimisation combinatoire
6 D nitions et exemples
7 Complexit des probl mes et efcacit des algorithmes
8 Probl mes polynomiaux
8.1 Le probl me daffectation .
.
8.2 Mod le de transport .
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 M thodes de Branch-and-Bound
. . . . . . . . . . . . . . . . . . . . .
9.1 Branch-and-Bound pour les probl mes en nombres entiers
9.2 Branch-and-bound pour le voyageur de commerce . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3 Branch-and-bound pour les contraintes disjonctives . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
3
4
6
6
6
6
8
10
10
12
16
17
19
19
20
21
23
27
27
30
31
31
32
39
39
41
42
.
10 M thodes heuristiques
10.1 Introduction .
.
.
10.2 Heuristiques de construction .
.
.
10.3 Recherche locale .
.
.
10.4 M ta-heuristiques .
.
10.5 Algorithmes g n tiques .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
47
47
47
49
50
52
R f rences
Hamdy A. Taha, Operations Research, an introduction, Prentice-Hall
Marc Pirlot, M taheuristiques pour loptimisation combinatoire : un aper u g n ral, Chapitre 1, dans Opti-
misation approch e en recherche op rationnelle, sous la direction de Jacques Teghem et Marc Pirlot, Hermes
Science.
2
Premi re partie
Introduction la recherche op rationnelle
1 Quelques exemples de mod les math matiques
Un premier probl me
Exemple 1 (Achat de billets davion).
Un homme daffaires doit effectuer 5 voyages entre Fayetteville (FYV) Denver (DEN), en partant le lundi de
FYV et revenant le mercredi de DEN FYV.
Billet aller-retour : $400.
R duction de 20 % si un weekend est inclus.
Aller simple : 75 % du prix aller-retour.
Question
Comment acheter les billets pour les 5 semaines ( prix minimum) ?
Aide la d cision
Probl me daide la d cision
1. Quelles sont les alternatives possibles ?
2. Quelles sont les restrictions cette d cision ?
3. Quel est lobjectif utilis pour valuer les alternatives ?
Restrictions
FYV-DEN le lundi et DEN-FYV le mercredi de la m me semaine.
Evaluation des alternatives
Alternatives
Acheter 5 FYV-DEN-FYV normaux. 5 x $400 = $2000
Acheter un FYV-DEN, 4 DEN-FYV-DEN comprenant un weekend et un DEN-FYV. 0.75 x $400 + 4 x 0.8 x
$400 + 0.75 x $400 = $1880
Acheter un FYV-DEN-FYV pour le lundi de la premi re semaine et le mercredi de la derni re semaine, et 4
DEN-FYV-DEN comprenant un weekend pour les autres voyages. 5 x 0.8 x 400 =1600
La troisi me alternative est la meilleure.
Mod le de recherche op rationnelle
Ingr dients principaux
Alternatives (variables, inconnues du probl me).
Restrictions (contraintes).
Fonction objectif optimiser (minimiser ou maximiser).
D nition 1 (Solution admissible). Une solution admissible est un ensemble de valeurs donn es aux variables qui
satisfait toutes les contraintes.
D nition 2 (Solution optimale). Une solution optimale est une solution admissible qui optimise la fonction
objectif.
D nition 3 (Mod le de recherche op rationnelle). Maximiser ou minimiser (fonction objectif) Sujet { contraintes
}
Variables : continues (r elles), enti res, bool ennes (0/1), . . .
Objectif : lin aire / non-lin aire, concave / convexe, . . .
3
Contraintes : lin aire / non-lin aire, concave / convexe, galit s / in galit s, . . .
Param tres : connus avec certitude (mod les d terministes) / incertains (mod les stochastiques)
Exemple 2 (Maximisation de la surface dun rectangle). Supposons que lon veut plier un l de fer de longueur L
en rectangle de mani re maximiser la surface du rectangle.
Formulation
Solution
2 w(cid:1) w = Lw
A = (cid:0) L
dw = L
dA
2 2w = 0
Solution optimale : w = l = L
4
2 w2
max
s.t.
A = lw
l + w = L
2
M thodes de r solution
Dans lexemple, solution analytique au probl me.
La plupart des probl mes pratiques sont trop grands ou trop complexes pour tre r solus analytiquement.
M thodes it ratives
D placement de solution en solution pour atteindre loptimum (m thodes exactes) ou une "bonne" solution
(heuristiques).
Importance des algorithmes et des solutions informatiques.
2 Tour dhorizon des techniques de recherche op rationnelle
Recherche op rationnelle
La recherche op rationnelle est une technique daide la d cision.
Etapes pratiques
1. D nition du probl me
2. Construction dun mod le
3. Solution du mod le
4. Validation du mod le
5. Impl mentation de la solution
M thodologie
Les tapes les plus importantes sont la d nition du probl me (suppose un dialogue avec le d cideur) et la
construction du mod le (prendre conscience des hypoth ses simplicatrices et de leur impact).
La phase de validation doit permettre de remettre en cause la validit du mod le.
Une approche globale n cessite donc un aller-retour constant entre le mod le et les attentes du d cideur.
Techniques principales
Programmation lin aire
Programmation en nombres entiers
Optimisation dans les r seaux
4
lw Programmation non lin aire
"Optimisation" multi-crit res
Programmation dynamique
Mod les stochastiques
Simulation
5
Deuxi me partie
Applications de la programmation lin aire
3 D nition, exemples et m thode de r solution
3.1 Notions de bases
Programmation lin aire
D nition 4 (Programme lin aire). Mod le math matique dans lequel la fonction objectif et les contraintes sont
lin aires en les variables.
Applications
Optimisation de lusage de ressources limit es dans les domaines militaire, industriel, agricole, conomique, ...
Existence dalgorithmes tr s efcaces pour r soudre des probl mes de tr s grande taille (simplexe, points int -
rieurs)
3.2 Exemples de mod les lin aires
Exemple 3 (Production de peinture). Une soci t produit de la peinture dint rieur et dext rieur partir de deux
produits de base M1 et M2.
Donn es
Quantit utilis e
par tonne
Ext rieure
6
1
5
Int rieure
4
2
4
Quantit disponible
par jour
24
6
M1
M2
Prot par tonne
Contraintes suppl mentaires
Demande maximum en peinture dint rieur : 2 tonnes / jour.
La production en peinture dint rieur ne d passer que dune tonne celle dext rieur.
Formulation (Production de peinture)
Alternatives (variables, inconnues du probl me)
x1 = tonnes de peinture dext rieur
produites par jour
x2 = tonnes de peinture
dint rieur produites par jour
Fonction objectif optimiser
max z = 5x1 + 4x2
Restrictions (contraintes)
6
6x1 + 4x2 d 24
x1 + 2x2 d 6
x2 d 2
x2 x1 d 1
x1, x2 e 0
Solutions et m thodes de r solution
Solution admissible : satisfait toutes les contraintes.
x1 = 3, x2 = 1 ( z = 19)
Nous voulons trouver la solution (admissible) optimale.
Innit de solutions admissibles !
M thodes pour trouver loptimum
M thode graphique
Simplexe
( Ellipsoide, points int rieurs )
Exemple 4 (Diet problem). On d sire d terminer la composition, co t minimal, dun aliment pour b tail qui
est obtenu en m langeant au plus trois produits bruts : orge et arachide.
La quantit n cessaire par portion est de 400g.
Laliment ainsi fabriqu devra comporter au moins 30% de prot ines et au plus 5% de bres.
Donn es
Formulation (Diet problem)
Variables
Quantit par gramme daliment
Fibres
Publicité
Prot ines
Aliment
0.02
0.09
Orge
0.06
0.60
Arachide
Co t
(EUR / kg)
1.5
4.5
x1 = grammes dorge par portion
x2 = grammes darachide par portion
Objectif
min z = 0.0015x1 + 0.0045x2
Contraintes
Quantit totale : x1 + x2 e 400
Prot ines : 0.09x1 + 0.6x2 e 0.3(x1 + x2)
Fibres : 0.02x1 + 0.06x2 d 0.05(x1 + x2)
Non-n gativit : x1, x2 e 0
7
3.3 Forme standard et forme canonique dun programme lin aire
Forme standard
D nition 5 (Forme standard). Un programme lin aire est sous forme standard lorsque toutes ses contraintes sont
des galit s et toutes ses variables sont non-n gatives.
Repr sentation matricielle
max
cT x
s.c. Ax = b
x e 0
n variables, m contraintes, m < n, c, x Rn,
b Rm, A Rm n.
Forme canonique
D nition 6 (Forme canonique). Un programme lin aire est sous forme canonique lorsque toutes ses contraintes
sont des in galit s et toutes ses variables sont non-n gatives.
Repr sentation matricielle
max
cT x
s.t. Ax d b
x e 0
n variables, m contraintes, c, x Rn,
Th or me 1 (Equivalence des formes standard et canonique). Tout programme lin aire peut s crire sous forme
standard et sous forme canonique.
b Rm, A Rm n.
D monstration.
Une containte din galit aT x d b peut tre transform e en galit par lintroduction dune variable d cart :
Une contrainte d galit aT x = b peut tre remplac e par deux in galit s :
aT x + s = b,
s e 0.
aT x d b
aT x d b
aT x e b aT x d b.
min cT x = max cT x.
Variable x non restreinte : substitution par deux variables (partie positive et n gative)
Il existe toujours une solution optimale telle que x+ = 0 ou x = 0.
x = x+ x
x+, x e 0.
8
Forme standard du probl me de production de peinture
max z = 5x1 + 4x2
s.c.6x1 + 4x2 d 24
x1 + 2x2 d 6
x2 d 2
x2 x1 d 1
x1, x2 e 0
Forme standard
max z = 5x1 +4x2
s.c.
6x1 +4x2 +s1
x1 +2x2
+s2
= 24
= 6
= 2
+s4 = 1
s1, s2, s3, s4 e 0
+s3
x2
x1 +x2
x1, x2,
Forme matricielle
max
cT x
s.t. Ax = b
x e 0
c =
5
4
0
0
0
0
, x =
x1
x2
s1
s2
s3
s4
, A =
6
1
0
1
4
2
1
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
, b =
24
6
2
1
Variables pouvant prendre des valeurs n gatives
Exemple 5 (Vente de hamburgers).
Un fast-food vend des hamburgers et des cheeseburgers. Un hamburger utilise 125 g. de viande alors quun
cheeseburger nen utilise que 100 g.
Le fast-food d marre chaque journ e avec 10 kg de viande mais peut commander de la viande suppl mentaire
avec un co t additionnel de 2 EUR par kg pour la livraison.
Le prot est de 0.02 EUR pour un hamburger et 0.015 EUR pour un cheeseburger.
La demande ne d passe pas 900 sandwiches / jour, et les surplus de viande sont donn s au Restos du Coeur.
Combien le fast-food doit-il produire de sandwiches de chaque type par jour ?
Variables
x1 = nombre de hamburgers / jour x2 = nombre de cheeseburgers / jour
Contraintes
Commande de viande suppl mentaire :
Le co t pour la viande suppl mentaire appara t seulement si x3 < 0.
125x1 + 100x2 + x3 = 10000,
x3non restreint
9
Substitution de x3 par 2 variables non-n gatives :
x3 = x+
3 x
125x1 + 100x2 + x+
3 , x+
3 , x
3 x
3 e 0
3 = 10000
Borne sup rieure sur les ventes : x1 + x2 d 900.
Mod le complet
max z = 0.02x1 + 0.015x2 0.002x
3
3 x
3
125x1 + 100x2 + x+
s.c.
x1 + x2
x1, x2, x+
3 , x
3
= 10000
d 900
e 0
Remarque : Il existe une solution optimale telle que x+
3 = 0 ou x
3 = 0.
3.4 R solution de programmes lin aires
3.4.1 R solution graphique
Repr sentation graphique
Production de peinture
sous les contraintes :
max z = 5x1 + 4x2
6x1 + 4x2 d 24
x1 + 2x2 d 6
x2 d 2
x2 x1 d 1
x1 e 0
x2 e 0
10
(1)
(2)
(3)
(4)
(5)
(6)
(5)(1)(2)(6)(4)(3)G om trie des solutions
Ensemble des solutions admissibles
Poly dre (ABCDEF)
Courbes de niveaux de lobjectif
Ensemble de solutions ayant un prot (valeur de lobjectif) donn : intersection entre une droite et le poly dre.
Am lioration de la solution
Recherche dune direction dans laquelle le prot z augmente.
R solution graphique (Production de peinture)
Recherche de la solution optimale
La droite mobile doit garder une intersection avec lensemble des solutions admissibles.
Solution optimale : x1 = 3, x2 = 1.5 (E)
La solution optimale est un sommet du poly dre.
Cette observation est la base de lalgorithme du simplexe.
11
ABCDEFz=10ABCDEFz=21R solution graphique (Diet problem)
Diet problem
sous les contraintes
Solution optimale
min z = 0.0015x1 + 0.0045x2
x1 + x2 e 400
0.21x1 0.30x2 d 0
0.03x1 0.01x2 e 0
x1 e 0
x2 e 0
x1 =
4000
17
(cid:39) 235.3 x2 =
2800
17
(cid:39) 164.7
z =
186
170
(cid:39) 1.094
3.4.2 La m thode du simplexe
Id es de base
Solution optimale : sommet (point extr me).
Id e fondamentale du simplexe : d placement de sommet en sommet adjacent de mani re am liorer la fonction
objectif.
Transformation des in galit s en galit s : forme standard du programme lin aire - syst me de m quations
n inconnues (m < n).
Identication alg brique des sommets : correspondance avec les bases dun syst me d quations.
Solutions de base
Syst me de m quations lin aires n inconnues (m < n) : innit de solutions.
Si on xe z ro n m variables : syst me de m quations m inconnues poss dant une solution unique (si la
matrice est inversible). Cest une solution de base.
D nition 7 (Solution de base). Une solution de base dun programme lin aire est la solution unique du syst me
de m quations m inconnues obtenu en xant z ro n m variables (pourvu que la matrice du syst me soit
inversible).
Les variables x es z ro sont appel es variables hors base et les autres variables en base.
12
Exemple 6 (Production de peinture). Prenons B = {s1, s2, s3, s4}.
z = 0 +5x1 +4x2
s1 = 24 6x1 4x2
s2 = 6 x1 2x2
s3 = 2
x2
s4 = 1 +x1 x2
Si x1 = x2 = 0, alors s1 = 24, s2 = 6, s3 = 2, s4 = 1. Toutes ces valeurs sont non-n gatives et la solution est
r alisable.
D nition 8 (Solution de base r alisable). Une solution de base telle que toutes les variables prennent des valeurs
non-n gatives est appel e solution de base r alisable.
G om trie des solutions de base
Prenons B = {s1, s2, s3, s4} x1 = x2 = 0, s1 = 24, s2 = 6, s3 = 2, s4 = 1.
Cette solution de base r alisable correspond au sommet (0, 0).
Base
{s1, s2, s3, s4}
{x1, s2, s3, s4}
{s1, x1, s3, s4}
{x1, x2, s3, s4}
Solution Objectif
(0, 0)
(4, 0)
(6, 0)
(3, 1.5)
0
20
21
Sommet
A
F
Non r alisable
E
Th or me 2. Toute solution de base r alisable correspond un sommet du poly dre.
D termination de la solution de base optimale
n!
Nombre maximum de solutions de base :
m!(nm)!
Algorithme "b te et m chant" : num ration de toutes les bases.
M thode du simplexe : partir dune solution de base admissible et passer une solution de base voisine qui
am liore la valeur de lobjectif.
Solution voisine : changement dune variable en base.
Publicité
3 etapes :
1. D termination de la variable entrante.
2. D termination de la variable sortante.
3. Pivotage.
Lalgorithme du simplexe
Variable entrante
z = 0 +5x1 +4x2
s1 = 24 6x1 4x2
s2 = 6 x1 2x2
s3 = 2
x2
s4 = 1 +x1 x2
Si x1 (ou x2) augmente (entre en base), la valeur de la fonction objectif z augmente.
Quelle est la valeur maximale de x1 ?
13
ABCDEF Contraintes : les autres variables doivent rester positives.
Variable sortante
s1 = 24 6x1 e 0 x1 d 4
s2 = 6 x1 e 0 x1 d 6
e 0 2 e 0
s3 = 2
s4 = 1 +x1 e 0 x1 e 1
x1 d 4
toujours!
toujours!
Pivotage
Si x1 = 4, alors s1 = 0.
x1 entre en base, s1 sort de la base.
Substitution :
Nouveau syst me :
x1 = 4
1
6
s1
2
3
x2
z = 20 5
x1 = 4 1
s2 = 2 + 1
s3 = 2
s4 = 5 1
6 s1 + 2
6 s1 2
6 s1 4
3 x2
3 x2
3 x2
x2
3 x2
6 s1 5
Equations du simplexe
B = indices des variables en base, N = indices des variables hors base.
Notation :
z = z +
xl = bl
(cid:88)
kN
(cid:88)
kN
ckxk
alkxk
l B
ck : prot marginal ou co t r duit.
R gles de pivotage
Variable entrante
Choisir la variable k hors base avec le prot marginal maximum (max z) ou le co t r duit minimum (min z).
max z k = arg max
iN
min z k = arg min
iN
ci
ci
Si ck d 0 (max) ou ck e 0 (min) pour tout k N , solution optimale, STOP.
Variable sortante
Choisir la variable l en base telle que
z = 0 +5x1 +4x2
s1 = 24 6x1 4x2
s2 = 6 x1 2x2
s3 = 2
x2
s4 = 1 +x1 x2
l = arg min
jB:ajk>0
bj
ajk
Si alk d 0 pour tout l B, probl me non born , STOP.
14
z = 0 +5x1 +4x2
s1 = 24 6x1 4x2
s2 = 6 x1 2x2
x2
s3 = 2
s4 = 1 +x1 x2
aij
(cid:48) =
(cid:48)
bi
=
alj
alk
aij
bl
alk
bi
i = l
i (cid:54)= l
aikalj
alk
i = l
i (cid:54)= l
aikbl
alk
z = 20 5
x1 = 4 1
s2 = 2 + 1
s3 = 2
s4 = 5 1
6 s1 + 2
3 x2
6 s1 2
3 x2
4
3
x2
6 s1 5
3 x2
6 s1
x2
Pivotage
z = 0 +5x1 +4x2
s1 = 24 6x1 4x2
s2 = 6 x1 2x2
s3 = 2
x2
s4 = 1 +x1 x2
z = 21 3
x1 = 3 1
2 + 1
x2 = 3
2 1
s3 = 1
2 3
s4 = 5
4 s1 1
4 s1 + 1
8 s1 3
8 s1 + 3
8 s1 + 5
2 s2
2 s2
4 s2
4 s2
4 s2
15
Pr sentation en tableau
Pr sentation compacte pour effectuer les calculs sans r p ter les syst mes d quations.
It ration 1
It ration 2
It ration 3
s2
0
0
1
0
0
s2
0
0
1
0
0
s3
0
0
0
1
0
s3
0
0
0
1
0
s4 Solution
0
0
0
0
1
0
24
6
2
1
s4 Solution
0
0
0
0
1
20
4
2
2
5
Var. en base
z
s1
s2
s3
s4
x1
z
5
1
6
0
1
0
0
0
0 1
x2
4
4
2
1
1
s1
0
1
0
0
0
x1 x2
2
0
1
0
0
0
2
3
4
s1
3 5
6
1
6
3 1
6
0
1
1
5
6
3
Var. en base
z
x1
s2
s3
s4
z
1
0
0
0
0
Var. en base
z
x1
x2
s3
s4
z
1
0
0
0
0
2
x1 x2
0
1
0
0
0
s1
s2
0 3
4 1
4 1
1
0
1 1
8
1
0
0
8 3
8 5
3
4
4
2
4
3
s3
0
0
0
1
0
s4 Solution
0
0
0
0
1
21
3
3
2
1
2
5
2
Publicité
3.4.3 La m thode des deux phases
Solution initiale articielle
Une solution de base admissible nest pas toujours connue a priori.
Certains probl mes nadmettent pas de solution admissible, donc il est impossible de trouver une base de d part.
La m thode des deux phases va permettre de d terminer une base admissible ou prouver que le probl me est
impossible.
Exemple 7 (M thode des 2 phases).
min z = 4x1 +x2
3x1 +x2
= 3
s.c.
4x1 +3x2 e 6
x1 +2x2 d 4
x1,
e 0
x2
Introduction des variables d cart
min z = 4x1 +x2
3x1 +x2
s.c.
4x1 +3x2 x3
x1 +2x2
x2,
x1,
x3,
= 3
= 6
+x4 = 4
x4 e 0
16
Pas de base admissible "triviale".
On voudrait voir appara tre une matrice identit .
Introduction de variables articielles.
+x2
Introduction des variables articielles
min z = 4x1
min r =
min r = 7x1 4x2 +x3
3x1
+x2
s.c.
4x1 +3x2 x3
+2x2
x1
x2,
x1,
R1 +R2
+R1
+R2
x3, R1, R2,
+9
= 3
= 6
+x4 = 4
x4 e 0
R1, R2 et x4 peuvent tre utilis es comme base de d part admissible.
Base pour le syst me de d part si R1 = R2 = 0 (hors base).
R crire lobjectif en fonction des variables hors base !
3.4.4 Cas particuliers
Solutions optimales multiples
Si la fonction objectif est parall le une contrainte active pour la solution optimale, la m me valeur de lobjectif
peut tre prise par plusieurs solutions admissibles.
Il y a une innit de solutions optimales dans ce cas (toutes les combinaisons convexes de sommets optimaux).
Cela se traduit par un prot marginal nul pour une ou plusieurs variables hors base.
Exemple 8 (Solutions optimales multiples).
max z = 2x1 +4x2
s.c.
x1 +2x2 d 5
d 4
x1 +x2
e 0
x2
x1,
Var. en base
z
x1 x2
s1
s2
Solution
z
s1
s2
z
x2
s2
z
x2
x1
1
0
0
1
0
0
1
0
0
2
1
1
0
1
2
1
2
0
0
1
4
2
1
0
1
0
0 2
1
1
2
0 1
2
0 2
0
0
1
0
0
1
0
1
0 1
1 1
2
0
5
4
10
5
2
3
2
10
1
3
Solution optimale :
x1 = 0 + 3(1 ) = 3 3
3
2
2 + 1(1 ) = 1 +
x2 = 5
(0 d d 1)
Probl mes non born s
Certains probl mes sont non born s dans une direction donn e.
Si cette direction est une direction dam lioration de la fonction objectif, celle-ci peut prendre une valeur arbi-
trairement grande !
17
Exemple 9 (Probl mes non born s).
max z = 2x1 +x2
s.c.
x1 x2 d 1
d 4
2x1
x1,
x2 e 0
Var. en base
z
z
s1
s2
1
0
0
x1
2
x2
1
1 1
0
2
s1
s2
Solution
0
1
0
0
0
1
0
1
4
Tous les coefcients (sauf le prot maginal) dans la colonne de x2 sont n gatifs ou nuls.
Cela signie que toutes les contraintes de non-n gativit sont satisfaites quelle que soit la valeur de x2.
Lobjectif peut donc augmenter ind niment.
Probl mes impossibles
Le syst me de contraintes peut navoir aucune solution.
G n ralement, provient dune mauvaise formulation du probl me.
Exemple 10 (Probl mes impossibles).
max z = 3x1 +2x2
2x1 +x2
d 2
s.c.
3x1 +4x2 e 12
x1,
e 0
x2
18
4 Dualit
4.1 Le probl me dual
Probl me primal et probl me dual
Probl me primal
max
cT x
s.c. Ax = b
x e 0
n variables, m contraintes, m < n, c, x Rn,
b Rm, A Rm n.
Probl me dual
min
s.c.
bT y
AT y e c
(y non restreint)
m variables, n contraintes, m < n, c Rn,
Exemple 11 (Probl me primal et dual - forme standard).
b, y Rm, A Rm n.
Probl me primal :
Probl me dual :
max z = x1 +x2
s.c.
2x1 +x2 = 5
3x1 x2 = 6
x2 e 0
x1,
(y1)
(y2)
min w = 5y1 +6y2
s.c
2y1 +3y2 e 1
y1 y2 e 1
(x1)
(x2)
Propri t s et r gles de construction du dual
Th or me 3. Le probl me dual du probl me dual est le probl me primal.
R gles de construction
Probl me max
Contrainte
d
=
Variable
e 0
non restreinte
Probl me min
Variable
e 0
non restreinte
Contrainte
e
=
Exemple 12 (Probl me primal et dual - forme g n rale).
Probl me primal :
max z = 5x1 +12x2 +4x3
s.c.
x1 +2x2 +x3 d 10
2x1 x2 +3x3 = 8
e 0
x1,
x2,
x3
(y1)
(y2)
19
Probl me dual :
min w = 10y1 +8y2
s.c
y1 +2y2 e 5
2y1 y2 e 12
y1 +3y2 e 4
e 0
y1
(x1)
(x2)
(x3)
4.2 Relations primal/dual
Th or me 4 (Dualit faible). Consid rons la paire primale-duale :
max
cT x
s.c. Ax = b
x e 0
bT y
min
s.c. AT y e c
Si x est une solution admissible du primal et y une solution admissible du dual, alors
cT x d bT y
Sil y a galit , alors x est une solution optimale du primal et y une solution optimale du dual.
Th or me 5 (Dualit forte). Consid rons la paire primale-duale :
max
cT x
s.c. Ax = b
x e 0
bT y
min
s.c. AT y e c
Si le primal et le dual admettent tous les deux une solution admissible, ils ont tous deux une solution optimale
nie et la m me valeur objectif optimale.
Si le primal (dual) est non born , le dual (primal) nadmet pas de solution admissible.
Th or me 6 (Compl mentarit ). Consid rons la paire primale-duale :
max
cT x
s.c. Ax = b
x e 0
bT y
min
s.c. AT y e c
20
Si x est une solution optimale du primal et y une solution optimale du dual, alors
o ai est la i- me colonne de A.
En dautres termes :
xi(aT
i y ci) = 0.
xi > 0 aT
aT
i y > ci xi = 0.
i y = ci,
Exemple 13 (R solution du dual par les r gles de compl mentarit ).
Primal (P ) :
max z = 5x1 +12x2 +4x3
s.c.
x1 +2x2 +x3 d 10
2x1 x2 +3x3 = 8
e 0
x1,
x2,
x3
(y1)
(y2)
Publicité
Dual (D) :
Solution optimale de (P ) :
min w = 10y1 +8y2
s.c
y1 +2y2 e 5
2y1 y2 e 12
y1 +3y2 e 4
e 0
y1
(x1)
(x2)
(x3)
(x1, x2, x3) =
z =
(cid:19)
,
12
5
, 0
(cid:18) 26
5
274
5
x1 > 0 y1 + 2y2 = 5
x2 > 0 2y1 y2 = 12
Solution optimale de (D) :
(y1, y2) =
,
(cid:19)
2
5
(cid:18) 29
5
274
5
w =
4.3
Interpr tation conomique de la dualit
La forme canonique dun programme lin aire peut tre interpr t e comme un probl me dallocation de res-
sources.
Paire primale-duale :
max
cT x
s.c. Ax d b
x e 0
bT y
min
s.c. AT y e c
y e 0
21
Donn es :
cj : prot par unit dactivit j.
bi : disponibilit de la ressource i.
aij : consommation de la ressource i par unit dactivit j.
Variables :
xj : niveau de lactivit j.
yi : valeur dune unit de la ressource i.
Interpr tation de la dualit faible
z d w :
prot d valeur des ressources
Interpr tation de la dualit forte
Le prot maximal est atteint si les ressources ont t exploit es compl tement, i.e. jusqu puisement de leur
valeur.
Exemple 14 (Dualit dans le probl me de production de peinture).
max z = 5x1 +4x2
s.c
6x1 +4x2 d 24
x1 +2x2 d 6
d 2
x2
x1 +x2 d 1
e 0
x2
x1,
min w = 24y1 +6y2 +2y3 +y4
6y1 +y2
y4 e 5
4y1 +2y2 +y3 +y4 e 4
y4 e 0
y3,
y1,
y2,
x1 = 3, x2 = 1.5, z = 21
y1 = 0.75, y2 = 0.5, y3 = y4 = 0, w = 21
Le prot augmente de 0.75 par augmentation dune tonne de M1 et de 0.5 par tonne de M2. (Localement. Dans
quelles limites ? Voir analyse de sensibilit )
Les "ressources" 3 et 4 sont abondantes, augmenter ces ressources napporte aucun prot suppl mentaire.
22
5 Solveurs et langages de mod lisation
Exemple 15 (Production de jouets).
Une soci t de jouets produit des trains, des camions et des voitures, en utilisant 3 machines.
Les disponibilit s quotidiennes des 3 machines sont 430, 460 et 420 minutes, et les prots par train, camion et
voiture sont respectivement EUR 3, EUR 2 et EUR 5.
Les temps n cessaires sur chaque machine sont :
Machine
1
2
3
Train Camion Voiture
2
0
4
1
3
1
1
2
0
Primal
max z = 3x1 +2x2 +5x3
s.c.
x1
3x1
x1
x1,
+2x2 +x3 d 430
+2x3 d 460
d 420
e 0
+4x2
x2,
x3
Dual
x1 = 0
x2 = 100
x3 = 230
z = 1350
min w = 430y1 +460y2 +420y3
s.c.
y1
2y1
y1
y1,
+3y2
+2y2
y2,
+y3
e 3
+4y3 e 2
e 5
e 0
y3
y1 = 1
y2 = 2
y3 = 0
Var. en base
z
x2
x3
s3
x1
z
1 4
0 1
4
3
0
2
2
0
x2 x3
0
1
0
0
s2
s1
0 1 2
2 1
1
0
0
1
0 2
1
2
1
4
s3 Solution
0 1350
0
0
1
100
230
20
Base : B = {x2, x3, s3}.
Solveurs
Logiciels pour r soudre des programmes lin aires :
Ind pendants :
Commerciaux : CPLEX (www.ilog.com), XPRESS-MP (www.dash.co.uk), . . .
Gratuits : PCx, lpsolve, glpk, . . .
Tableurs : La plupart des tableurs int grent un outil de r solution de programmes lin aires (Excel, Gnumeric,
. . .)
Langages de mod lisation (ampl, GNU MathProg, mpl, OPL studio, mosel, . . .) : langages de haut niveau
permettant la s paration mod le/donn es, se chargeant de linterface avec un solveur.
23
NAME
ROWS
L
L
L
N
R0001
R0002
R0003
R0004
COLUMNS
C0001
C0001
C0001
C0001
C0002
C0002
C0002
C0003
C0003
C0003
RHS
B
B
B
ENDATA
toys
R0001
R0002
R0003
R0004
R0001
R0003
R0004
R0001
R0002
R0004
R0001
R0002
R0003
1
3
1
3
2
4
2
1
2
5
430
460
420
FIGURE 1 Exemple de production de jouets au format MPS
Solveurs ind pendants
Avantages
Puissance, efcacit
Int grables dans des applications via des librairies
D savantages
Formats de chiers (MPS)
Pas de s paration mod le / donn es
R -utilisation difcile des mod les
Solveurs int gr s aux tableurs
Avantages
Disponibles sur (quasi) tous les ordinateurs
Interface facile dutilisation
Pr sentation des donn es / r sultats
D savantages
Difcult dimpl menter de grands mod les
S paration mod le / donn es difcile
Solveurs moins efcaces (en g n ral)
Langages de mod lisation
Avantages
S paration mod le / donn es
R -utilisabilit des mod les
Ind pendance mod le / solveur
24
#
Data definition
#
set Toys;
param nMachines;
set Machines := 1..nMachines;
param profit {Toys};
param time {Machines,Toys};
param avail {Machines};
#
Variables
#
var prod {Toys} >= 0;
#
Objective
#
maximize total_profit:
sum{t in Toys} profit *prod ;
#
Constraints
#
subject to machine_usage {m in Machines}:
sum{t in Toys} time * prod <= avail ;
FIGURE 2 Exemple de production de jouets au format AMPL (mod le)
D savantages
Apprentissage du langage
Prix des versions commerciales
Limitation en taille des versions dessai gratuites
Moindre efcacit (actuellement) des solveurs gratuits
25
#
Data
#
data;
set Toys := Trains, Trucks, Cars ;
param nMachines := 3;
param profit :=
Trains
Trucks
Cars
3
2
5 ;
param time : Trains Trucks Cars :=
1 1 2 1
2 3 0 2
3 1 4 0 ;
430
param avail :=
1
2 460
3 420 ;
end;
FIGURE 3 Exemple de production de jouets au format AMPL (donn es)
26
Troisi me partie
Programmation en nombres entiers et optimisation
combinatoire
6 D nitions et exemples
Programmation en nombres entiers
Programmes lin aires dans lesquels certaines (ou toutes les) variables sont restreintes des...