Professional Documents
Culture Documents
Grenoble, 2012-2013
Auteurs
Ont particip e` a la r edaction de ce cours (par ordre darriv ee) Nadia Brauner Christophe Rapine Julien Moncel Laurent Beaudou Ont aid e, corrig e, relu et donn e des id ees Gerd Finke Yann Kieer Van Dat Cung Ont donn e les TD et propos e des exercices Ayse Akbalik Aline Parreau Sergei Lenglet Guillaume Massonnet
2
Formations ` a Grenoble
Formation initiale RO ` a lUJF (M1 Info, L3 Miage, PolytechRICM4) Gestion de la production ` a lUJF (M1 Miage) Optimisation pour l energie (M2 Miage) Outils Formels et Graphes (PolytechRICM2) RO ` a lENSIMAG (1A, 2A) RO ` a lENSGI (1A, 2A) Master 2 Math ematiques et Informatique, Option Recherche Op erationnelle, Combinatoire et Optimisation Formation continue Recherche op erationnelle (tous les ans, 4 jours) Graphes et optimisation (tous les ans, 3 jours)
3
Professeur Grenoble I
La recherche op erationnelle
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Plan
N. Brauner
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Plan
N. Brauner
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
D enitions M ethodes scientiques pour r esoudre des probl` emes doptimisation li es aux organisations du monde r eel Une discipline ` a la crois ee des math ematiques et de linformatique
prolongement de lalgorithmique manipulant des structures plus elabor ees : graphes, poly` edres... domaine dapplication de la th eorie de la complexit e algorithmique
Une boite ` a outils de m ethodes, tant positives que n egatives, pour aborder sainement et sereinement les probl` emes doptimisation
N. Brauner
10
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Les outils de RO-AD aident ` a trouver
une solution o` u lhomme nen trouvait pas une solution sur des probl` emes nouveaux o` u lhomme na aucune exp erience plusieurs solutions l` a o` u lhomme nen envisageait quune
aident ` a juger de la qualit e dune solution aident ` a conrmer / justier des d ecisions
N. Brauner
11
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Plan
N. Brauner
12
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Voyageur de commerce (TSP) Un voyageur de commerce, bas e` a Toulon, doit visiter ses clients ` a travers la France. Il souhaite eectuer la tourn ee la plus courte possible.
N. Brauner
13
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Voyageur de commerce Instance : n villes avec une matrice de distances Solution : tourn ee visitant chaque ville et revenant ` a Toulon
N. Brauner
14
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Algorithme Glouton pour le TSP
N. Brauner
15
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Transport graphe biparti orient e avec pond eration quantit e dune marchandise aux sommets co uts de transport, distance sur les arcs trouver le meilleur plan de distribution ai iaP
a a a
i A
PP cij P
min j PP qabj
ai bj 0
N. Brauner 16
xij xij
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Applications Plus court chemin Quel est le trajet le plus court entre Grenoble et Nice en voiture ?
N. Brauner
17
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
24h de RO 8h : optimisation de la r ecolte et du d ep ot des d echets recyclables ... 15h : placement automatique des v ehicules pour une association de partage de voitures 16h : gestion des retards dans les transports publics pour minimiser limpact sur les passagers ...
http ://www.24hor.org/
N. Brauner
18
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
le 15 octobre 2012 :
N. Brauner
19
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel 2012
Press Release
15 October 2012 The Royal Swedish Academy of Sciences has decided to award The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel for 2012 to Alvin E. Roth Harvard University, Cambridge, MA, USA, and Harvard Business School, Boston, MA, USA and Lloyd S. Shapley University of California, Los Angeles, CA, USA "for the theory of stable allocations and the practice of market design".
N. Brauner 20
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Mariages stables
Mariages stables Des femmes : Alice, B en edicte, Camille Des hommes : Elie, Fran cois, Gondran Pr ef erences des femmes A: B: C: G F G E E E F G F Pr ef erences des hommes E: F: G: A B A B C C C A B
N. Brauner
21
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Mariages stables
Un couplage est instable sil contient deux personnes A et B non mari ees ensemble qui se pr ef` erent mutuellement ` a leurs conjoints : F est mari ee avec g G est mari e avec f F pr ef` ere G ` ag G pr ef` ere F ` af Questions Comment v erier quun couplage est stable ? Est-ce quil existe toujours un couplage stable ? Est-ce quon sait trouver un couplage stable quand il existe ?
N. Brauner
22
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Mariages stables
Applications Situations o` u les m ecanismes de march es traditionnels ne fonctionnent pas r epartition de biens rares, h et erog` enes, indivisibles Aectations de candidats sur des places el` eves - ecoles ding enieur travailleurs - postes internes - h opitaux etudiants - universit es Dons dorganes (reins)
N. Brauner
23
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Les challenges ROADEF http://challenge.roadef.org/ 2010 Gestion d energie (EDF) 2009 Gestion des perturbations dans le transport a erien (Amadeus) 2007 Planication des techniciens et des interventions pour les t el ecommunications (France Telecom) 2005 Ordonnancement de v ehicules pour une cha ne de montage automobile (Renault) 2003 Gestion des prises de vue r ealis ees par un satellite dobservation de la Terre (ONERA et CNES) 2001 Allocation de fr equences avec polarisation 1999 Gestion de stock de mat eriels (CELAR, arm ee) (Bouygues)
N. Brauner
24
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Le challenges ROADEF/EURO 2012 R eaectation de machines Propos e par Google 82 equipes enregistr ees dans 33 pays 30 equipes quali ees Vainqueur Junior : equipe polonaise Vainqueur Open Source et Senior : equipe bosniaques
N. Brauner
25
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Domaines dapplication Conception, conguration et exploitation de syst` emes techniques complexes (r eseaux de communication, syst` emes dinformation) Gestion de la cha ne logistique (transports, production, stocks. . . ) Gestion strat egique dinvestissements et aussi sant e, instruction publique, voirie, ramassage et distribution de courrier, production et transport d energie, t el ecommunications, banques, assurances. . .
N. Brauner
26
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Domaines dapplication Production : maximiser le prot selon disponibilit e de la main duvre, demande du march e, capacit e de production, prix de revient du mat eriau brut. . . Transport : minimiser distance totale parcourue selon quantit es de mat eriaux ` a transporter, capacit e des transporteurs, points de ravitaillement en carburant. . . grande importance dans le milieu industriel : production, transport, emploi du temps, nance. . .
N. Brauner
27
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Face ` a un probl` eme pratique de d ecision Aspects math ematiques
contraintes, objectifs, simplications
Mod elisation
graphes, programmation lin eaire, PPC...
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Plan
N. Brauner
29
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Programmation lin eaire min le co ut / max le prot satisfaire la demande avec des ressources limit ees quantit es produites min / max c1 x1 + c2 x2 . . . cn xn
a1 x1 + a2 x2 . . . an xn b1 a1 x1 + a2 x2 . . . an xn b1 x1 , x2 . . . xn 0
N. Brauner
30
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Optimisation Combinatoire Trouver la meilleure solution parmi un nombre ni mais tr` es grand de choix Un probl` eme dOC se caract erise par :
La pr esence de choix, ` a faire parmi un ensemble ni dalternatives Une notion de co ut, ou de gain, ou de perte La n ecessit e de faire globalement les bons choix, de mani` ere ` a optimiser la valeur objectif
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
Graphes
sommet $ ar ete $$ I
5
$ $$X
3
Valuation des ar etes = co uts, temps, distance, capacit es. . . meilleur chemin de i ` aj meilleurs parcours
passant par chaque ville passant par chaque ar ete
...
N. Brauner 32
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
` linterface de A Informatique : algorithmique Math ematiques : mod elisation Economie : gestion, strat egie
N. Brauner 33
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Plan
N. Brauner
34
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
N. Brauner
36
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
N. Brauner
37
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
N. Brauner
39
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
N. Brauner
40
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
N. Brauner
41
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
http://www.roadef.org/ N. Brauner
42
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Plan
N. Brauner
43
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Bibliographie
che, J.-F. de Werra, D., Liebling, T.-M., and He Recherche Op erationnelle pour Ing enieurs, Tome 1. Presses Polytechniques et Universitaires Romandes, 2003. Sakarovitch, M. Optimisation Combinatoire, Graphes et Programmation Lin eaire. Hermann, Enseignement des sciences, Paris, 1984. Sakarovitch, M. Optimisation Combinatoire, Programmation Discr` ete. Hermann, Enseignement des sciences, Paris, 1984. Wolsey, L. A. Integer Programming. Wiley-Interscience, 1998.
N. Brauner 44
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Webographie
Cours Poly de cours http://www.g-scop.inpg.fr/~braunern/ Compl ements au cours http://www.g-scop.inpg.fr/~rapinec/ M2R de Recherche Op erationnelle, Combinatoire et Optim. http://www.g-scop.inpg.fr/ROCO/ Vie de la RO en France Soci et e fran caise de RO http://www.roadef.org Groupe de Recherche en RO du CNRS http://www-poleia.lip6.fr/~fouilhoux/gdrro/ S eminaire de recherche en optim. combinatoire ` a Grenoble http://oc.inpg.fr/index.php?page=5/
N. Brauner 45
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Webographie
Collection de ressources pour la RO http://www2.informs.org/Resources/ http://www.ensta.fr/~diam/ro/ Logiciels pour la RO http://www.coin-or.org/resources.html http://www.wior.uni-karlsruhe.de/bibliothek/ Blogs sur la RO http://blog.vcu.edu/lamclay/ http://mat.tepper.cmu.edu/blog/ Des challenges industriels internationaux en RO http://challenge.roadef.org/
N. Brauner 46
La Recherche Op erationnelle
Applications
Outils
La RO en France
R ef erences
Recherche Op erationnelle
En conclusion faire le mieux
co ut min, meilleur prot, plus courte distance, le plus rapide. . .
Dessins de L. Lagarde
N. Brauner
47
Mod elisation
R esolution
Plan
Mod elisation
R esolution
N. Brauner
49
Mod elisation
R esolution
Sudoku
N. Brauner
50
Mod elisation
R esolution
Sudoku et PPC
Raisonnement par elimination
on ne cherche pas directement une valeur pour les variables mais plut ot les valeurs qui peuvent etre prises par une variable : r eduction du domaine
Mod elisation
R esolution
On se trouve o` u?
Un probl` eme, une solution : la solution est-elle une solution du probl` eme ?
simulation, v erication
N. Brauner
52
Mod elisation
R esolution
Un premier exemple
Domaine des variables x , y {0, 1 . . . 7} Contraintes x y =6 x +y =5 x >y
N. Brauner
53
Mod elisation
R esolution
N. Brauner
54
Mod elisation
R esolution
N. Brauner
55
Mod elisation
R esolution
Application de la PPC
inspir e de Gilles Pesant Mod elisation de gestion de projet Puzzle combinatoire Conception de mat eriel informatique
v erication de circuits, connexions des couches de circuits moins ecace que le code d edi e, mais plus exible
Placement dobjets
placement des containers dans un port remplissage des containers
N. Brauner
56
Mod elisation
R esolution
Application de la PPC
Probl` emes de d ecoupage
Minimiser les pertes lors de la d ecoupe du papier, du verre, du bois, du m etal, etc. La performance d epend du contexte et de la dicult e des contraintes Papier : facile donc la programmation lin eaire fonctionne bien Pi` eces m etalliques : plus dicile donc utiliser la PPC Cuir et tissus : trop dicile seules les heuristiques fonctionnent
http://www.alma.fr
N. Brauner
57
Mod elisation
R esolution
Application de la PPC
Allocation despace
Portes pour les avions Quais pour les trains ou les bateaux
Allocation de fr equences
Trouver des fr equences radio pour les cellulaires, les communications radios, larm ee, etc.
Ordonnancement de la production
Planier des t aches sur des machines dans une usine Plus important succ` es de la PPC Librairies d edi es ` a lordonnancement (ex. ILOG Scheduler)
N. Brauner
58
Mod elisation
R esolution
Application de la PPC
Tourn ee de v ehicules
Confection de routes sujet ` a beaucoup de contraintes. Librairies sp ecialis ees, contraintes d edi ees
http://www.equitime.org/
N. Brauner
59
Mod elisation
R esolution
Plan
Mod elisation
R esolution
N. Brauner
60
Mod elisation
R esolution
N. Brauner
61
Mod elisation
R esolution
Domaines
D enition X1 , X2 . . . Xn les variables de d ecision Domaine La variable Xi doit prendre ses valeurs dans le domaine Di discret ni ou inni
N. Brauner
62
Mod elisation
R esolution
Domaines
Exercice Sont-ce des domaines ? {1, 2, 3, 4} Lensemble des entiers naturels. Lensemble des r eels Les entiers naturels impairs Lintervalle [1, 1] Les points ` a coordonn ees enti` eres du plan
N. Brauner
63
Mod elisation
R esolution
Contraintes
Cest quoi ? Variables Domaines Contraintes
Une contrainte restreint les valeurs que lon peut aecter simultan ement ` a des variables Exemples : 2x + 3y = 12 3x 2 =3 AB C x = 3y (ABC ) forme un triangle isoc` ele x , y , z distincts deux ` a deux
N. Brauner
64
Mod elisation
R esolution
Contraintes
D eclaration dune contrainte
N. Brauner
65
Mod elisation
R esolution
Contraintes
Caract eristiques des contraintes Relationnelle : non dirig ee comme une fonction qui d enit la valeur dune variable en fonction des autres variables x 2y = z permet
de d eterminer z si x et y sont connues mais aussi x si y et z sont connues et y si x et z sont connues
d eclarative : sp ecie la relation entre les variables, sans donner de proc edure pour assurer/v erier cette relation x 2y = z , on ne soccupe pas de donner un algorithme permettant de r esoudre cette equation ordre des contraintes non signicatif
N. Brauner 66
Mod elisation
R esolution
Contraintes
Arit e dune contrainte : le nombre de variables dans la contrainte unaire : arit e=1 x x = 4 ou est-un-triangle(y ) binaire : arit e=2 x = y ou A B = A ternaire : arit e=3 x + y < 3 z 4 ou (non x ) ou y ou z = vrai n-aire : arit e=n Si n est le nombre de variables : contrainte globale toutesDi erentes(E ), o` u E est un ensemble de variables
N. Brauner 67
Mod elisation
R esolution
Contraintes
Exemples suppl ementaires Contraintes logiques
Si x = 4 alors y = 5 x = y ou x = 2y
Contraintes globales
Toutes les variables sont di erentes
M eta-contraintes
La valeur 5 est utilis ee exactement 3 fois
N. Brauner
68
Mod elisation
R esolution
N. Brauner
69
Mod elisation
R esolution
N. Brauner
70
Mod elisation
R esolution
A1 = {(a, 1), (b , 0), (c , 0), (d , 0)} A2 = {(a, 0), (b , 0)} A3 = {(a, 1), (b , 0)} A4 = {(a, 0), (b , 1), (c , 0), (d , 1)}
N. Brauner
71
Mod elisation
R esolution
N. Brauner
72
Mod elisation
R esolution
CSP
CSP surcontraint : na pas de solution trouver une aectation totale qui maximise le nombre de contraintes satisfaites = max-CSP aecter un poids ` a chaque contrainte (proportionnel ` a limportance de cette contrainte) et chercher une aectation totale qui minimise la somme des poids des contraintes viol ees = CSP valu e (VCSP) CSP sous-contraint : admet beaucoup de solutions di erentes, pr ef erences entre les di erentes solutions (fonction qui associe une valeur num erique ` a chaque solution) et trouver une solution du CSP qui maximise cette fonction = CSOP (Constraint Satisfaction Optimisation Problem)
N. Brauner
73
Mod elisation
R esolution
Plan
Mod elisation
R esolution
N. Brauner
74
Mod elisation
R esolution
Un constat
N. Brauner
75
Mod elisation
R esolution
N. Brauner
76
Mod elisation
R esolution
Mod elisation
Attention Il ny a pas quune mod elisation possible ! Mod elisation variables L1 , L2 , L3 , L4 domaines Li {1, 2, 3, 4} contraintes
i = j , Li = Lj i = j , Li + i = Lj + j Li i = Lj j
N. Brauner
77
Mod elisation
R esolution
Mod elisation
Autre mod elisation pour le probl` eme des reines ?
N. Brauner
78
Mod elisation
R esolution
Mod elisation
Quelle est la meilleure mod elisation ?
1 2 3
Celle qui mod elise le mieux la r ealit e du probl` eme Celle qui est la plus facile ` a trouver Celle qui permettra de r esoudre le probl` eme le plus ecacement
N. Brauner
79
Mod elisation
R esolution
N. Brauner
80
Mod elisation
R esolution
N. Brauner
81
Mod elisation
R esolution
o` u chaque lettre repr esente un chire di erent (compris entre 0 et 9). On souhaite conna tre la valeur de chaque lettre, sachant que la premi` ere lettre de chaque mot repr esente un chire di erent de 0. Mod elisez ce probl` eme sous la forme dun CSP.
N. Brauner
82
Mod elisation
R esolution
N. Brauner
83
Mod elisation
R esolution
Plan
Mod elisation
R esolution
N. Brauner
84
Mod elisation
R esolution
R esolution na ve
Enum eration On g en` ere toutes les aectations totales possibles On v erie si elles sont consistantes si on en trouve une consistante, cest gagn e
Avantage : tr` es facile ` a mettre en uvre Inconv enient : tr` es gourmand en ressource temps
N. Brauner
85
Mod elisation
R esolution
R esolution na ve
Un probl` eme ` a n variables qui peuvent prendre 2 valeurs. 109 aectations trait ees par seconde.
n 10 20 30 40 50 60 70 nb daectations 103 106 109 1012 1015 1018 1021 temps
N. Brauner
86
Mod elisation
R esolution
Utiliser des heuristiques Utiliser nos connaissances sur le probl` eme etudi e ...
N. Brauner
87
Mod elisation
R esolution
Backtrack
Principe : On parcourt larbre des aectations en profondeur Lorsquune aectation partielle est inconsistante, on nexplore pas le sous-arbre correspondant
N. Brauner
88
Mod elisation
R esolution
N. Brauner
89
Mod elisation
R esolution
Backtrack
Backtrack Moins daectations consid er ees Toutes les contraintes sont test ees ` a chaque aectation m eme partielle Facile ` a mettre en uvre M ethode na ve Toutes les aectations sont consid er ees On ne teste les contraintes que sur les aectations totales Tr` es facile ` a mettre en uvre
N. Brauner
90
Mod elisation
R esolution
N. Brauner
91
Mod elisation
R esolution
N. Brauner
92
Mod elisation
R esolution
N. Brauner
93
Mod elisation
R esolution
N. Brauner
94
Mod elisation
R esolution
N. Brauner
95
Mod elisation
R esolution
N. Brauner
96
Mod elisation
R esolution
Propagation de contraintes
Nud-consistance : Moins daectations consid er ees Toutes les contraintes sont test ees ` a chaque aectation m eme partielle Facile ` a mettre en uvre Arc-consistance : Beaucoup moins daectations consid er ees Etablir larc-consistance peut prendre beaucoup de temps selon les contraintes. Moins facile ` a mettre en uvre
N. Brauner
97
Mod elisation
R esolution
Syst` emes
Syst` emes bas es sur la programmation logique ECLiPSE Prolog GNU Prolog Syst` emes bas es sur des librairies ILOG soveur (C++) Choco (Java) Facile (Ocaml)
N. Brauner
98
N. Brauner
99
N. Brauner
100
Lalgorithme du simplexe
Plan
10
11
12
Lalgorithme du simplexe
N. Brauner
102
Lalgorithme du simplexe
Plan
10
11
12
Lalgorithme du simplexe
N. Brauner
103
Lalgorithme du simplexe
aij xj bi
j =1
f (x1 , x2 . . . xn ) =
j =1
cj xj
N. Brauner 104
Lalgorithme du simplexe
N. Brauner
105
Lalgorithme du simplexe
xc 0 et xn 0
N. Brauner 106
Lalgorithme du simplexe
Lalgorithme du simplexe
2 1 1 2 0 1 xc 0
8 7 3 xn 0
N. Brauner 108
Lalgorithme du simplexe
s .c .
aij xj
b i = 0
i = 1, 2 . . . m
xj
j = 1, 2 . . . n
N. Brauner
109
Lalgorithme du simplexe
x1 x2 . . . xn
s .c .
Ax
Lalgorithme du simplexe
Lalgorithme du simplexe
N. Brauner
112
Lalgorithme du simplexe
aij xj xj
bi 0
i = 1, 2 . . . m j = 1, 2 . . . n
b 0
N. Brauner 113
Lalgorithme du simplexe
aij xj xj
= bi 0
i = 1, 2 . . . m j = 1, 2 . . . n
= b 0
N. Brauner 114
Lalgorithme du simplexe
max min max f (x ) = min f (x ) in equation equation : ajouter une variable d ecart ax b ax b ax + s = b , ax s = b , s0 s0
Lalgorithme du simplexe
N. Brauner
116
Lalgorithme du simplexe
obj : max min{e1 , e2 . . . en } max y y ei obj : min |e1 | |e | = max(e , e ) min y y e1 y e1 min e + + e e1 = e + e + e ,e 0
N. Brauner 117
i = 1, 2 . . . n
Lalgorithme du simplexe
N. Brauner
118
Lalgorithme du simplexe
1975 : prix Nobel economie Kantorovitch XXI` eme si` ecle : logiciels de PL disponibles partout, utilisation de la PL dans tous les domaines industriels...
N. Brauner 119
Lalgorithme du simplexe
Plan
10
11
12
Lalgorithme du simplexe
N. Brauner
120
Lalgorithme du simplexe
xc 0 et xn 0
N. Brauner 121
Lalgorithme du simplexe
x
N. Brauner 122
Lalgorithme du simplexe
x
N. Brauner 123
Lalgorithme du simplexe
Les lignes de niveau {f = constante} de la fonction-objectif f sont des hyperplans anes (n = 2 droite, n = 3 plan...)
N. Brauner
124
Lalgorithme du simplexe
Optimum atteint au bord Loptimum de la fonction-objectif, sil existe, est atteint en (au moins) un sommet du poly` edre. Justication math ematique : les d eriv ees partielles de f (x ) = c .x ne sannulent jamais, et le domaine {x | n j =1 aij xj bi , i = 1, . . . , m} est compact loptimum est atteint au bord...
N. Brauner
125
Lalgorithme du simplexe
Proposer des exemples de PL pour chacun des cas Feuille de TD : Programmation lin eaire, R esolution Exercice 3
N. Brauner 126
Lalgorithme du simplexe
Plan
10
11
12
Lalgorithme du simplexe
N. Brauner
134
Lalgorithme du simplexe
Les contraintes d enissent un poly` edre La solution optimale est un sommet du poly` edre Comment enum erer les sommets dun poly` edre ?
N. Brauner
135
Lalgorithme du simplexe
aij xj bi
j =1 j =1
aij xj + ei = bi , ei 0
PL standard : max z (x ) = c .x s.c Ax = b x 0 On travaille dans un espace de dimension plus grande, mais toutes les contraintes sont des egalit es. Manipulations alg ebriques plus ais ees
N. Brauner 136
Lalgorithme du simplexe
Lalgorithme du simplexe
x 0 0 0 0 4 7 3 2.5 1
(0,3) (4,0)
(3,2) (1,3)
138
Lalgorithme du simplexe
xB = B 1 b B 1 NxN
N. Brauner
139
Lalgorithme du simplexe
N. Brauner
140
Lalgorithme du simplexe
on met les variables hors base ` a0 on en d eduit les valeur des variables de base e1 = 8 2x y = 8 e2 = 7 x 2y = 7 x =y =0 e3 = 3 y = 3
N. Brauner
141
Lalgorithme du simplexe
(xB , 0) associ ee ` a B est une solution de base admissible si xB 0 {points extr emes du poly` edre} {solutions de base admissibles du syst` eme lin eaire correspondant}
m = nombre de points extr emes Cn n! m!(nm)!
solution de base d eg en er ee : certaines variables de base sont nulles si A est inversible : solution de base unique
N. Brauner
142
Lalgorithme du simplexe
N. Brauner
143
Lalgorithme du simplexe
N. Brauner
144
Lalgorithme du simplexe
Plan
10
11
12
Lalgorithme du simplexe
N. Brauner
145
Lalgorithme du simplexe
Lalgorithme du simplexe
Vers un algorithme de r esolution M ethode de r esolution na ve : enum erer tous les sommets, calculer f sur ces points, prendre le sommet pour lequel f est optimis e: fonctionne : nombre ni de sommets limitation : ce nombre peut etre tr` es grand en g en eral... Lalgorithme du simplexe (G. B. Dantzig 1947) Algorithme it eratif permettant de r esoudre un probl` eme de programmation lin eaire.
N. Brauner
146
Lalgorithme du simplexe
Lalgorithme du simplexe
Principe dam elioration locale ` partir dun sommet, chercher un sommet voisin qui am A eliore lobjectif. Principe dam elioration locale (maximisation) : Soit x0 sommet non optimum. Alors il existe x , un sommet voisin de x0 , tel que f (x ) > f (x0 ). M ethode de r esolution : on part dun sommet x0 quelconque, on passe ` a un sommet voisin pour lequel f augmente, et ainsi de suite. Remarque : on passe dun probl` eme continu (variables r eelles) ` a un probl` eme discret (nombre ni de sommets)...
N. Brauner
147
Lalgorithme du simplexe
Lalgorithme du simplexe
Illustration 2D : courgettes et navets x0 = (0, 0), z = 0 x = (0, 3), z = 15 x0 = (0, 3), z = 15 x = (1, 3), z = 19 x0 = (1, 3), z = 19 x = (3, 2), z = 22 z = 4x + 5y
x = 3,2 , z = 22
x
plus dam elioration locale possible optimum
N. Brauner 148
Lalgorithme du simplexe
Lalgorithme du simplexe
Illustration concr` ete Standardisation : Maximiser z = 4x + 5y 2 x + y 8 x + 2y 7 s.c. y 3 x, y 0 Maximiser z = 4x + 5y 2 x + y + e1 = 8 x + 2y + e2 = 7 s.c. y + e3 = 3 x , y , e1 , e2 , e3 0
Base initiale ? {e1 , e2 , e3 } par exemple : 2x + y + e1 = 8 e1 = 8 2x y x + 2y + e2 = 7 e2 = 7 x 2y y + e3 = 3 e3 = 3 y e1 , e2 , e3 = variables de base, x , y = variables hors base
N. Brauner 149
Lalgorithme du simplexe
Lalgorithme du simplexe
Solution de base associ ee on met les variables hors base ` a0 on en d eduit : valeur des variables de base valeur de z e 1 = 8 2x y = 8 e2 = 7 x 2y = 7 et z = 4x + 5y = 0 ici : x = y = 0 e3 = 3 y = 3
N. Brauner
150
Lalgorithme du simplexe
Lalgorithme du simplexe
Changement de base Observation essentielle : z = 4x + 5y = 0 on peut augmenter z si x ou y rentre dans la base. Essayons avec y : quelle est la valeur max que pourra avoir y ? e1 = 8 2x y 0 y 8 e2 = 7 x 2y 0 y 3.5 e3 = 3 y 0 y 3 Bilan : ymax = 3, pour y = ymax on a e1 = 5 x , e2 = 1 x , et e3 = 0 candidat pour une nouvelle base : {e1 , e2 , e3 } {y } \ {e3 } = {e1 , e2 , y }
N. Brauner
151
Lalgorithme du simplexe
Lalgorithme du simplexe
Nouvelle base {e1 , e2 , y } e1 = 8 2x y e1 = 8 2x y = 5 2x + e3 e2 = 7 x 2y e2 = 7 x 2y = 1 x + 2e3 e3 = 3 y y = 3 e3 Exprimons z en fonction des variables hors base z = 4x + 5y = 15 + 4x 5e3 Solution de base associ ee e1 = 5 2x + e3 = 5 e2 = 1 x + 2e3 = 1 x = e3 = 0 y = 3 e3 = 3
et
z = 15
N. Brauner
152
Lalgorithme du simplexe
Lalgorithme du simplexe
It eration z = 15 + 4x 5e3 peut encore augmenter si x entre dans la base Si x entre, qui sort ? Valeur max de x : e1 = 5 2x + e3 0 x 2.5 e2 = 1 x + 2e3 0 x 1 y = 3 e3 0 aucune contrainte sur x Bilan : xmax = 1 et e2 sort. Nouvelle base {e1 , y , x } e1 = 3 + 2e2 3e3 x = 1 e2 + 2e3 y = 3 e3 z = 19 4e2 + 3e3
N. Brauner
153
Lalgorithme du simplexe
Lalgorithme du simplexe
It eration (suite) z = 19 4e2 + 3e3 peut encore augmenter si e3 entre dans la base Si e3 entre, qui sort ? Valeur max de e3 : e1 = 3 + 2e2 3e3 0 e3 1 x = 1 e2 + 2e3 0 aucune contrainte sur e3 y = 3 e3 0 e3 3 Bilan : e3max = 1, e1 sort. Nouvelle base {e3 , y , x } : e3 = 1 + 2/3e2 1/3e1 x = 3 + 1/3e2 2/3e1 y = 2 2/3e2 + 1/3e1 z = 22 2e2 e1
N. Brauner 154
Lalgorithme du simplexe
Lalgorithme du simplexe
Terminaison On a z = 22 2e2 e1 , donc z 22 Or la solution de base x = 3, y = 2, e3 = 1 donne z = 22 optimum La condition de terminaison concerne les coecients de z exprim ee avec les variables hors base.
N. Brauner
155
Lalgorithme du simplexe
Lalgorithme du simplexe
max z = 20x1 + 10x2 s .c . x1 + 2x2 120 x1 + x2 100 x1 70 x2 50 x1 , x2 0 forme standard max z s.c. z 20x1 10x2 x1 + 2x2 + s1 x1 + x2 + s2 x1 + s3 x2 + s4 =0 = 120 = 100 = 70 = 50
N. Brauner 156
Lalgorithme du simplexe
Lalgorithme du simplexe
Forme standard max z s.c. z 20x1 10x2 x1 + 2x2 + s1 x1 + x2 + s2 x1 + s3 x2 + s4 Forme tableau z s1 s2 s3 s4 z x1 x2 1 20 10 0 1 2 0 1 1 0 1 0 0 0 1 s1 0 1 0 0 0 s2 0 0 1 0 0 s3 0 0 0 1 0 s4 0 0 0 0 1 0 120 100 70 50
N. Brauner 157
=0 = 120 = 100 = 70 = 50
Lalgorithme du simplexe
Lalgorithme du simplexe
Co uts r eduits B , une base de Ax = b la fonction objectif :
= cx = cB xB + cN xN = cB B 1 b (cB B 1 N cN )xN
n
= z0
j =1 n
= z0
Lalgorithme du simplexe
Lalgorithme du simplexe
` a chaque it eration z xB z xN 1 co uts r eduits 0 . .. . . . 0 xB 0 Id z0 +
` a loptimum z xB z 1 0 . . . 0
N. Brauner 159
xN + .. .
xB 0 Id
z0
Lalgorithme du simplexe
Lalgorithme du simplexe
Principe heuristique : faire rentrer en base la variable avec le coecient le plus n egatif x1 z 1 0 0 0 0 x1 x2 20 10 1 2 1 1 1 0 0 1 s1 0 1 0 0 0 s2 0 0 1 0 0 s3 0 0 0 1 0 s4 0 0 0 0 1
z s1 s2 s3 s4
0 120 100 70 50
N. Brauner
160
Lalgorithme du simplexe
Lalgorithme du simplexe
Principe du quotient minimal colonne pivot x1 second membre 0 a1 0 b1 a2 > 0 b2 a3 > 0 b3 a4 = 0 b4 ligne r z 1 0 0 0 0
br ar
quotient b2 a2 b3 a3
= min
bi ai |ai
>0 s2 0 0 1 0 0
faire sortir s3 s3 0 0 0 1 0 s4 0 0 0 0 1
z s1 s2 s3 s4
x1 x2 20 10 1 2 1 1 1 0 0 1
s1 0 1 0 0 0
0 120 100 70 50
N. Brauner 161
Lalgorithme du simplexe
Lalgorithme du simplexe
exprimer la contrainte z avec les variables hors base x2 et s3 z 10x2 + 20s3 = 1400 diviser la ligne pivot par le coecient de la variable entrante x1 + s3 = 70 supprimer x1 des autres contraintes 2x2 + s1 s3 = 50 x2 + s2 s3 = 30 c . . . ligne pivot a . . . b
b = a a p c
p | colonne pivot
N. Brauner
162
Lalgorithme du simplexe
Lalgorithme du simplexe
z s1 s2 x1 s4 z 1 0 0 0 0 x1 0 0 0 1 0 x2 10 2 1 0 1 s1 0 1 0 0 0 s2 0 0 1 0 0 s3 20 1 1 1 0 s4 0 0 0 0 1 1400 50 30 70 50
x1 , s1 , s2 , s4 en base et x2 , s3 hors base sol de base (70, 0, 50, 30, 0, 50) de valeur 1400 Faire rentrer x2 quotient min faire sortir s1
N. Brauner
163
Lalgorithme du simplexe
Lalgorithme du simplexe
z s1 s2 x1 s4 z x2 s2 x1 s4 z 1 0 0 0 0 z 1 0 0 0 0 x1 0 0 0 1 0 x1 0 0 0 1 0 x2 s1 10 0 2 1 1 0 0 0 1 0 x2 s1 0 5 1 1 2 0 1 2 0 0 0 1 2 s2 0 0 1 0 0 s2 0 0 1 0 0 s3 20 1 1 1 0 s3 15 1 2 1 2 1
1 2
s4 0 0 0 0 1 s4 0 0 0 0 1
1400 50 30 70 50 1650 25 5 70 25
x1 , x2 , s2 , s4 en base et s1 , s3 hors base sol de base (70, 25, 0, 5, 0, 25) de valeur 1650 optimale car z = 1650 5s1 15s3 et s1 = s3 = 0
N. Brauner
164
Lalgorithme du simplexe
Lalgorithme du simplexe
Phase II Donn ees : un programme lin eaire et une solution de base admissible R esultat : une solution de base admissible optimale ou d eclarer PL non born e
1
Lalgorithme du simplexe
Lalgorithme du simplexe
Solution de base d eg en er ee si une ou plusieurs variables de base sont z eros (plus de bijection entre les solutions de base admissibles et les points extr emes Si toutes les solutions de base admissibles sont non d eg en er ees, lalgorithme du simplexe termine apr` es un nombre ni dit erations
N. Brauner
166
Lalgorithme du simplexe
Lalgorithme du simplexe
Phase I Feuille de TD : Programmation lin eaire, R esolution Phase 1
N. Brauner
167
Dualit e
N. Brauner
168
Illustration economique
Ecrire le dual
Propri et es
Plan
13
Illustration economique
14
15
Ecrire le dual
16
Propri et es
N. Brauner
169
Illustration economique
Ecrire le dual
Propri et es
Dualit e
En g en eral contraintes : variables : 0 = 0 0
Nouveau concept Primal donn ees A, b , c minimiser Dual m emes donn ees A, b , c maximiser
N. Brauner
170
Illustration economique
Ecrire le dual
Propri et es
Plan
13
Illustration economique
14
15
Ecrire le dual
16
Propri et es
N. Brauner
171
Illustration economique
Ecrire le dual
Propri et es
Plan
13
Illustration economique
14
15
Ecrire le dual
16
Propri et es
N. Brauner
172
Illustration economique
Ecrire le dual
Propri et es
N. Brauner
173
Illustration economique
Ecrire le dual
Propri et es
N. Brauner
175
Illustration economique
Ecrire le dual
Propri et es
N. Brauner
177
Illustration economique
Ecrire le dual
Propri et es
Probl` eme primal (demandeur de produit) : quelle quantit e xi de ressource i acheter pour satisfaire la demande ` a co ut minimum min
i
bi xi
s .c .
i
aij xi cj
Probl` eme dual (vendeur de produit) : ` a quel prix proposer les produits pour maximiser le prot tout en restant comp etitif max
j
cj wj
s .c .
j
aij wj bi
i
N. Brauner 179
Illustration economique
Ecrire le dual
Propri et es
Plan
13
Illustration economique
14
15
Ecrire le dual
16
Propri et es
N. Brauner
180
Illustration economique
Ecrire le dual
Propri et es
N. Brauner
181
Illustration economique
Ecrire le dual
Propri et es
y3
Illustration economique
Ecrire le dual
Propri et es
Plan
13
Illustration economique
14
15
Ecrire le dual
16
Propri et es
N. Brauner
185
Illustration economique
Ecrire le dual
Propri et es
(P )
(D)
N. Brauner
186
Illustration economique
Ecrire le dual
Propri et es
L ecriture du Dual est automatique : les variables la fonction objectif les contraintes
N. Brauner 189
Illustration economique
Ecrire le dual
Propri et es
Ecrire le dual
Ecrire le programme dual max z = 4x1 + 5x2 + 2x3 = 3 2x3 2 3x1 + x2 + x3 2 x2 + x3 1 x1 0 x2 0 x3 0 2x1 + 4x2
N. Brauner
190
Illustration economique
Ecrire le dual
Propri et es
Plan
13
Illustration economique
14
15
Ecrire le dual
16
Propri et es
N. Brauner
191
Illustration economique
Ecrire le dual
Propri et es
Propri et es
Propri et e Le dual du dual est equivalent au primal v erier sur un exemple max z = 2x1 + 3x2 + 4x3 2x1 + x2 x3 3x1 + x2 + x3 x2 x1 , x2 , x3 0 3 2 2 1
N. Brauner
192
Illustration economique
Ecrire le dual
Propri et es
Propri et es
(P ) min z = cx s .c . Ax b x 0 (D) max v = wb s .c . wA c w 0
Th eor` eme de dualit e faible Pour chaque paire de solutions admissibles x de (P ) et w de (D) z = cx wb = v
N. Brauner
194
Illustration economique
Ecrire le dual
Propri et es
Et loptimalit e?
Certicat doptimalit e Si z = cx = wb = v pour des solutions admissibles x de (P ) et w et (D), alors x et w sont optimales Th eor` eme de dualit e forte Si (P ) a des solutions et (D) a des solutions, alors cx = w b
N. Brauner
195
Illustration economique
Ecrire le dual
Propri et es
N. Brauner
196
Illustration economique
Ecrire le dual
Propri et es
Propri et e
Propri et e des ecarts compl ementaires Pour x optimale de (P ) et w optimale de (D) alors une contrainte de (P ) est serr ee ` a egalit e OU la variable associ ee ` a cette contrainte est nulle dans w idem dans lautre sens xj tj = 0 et si wi = 0 preuve
N. Brauner
198
Illustration economique
Ecrire le dual
Propri et es
N. Brauner
200
Illustration economique
Ecrire le dual
Propri et es
N. Brauner
202
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Plan
17
Solveur dExcel
18
Analyse post-optimale
19
N. Brauner
204
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Plan
17
Solveur dExcel
18
Analyse post-optimale
19
N. Brauner
205
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
206
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
207
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
208
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
209
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
210
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
211
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
212
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Plan
17
Solveur dExcel
18
Analyse post-optimale
19
N. Brauner
213
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Analyse post-optimale
On modie l eg` erement les coecients de lobjectif ou des contraintes : doit-on refaire un simplexe ? Variation des seconds membres Variation des coecients de la fonction objectif Co uts r eduits
N. Brauner
214
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Analyse post-optimale
Exemple : produire des contures de rhubarbe et de fraise Un pot de rhubarbe n ecessite 1kg de rhubarbe et 3kg de sucre et rapporte (marge) 3 euros Un pot de fraise n ecessite 2kg de fraise et 2kg de sucre et rapporte (marge) 5 euros Les quantit es disponibles sont 4kg de rhubarbe, 12kg de fraise et 18kg de sucre Mod eliser le probl` eme avec un programme lin eaire
N. Brauner
215
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Analyse post-optimale
R esoudre ` a laide du solveur dExcel
N. Brauner
216
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
217
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Augmenter la quantit e de sucre ` a 19 kg disponibles calculer le point optimal calculer lobjectif calculer le prix cach e
N. Brauner
218
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
De combien peut-on diminuer la quantit e de rhubarbe avec le m eme prix cach e? Donner le domaine de validit e du prix cach e de la rhubarbe. Calculez les intervalles pour les fraises et le sucre. Pour les contraintes non serr ees, quel est le prix cach e? C a vous rappelle quelque chose ?
N. Brauner
219
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
220
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
221
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
N. Brauner
222
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
Plan
17
Solveur dExcel
18
Analyse post-optimale
19
N. Brauner
223
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
D ecoupe
Rouleaux de papier de longueur standard 180 cm Couteaux de d ecoupe (nombre et position arbitraires) Couper des rouleaux de m eme diam` etre Liste des commandes pour la prochaine p eriode longueur 80 45 27 nombre de rouleaux 200 120 130
N. Brauner
224
Solveur dExcel
Analyse post-optimale
D ecoupe de rouleaux
D ecoupe
Etapes de la r esolution Sch emas de d ecoupe Variables et contraintes Fonction objectif 1, r esolution avec Excel et analyse Fonction objectif 2, interpr etation et r esolution avec Excel . . . et la contrainte dint egralit e?
N. Brauner
225
Introduction
Programmation Lin eaire (PL)
Variables de d ecision continues (r eels) Algorithme du Simplexe ecace
N. Brauner
227
Introduction
Combinatoire Structure discr` ete Tr` es grand nombre de possibilit es
N. Brauner
228
Introduction
Probl` eme doptimisation combinatoire Un probl` eme doptimisation combinatoire typique INSTANCE Un ensemble dobjets 1, . . . , n, avec des poids ci SOLUTIONS REALISABLES Un ensemble F de parties de {1, . . . , n} CRITERE maximiser c (S ) =
i S
ci
Lensemble F est en g en eral d eni par des contraintes. Son cardinal peut etre tr` es grand (ici potentiellement 2n )
N. Brauner
229
Plan
20
21
22
23
N. Brauner
230
Plan
20
21
22
23
N. Brauner
231
N. Brauner
232
un randonneur dispose dun sac-` a-dos dont le poids total ne doit pas d epasser W (capacit e du sac-` a-dos) d eterminer quels objets prendre pour maximiser lutilit e
N. Brauner
233
ui xi
wi xi W i N
xi {0, 1}
N. Brauner
235
un livre un autre livre un pull des chaussettes des chaussures des assiettes des verres
1 2
D ecrivez une solution r ealisable pour le d em enageur Proposez une mod elisation avec un PLNE
N. Brauner 236
N. Brauner
237
Alice 10 1 1 0 1 0
Babar 4 1 0 1 0 1
Casimir 5 1 1 1 0 0
Donald 6 0 1 1 0 0
Elmer 7 0 0 0 1 1
D ecrivez une solution r ealisable pour le projet Proposez une mod elisation avec un PLNE
N. Brauner 238
N. Brauner
239
N. Brauner
240
N. Brauner
241
N. Brauner
242
Plan
20
21
22
23
N. Brauner
243
N. Brauner
244
yi = 1
i =1 k
x= pi yi i =1 yi {0, 1} pour i = 1, 2 . . . k
N. Brauner
245
N. Brauner
247
N. Brauner
248
N. Brauner
249
Plan
20
21
22
23
N. Brauner
250
Formulation
Probl` eme combinatoire ` a r esoudre max{cx | x X } avec X Zn Une mod elisation du probl` eme en PLNE d enit un poly` edre P = {x Rn | Ax b } D enition Un PLNE est une formulation de X ssi X = P Zn
N. Brauner
251
Illustration graphique
N. Brauner
252
Illustration graphique
N. Brauner
253
N. Brauner
254
N. Brauner
255
Exemple I
max z = 4x1 s .c . 7x1 x1 + x2
+ x2 36 + 4x2 22 0 entiers
x1 , x2
1 2
N. Brauner
256
Exemple II
Stable maximum Ensemble S de sommets dun graphe
F B D E
2` a 2 non adjacent
1 2
Quel est loptimum entier sur un triangle ? Quel est loptimum fractionnaire sur un triangle ? la relaxation lin eaire donne peu dindication !
N. Brauner 257
Exemple III
min z = x1 s .c . x1 17x2 = 3 x1 11x3 = 4 x1 6x4 = 5 entiers
x1 , x2 , x3 , x4 0
1
N. Brauner
258
v erie
1 2
z zIP L
Si la solution optimale de la relaxation lin eaire est enti` ere, alors cest aussi une solution optimale pour le PLNE
N. Brauner
259
Plan
20
21
22
23
N. Brauner
260
Probl` eme Le nombre de solutions potentielles est ni mais gigantesque Esp erance de vie du soleil 5 milliards dann ees < 258 secondes
N. Brauner
261
N. Brauner
262
X1
X2
z* 1
z* 2
N. Brauner
263
X1
X2
z* 1
>
z* 2
N. Brauner
264
D enition Une fonction des instances dans R est une borne sup erieure ssi elle est sup erieure ` a la valeur optimum pour chaque instance. Pour un PLNE, une borne sup erieure est donn ee par sa relaxation lin eaire
N. Brauner
265
N. Brauner
266
P Dcoupage du problme X
x*
N. Brauner
267
P1
x* X
P2
N. Brauner 268
P1
P3 X
P4 P2
N. Brauner
269
P1
P3 X
P4
N. Brauner
270
P5
P6
P3 X
P4
N. Brauner
271
P5
P6
P3 X
P4
N. Brauner
272
r esoudre la relaxation lin eaire brancher sur une variable non enti` ere (` a choisir) 2 sous probl` emes diviser ` a nouveau un nud ls en deux (= choix possibles) continuer ` a s eparer sur les nuds dont la valeur est > ` a la borne inf jusqu` a ce quil ny ait plus de branchement possible La relaxation lin eaire na pas de solution la relaxation lin eaire donne une solution enti` ere la valeur de la borne sup erieure est inf erieure ` a la valeur de la meilleure solution enti` ere obtenue
3 4
x2 2
z = 14,4 x1 = 4,2 x2 = 2
x1 3
Pas de sol ralisable
x1 2
z = 13,33 x1 = 2 x2 = 3,11
x1 5
z = 14,29 x1 = 5 x2 = 1,43
x1 4
z = 14 x1 = 4 x2 = 2
x2 4
z = 12 x1 = 0 x2 = 4
x2 3
z = 13 x1 = 2 x2 = 3
x2 1
z = 14,2 x1 = 5,6 x2 = 1
x2 2
Pas de sol ralisable
x1 5
z = 13 x1 = 5 x2 = 1
x1 6
z = 14,14 x1 = 6 x2 = 0,71
x2 1
x2 0
z = 14
x1 = 7 x2 = 0
N. Brauner
274
Application
Approvisionnement des stations service Une compagnie p etroli` ere souhaite d eterminer les emplacements possibles pour ses d ep ots (destin es ` a fournir ses stations service). Les stations service sont au nombre de n et on a m d ep ots. On a un seul produit. cij : co ut unitaire de transport entre un d ep ot i et la station service j fi : co ut xe douverture du d ep ot i si : capacit e du d ep ot i dj : demande de la station service j (peut etre satisfaite par plusieurs d ep ots) Formulez un programme lin eaire qui permet de minimiser les co uts tout en respectant les contraintes.
N. Brauner 275
Application
M elange de maximum 4 charbons (exo de D. de Wolf) On m elange des charbons dans un haut fourneau o` u ensuite, une r eaction ` a haute temp erature produit le coke. Il y a 8 charbons disponibles. Ces charbons sont entr es par des bandes porteuses qui sont au nombre de 4 (au maximum 4 charbons di erents dans le m elange). Si un charbon est dans le m elange, il doit l etre ` a hauteur de minimum 5%. On exige que la teneur du m elange en Silicium soit dau plus 1,8 %. Le tableau suivant reprend les prix et teneur en Si des charbons. Charbon Prix Teneur Si Charbon Prix Teneur Si Charbon 1 12 2% Charbon 5 13 1% Charbon 2 14 2,5 % Charbon 6 9 5% Charbon 3 17 1% Charbon 7 15 2% Charbon 4 10 5% Charbon 8 11 1,5 % On veut d eterminer un m elange qui est de co ut minimum.
N. Brauner 276
Application
Dimensionnement de lots (DLS) Une demande journali` ere dt sur un horizon T Co ut de production pt (x ) = ft + at x Co ut de stockage unitaire ht (par jour par unit e) Quel plan de production choisir pour minimiser les co uts ?
1 2
N. Brauner
277
Application
Dimensionnement de lots (DLS)
demande
production
stock
N. Brauner 278
Application
Dimensionnement de lots (DLS) Une demande journali` ere dt sur un horizon T Co ut de production pt (x ) = ft + at x Co ut de stockage unitaire ht (par jour par unit e) Quel plan de production choisir pour minimiser les co uts ?
N. Brauner
279
Application
Dimensionnement de lots (DLS) Mod elisation du co ut de production, non lin eaire
p(x) = f + ax f
Variables de d ecision yt {0, 1} indicatrice des instants de production yt 1 ssi xt > 0, et 0 sinon Comment traduire le lien entre y et x ?
N. Brauner 280
N. Brauner
281
Mod` eles
Lenvironnement
Donn ees
Application
Plan
24
25
26
27
28
N. Brauner
282
Mod` eles
Lenvironnement
Donn ees
Application
Plan
24
25
26
27
28
N. Brauner
283
Mod` eles
Lenvironnement
Donn ees
Application
Modeleur et solveur
output mod` ele dvar a[] ; ...
e e
modeleur
x , cx
min cx s.c. Ax = b l x u
c , A, b E solveur l, u
Solveurs : CPLEX, LPSolve, XPRESS, MINOS, Gurobi. . . Langages de mod elisation : GAMS (pionnier), OPL, AMPL, AIMMS. . .
N. Brauner 284
Mod` eles
Lenvironnement
Donn ees
Application
Typage avanc e pour lorganisation des donn ees Se connecte ` a SGBDR ou tableur Script pour r ecup erer des donn ees et r esolutions it eratives
N. Brauner
285
Mod` eles
Lenvironnement
Donn ees
Application
Lenvironnement de d eveloppement
IDE : Integrated Development Environment Organiser des projets Saisir des donn ees et des mod` eles OPL Visualiser les donn ees et les solutions Contr oler loptimisation + outils pour le debuggage et aide en ligne
N. Brauner
286
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
287
Mod` eles
Lenvironnement
Donn ees
Application
Plan
24
25
26
27
28
N. Brauner
288
Mod` eles
Lenvironnement
Donn ees
Application
5xf
4 2xf 12 + 2xf 18 xf 0
N. Brauner 289
Mod` eles
Lenvironnement
Donn ees
Application
4 2xf 12 + 2xf 18 xf 0
Cr eation du projet Contures puis, description du mod` ele Les variables de d ecision La fonction objectif Les contraintes dvar float+ xr ; maximize 3*xr + 5*xf; subject to { CSucre: 3*xr + 2*xf <= 18; }
N. Brauner 290
Mod` eles
Lenvironnement
Donn ees
Application
Mod` eles
Lenvironnement
Donn ees
Application
Console
N. Brauner
292
Mod` eles
Lenvironnement
Donn ees
Application
Plan
24
25
26
27
28
N. Brauner
293
Mod` eles
Lenvironnement
Donn ees
Application
Lenvironnement
Output
Issues Console Solutions Conicts and Relaxations Engine Log Engine Statistics Proler
N. Brauner 294
Mod` eles
Lenvironnement
Donn ees
Application
Lenvironnement
Barres doutils Model Outline
Projets (congurations)
N. Brauner
295
Mod` eles
Lenvironnement
Donn ees
Application
Laide
Menu Aide Sommaire de laide
N. Brauner
296
Mod` eles
Lenvironnement
Donn ees
Application
Plan
24
25
26
27
28
N. Brauner
297
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
298
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
299
Mod` eles
Lenvironnement
Donn ees
Application
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
301
Mod` eles
Lenvironnement
Donn ees
Application
Debuggage
Outils de debuggage des mod` eles : D ecrire des contraintes avec donn ees Tracer lex ecution Utiliser le graphique de Engine Statistics Mettre en pause pour voir solution courante
N. Brauner
302
Mod` eles
Lenvironnement
Donn ees
Application
Plan
24
25
26
27
28
N. Brauner
303
Mod` eles
Lenvironnement
Donn ees
Application
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
305
Mod` eles
Lenvironnement
Donn ees
Application
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
307
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
308
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
309
Mod` eles
Lenvironnement
Donn ees
Application
N. Brauner
310
Formulations et coupes
Formulation
In egalit e valide
Plan
29
Formulation
30
In egalit e valide
31
N. Brauner
312
Formulation
In egalit e valide
Plan
29
Formulation
30
In egalit e valide
31
N. Brauner
313
Formulation
In egalit e valide
yj i N j N i , j N
N. Brauner 314
Formulation
In egalit e valide
N. Brauner
315
Formulation
In egalit e valide
N. Brauner
316
Formulation
In egalit e valide
R esolution sous OPL Formulation I (Cuts o) temps nuds > 3h > 35 millions
N. Brauner
317
Formulation
In egalit e valide
N. Brauner
318
Formulation
In egalit e valide
Illustration graphique
N. Brauner
319
Formulation
In egalit e valide
Illustration graphique
N. Brauner
320
Formulation
In egalit e valide
Formulation Id eale
Une formulation P est meilleure que P si P P La formulation id eale est la formulation la plus proche de X Cest lenveloppe convexe conv (X )
X conv(X)
N. Brauner
321
Formulation
In egalit e valide
Formulation Id eale
Propri et e max{cx | x X } = max{cy | y conv (X )} A gauche, un probl` eme combinatoire (discret) A droite, un Programme Lin eaire (continu) Si lon a une formulation qui d ecrit conv (X ) la relaxation lin eaire r esout le probl` eme ` a loptimum pour tout objectif lin eaire
N. Brauner
322
Formulation
In egalit e valide
Moralit e
Dans une formulation en PLNE, il ne faut pas etre econome de ses contraintes ! Am eliore les bornes des relaxations lin eaires Diminue le nombre de nuds visit es Lid eal etant que la relaxation donne directement une solution enti` ere sans brancher Existe-t-il des m ethodes pour trouver des contraintes qui am eliorent la formulation ? Peut-on d ecrire conv (X ) ?
N. Brauner
323
Formulation
In egalit e valide
Plan
29
Formulation
30
In egalit e valide
31
N. Brauner
324
Formulation
In egalit e valide
In egalit e valide
Probl` eme combinatoire ` a r esoudre max{cx | x X } avec X Z n
D enition Une in egalit e valide est une in egalit e x 0 v eri ee par tous les points de X
N. Brauner
325
Formulation
In egalit e valide
Une remarque
Si on a une in egalit e valide y b y une variable enti` ere, b un r eel. Alors y b est aussi une in egalit e valide Cette remarque permet de g en erer bien des coupes !
N. Brauner
326
Formulation
In egalit e valide
Formulation
In egalit e valide
Exemple
Probl` eme ` a 2 variables x et y enti` eres Formulation
5/4
5/3
Quel est loptimum de la relaxation lin eaire ? Quel est loptimum entier ? Quelles coupes de Chv atal-Gomory trouve-t-on ?
N. Brauner
328
Formulation
In egalit e valide
Ajouts de coupes
Il existe de nombreuses familles de coupes dans la litt erature (Flow Cover, Mixed Integer Rounding, . . .) Leur ajout renforce la formulation Mais Si le probl` eme est dicile, d ecrire conv (X ) demande un nombre exponentiel de contraintes ! Que faire si une bonne formulation n ecessite trop de coupes ?
N. Brauner
329
Formulation
In egalit e valide
Plan
29
Formulation
30
In egalit e valide
31
N. Brauner
330
Formulation
In egalit e valide
Probl ematique
Formulation initiale P = {x R n | Ax b } Famille F de coupes On veut am eliorer la formulation pour d ecrire conv (X )
X
Le plus simple : reformuler en ajoutant F ` aP Le probl` eme : |F| >> 1 Ajouter toutes les coupes a priori est d eraisonnable
N. Brauner
331
Formulation
In egalit e valide
Formulation
In egalit e valide
Algorithme de S eparation
Evidemment on ne sait pas o` u est loptimum On conna t loptimum x de la relaxation lin eaire S eparation : Trouver une in egalit e valide x 0 de F coupant x : x > 0 Ajouter cette in egalit e pour am eliorer la relaxation lin eaire
X
x*
N. Brauner
333
Formulation
In egalit e valide
x* x* X X
N. Brauner
334
Formulation
In egalit e valide
PROGRAMMATION LINEAIRE Resoudre la formulation P optimum x* Alors Si x* est entier Sinon ALGORITHME DE SEPARATION Trouver une inegalite valide v violee par x* Ajouter v a P
N. Brauner
335
Formulation
In egalit e valide
Terminaison de lalgorithme
Un algorithme de Plan S ecant termine Soit en trouvant une solution enti` ere : optimum sur X Soit en cas d echec de lalgorithme de s eparation Aucune in egalit e valide de F nest viol ee par x Pour achever la r esolution ` a loptimum : Utiliser un algorithme de Branch & Bound standard sur la formulation obtenue
N. Brauner
336
Formulation
In egalit e valide
x* X
X
N. Brauner
337
Formulation
In egalit e valide
N. Brauner
338
Formulation
In egalit e valide
1 2
N. Brauner
339
Formulation
In egalit e valide
demande
production
stock
N. Brauner 340
Formulation
In egalit e valide
N. Brauner
341
Formulation
In egalit e valide
Variables de d ecision yt {0, 1} indicatrice des instants de production yt 1 ssi xt > 0, et 0 sinon Comment traduire le lien entre y et x ?
N. Brauner 342
Formulation
In egalit e valide
xt + It = dt + It +1 t = 1, . . . , T 1 xT + IT = dT x Dt yt t = 1, . . . , T t yt {0, 1} t = 1, . . . , T
N. Brauner
343
Formulation
In egalit e valide
N. Brauner
344
Formulation
In egalit e valide
Formulation UFL
Formulation moins naturelle Variables de d ecision yt {0, 1} indicatrice des instants de production xuv fraction de la demande de v produite le jour u Contraintes ?
N. Brauner
345
Formulation
In egalit e valide
N. Brauner
346
Formulation
In egalit e valide
Formulation UFL
Avec la formulation UFL OPL r esout sans faire de Branch & Bound ! la relaxation lin eaire donne directement loptimum entier Si on active les coupes Flow cover OPL r esout la formulation AGG en explorant seulement 5 nuds ! Que se passe-t-il ?
N. Brauner
347
Formulation
In egalit e valide
Conclusion
Lalgorithme de Branch & Bound peut etre inecace Il est primordial davoir une bonne formulation
Reformulation a priori, formulation etendue Algorithme de Plan S ecant Algorithme de Branch & Bound
Heureusement, les logiciels commerciaux font du Branch & Cut avec des familles g en eriques de coupes Jouer sur le param etrage peut etre utile. Enrichir la formulation initiale en connaissant la structure du probl` eme (sym etries,. . .) aussi !
N. Brauner
348
Programmation dynamique
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
32
33
34
35
36
N. Brauner
350
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
32
33
34
35
36
N. Brauner
351
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Jeux introductifs
Pyramide de nombres Trouver un chemin de haut en bas qui maximise la somme des nombres travers es 3 7 4 2 4 6 8 5 9 3 6 7 4 2 8 3 7 2 8 6 7 5 4 4 9 2 4 6 3 8 6 8 7 2 5 4 7 4 9 2 3 4 6 3 8
N. Brauner 352
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Jeux introductifs
Pyramide de nombres
33 710 212 820 626 727 519 427 414 923 225 47 613 316 826
N. Brauner
353
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Jeux introductifs
Partager un sac de pi` eces Partager les pi` eces suivantes en deux ensembles egaux {5 9 3 8 2 5}
1 2 3 4
0 V V V V 1 2 3 4 5 V V V V 6 7 8 9 V V V 10 11 12 13 14 V V V 15 16
V V
V V
V V
Construire le tableau : m(i , j ) = V si je peux avoir j avec les i premi` eres pi` eces m(i , 0) = V pour i = 0 ` a nb de pi` eces m(i , j ) = m(i 1, j ) ou m(i 1, j pi e `ce (i )) i =1` a nb de pi` eces j = pi e `ce (i ) ` a 16.
N. Brauner 354
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
32
33
34
35
36
N. Brauner
355
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Combinatoire
Structure discr` ete Tr` es grand nombre de possibilit es
N. Brauner
356
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
ci
Lensemble F est en g en eral d eni par des contraintes. Son cardinal peut etre tr` es grand (ici potentiellement 2n )
N. Brauner
358
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Le sac ` a dos
Un randonneur veut remplir son sac de capacit e 4kg avec les objets les plus utiles objets carte gourde 2` eme gourde pull Kway tomme fruits secs utilit e 10 7 3 6 2 4 5 poids (g) 200 1500 1500 1200 500 800 700
N. Brauner
359
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Le Sac ` a dos
Probl` eme doptimisation classique Utiliser au mieux une capacit e Choix dun portefeuille dinvestissement Appara t dans des probl` emes plus complexes Mod elisation INSTANCE : SOLUTIONS REALISABLES : CRITERE :
N. Brauner
360
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Probl` eme Le nombre de solutions potentielles est ni mais gigantesque Esp erance de vie du soleil 5 milliards dann ees < 258 secondes
N. Brauner
361
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
362
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
32
33
34
35
36
N. Brauner
363
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Principe de sous-optimalit e
On veut r esoudre un probl` eme P sur une instance I Structure sp ecique de P Les morceaux dune solution optimale sont optimaux
P P1 P2 P
3
Le probl` eme P se d ecompose en sous-probl` emes P1 , . . . , Pk . Loptimum sur P sobtient ` a partir des optimaux des sous-probl` emes.
N. Brauner
364
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Principe de sous-optimalit e
Principe de sous-optimalit e Loptimum sur une instance I peut se construire ` a partir de solutions optimales sur des instances plus simples I1 , . . . , Ik OPT (I ) = f (OPT (I1 ), . . . , OPT (Ik )) On a une formulation r ecursive de OPT (I ) Il sut de calculer loptimum pour OPT (I1 ), . . . , OPT (Ik ) puis dappliquer f Chaque OPT (Ij ) sexprime ` a son tour en fonction dinstances plus simples Jusqu` a obtenir une instance de base I directement calculable
N. Brauner
365
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
366
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Instance I ` a r esoudre Partition des solutions selon lobjet n F = {S F|n / S } ne contenant pas n F = {S F|n S } contenant n On a OPT (I ) = max{c (S ), c (S )}
N. Brauner 367
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Deux sous-probl` emes ` a r esoudre Sur F : probl` eme P restreint aux n 1 premiers objets Sur F : egalement restreint aux n 1 premiers objets mais structure des solutions r ealisables ?
N. Brauner 368
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
D ecrire F comme {S F|n S } est inecace enum eration explicite de toutes les solutions F doit pouvoir etre d ecrit comme un sous-probl` eme de P
N. Brauner 369
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Sac ` a dos
` dos Sac a Instance: n objets de poids wi et dutilit e ui , un sac de taille W. Solution: sous-ensemble S dobjets tel que w (S ) W . Critere: lutilit e totale u (S ) des objets
Quel est loptimum de OPT (I ) par rapport ` a lobjet n ? Comment ecrire le principe de sous-optimalit e?
N. Brauner
370
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Param etrisation
Principe de sous-optimalit e : les probl` emes qui apparaissent dans la d ecomposition correspondent au probl` eme initial sur des instances plus simples Instance I pour un sous-probl` eme I di` ere de I par certains param` etres (entiers) p1 , . . . , pl Pour le Sac ` a dos : les objets consid er es et la taille du sac On d ecrit I par la valeur de ses param` etres (x1 , . . . , xl ) D enition On appelle etat le vecteur de param` etres (x1 , . . . , xl ) d ecrivant une sous-instance.
N. Brauner
371
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Graphe dEtat
Vecteur de param` etres (x1 , . . . , xl ) : etat D ependance entre les instances (calcul de f )
parametre 2
I
3 2 1 0 0 1 2 3 4 5 6 parametre 1
N. Brauner
372
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
32
33
34
35
36
N. Brauner
373
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Programmation Dynamique
` dos Sac a Instance: n objets de poids wi et dutilit e ui , un sac de taille W. Solution: sous-ensemble S dobjets tel que w (S ) W . Critere: lutilit e totale u (S ) des objets
Dessinez le graphe d etat pour 4 objets de poids 1 et un sac de capacit e 3. Que remarque-t-on ?
N. Brauner
374
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Programmation Dynamique
Un etat peut etre calcul e un tr` es grand nombre de fois Id ee : on d er ecursive On m emorise les etats au lieu de les recalculer Il sut de parcourir les etats dans un ordre topologique inverse du graphe d etat Evaluer les etats de base OPT [0, . . . , 0]. Parcourir les etats jusqu` a X
Pour chaque etat X , d ependant de X1 , . . . , Xk d ej` a evalu es, m emoriser OPT [X ] = f (OPT [X1 ], . . . , OPT [Xk ))
] Retourner OPT [X
N. Brauner 375
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Sac ` a dos
Sac ` a dos de taille 7, avec 4 objets valeurs des objets 2 poids des objets 2 4 3 5 4 6 5
N. Brauner
376
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Ecacit e
Quel est le temps de r esolution ? D epend
du nombre d etats du temps t pour evaluer la fonction f en chaque etat.
Souvent on a une borne uniforme sur t (x1 , . . . , xl ) T Le temps de r esolution est major e par T #Etats
N. Brauner
377
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Sac ` a dos
Temps de r esolution du sac ` a dos Quel est le temps pour evaluer un etat (i , w ) ? Quel est le nombre d etats ?
N. Brauner
378
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
379
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
32
33
34
35
36
N. Brauner
380
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dimensionnement de lots
Une demande journali` ere dt sur un horizon T Co ut de production pt (x ) = ft + at x Co ut de stockage unitaire ht (par jour par unit e) Quel plan de production choisir pour minimiser les co uts ? Comment d ecrire une solution ?
N. Brauner
381
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dimensionnement de lots
demande
production
stock
N. Brauner 382
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Principe de sous-optimalit e
Comment exprimer un principe de sous-optimalit e? Quels param` etres sont n ecessaires ? Quel est le temps de r esolution ?
N. Brauner
383
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dominance
Denition (Dominance) Une dominance est une propri et e D v eri ee par au moins une solution optimale.
Proprit D
Solutions ralisables
Solutions optimales
N. Brauner
384
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dimensionnement de lots
Politiques ZIO Une politique ZIO consiste ` a ne produire que si le stock est vide si It > 0, alors xt = 0 Si pour chaque instant at + ht at +1 , alors les politiques ZIO sont dominantes Argument d echange On consid` ere un planning (optimal) qui ne v erie pas la dominance On montre quon peut le modier en pr eservant lobjectif
N. Brauner
385
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
386
Jeux introductifs
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
387
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Plan
37
38
39
40
41
N. Brauner
389
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Plan
37
38
39
40
41
N. Brauner
390
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
M ethodologie
Face ` a un probl` eme pratique de d ecision : Comprendre le probl` eme En d egager les aspects math ematiques Reconna tre un type de probl` eme classique
informs http ://www2.informs.org/Resources/ wikipedia (portail RO fait et corrig e par des chercheurs)
N. Brauner
391
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
M ethodologie
Analyser la complexit e
que peut-on esp erer pour le temps de r esolution imparti ? solution exacte, approch ee, avec performance... probl` emes NP-complets
http ://www.nada.kth.se/viggo/problemlist/
ordonnancement
http ://www.mathematik.uni-osnabrueck.de/ research/OR/class/
N. Brauner 392
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
M ethodologie
Proposer une formulation
graphes, programmation lin eaire, PPC...
Analyser et interpr eter les r esultats Valider par rapport ` a la demande initiale It erer avec le demandeur si n ecessaire
N. Brauner
393
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Plan
37
38
39
40
41
N. Brauner
394
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
D ecoupe
Rouleaux de papier de longueur standard 180 cm Couteaux de d ecoupe (nombre et position arbitraires) Couper des rouleaux de m eme diam` etre Liste des commandes pour la prochaine p eriode longueur 80 45 27 nombre de rouleaux 200 120 130
N. Brauner
395
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
D ecoupe
Etapes de la r esolution Solution manuelle Borne inf erieure Sch emas de d ecoupe Variables et contraintes Fonction objectif 1, r esolution et analyse Fonction objectif 2, interpr etation et r esolution . . . et la contrainte dint egralit e?
N. Brauner
396
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Plan
37
38
39
40
41
N. Brauner
397
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Fabrication de charbon
On m elange des charbons dans un haut fourneau o` u ensuite, une r eaction ` a haute temp erature produit le coke. Il y a 8 charbons disponibles. Ces charbons sont entr es par des bandes porteuses qui sont au nombre de 4 (au maximum 4 charbons di erents dans le m elange). Si un charbon est dans le m elange, il doit l etre ` a hauteur de minimum 5%. On exige que la teneur du m elange en Silicium soit dau plus 1,8 %. Le tableau suivant reprend les prix et teneur en Si des charbons. Charbon Prix Teneur Si Charbon Prix Teneur Si Charbon 1 12 2% Charbon 5 13 1% Charbon 2 14 2,5 % Charbon 6 9 5% Charbon 3 17 1% Charbon 7 15 2% Charbon 4 10 5% Charbon 8 11 1,5 % On veut d eterminer un m elange qui est de co ut minimum. (exo de D. de Wolf) N. Brauner
398
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Plan
37
38
39
40
41
N. Brauner
399
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
N. Brauner
400
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
N. Brauner
401
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
N. Brauner
402
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Plan
37
38
39
40
41
N. Brauner
403
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
N. Brauner
404
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Cuisson
Un robot a et e achet e pour automatiser la cuisson Chaque exp erience est charg ee dans une barre de cuisson
On dispose de 8 barres de cuisson Le robot peut traiter les 8 barres simultan ement La temp erature et la dur ee de chaque barre est programmable.
N. Brauner
405
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Remplissage
Cette etape correspond A la pr eparation dune barre de cuisson Au m elange des di erents constituants Pour la r ealiser, 3 postes de travail ont et e install es, chacun pouvant traiter une barre. Un op erateur est requis pour surveiller le d eroulement des op erations.
N. Brauner
406
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Filtrage
Cette etape correspond A lanalyse des r esultats de lexp erience Elle est r ealis ee de mani` ere semi-automatique Un op erateur doit surveiller le d eroulement des analyses Les 8 barres de cuisson peuvent etre analys ees simultan ement
N. Brauner
407
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Op erateur
La pr esence dun chimiste quali e est requise Pendant le remplissage Pendant le ltrage Au d emarrage de la cuisson (programmation du robot) A la n de la cuisson lancer le ltrage pour arr eter la r eaction le ltrage peut ensuite etre interrompu Seule la cuisson peut etre r ealis ee sans la pr esence du chimiste
N. Brauner
408
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
Disponibilit es
Le planning des absences du chimiste est connu ` a lavance (week-end, cong es, autres obligations)
L M M matin apresmidi
J V S
D L
J V S
D L
V S matin apresmidi
D L M M J
S D
L M
N. Brauner
409
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
N. Brauner
410
M ethodologie
D ecoupe de rouleaux
Charbon
Localisation
N. Brauner
411