Académique Documents
Professionnel Documents
Culture Documents
Recherche Oprérationnellle
Recherche Oprérationnellle
Grenoble, 2008-2009
Nadia.Brauner@g-scop.inpg.fr 1
Auteurs
Ont particip ` la rdaction de ce cours (par ordre darrive) ea e e Nadia Brauner Christophe Rapine Julien Moncel Laurent Beaudou Ont aid, corrig, relu et donn des ides e e e e Gerd Finke Yann Kieer Van Dat Cung Ont donn les TD et propos des exercices e e Ayse Akbalik Sergei Lenglet
2
Formations ` Grenoble a
Formation initiale RO ` lUJF (L3 info, M1 Info, L3 Miage, PolytechRICM2) a Gestion de la production ` lUJF (M1 Miage) a Outils Formels et Graphes (PolytechRICM2) RO ` lENSIMAG (1A, 2A, LOSI) a RO ` lENSGI (1A, 2A, LOSI) a Master 2 Recherche Mathmatiques et Informatique, Option e Recherche Oprationnelle, Combinatoire et Optimisation e Formation continue Recherche oprationnelle (tous les ans, 4 jours) e Graphes et optimisation (tous les ans, 3 jours)
La recherche oprationnelle e
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Plan
N. Brauner
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Plan
N. Brauner
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Dnitions e Mthodes scientiques pour rsoudre des probl`mes e e e doptimisation lis aux organisations du monde rel e e Une discipline ` la croise des mathmatiques et de a e e linformatique
prolongement de lalgorithmique manipulant des structures plus labores : graphes, poly`dres... e e e domaine dapplication de la thorie de la complexit e e algorithmique
Une boite ` outils de mthodes, tant positives que ngatives, a e e pour aborder sainement et sereinement les probl`mes e doptimisation
N. Brauner
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Plan
N. Brauner
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Voyageur de commerce (TSP) Un voyageur de commerce, bas ` Toulon, doit visiter ses ea clients ` travers la France. a Il souhaite eectuer la tourne la plus courte possible. e
N. Brauner
10
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Voyageur de commerce Instance : n villes avec une matrice de distances Solution : tourne visitant chaque ville et revenant ` Toulon e a
N. Brauner
11
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Algorithme Glouton pour le TSP
N. Brauner
12
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Applications Feuille de TD : Recherche oprationnelle, Introduction e Exercice 1 : Vente de tlphones portables ee Exercice 2 : Transport de lecteurs MP3
N. Brauner
13
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Transport graphe biparti orient avec pondration e e quantit dune marchandise aux sommets e cots de transport, distance sur les arcs u trouver le meilleur plan de distribution ai iaP
a a a
iA
PPij c P
min
PPja q bj
ai bj 0
N. Brauner 14
xij xij
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Applications Feuille de TD : Recherche oprationnelle, Introduction e Exercice 3 : Planication de projet
N. Brauner
15
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Applications Plus court chemin Quel est le trajet le plus court entre Grenoble et Nice en voiture ?
N. Brauner
16
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
24h de RO 8h : optimisation de la rcolte et du dpt des dchets e e o e recyclables ... 15h : placement automatique des vhicules pour une e 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
17
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Domaines dapplication Conception, conguration et exploitation de syst`mes techniques complexes e (rseaux de communication, syst`mes dinformation) e e gestion de la cha logistique ne (transports, production, stocks. . . ) gestion stratgique dinvestissements e et aussi sant, instruction publique, voirie, e ramassage et distribution de courrier, production et transport dnergie, e tlcommunications, banques, assurances. . . ee
N. Brauner
18
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Domaines dapplication Production : maximiser le prot selon disponibilit de la main e duvre, demande du march, capacit de production, prix de e e revient du matriau brut. . . e Transport : minimiser distance totale parcourue selon quantits de e matriaux ` transporter, capacit des transporteurs, points de e a e ravitaillement en carburant. . . grande importance dans le milieu industriel : production, transport, emploi du temps, nance. . .
N. Brauner
19
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Plan
N. Brauner
20
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Face ` un probl`me pratique de dcision a e e Aspects mathmatiques e
contraintes, objectifs, simplications
Modlisation e
graphes, programmation linaire, PPC... e
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Plan
N. Brauner
22
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Programmation linaire e min le cot / max le prot u satisfaire la demande avec des ressources limites e quantits produites e 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
23
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Optimisation Combinatoire Trouver la meilleure solution parmi un nombre ni mais tr`s e grand de choix Un probl`me dOC se caractrise par : e e
La prsence de choix, ` faire parmi un ensemble ni e a dalternatives Une notion de cot, ou de gain, ou de perte u La ncessit de faire globalement les bons choix, de mani`re ` e e e a optimiser la valeur objective
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Graphes
sommet $ arte $$ e I
5
$ $$X
3
Valuation des artes = cots, temps, distance, capacits. . . e u e meilleur chemin de i ` j a meilleurs parcours
passant par chaque ville passant par chaque arte e
...
N. Brauner 25
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
Autre Files dattente Stochastique Simulation ` A linterface de Informatique : algorithmique Mathmatiques : modlisation e e Economie : gestion, stratgie e
N. Brauner
26
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Plan
N. Brauner
27
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Bibliographie
de Werra, D., Liebling, T.-M., and Heche, J.-F. Recherche Oprationnelle pour Ingnieurs, Tome 1. e e Presses Polytechniques et Universitaires Romandes, 2003. Sakarovitch, M. Optimisation Combinatoire, Graphes et Programmation Linaire. e Hermann, Enseignement des sciences, Paris, 1984. Sakarovitch, M. Optimisation Combinatoire, Programmation Discr`te. e Hermann, Enseignement des sciences, Paris, 1984. Wolsey, L. A. Integer Programming. Wiley-Interscience, 1998.
N. Brauner 28
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Webographie
Cours La RO sur wikipedia http ://fr.wikipedia.org/ Poly de cours http ://www.g-scop.inpg.fr/~braunern/ Complments au cours e http ://www.g-scop.inpg.fr/~rapinec/ Vie de la RO en France Socit franaise de RO ee c http ://www.roadef.org Groupe de Recherche en RO du CNRS http ://www-poleia.lip6.fr/~fouilhoux/gdrro/ Sminaire de RO ` Grenoble e a http ://www.g-scop.inpg.fr/~moncelj/seminaire/
N. Brauner 29
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
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/ Probl`mes diciles e http ://www.nada.kth.se/~viggo/problemlist/
N. Brauner 30
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Entreprises franaises c
Des entreprises franaises spcialises en RO c e e EURODECISION Conseil en optimisation des ressources et planication de la production, outils daide ` la dcision a e ILOG Optimization tools and engines, Visualization software components, Supply chain applications ARTELYS Solutions en optimisation Des entreprises grenobloises qui font de la RO Opti-time Equitime Alma
N. Brauner 31
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Entreprises franaises c
Des entreprises franaises qui ont un ple R&D en RO c o Airfrance SNCF EDF/GDF France Telecom Bouygues Bouygues Telecom Amadeus
N. Brauner
32
La Recherche Oprationnelle e
Applications
Mthodologie e
Outils
Rfrences ee
Recherche Oprationnelle e
En conclusion faire le mieux
cot min, meilleur prot, plus courte distance, le plus rapide. . . u
N. Brauner
33
Modlisation e
Rsolution e
Plan
Modlisation e
Rsolution e
N. Brauner
35
Modlisation e
Rsolution e
Sudoku
N. Brauner
36
Modlisation e
Rsolution e
Sudoku et PPC
Raisonnement par limination e
on ne cherche pas directement une valeur pour les variables mais plutt les valeurs qui peuvent tre prises par une o e variable : rduction du domaine e
Modlisation e
Rsolution e
On se trouve o` ? u
Un probl`me, une solution : la solution est-elle une solution e du probl`me ? e
simulation, vrication e
N. Brauner
38
Modlisation e
Rsolution e
Un premier exemple
Domaine des variables x, y {0, 1 . . . 7} Contraintes x y =6 x +y =5 x >y
N. Brauner
39
Modlisation e
Rsolution e
N. Brauner
40
Modlisation e
Rsolution e
N. Brauner
41
Modlisation e
Rsolution e
Application de la PPC
inspir de Gilles Pesant e Modlisation de gestion de projet e Puzzle combinatoire Conception de matriel informatique e
vrication de circuits, connexions des couches de circuits e moins ecace que le code ddi, mais plus exible e e
Placement dobjets
placement des containers dans un port remplissage des containers
N. Brauner
42
Modlisation e
Rsolution e
Application de la PPC
Probl`mes de dcoupage e e
Minimiser les pertes lors de la dcoupe du papier, du verre, du e bois, du mtal, etc. e La performance dpend du contexte et de la dicult des e e contraintes Papier : facile donc la programmation linaire fonctionne bien e Pi`ces mtalliques : plus dicile donc utiliser la PPC e e Cuir et tissus : trop dicile seules les heuristiques fonctionnent
http://www.alma.fr
N. Brauner
43
Modlisation e
Rsolution e
Application de la PPC
Allocation despace
Portes pour les avions Quais pour les trains ou les bateaux
Allocation de frquences e
Trouver des frquences radio pour les cellulaires, les e communications radios, larme, etc. e
Ordonnancement de la production
Planier des tches sur des machines dans une usine a Plus important succ`s de la PPC e Librairies ddis ` lordonnancement (ex. ILOG Scheduler) e e a
N. Brauner
44
Modlisation e
Rsolution e
Application de la PPC
Tourne de vhicules e e
Confection de routes sujet ` beaucoup de contraintes. a Librairies spcialises, contraintes ddies e e e e
http://www.equitime.org/
N. Brauner
45
Modlisation e
Rsolution e
Plan
Modlisation e
Rsolution e
N. Brauner
46
Modlisation e
Rsolution e
N. Brauner
47
Modlisation e
Rsolution e
Domaines
Dnition e X1 , X2 . . . Xn les variables de dcision e Domaine La variable Xi doit prendre ses valeurs dans le domaine Di discret ni ou inni
N. Brauner
48
Modlisation e
Rsolution e
Domaines
Exercice Sont-ce des domaines ? {1, 2, 3, 4} Lensemble des entiers naturels. Lensemble des rels e Les entiers naturels impairs Lintervalle [1, 1] Les points ` coordonnes enti`res du plan a e e
N. Brauner
49
Modlisation e
Rsolution e
Contraintes
Cest quoi ? Variables Domaines Contraintes
Une contrainte restreint les valeurs que lon peut aecter simultanment ` des variables e a Exemples : 2x + 3y = 12 3x 2 =3 AB C x = 3y (ABC ) forme un triangle isoc`le e x, y , z distincts deux ` deux a
N. Brauner
50
Modlisation e
Rsolution e
Contraintes
Dclaration dune contrainte e
N. Brauner
51
Modlisation e
Rsolution e
Contraintes
Caractristiques des contraintes e Relationnelle : non dirige comme une fonction qui dnit e e la valeur dune variable en fonction des autres variables x 2y = z permet
de dterminer z si x et y sont connues e mais aussi x si y et z sont connues et y si x et z sont connues
dclarative : spcie la relation entre les variables, sans donner e e de procdure pour assurer/vrier cette relation e e x 2y = z, on ne soccupe pas de donner un algorithme permettant de rsoudre cette quation e e ordre des contraintes non signicatif
N. Brauner 52
Modlisation e
Rsolution e
Contraintes
Arit dune contrainte : le nombre de variables dans la contrainte e unaire : arit = 1 e x x = 4 ou est-un-triangle(y ) binaire : arit = 2 e x = y ou A B = A ternaire : arit = 3 e x + y < 3 z 4 ou (non x) ou y ou z = vrai n-aire : arit = n e Si n est le nombre de variables : contrainte globale toutesDirentes(E ), e o` E est un ensemble de variables u
N. Brauner 53
Modlisation e
Rsolution e
Contraintes
Exemples supplmentaires e Contraintes logiques
Si x = 4 alors y = 5 x = y ou x = 2y
Contraintes globales
Toutes les variables sont direntes e
Mta-contraintes e
La valeur 5 est utilise exactement 3 fois e
N. Brauner
54
Modlisation e
Rsolution e
N. Brauner
55
Modlisation e
Rsolution e
N. Brauner
56
Modlisation e
Rsolution e
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
57
Modlisation e
Rsolution e
N. Brauner
58
Modlisation e
Rsolution e
CSP
CSP surcontraint : na pas de solution trouver une aectation totale qui maximise le nombre de contraintes satisfaites = max-CSP aecter un poids ` chaque contrainte (proportionnel ` a a limportance de cette contrainte) et chercher une aectation totale qui minimise la somme des poids des contraintes violes e = CSP valu (VCSP) e CSP sous-contraint : admet beaucoup de solutions direntes, e prfrences entre les direntes solutions (fonction qui associe ee e une valeur numrique ` chaque solution) et trouver une e a solution du CSP qui maximise cette fonction = CSOP (Constraint Satisfaction Optimisation Problem)
N. Brauner
59
Modlisation e
Rsolution e
Plan
Modlisation e
Rsolution e
N. Brauner
60
Modlisation e
Rsolution e
Un constat
N. Brauner
61
Modlisation e
Rsolution e
N. Brauner
62
Modlisation e
Rsolution e
Modlisation e
Attention Il ny a pas quune modlisation possible ! e Modlisation e 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
63
Modlisation e
Rsolution e
Modlisation e
Autre modlisation pour le probl`me des reines ? e e
N. Brauner
64
Modlisation e
Rsolution e
Modlisation e
Quelle est la meilleure modlisation ? e
1 2 3
Celle qui modlise le mieux la ralit du probl`me e e e e Celle qui est la plus facile ` trouver a Celle qui permettra de rsoudre le probl`me le plus e e ecacement
N. Brauner
65
Modlisation e
Rsolution e
N. Brauner
66
Modlisation e
Rsolution e
N. Brauner
67
Modlisation e
Rsolution e
o` chaque lettre reprsente un chire dirent (compris entre 0 u e e et 9). On souhaite conna la valeur de chaque lettre, sachant tre que la premi`re lettre de chaque mot reprsente un chire e e dirent de 0. e Modlisez ce probl`me sous la forme dun CSP. e e
N. Brauner
68
Modlisation e
Rsolution e
N. Brauner
69
Modlisation e
Rsolution e
Plan
Modlisation e
Rsolution e
N. Brauner
70
Modlisation e
Rsolution e
Rsolution na e ve
Enumration e On gn`re toutes les aectations totales possibles e e On vrie si elles sont consistantes e si on en trouve une consistante, cest gagn e
Avantage : tr`s facile ` mettre en uvre e a Inconvnient : tr`s gourmand en ressource temps e e
N. Brauner
71
Modlisation e
Rsolution e
Rsolution na e ve
Un probl`me ` n variables qui peuvent prendre 2 valeurs. e a 109 aectations traites par seconde. e
n 10 20 30 40 50 60 70 nb daectations 103 106 109 1012 1015 1018 1021 temps
N. Brauner
72
Modlisation e
Rsolution e
Les rem`des e
Sarrter quand une aectation partielle est inconsistante e
backtrack
Utiliser des heuristiques Utiliser nos connaissances sur le probl`me tudi e e e ...
N. Brauner
73
Modlisation e
Rsolution e
Backtrack
Principe : On parcourt larbre des aectations en profondeur Lorsquune aectation partielle est inconsistante, on nexplore pas le sous-arbre correspondant
N. Brauner
74
Modlisation e
Rsolution e
N. Brauner
75
Modlisation e
Rsolution e
Backtrack
Backtrack Moins daectations considres ee Toutes les contraintes sont testes ` chaque aectation e a mme partielle e Facile ` mettre en uvre a Mthode na e ve Toutes les aectations sont considres ee On ne teste les contraintes que sur les aectations totales Tr`s facile ` mettre en e a uvre
N. Brauner
76
Modlisation e
Rsolution e
N. Brauner
77
Modlisation e
Rsolution e
N. Brauner
78
Modlisation e
Rsolution e
N. Brauner
79
Modlisation e
Rsolution e
N. Brauner
80
Modlisation e
Rsolution e
N. Brauner
81
Modlisation e
Rsolution e
N. Brauner
82
Modlisation e
Rsolution e
Propagation de contraintes
Nud-consistance : Moins daectations considres ee Toutes les contraintes sont testes ` chaque aectation e a mme partielle e Facile ` mettre en uvre a Arc-consistance : Beaucoup moins daectations considres ee Etablir larc-consistance peut prendre beaucoup de temps selon les contraintes. Moins facile ` mettre en a uvre
N. Brauner
83
Modlisation e
Rsolution e
Syst`mes e
Syst`mes bass sur la programmation logique e e ECLiPSE Prolog GNU Prolog Syst`mes bass sur des librairies e e ILOG soveur (C++) Choco (Java) Facile (Ocaml)
N. Brauner
84
N. Brauner
85
N. Brauner
86
Programmation linaire e
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Plan
10
Interprtation gomtrique e e e
11
12
Lalgorithme du simplexe
N. Brauner
88
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Plan
10
Interprtation gomtrique e e e
11
12
Lalgorithme du simplexe
N. Brauner
89
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Cadre de la PL Programmation linaire e nombre ni de variables relles, contraintes linaires, objectif e e linaire e Variables x1 , x2 . . . xn relles e Contrainte gnrique (contrainte i) : e e
n
aij xj bi
j=1
f (x1 , x2 . . . xn ) =
j=1
cj xj
N. Brauner 90
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Exemple : culture de courgettes et navets Contraintes concernant les quantits dengrais et danti-parasites e 8 engrais A disponible 2 /m2 ncessaires pour courgettes, 1 /m2 pour navets e 7 engrais B disponible 1 /m2 ncessaires pour courgettes, 2 /m2 pour navets e 3 anti-parasites disponible 1 /m2 ncessaires pour navets e Objectif : produire le maximum (en poids) de lgumes, sachant e que rendements = 4kg /m2 courgettes, 5kg /m2 navets
N. Brauner
91
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Exemple : culture de courgettes et navets Variables de dcision e xc : surface de courgettes xn : surface de navets Fonction objectif Contraintes 2xc + xn 8 xc + 2xn 7 xn 3 (engrais A) (engrais B) (anti-parasites) max 4xc + 5xn
xc 0 et xn 0
N. Brauner 92
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Intrt de la PL ee Probl`me gnral doptimisation sous contraintes e e e AUCUNE mthode GENERALE de rsolution ! ! e e Probl`me linaire quelconque e e existence de mthodes de rsolution gnrales et ecaces e e e e Ces mthodes sont ecaces en thorie et en pratique e e existence de nombreux logiciels de rsolution : e Excel, CPLEX, Mathematica, LP-Solve. . . Cadre restrictif variables relles e contraintes linaires e objectif linaire e
N. Brauner 93
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Reprsentation in extenso e max 4xc + 5xn 2xc + xn 8 (engrais A) xc + 2xn 7 (engrais B) xn 3 (anti-parasites) xc 0 et xn 0 Reprsentation matricielle e max (4 5) xc xn xc xn
2 1 1 2 0 1 xc 0
8 7 3 xn 0
N. Brauner 94
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Reprsentation in extenso e max z =
j cj xj
s.c.
aij xj
b i = 0
i = 1, 2 . . . m
xj
j = 1, 2 . . . n
N. Brauner
95
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
second membre b = matrice de format a11 a12 a21 a22 A= am1 am2 b1 b2 . . . bm mn a1n a2n . . . amn ... ... .. . n var. de dcision X = e
x1 x2 . . . xn
s.c.
Ax
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Vocabulaire xi variable de dcision du probl`me e e x = (x1 , . . . , xn ) solution ralisable (admissible) e ssi elle satisfait toutes les contraintes ensemble des solutions ralisables = domaine ou rgion e e admissible x = (x1 , . . . , xn ) solution optimale ssi elle est ralisable et optimise la fonction-objectif e contraintes ingalit ou galit linaire e e e e e
a11 x1 + a12 x2 . . . + a1n xn b1 a21 x1 + a22 x2 . . . + a2n xn b2 a31 x1 + a32 x2 . . . + a3n xn = b3
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Applications Feuille de TD : Programmation linaire, Modlisation e e Exercice 1 : Production de vins Exercice 2 : Fabrication dhuile dolives Exercice 3 : Compagnie arienne e Exercice 4 : Publicit e
N. Brauner
98
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Forme canonique dun PL maximisation toutes les variables sont non ngatives e toutes les contraintes sont des inquations du type e max z = s.c.
j j cj xj
aij xj xj
bi 0
i = 1, 2 . . . m j = 1, 2 . . . n
b 0
N. Brauner 99
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Forme standard dun PL maximisation toutes les variables sont non ngatives e toutes les contraintes sont des quations e max z = s.c.
j j cj xj
aij xj xj
= bi 0
i = 1, 2 . . . m j = 1, 2 . . . n
= b 0
N. Brauner 100
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Passage entre les formes quation inquation e e ax = b ax b ax b
max min max f (x) = min f (x) inquation quation : ajouter une variable dcart e e e ax b ax b ax + s = b, ax s = b, s0 s0
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Passage entre les formes Feuille de TD : Programmation linaire, Rsolution e e Exercice 1
N. Brauner
102
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Linariser un probl`me non linaire e e e ei : expression linaire des variables de dcision e e obj : min max{e1 , e2 . . . en } min y y ei i = 1, 2 . . . n
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 103
i = 1, 2 . . . n
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Linariser un probl`me non linaire e e e Feuille de TD : Programmation linaire, Rsolution e e Exercice 2
N. Brauner
104
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Un peu dhistoire annes 30-40 : Kantorovitch, conomiste sovitique e e e mod`les linaires pour la planication et loptimisation de e e la production annes 40-50 : Dantzig, mathmaticien amricain e e e algorithme du simplexe application historique
Oprations Vittles et Plainfare pour ravitaillement de la trizone e pendant le blocus de Berlin par pont arien (23 juin 1948 12 e mai 1949) simplexe excut ` la main (des milliers de variables), jusqu` e ea a 12 000 tonnes de matriel par jour ! e
1975 : prix Nobel conomie Kantorovitch e XXI`me si`cle : logiciels de PL disponibles partout, utilisation e e de la PL dans tous les domaines industriels...
N. Brauner 105
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Plan
10
Interprtation gomtrique e e e
11
12
Lalgorithme du simplexe
N. Brauner
106
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Interprtation gomtrique e e e
Exemple : culture de courgettes et navets Variables de dcision e xc : surface de courgettes xn : surface de navets Fonction objectif Contraintes 2xc + xn 8 xc + 2xn 7 xn 3 (engrais A) (engrais B) (anti-parasites) max 4xc + 5xn
xc 0 et xn 0
N. Brauner 107
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Interprtation gomtrique e e e
Interprter les contraintes e courgettes et navets 2x + y 8 demi-plan de R2 x + 2y 7 demi-plan y 3 demi-plan x 0 et y 0 demi-plans Ensemble des solutions ralisables = intersection de ces e demi-plans : poly`dre e
x
N. Brauner 108
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Interprtation gomtrique e e e
Optimiser lobjectif Les lignes de niveau {4x + 5y = constante} sont des droites parall`les e
x
N. Brauner 109
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Interprtation gomtrique e e e
Gomtrie dun PL e e Lensemble des solutions ralisables est toujours e un poly`dre (intersection de demi-espaces) e
Les lignes de niveau {f = constante} de la fonction-objectif f sont des hyperplans anes (n = 2 droite, n = 3 plan...)
N. Brauner
110
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Interprtation gomtrique e e e
Gomtrie dun PL e e
Optimum atteint au bord Loptimum de la fonction-objectif, sil existe, est atteint en (au moins) un sommet du poly`dre. e Justication mathmatique : e les drives partielles de f (x) = c.x ne sannulent jamais, e e et le domaine {x | n aij xj bi , i = 1, . . . , m} est compact j=1 loptimum est atteint au bord...
N. Brauner
111
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Solutions dun PL La rgion admissible peut tre e e vide
nb solutions optimales : 0
Proposer des exemples de PL pour chacun des cas Feuille de TD : Programmation linaire, Rsolution e e Exercice 3
N. Brauner 112
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Plan
10
Interprtation gomtrique e e e
11
12
Lalgorithme du simplexe
N. Brauner
120
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Les contraintes dnissent un poly`dre e e La solution optimale est un sommet du poly`dre e Comment numrer les sommets dun poly`dre ? e e e
N. Brauner
121
Programmation linaire e
Interprtation gomtrique e e e
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 galits. e e Manipulations algbriques plus aises e e
N. Brauner 122
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
x 0 0 0 0 4 7 3 2.5 1
pt extrme e (0,0)
(0,3) (4,0)
(3,2) (1,3)
124
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
xB = B 1 b B 1 NxN
N. Brauner
125
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
N. Brauner
126
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
on met les variables hors base ` 0 a on en dduit les valeur des variables de base e e1 = 8 2x y = 8 e2 = 7 x 2y = 7 x =y =0 e3 = 3 y = 3
N. Brauner
127
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
(xB , 0) associe ` B est une solution de base admissible si e a xB 0 {points extrmes du poly`dre} {solutions de base e e admissibles du syst`me linaire correspondant} e e
m nombre de points extrmes Cn = e n! m!(nm)!
solution de base dgnre : certaines variables de base sont e e ee nulles si A est inversible : solution de base unique
N. Brauner
128
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
N. Brauner
129
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
N. Brauner
130
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Plan
10
Interprtation gomtrique e e e
11
12
Lalgorithme du simplexe
N. Brauner
131
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Vers un algorithme de rsolution e Mthode de rsolution na e e ve : numrer tous les sommets, e e calculer f sur ces points, prendre le sommet pour lequel f est optimis : e fonctionne : nombre ni de sommets limitation : ce nombre peut tre tr`s grand en gnral... e e e e Lalgorithme du simplexe (G. B. Dantzig 1947) Algorithme itratif permettant de rsoudre un probl`me de programmation e e e linaire. e
N. Brauner
132
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Principe damlioration locale e ` A partir dun sommet, chercher un sommet voisin qui amliore e lobjectif. Principe damlioration locale (maximisation) : e Soit x0 sommet non optimum. Alors il existe x, un sommet voisin de x0 , tel que f (x) > f (x0 ). Mthode de rsolution : on part dun sommet x0 quelconque, on e e passe ` un sommet voisin pour lequel f augmente, et ainsi de suite. a Remarque : on passe dun probl`me continu (variables relles) ` e e a un probl`me discret (nombre ni de sommets)... e
N. Brauner
133
Programmation linaire e
Interprtation gomtrique e e e
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 damlioration locale possible optimum e
N. Brauner 134
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Illustration concr`te e Standardisation : Maximiser z = 4x + 5y 2x + y 8 x + 2y 7 s.c. y 3 x, y 0 Maximiser z = 4x + 5y 2x + 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 135
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Solution de base associe e on met les variables hors base ` 0 a on en dduit : e valeur des variables de base valeur de z e1 = 8 2x y = 8 e2 = 7 x 2y = 7 et z = 4x + 5y = 0 ici : x = y = 0 e3 = 3 y = 3
N. Brauner
136
Programmation linaire e
Interprtation gomtrique e e e
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
137
Programmation linaire e
Interprtation gomtrique e e e
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 associe e e1 = 5 2x + e3 = 5 e2 = 1 x + 2e3 = 1 x = e3 = 0 y = 3 e3 = 3
et
z = 15
N. Brauner
138
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Itration e 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
139
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Itration (suite) e 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 140
Programmation linaire e
Interprtation gomtrique e e e
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 exprime e avec les variables hors base.
N. Brauner
141
Programmation linaire e
Interprtation gomtrique e e e
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 142
Programmation linaire e
Interprtation gomtrique e e e
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 143
=0 = 120 = 100 = 70 = 50
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Cots rduits u e 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
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
` chaque itration a e z xB z xN 1 cots rduits u e 0 . .. . . . 0 xB 0 Id z0 +
` loptimum a z xB z 1 0 . . . 0
N. Brauner 145
xN + .. .
xB 0 Id
z0
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Principe heuristique : faire rentrer en base la variable avec le coecient le plus ngatif x1 e 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
146
Programmation linaire e
Interprtation gomtrique e e e
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 147
Programmation linaire e
Interprtation gomtrique e e e
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
148
Programmation linaire e
Interprtation gomtrique e e e
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
149
Programmation linaire e
Interprtation gomtrique e e e
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
150
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Phase II Donnes : un programme linaire et une solution de base admissible e e Rsultat : une solution de base admissible optimale ou dclarer e e PL non born e
1
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Solution de base dgnre si une ou plusieurs variables de e e ee base sont zros (plus de bijection entre les solutions de base e admissibles et les points extrmes e Si toutes les solutions de base sont admissibles sont non dgnres, lalgorithme du simplexe termine apr`s un nombre e e ee e ni ditrations e
N. Brauner
152
Programmation linaire e
Interprtation gomtrique e e e
Lalgorithme du simplexe
Lalgorithme du simplexe
Phase I Feuille de TD : Programmation linaire, Rsolution e e Phase 1
N. Brauner
153
Dualit e
N. Brauner
154
Illustration conomique e
Ecrire le dual
Proprits ee
Plan
13
Illustration conomique e
14
15
Ecrire le dual
16
Proprits ee
N. Brauner
155
Illustration conomique e
Ecrire le dual
Proprits ee
Dualit e
En gnral e e contraintes : variables : 0 = 0 0
N. Brauner
156
Illustration conomique e
Ecrire le dual
Proprits ee
Plan
13
Illustration conomique e
14
15
Ecrire le dual
16
Proprits ee
N. Brauner
157
Illustration conomique e
Ecrire le dual
Proprits ee
Plan
13
Illustration conomique e
14
15
Ecrire le dual
16
Proprits ee
N. Brauner
158
Illustration conomique e
Ecrire le dual
Proprits ee
N. Brauner
159
Illustration conomique e
Ecrire le dual
Proprits ee
N. Brauner
161
Illustration conomique e
Ecrire le dual
Proprits ee
Modlisation matricielle e
Probl`me primal e famille : acheter des produits alimentaires ` cot minimum et a u satisfaire la demande en vitamine A et C Modlisation sous forme matricielle e Probl`me dual e producteur de vitamines synthtiques : tre comptitif vis-`-vis des e e e a produits alimentaires comme source de vitamine et maximiser le prot de vente Modlisation sous forme matricielle e
N. Brauner
163
Illustration conomique e
Ecrire le dual
Proprits ee
Probl`me primal (demandeur de produit) : quelle quantit xi de e e ressource i acheter pour satisfaire la demande ` cot minimum a u min
i
bi xi
s.c.
i
aij xi cj
Probl`me dual (vendeur de produit) : ` quel prix proposer les e a produits pour maximiser le prot tout en restant comptitif e max
j
cj wj
s.c.
j
aij wj bi
i
N. Brauner 165
Illustration conomique e
Ecrire le dual
Proprits ee
Plan
13
Illustration conomique e
14
15
Ecrire le dual
16
Proprits ee
N. Brauner
166
Illustration conomique e
Ecrire le dual
Proprits ee
N. Brauner
167
Illustration conomique e
Ecrire le dual
Proprits ee
y3
Illustration conomique e
Ecrire le dual
Proprits ee
Plan
13
Illustration conomique e
14
15
Ecrire le dual
16
Proprits ee
N. Brauner
171
Illustration conomique e
Ecrire le dual
Proprits ee
(P)
(D)
N. Brauner
172
Illustration conomique e
Ecrire le dual
Proprits ee
Lcriture du Dual est automatique : e les variables la fonction objectif les contraintes
N. Brauner 175
Illustration conomique e
Ecrire le dual
Proprits ee
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
176
Illustration conomique e
Ecrire le dual
Proprits ee
Plan
13
Illustration conomique e
14
15
Ecrire le dual
16
Proprits ee
N. Brauner
177
Illustration conomique e
Ecrire le dual
Proprits ee
Proprits ee
Proprit ee Le dual du dual est quivalent au primal e vrier sur un exemple e max z = 2x1 + 3x2 + 4x3 2x1 + x2 x3 3x1 + x2 + x3 x2 x1 , x2 , x3 0 3 2 2 1
N. Brauner
178
Illustration conomique e
Ecrire le dual
Proprits ee
Proprits ee
(P) min z = cx s.c. Ax b x 0 (D) max v = wb s.c. wA c w 0
Thor`me de dualit faible e e e Pour chaque paire de solutions admissibles x de (P) et w de (D) z = cx wb = v
N. Brauner
180
Illustration conomique e
Ecrire le dual
Proprits ee
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 Thor`me de dualit forte e e e Si (P) a des solutions et (D) a des solutions, alors cx = w b
N. Brauner
181
Illustration conomique e
Ecrire le dual
Proprits ee
N. Brauner
182
Illustration conomique e
Ecrire le dual
Proprits ee
Proprit ee
Proprit des carts complmentaires ee e e Pour x optimale de (P) et w optimale de (D) alors une contrainte de (P) est serre ` galit e ae e OU la variable associe ` cette contrainte est nulle dans w e a idem dans lautre sens xj tj = 0 et si wi = 0 preuve
N. Brauner
184
Illustration conomique e
Ecrire le dual
Proprits ee
N. Brauner
186
Illustration conomique e
Ecrire le dual
Proprits ee
N. Brauner
188
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Introduction
Programmation Linaire (PL) e
Variables de dcision continues (rels) e e Algorithme du Simplexe ecace
N. Brauner
190
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Introduction
Combinatoire Structure discr`te e Tr`s grand nombre de possibilits e e
N. Brauner
191
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Introduction
Probl`me doptimisation combinatoire e Un probl`me doptimisation combinatoire typique e INSTANCE Un ensemble dobjets 1, . . . , n, avec des poids ci SOLUTIONS REALISABLES Un ensemble F de parties de {1, . . . , n} CRITERE maximiser c(S) =
iS
ci
Lensemble F est en gnral dni par des contraintes. e e e Son cardinal peut tre tr`s grand (ici potentiellement 2n ) e e
N. Brauner
192
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Plan
17
Probl`mes classiques e
18
Techniques de modlisation e
19
Relaxation linaire e
20
N. Brauner
193
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Plan
17
Probl`mes classiques e
18
Techniques de modlisation e
19
Relaxation linaire e
20
N. Brauner
194
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
195
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
un randonneur dispose dun sac-`-dos a dont le poids total ne doit pas dpasser e W (capacit du sac-`-dos) e a dterminer quels objets prendre pour e maximiser lutilit e
N. Brauner
196
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
ui xi
wi xi W i N
xi {0, 1}
N. Brauner
198
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
un livre un autre livre un pull des chaussettes des chaussures des assiettes des verres
1 2
Dcrivez une solution ralisable pour le dmnageur e e e e Proposez une modlisation avec un PLNE e
N. Brauner 199
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
200
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
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
Dcrivez une solution ralisable pour le projet e e Proposez une modlisation avec un PLNE e
N. Brauner 201
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
202
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
203
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
204
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
205
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Plan
17
Probl`mes classiques e
18
Techniques de modlisation e
19
Relaxation linaire e
20
N. Brauner
206
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
207
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
208
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
yi = 1
i=1 k
N. Brauner
209
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
211
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
212
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Plan
17
Probl`mes classiques e
18
Techniques de modlisation e
19
Relaxation linaire e
20
N. Brauner
213
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Formulation
Probl`me combinatoire ` rsoudre e a e max{cx | x X } avec X Zn Une modlisation du probl`me en PLNE e e dnit un poly`dre P = {x Rn | Ax b} e e Dnition e Un PLNE est une formulation de X ssi X = P Zn
N. Brauner
214
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Illustration graphique
N. Brauner
215
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Illustration graphique
N. Brauner
216
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Relaxation Linaire e
Pour rsoudre un PLNE e une ide simple est doublier que les variables sont enti`res e e on recherche alors loptimum du PL sur le poly`dre P e on peut utiliser lalgorithme du simplexe Dnition e La relaxation linaire dune formulation en PLNE est le PL e max{cx | Ax b , x Rn } Lien entre loptimum du PL et loptimum du PLNE ?
N. Brauner
217
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
218
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Exemple I
max z = 4x1 s.c. 7x1 x1 + x2
+ x2 36 + 4x2 22 0 entiers
x1 , x2
1 2
N. Brauner
219
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Exemple II
Stable maximum Ensemble S de sommets dun graphe
F B D E
2 ` 2 non adjacent a
1 2
Quel est loptimum entier sur un triangle ? Quel est loptimum fractionnaire sur un triangle ? la relaxation linaire donne peu dindication ! e
N. Brauner 220
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
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
221
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
La relaxation linaire e
zL = max{cx | Ax b , x Rn }
vrie e
1 2
zIP zL
Si la solution optimale de la relaxation linaire est enti`re, e e alors cest aussi une solution optimale pour le PLNE
N. Brauner
222
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Plan
17
Probl`mes classiques e
18
Techniques de modlisation e
19
Relaxation linaire e
20
N. Brauner
223
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Mthodes numratives e e e
Nombre ni de solutions F = {S1 , S2 , . . . , SN }
- Parcourir toutes les solutions - Pour chaque S F, valuer c(S) e - Retenir la meilleure solution
Probl`me e Le nombre de solutions potentielles est ni mais gigantesque Esprance de vie du soleil e 5 milliards dannes < 258 secondes e
N. Brauner
224
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
225
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
X1
X2
z* 1
z* 2
N. Brauner
226
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
X1
X2
z* 1
>
z* 2
N. Brauner
227
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
Borne suprieure e
Comment dterminer quil est inutile dexplorer X2 sans e calculer z2 ?
Estimation [par exc`s] de la valeur de z2 e
Dnition e Une fonction des instances dans R est une borne suprieure ssi elle e est suprieure ` la valeur optimum pour chaque instance. e a Pour un PLNE, une borne suprieure est donne par e e sa relaxation linaire e
N. Brauner
228
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
N. Brauner
229
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
P Dcoupage du problme X
x*
N. Brauner
230
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
P1
x* X
P2
N. Brauner 231
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
P1
P3 X
P4 P2
N. Brauner
232
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
P1
P3 X
P4
N. Brauner
233
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
P5
P6
P3 X
P4
N. Brauner
234
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
P5
P6
P3 X
P4
N. Brauner
235
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
rsoudre la relaxation linaire e e brancher sur une variable non enti`re (` choisir) e a 2 sous probl`mes e diviser ` nouveau un nud ls en deux (= choix possibles) a continuer ` sparer sur les nuds dont la valeur est > ` la a e a borne inf jusqu` ce quil ny ait plus de branchement possible a La relaxation linaire na pas de solution e la relaxation linaire donne une solution enti`re e e la valeur de la borne suprieure est infrieure ` la valeur de la e e a meilleure solution enti`re obtenue e
3 4
Probl`mes classiques e
Techniques de modlisation e
Relaxation linaire e
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
237
Application
Approvisionnement des stations service Une compagnie ptroli`re souhaite dterminer les emplacements e e e possibles pour ses dpts (destins ` fournir ses stations e o e a service). Les stations service sont au nombre de n et on a m dpt. On a un seul produit. e o cij : cot unitaire de transport entre un dpt i et la station u e o service j fi : cot xe douverture du dpt i u e o si : capacit du dpt i e e o dj : demande de la station service j (peut tre satisfaite par e plusieurs dpts) e o Formulez un programme linaire qui permet de minimiser les e cots tout en respectant les contraintes. u
N. Brauner 238
Application
Mlange de maximum 4 charbons (exo de D. de Wolf) e On mlange des charbons dans un haut fourneau o` ensuite, une e u raction ` haute temprature produit le coke. Il y a 8 charbons e a e disponibles. Ces charbons sont entrs par des bandes porteuses e qui sont au nombre de 4 (au maximum 4 charbons dirents e dans le mlange). Si un charbon est dans le mlange, il doit e e ltre ` hauteur de minimum 5%. On exige que la teneur du e a mlange en Silicium soit dau plus 1,8 %. Le tableau suivant e 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 dterminer un mlange qui est de cot minimum. e e u
N. Brauner 239
Application
Dimensionnement de lots (DLS) Une demande journali`re dt sur un horizon T e Cot de production pt (x) = ft + at x u Cot de stockage unitaire ht (par jour par unit) u e Quel plan de production choisir pour minimiser les cots ? u
1 2
N. Brauner
240
Application
Dimensionnement de lots (DLS)
demande
production
stock
N. Brauner 241
Application
Dimensionnement de lots (DLS) Une demande journali`re dt sur un horizon T e Cot de production pt (x) = ft + at x u Cot de stockage unitaire ht (par jour par unit) u e Quel plan de production choisir pour minimiser les cots ? u
N. Brauner
242
Application
Dimensionnement de lots (DLS) Modlisation du cot de production, non linaire e u e
p(x) = f + ax f
Variables de dcision e 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 243
N. Brauner
244
Plan
N. Brauner
245
AMPL
A faire
N. Brauner
246
N. Brauner
247
Mod`les e
Lenvironnement
Donnes e
Application
Plan
21
22
23
24
25
N. Brauner
248
Mod`les e
Lenvironnement
Donnes e
Application
Plan
21
22
23
24
25
N. Brauner
249
Mod`les e
Lenvironnement
Donnes e
Application
Modeleur et solveur
output mod`le e dvar a[] ; ...
e e
donnes e brutes
(BD, GUI. . . )
modeleur
x, cx
min cx s.c. Ax = b l x u
c, A, b E solveur l, u
Solveurs : CPLEX, LPSolve, XPRESS, MINOS. . . Langages de modlisation : GAMS (pionnier), OPL, AMPL, e AIMMS. . .
N. Brauner 250
Mod`les e
Lenvironnement
Donnes e
Application
Typage avanc pour lorganisation des donnes e e Se connecte ` SGBDR ou tableur a Script pour rcuprer des donnes et rsolutions itratives e e e e e
N. Brauner
251
Mod`les e
Lenvironnement
Donnes e
Application
Lenvironnement de dveloppement e
IDE : Integrated Development Environment Organiser des projets Saisir des donnes et des mod`les OPL e e Visualiser les donnes et les solutions e Contrler loptimisation o + outils pour le debuggage et aide en ligne
N. Brauner
252
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
253
Mod`les e
Lenvironnement
Donnes e
Application
Plan
21
22
23
24
25
N. Brauner
254
Mod`les e
Lenvironnement
Donnes e
Application
5xf
4 2xf 12 + 2xf 18 xf 0
N. Brauner 255
Mod`les e
Lenvironnement
Donnes e
Application
4 2xf 12 + 2xf 18 xf 0
Cration du projet Contures puis, description du mod`le e e Les variables de dcision e La fonction objectif Les contraintes dvar float+ xr ; maximize 3*xr + 5*xf; subject to { CSucre 3*xr + 2*xf <= 18; : }
N. Brauner 256
Mod`les e
Lenvironnement
Donnes e
Application
Mod`les e
Lenvironnement
Donnes e
Application
Console
N. Brauner
258
Mod`les e
Lenvironnement
Donnes e
Application
Plan
21
22
23
24
25
N. Brauner
259
Mod`les e
Lenvironnement
Donnes e
Application
Lenvironnement
Output
Issues Console Solutions Conicts and Relaxations Engine Log Engine Statistics Proler
N. Brauner 260
Mod`les e
Lenvironnement
Donnes e
Application
Lenvironnement
Barres doutils Model Outline
Projets (congurations)
N. Brauner
261
Mod`les e
Lenvironnement
Donnes e
Application
Laide
Menu Aide Sommaire de laide
N. Brauner
262
Mod`les e
Lenvironnement
Donnes e
Application
Plan
21
22
23
24
25
N. Brauner
263
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
264
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
265
Mod`les e
Lenvironnement
Donnes e
Application
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
267
Mod`les e
Lenvironnement
Donnes e
Application
Debuggage
Outils de debuggage des mod`les : e Dcrire des contraintes avec donnes e e Tracer lexcution e Utiliser le graphique de Engine Statistics Mettre en pause pour voir solution courante
N. Brauner
268
Mod`les e
Lenvironnement
Donnes e
Application
Plan
21
22
23
24
25
N. Brauner
269
Mod`les e
Lenvironnement
Donnes e
Application
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
271
Mod`les e
Lenvironnement
Donnes e
Application
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
273
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
274
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
275
Mod`les e
Lenvironnement
Donnes e
Application
N. Brauner
276
Formulations et coupes
Formulation
Ingalit valide e e
Plan
26
Formulation
27
Ingalit valide e e
28
N. Brauner
278
Formulation
Ingalit valide e e
Plan
26
Formulation
27
Ingalit valide e e
28
N. Brauner
279
Formulation
Ingalit valide e e
yj i N j N i, j N
N. Brauner 280
Formulation
Ingalit valide e e
N. Brauner
281
Formulation
Ingalit valide e e
N. Brauner
282
Formulation
Ingalit valide e e
Rsolution sous OPL e Formulation I (Cuts o) temps nuds > 3h > 35 millions
N. Brauner
283
Formulation
Ingalit valide e e
N. Brauner
284
Formulation
Ingalit valide e e
Illustration graphique
N. Brauner
285
Formulation
Ingalit valide e e
Illustration graphique
N. Brauner
286
Formulation
Ingalit valide e e
Formulation Idale e
Une formulation P est meilleure que P si P P La formulation idale est la e formulation la plus proche de X Cest lenveloppe convexe conv (X )
X conv(X)
N. Brauner
287
Formulation
Ingalit valide e e
Formulation Idale e
Proprit ee max{cx | x X } = max{cy | y conv (X )} A gauche, un probl`me combinatoire (discret) e A droite, un Programme Linaire (continu) e Si lon a une formulation qui dcrit conv (X ) e la relaxation linaire rsout le probl`me ` loptimum pour tout e e e a objectif linaire e
N. Brauner
288
Formulation
Ingalit valide e e
Moralit e
Dans une formulation en PLNE, il ne faut pas tre conome e e de ses contraintes ! Amliore les bornes des relaxations linaires e e Diminue le nombre de nuds visits e Lidal tant que la relaxation donne directement une solution e e enti`re sans brancher e Existe-t-il des mthodes pour trouver des contraintes qui e amliorent la formulation ? e Peut-on dcrire conv (X ) ? e
N. Brauner
289
Formulation
Ingalit valide e e
Plan
26
Formulation
27
Ingalit valide e e
28
N. Brauner
290
Formulation
Ingalit valide e e
Ingalit valide e e
Probl`me combinatoire ` rsoudre e a e max{cx | x X } avec X Z n
Dnition e Une ingalit valide est une ingalit x 0 vrie par tous les e e e e e e points de X
N. Brauner
291
Formulation
Ingalit valide e e
Une remarque
Si on a une ingalit valide e e y b y une variable enti`re, b un rel. Alors e e y b est aussi une ingalit valide e e Cette remarque permet de gnrer bien des coupes ! e e
N. Brauner
292
Formulation
Ingalit valide e e
Coupes de Chvtal-Gomory a
Programme linaire max{cx | Ax b, x entier}. Pour une ligne i e de la matrice on a aij xj bi
i
Formulation
Ingalit valide e e
Exemple
Probl`me ` 2 variables x et e a y enti`res e Formulation
5/4
5/3
Quel est loptimum de la relaxation linaire ? e Quel est loptimum entier ? Quelles coupes de Chvtal-Gomory trouve-t-on ? a
N. Brauner
294
Formulation
Ingalit valide e e
Ajouts de coupes
Il existe de nombreuses familles de coupes dans la littrature e (Flow Cover, Mixed Integer Rounding, . . .) Leur ajout renforce la formulation Mais Si le probl`me est dicile, dcrire conv (X ) demande un e e nombre exponentiel de contraintes ! Que faire si une bonne formulation ncessite trop de e coupes ?
N. Brauner
295
Formulation
Ingalit valide e e
Plan
26
Formulation
27
Ingalit valide e e
28
N. Brauner
296
Formulation
Ingalit valide e e
Problmatique e
Formulation initiale P = {x R n | Ax b} Famille F de coupes On veut amliorer la formulation e pour dcrire conv (X ) e
X
Le plus simple : reformuler en ajoutant F ` P a Le probl`me : |F| >> 1 e Ajouter toutes les coupes a priori est draisonnable e
N. Brauner
297
Formulation
Ingalit valide e e
Formulation
Ingalit valide e e
Algorithme de Sparation e
Evidemment on ne sait pas o` est u loptimum On conna loptimum x de la t relaxation linaire e Sparation : Trouver une ingalit e e e valide x 0 de F coupant x : x > 0 Ajouter cette ingalit pour e e amliorer la relaxation linaire e e
X
x*
N. Brauner
299
Formulation
Ingalit valide e e
x* x* X X
N. Brauner
300
Formulation
Ingalit valide e e
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
301
Formulation
Ingalit valide e e
Terminaison de lalgorithme
Un algorithme de Plan Scant termine e Soit en trouvant une solution enti`re : optimum sur X e Soit en cas dchec de lalgorithme de sparation e e Aucune ingalit valide de F nest viole par x e e e Pour achever la rsolution ` loptimum : e a Utiliser un algorithme de Branch & Bound standard sur la formulation obtenue
N. Brauner
302
Formulation
Ingalit valide e e
x* X
X
N. Brauner
303
Formulation
Ingalit valide e e
N. Brauner
304
Formulation
Ingalit valide e e
1 2
N. Brauner
305
Formulation
Ingalit valide e e
demande
production
stock
N. Brauner 306
Formulation
Ingalit valide e e
N. Brauner
307
Formulation
Ingalit valide e e
Variables de dcision e 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 308
Formulation
Ingalit valide e e
xt + It = dt + It+1 t = 1, . . . , T 1 xT + IT = dT t = 1, . . . , T xt Dt yt yt {0, 1} t = 1, . . . , T
N. Brauner
309
Formulation
Ingalit valide e e
N. Brauner
310
Formulation
Ingalit valide e e
Formulation UFL
Formulation moins naturelle Variables de dcision e yt {0, 1} indicatrice des instants de production xuv fraction de la demande de v produite le jour u Contraintes ?
N. Brauner
311
Formulation
Ingalit valide e e
N. Brauner
312
Formulation
Ingalit valide e e
Formulation UFL
Avec la formulation UFL OPL rsout sans faire de Branch & Bound ! e la relaxation linaire donne directement loptimum entier e Si on active les coupes Flow cover OPL rsout la formulation AGG en explorant seulement 5 e nuds ! Que se passe-t-il ?
N. Brauner
313
Formulation
Ingalit valide e e
Conclusion
Lalgorithme de Branch & Bound peu tre inecace e Il est primordial davoir une bonne formulation
Reformulation a priori, formulation tendue e Algorithme de Plan Scant e Algorithme de Branch & Bound
Heureusement, les logiciels commerciaux font du Branch & Cut avec des familles gnriques de coupes e e Jouer sur le paramtrage peut tre utile. e e Enrichir la formulation initiale en connaissant la structure du probl`me (symtries,. . .) aussi ! e e
N. Brauner
314
Programmation dynamique
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
29
Optimisation Combinatoire
30
Principe de Sous-optimalit e
31
Programmation Dynamique
32
Dominances
N. Brauner
316
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
29
Optimisation Combinatoire
30
Principe de Sous-optimalit e
31
Programmation Dynamique
32
Dominances
N. Brauner
317
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Combinatoire
Structure discr`te e Tr`s grand nombre de possibilits e e
N. Brauner
318
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Probl`mes combinatoires e
Dnition e Un probl`me doptimisation se dnit par e e INSTANCE : dcrit les donnes dentre e e e SOLUTIONS REALISABLES : dcrit lensemble F des e solutions admissibles CRITERE ` optimiser. Mesure c sur les solutions ralisables a e Dnition gnrique : une innit dinstances e e e e On recherche une mthode (algorithme) capable de fournir e pour chaque instance I :
une solution optimale S ou la valeur OPT (I ) du crit`re ` loptimum e a OPT (I ) = c(S ) = max{c(S)|S F}
N. Brauner 319
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Probl`mes combinatoires e
Un probl`me doptimisation combinatoire typique e INSTANCE : Un ensemble dobjets 1, . . . , n, avec des poids ci SOLUTIONS REALISABLES : Un ensemble F de parties de {1, . . . , n} CRITERE maximiser c(S) =
iS
ci
Lensemble F est en gnral dni par des contraintes. e e e Son cardinal peut tre tr`s grand (ici potentiellement 2n ) e e
N. Brauner
320
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Le sac ` dos a
Un randonneur veut remplir son sac de capacit 4kg avec les e objets les plus utiles objets carte gourde 2`me gourde e 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
321
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Le Sac ` dos a
Probl`me doptimisation classique e Utiliser au mieux une capacit e Choix dun portefeuille dinvestissement Appara dans des probl`mes plus t e complexes Modlisation e INSTANCE : SOLUTIONS REALISABLES : CRITERE :
N. Brauner
322
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Mthodes numratives e e e
Nombre ni de solutions F = {S1 , S2 , . . . , SN }
- Parcourir toutes les solutions - Pour chaque S F, valuer c(S) e - Retenir la meilleure solution
Probl`me e Le nombre de solutions potentielles est ni mais gigantesque Esprance de vie du soleil e 5 milliards dannes < 258 secondes e
N. Brauner
323
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
324
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
29
Optimisation Combinatoire
30
Principe de Sous-optimalit e
31
Programmation Dynamique
32
Dominances
N. Brauner
325
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Principe de sous-optimalit e
On veut rsoudre un probl`me P sur une instance I e e Structure spcique de P e Les morceaux dune solution optimale sont optimaux
P P1 P2 P
3
Le probl`me P se dcompose en sous-probl`mes P1 , . . . , Pk . e e e Loptimum sur P sobtient ` partir des optimaux des a sous-probl`mes. e
N. Brauner
326
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 ` partir de a solutions optimales sur des instances plus simples I1 , . . . , Ik OPT (I ) = f (OPT (I1 ), . . . , OPT (Ik )) On a une formulation rcursive de OPT (I ) e Il sut de calculer loptimum pour OPT (I1 ), . . . , OPT (Ik ) puis dappliquer f Chaque OPT (Ij ) sexprime ` son tour en fonction dinstances a plus simples Jusqu` obtenir une instance de base I directement calculable a
N. Brauner
327
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
328
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dcomposition en sous-probl`mes e e
Instance I ` rsoudre a e 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 329
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dcomposition en sous-probl`mes e e
Deux sous-probl`mes ` rsoudre e a e Sur F : probl`me P restreint aux n 1 premiers objets e Sur F : galement restreint aux n 1 premiers objets e mais structure des solutions ralisables ? e
N. Brauner 330
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dcomposition en sous-probl`mes e e
Dcrire F comme {S F|n S} est inecace e numration explicite de toutes les solutions e e F doit pouvoir tre dcrit comme un sous-probl`me de P e e e
N. Brauner 331
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Sac ` dos a
` Sac a dos Instance: n objets de poids wi et dutilit ui , un sac de taille e W. Solution: sous-ensemble S dobjets tel que w (S) W . Critere: lutilit totale u(S) des objets e
Quel est loptimum de OPT (I ) par rapport ` lobjet n ? a Comment crire le principe de sous-optimalit ? e e
N. Brauner
332
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Paramtrisation e
Principe de sous-optimalit : les probl`mes qui apparaissent dans la e e dcomposition correspondent au probl`me initial sur des instances e e plus simples Instance I pour un sous-probl`me e I di`re de I par certains param`tres (entiers) p1 , . . . , pl e e Pour le Sac ` dos : les objets considrs et la taille du sac a ee On dcrit I par la valeur de ses param`tres (x1 , . . . , xl ) e e Dnition e On appelle tat le vecteur de param`tres (x1 , . . . , xl ) dcrivant une e e e sous-instance.
N. Brauner
333
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Graphe dEtat
Vecteur de param`tres (x1 , . . . , xl ) : tat e e Dpendance entre les instances (calcul de f ) e
parametre 2
I
3 2 1 0 0 1 2 3 4 5 6 parametre 1
N. Brauner
334
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
29
Optimisation Combinatoire
30
Principe de Sous-optimalit e
31
Programmation Dynamique
32
Dominances
N. Brauner
335
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Programmation Dynamique
` Sac a dos Instance: n objets de poids wi et dutilit ui , un sac de taille e W. Solution: sous-ensemble S dobjets tel que w (S) W . Critere: lutilit totale u(S) des objets e
Dessinez le graphe dtat pour 4 objets de poids 1 et un sac e de capacit 3. e Que remarque-t-on ?
N. Brauner
336
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Programmation Dynamique
Un tat peut tre calcul un tr`s grand nombre de fois e e e e Ide : on drcursive e ee On mmorise les tats au lieu de les recalculer e e Il sut de parcourir les tats dans un ordre topologique e inverse du graphe dtat e Evaluer les tats de base OPT [0, . . . , 0]. e Parcourir les tats jusqu` X e a
Pour chaque tat X , dpendant de e e X1 , . . . , Xk dj` valus, mmoriser eae e e OPT [X ] = f (OPT [X1 ], . . . , OPT [Xk ))
Retourner OPT [X ]
N. Brauner 337
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Sac ` dos a
Sac ` dos de taille 7, avec 4 objets a valeurs des objets 2 poids des objets 2 4 3 5 4 6 5
N. Brauner
338
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Ecacit e
Quel est le temps de rsolution ? e Dpend e
du nombre dtats e du temps t pour valuer la fonction f en chaque tat. e e
Souvent on a une borne uniforme sur t(x1 , . . . , xl ) T Le temps de rsolution est major par e e T #Etats
N. Brauner
339
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Sac ` dos a
Temps de rsolution du sac ` dos e a Quel est le temps pour valuer un tat (i, w ) ? e e Quel est le nombre dtats ? e
N. Brauner
340
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
341
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Plan
29
Optimisation Combinatoire
30
Principe de Sous-optimalit e
31
Programmation Dynamique
32
Dominances
N. Brauner
342
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dimensionnement de lots
Une demande journali`re dt sur un horizon T e Cot de production pt (x) = ft + at x u Cot de stockage unitaire ht (par jour par unit) u e Quel plan de production choisir pour minimiser les cots ? u Comment dcrire une solution ? e
N. Brauner
343
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dimensionnement de lots
demande
production
stock
N. Brauner 344
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`tres sont ncessaires ? e e Quel est le temps de rsolution ? e
N. Brauner
345
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dominance
Denition (Dominance) Une dominance est une proprit D vrie par au moins une ee e e solution optimale.
Proprit D
Solutions ralisables
Solutions optimales
N. Brauner
346
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
Dimensionnement de lots
Politiques ZIO Une politique ZIO consiste ` ne produire que si le stock est vide a si It > 0, alors xt = 0 Si pour chaque instant at + ht at+1 , alors les politiques ZIO sont dominantes Argument dchange e On consid`re un planning (optimal) qui ne vrie pas la e e dominance On montre quon peut le modier en prservant lobjectif e
N. Brauner
347
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
348
Optimisation Combinatoire
Principe de Sous-optimalit e
Programmation Dynamique
Dominances
N. Brauner
349
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Plan
33
34
35
36
37
N. Brauner
351
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Plan
33
34
35
36
37
N. Brauner
352
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Mthodologie e
Face ` un probl`me pratique de dcision : a e e Comprendre le probl`me e En dgager les aspects mathmatiques e e Reconna un type de probl`me classique tre e
informs http ://www2.informs.org/Resources/ wikipedia (portail RO fait et corrig par des chercheurs) e
N. Brauner
353
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Mthodologie e
Analyser la complexit e
que peut-on esprer pour le temps de rsolution imparti ? e e solution exacte, approche, avec performance... e probl`mes NP-complets e
http ://www.nada.kth.se/viggo/problemlist/
ordonnancement
http ://www.mathematik.uni-osnabrueck.de/ research/OR/class/
N. Brauner 354
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Mthodologie e
Proposer une formulation
graphes, programmation linaire, PPC... e
Analyser et interprter les rsultats e e Valider par rapport ` la demande initiale a Itrer avec le demandeur si ncessaire e e
N. Brauner
355
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Plan
33
34
35
36
37
N. Brauner
356
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Dcoupe e
Rouleaux de papier de longueur standard 180 cm Couteaux de dcoupe (nombre et position arbitraires) e Couper des rouleaux de mme diam`tre e e Liste des commandes pour la prochaine priode e longueur 80 45 27 nombre de rouleaux 200 120 130
N. Brauner
357
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Dcoupe e
Etapes de la rsolution e Solution manuelle Borne infrieure e Schmas de dcoupe e e Variables et contraintes Fonction objectif 1, rsolution et analyse e Fonction objectif 2, interprtation et rsolution e e . . . et la contrainte dintgralit ? e e
N. Brauner
358
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Plan
33
34
35
36
37
N. Brauner
359
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Fabrication de charbon
On mlange des charbons dans un haut fourneau o` ensuite, une e u raction ` haute temprature produit le coke. Il y a 8 charbons e a e disponibles. Ces charbons sont entrs par des bandes porteuses e qui sont au nombre de 4 (au maximum 4 charbons dirents e dans le mlange). Si un charbon est dans le mlange, il doit e e ltre ` hauteur de minimum 5%. On exige que la teneur du e a mlange en Silicium soit dau plus 1,8 %. Le tableau suivant e 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 dterminer un mlange qui est de cot minimum. e e u (exo de D. de Wolf) N. Brauner
360
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Plan
33
34
35
36
37
N. Brauner
361
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
N. Brauner
362
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
N. Brauner
363
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
N. Brauner
364
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Plan
33
34
35
36
37
N. Brauner
365
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Planication dexpriences e
Dans une industrie chimique, une phase amont teste dirents e produits de synth`se pour dterminer les meilleures e e compositions. Les ractions se font ` temprature leve dans un four de e a e e e cuisson Le process : Remplissage 1/2 journe e Cuisson de 3 ` 14 jours a Filtrage 2 jours
N. Brauner
366
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Cuisson
Un robot a t achet pour automatiser la cuisson ee e Chaque exprience est charge dans une barre de cuisson e e
On dispose de 8 barres de cuisson Le robot peut traiter les 8 barres simultanment e La temprature et la dure de chaque barre est programmable. e e
N. Brauner
367
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Remplissage
Cette tape correspond e A la prparation dune barre de cuisson e Au mlange des dirents constituants e e Pour la raliser, 3 postes de travail ont t installs, e ee e chacun pouvant traiter une barre. Un oprateur est requis pour surveiller le droulement des e e oprations. e
N. Brauner
368
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Filtrage
Cette tape correspond e A lanalyse des rsultats de lexprience e e Elle est ralise de mani`re semi-automatique e e e Un oprateur doit surveiller le droulement des analyses e e Les 8 barres de cuisson peuvent tre analyses simultanment e e e
N. Brauner
369
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Oprateur e
La prsence dun chimiste quali est requise e e Pendant le remplissage Pendant le ltrage Au dmarrage de la cuisson (programmation du robot) e A la n de la cuisson lancer le ltrage pour arrter la raction e e le ltrage peut ensuite tre interrompu e Seule la cuisson peut tre ralise sans la prsence du e e e e chimiste
N. Brauner
370
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Disponibilits e
Le planning des absences du chimiste est connu ` lavance a (week-end, congs, autres obligations) e
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
371
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
N. Brauner
372
Mthodologie e
Dcoupe de rouleaux e
Charbon
Localisation
Planication dexpriences e
Jeu de donnes e
Vous devez planier 17 expriences e 6 avec un temps de cuisson de 14 jours 8 avec un temps de cuisson de 7 jours 3 avec un temps de cuisson de 3 jours Le planning des disponibilits de loprateur e e
L M M semaine 1 semaine 2 semaine 3 semaine 4 semaine 5 J V S D
N. Brauner
373