You are on page 1of 393

Cours de recherche op erationnelle I

Nadia Brauner Nadia.Brauner@imag.fr

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

Recherche Op erationnelle : faisons connaissance


Nadia Brauner Nadia Brauner@imag.fr Responsable Master 2 R ROCO
Recherche Op erationnelle, Combinatoire et Optimisation

Professeur Grenoble I

Laboratoire equipe Recherche Op erationnelle equipe Opti-Com

Pr esidente de la Soci et e Fran caise de RO-AD


4

Recherche Op erationnelle : faisons connaissance


Probl` emes th eoriques Ordonnancement high-multiplicity ( NP ?) Ordonnancement dans ateliers robotis ees OC appliqu ee ` a la micro- electronique Contrats industriels ILOG : Probl` emes complexes de transport IFP : Planication dexp eriences chimiques de Facto : Optimisation du test des circuits Participation ` a la cr eation dune startup OASIC : optimisation de la conception de cellules logiques
5

La recherche op erationnelle

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Plan

La Recherche Op erationnelle Applications Outils La RO en France R ef erences

N. Brauner

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Plan

La Recherche Op erationnelle Applications Outils La RO en France R ef erences

N. Brauner

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle ou Science de la D ecision


D enitions Cambridge Dictionary Operational research UK (US operations research) The systematic study of how best to solve problems in business and industry Wikipedia Operations research, operational research, or simply OR, is the use of mathematical models, statistics and algorithms to aid in decision-making Roadef Recherche Op erationnelle : approche scientique pour la r esolution de probl` emes de gestion de syst` emes complexes
N. Brauner 9

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

La Recherche Op erationnelle Applications Outils La RO en France R ef erences

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

cij xij xij


j B

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

Alvin E. Roth, Lloyd S. Shapley


English English (pdf) Swedish Swedish (pdf)

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

Comment faire les couples ?

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...

Analyse des mod` eles et r esolution


etude de complexit e : que peut-on esp erer pour le temps de r esolution imparti ? mise au point dalgorithmes

Impl ementation et analyse des r esultats


valider par rapport ` a la demande it erer avec le demandeur si n ecessaire

D eploiement des solutions


Int egration logicielle
N. Brauner 28

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Plan

La Recherche Op erationnelle Applications Outils La RO en France R ef erences

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

exemples : emplois du temps. . . Combinatoire echiquier tronqu e http://mathsamodeler.ujf-grenoble.fr/LAVALISE/


N. Brauner 31

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

Autre outils Files dattente Stochastique Simulation

dessin de Lionel Lagarde

` 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

La Recherche Op erationnelle Applications Outils La RO en France R ef erences

N. Brauner

34

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : entreprises en France


Grands groupes avec un p ole R&D en RO Airfrance La SNCF EDF France Telecom Bouygues GDF Suez La poste Renault Air Liquide SFR Google
N. Brauner 35

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : entreprises en France


Pour les autres entreprises Soci et es de conseil sp ecialis ees Logiciels sur etag` ere Laboratoires acad emiques

N. Brauner

36

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : entreprises en France


Soci et es de conseil accompagnent les industriels pour mettre en place des syst` emes daide ` a la d ecision EURODECISION Conseil en optimisation des ressources et planication de la production, outils daide ` a la d ecision ARTELYS Solutions en optimisation ...

N. Brauner

37

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : entreprises en France


Editeurs de logiciels librairies d edi ees ` a des probl` emes math ematiques ILOG (IBM) Optimization tools and engines, Visualization software components, Supply chain applications COSYTEC orir des solutions logicielles, ` a base de technologie de programmation par contraintes, pour r esoudre des probl` emes doptimisation des ressources FICO et ARTELYS Fico XPress : logiciels de mod elisation de probl` emes lin eaires ou quadratiques avec variables r eelles ou enti` eres Knitro : optimiseur non lin eaire Artelys Kalis : Programmation par contraintes ...
N. Brauner 38

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : entreprises en France


Editeurs de logiciels librairies d edi ees ` a des probl` emes m etiers ALMA : Placement et d ecoupe ex : petit bateau (habits), chantiers navals AMADEUS : Voyage plateforme de r eservation centralis ee pour lindustrie du voyage et outils de gestion des compagnies a eriennes Optilogistics : transport et logistique progiciels doptimisation de tourn ees et de planication du transport Ordecsys, Oracle...

N. Brauner

39

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : entreprises en France


Alma : D ecoupe

N. Brauner

40

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : en France


Et dans le monde acad emique enqu ete 2010 de la Roadef 75 equipes ou laboratoires 1400 membres 700 chercheurs, enseignants chercheurs, ing enieurs de recherche permanents 500 doctorants

N. Brauner

41

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Recherche Op erationnelle : pour en savoir plus


Le Livre Blanc de la Recherche Op erationnelle en France Comment les industriels sorganisent Dincontestables r eussites Soci et es de conseil et editeurs de logiciels

  

http://www.roadef.org/ N. Brauner

42

La Recherche Op erationnelle

Applications

Outils

La RO en France

R ef erences

Plan

La Recherche Op erationnelle Applications Outils La RO en France R ef erences

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. . .

avec les ressources disponibles


temps machine, postes de travail, m emoire, ressource homme, mati` ere premi` ere, camions. . .

Dessins de L. Lagarde

N. Brauner

47

Programmation par contraintes

Programmation par contrainte

Mod elisation

R esolution

Plan

Programmation par contrainte

Mod elisation

R esolution

N. Brauner

49

Programmation par contrainte

Mod elisation

R esolution

Sudoku

Pr ecis de Sudoku, N. Jussien

N. Brauner

50

Programmation par contrainte

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

Raisonnement local : contraintes consid er ees ind ependamment


v erier choix coh erents : tests satisabilit e eliminer valeurs impossibles : ltrage

Transmission des d eductions aux autres r egions


les contraintes communiquent et interagissent par linterm ediaire des variables, lorsque le domaine courant dune variable change, toutes les contraintes dans lesquelles elles apparaissent sont r eveill ees : propagation

= principes au cur de la programmation par contraintes


N. Brauner 51

Programmation par contrainte

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

Un probl` eme : trouver une solution du probl` eme


programmation par contrainte (CSP)

Un probl` eme : trouver la meilleure solution du probl` eme


programmation lin eaire

N. Brauner

52

Programmation par contrainte

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

Programmation par contrainte

Mod elisation

R esolution

La PPC, quest-ce que cest ?


Des id ees en vrac Outil informatique pour r esoudre des probl` emes combinatoires Minimise l etape de conception : mod elisation facile, langage proche des concepts des utilisateurs Contraindre = maintenir dans les limites permet d eliminer rapidement des solutions non r ealisables Bien s eparer mod elisation et r esolution Notion naturelle de contraintes :
aecter stages ` a etudiants ranger des objets dans une boite planier le trac a erien etablir un menu equilibr e et app etissant

N. Brauner

54

Programmation par contrainte

Mod elisation

R esolution

La PPC, quest-ce que cest ?


D enition plus formelle CSP : ensemble de probl` emes d enis par des contraintes et consistant ` a chercher une solution les respectant R esolution dun CSP combinatoire : envisager tr` es grand nombre de combinaisons avant den trouver une qui satisfait toutes les contraintes Trop long introduire des raisonnements ou heuristiques pour r eduire la combinatoire et orienter la recherche Solveur de contraintes : on d ecrit les contraintes et le solveur prend en charge automatiquement la r esolution inspir e cours de Christine Solnon http ://bat710.univ-lyon1.fr/~csolnon/

N. Brauner

55

Programmation par contrainte

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

Programmation par contrainte

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

Programmation par contrainte

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)

Conception dhoraires acad emiques


Planier lhoraire des cours ou des examens, en tenant compte des di erentes ressources ( etudiants, professeurs, locaux)

N. Brauner

58

Programmation par contrainte

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

Construction dhoraires de personnel


Aecter les gens ` a des t aches pr ecises Sant e, commerce de d etail, usine, etc. Permet de mod eliser les contraintes complexes

http://www.equitime.org/

N. Brauner

59

Programmation par contrainte

Mod elisation

R esolution

Plan

Programmation par contrainte

Mod elisation

R esolution

N. Brauner

60

Programmation par contrainte

Mod elisation

R esolution

La programmation par contraintes


Objectif Trouver une solution r ealisable Qui respecte des contraintes faciles ` a v erier
Formules math ematiques simples, tableaux de valeurs possibles

Avec des ensembles de valeurs possibles pour les variables de d ecision

N. Brauner

61

Programmation par contrainte

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

Programmation par contrainte

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

Programmation par contrainte

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

Programmation par contrainte

Mod elisation

R esolution

Contraintes
D eclaration dune contrainte

2 types de d eclaration : extension : on enum` ere les valeurs admises


(x = 1 et y = 2) ou (x = 2 et y = 4) ou (x = 3 et y = 0)

intension : on utilise les signes math ematiques connus


x <y

N. Brauner

65

Programmation par contrainte

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

Programmation par contrainte

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

Programmation par contrainte

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

Programmation par contrainte

Mod elisation

R esolution

Probl` eme de satisfaction de contraintes


(X , D , C ) tel que X = {X1 , X2 , . . . , Xn } lensemble des variables D = {D1 , D2 , . . . , Dn } o` u Di est le domaine de Xi C = {C1 , C2 , . . . , Cm } lensemble des contraintes Exemple X = {a , b , c , d } D (a) = D (b ) = D (c ) = D (d ) = {0, 1} C = {a = b , c = d , a + c < b }

N. Brauner

69

Programmation par contrainte

Mod elisation

R esolution

Solution dun CSP


Une aectation est le fait dinstancier des variables. A = {(X1 , V1 ), (X3 , V3 ), (X4 , V4 )} associe la valeur V1 de D1 ` a la variable X1 ... Une aectation est : partielle ou totale consistante ou inconsistante Une solution est une aectation totale consistante

N. Brauner

70

Programmation par contrainte

Mod elisation

R esolution

Solution dun CSP


Probl` eme X = {a, b , c , d } D (a) = D (b ) = D (c ) = D (d ) = {0, 1} C = {a = b , c = d , a + c < b }

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

Programmation par contrainte

Mod elisation

R esolution

Le jeu du : CSP, pas CSP !


Connaissant les pi` eces de mon porte-monnaie, puis-je rendre exactement 8 euros et 57 centimes ? Connaissant les pi` eces de mon porte-monnaie, quelle est la meilleure fa con de rendre 8 euros et 57 centimes ? Est-il possible de colorier une carte avec 5 couleurs sans fronti` ere monochrome ? Sur un cercle, trouver un point ` a distance 2 dune droite.

N. Brauner

72

Programmation par contrainte

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

Programmation par contrainte

Mod elisation

R esolution

Plan

Programmation par contrainte

Mod elisation

R esolution

N. Brauner

74

Programmation par contrainte

Mod elisation

R esolution

Un constat

Un probl` eme est rarement donn e sous la forme dun CSP

N. Brauner

75

Programmation par contrainte

Mod elisation

R esolution

Le probl` eme des reines


Jeu : placer 4 reines sur un echiquier 4 4 sans quelles ne se menacent Mod elisation variables L1 , L2 , L3 , L4 et C1 , C2 , C3 , C4 domaines Li {1, 2, 3, 4} et Ci {1, 2, 3, 4} contraintes lignes, colonnes et diagonales di erentes.

N. Brauner

76

Programmation par contrainte

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

Programmation par contrainte

Mod elisation

R esolution

Mod elisation
Autre mod elisation pour le probl` eme des reines ?

N. Brauner

78

Programmation par contrainte

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

Programmation par contrainte

Mod elisation

R esolution

Exercice : le retour de monnaie


On sint eresse ` a un distributeur automatique de boissons. Lutilisateur ins` ere des pi` eces de monnaie pour un total de T centimes dEuros, puis il s electionne une boisson, dont le prix est de P centimes dEuros (T et P etant des multiples de 10). Il sagit alors de calculer la monnaie ` a rendre, sachant que le distributeur a en r eserve E2 pi` eces de 2= C, E1 pi` eces de 1= C, C50 pi` eces de 50 centimes, C20 pi` eces de 20 centimes et C10 pi` eces de 10 centimes. Mod elisez ce probl` eme sous la forme dun CSP.

N. Brauner

80

Programmation par contrainte

Mod elisation

R esolution

Correction : le retour de monnaie

N. Brauner

81

Programmation par contrainte

Mod elisation

R esolution

Exercice : Send More Money


On consid` ere laddition suivante : + = S M O E O N N R E D E Y

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

Programmation par contrainte

Mod elisation

R esolution

Correction : Send More Money

N. Brauner

83

Programmation par contrainte

Mod elisation

R esolution

Plan

Programmation par contrainte

Mod elisation

R esolution

N. Brauner

84

Programmation par contrainte

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

Programmation par contrainte

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

... do` u lint er et de bien choisir la mod elisation

N. Brauner

86

Programmation par contrainte

Mod elisation

R esolution

Les rem` edes


Sarr eter quand une aectation partielle est inconsistante
backtrack

Restreindre les domaines des variables durant lex ecution


propagation de contraintes

Utiliser des heuristiques Utiliser nos connaissances sur le probl` eme etudi e ...

N. Brauner

87

Programmation par contrainte

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

Programmation par contrainte

Mod elisation

R esolution

Backtrack : jeu de dames


Exemple dex ecution

N. Brauner

89

Programmation par contrainte

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

Importance de lordre des variables

N. Brauner

90

Programmation par contrainte

Mod elisation

R esolution

Propagation des contraintes


Principe : On restreint le domaine dune variable avec les contraintes, on restreint les autres domaines Exemple 0 < x 10 et 3 y 9 contrainte : x > y Alors on peut restreindre le domaine de x ` a 4 x 10

N. Brauner

91

Programmation par contrainte

Mod elisation

R esolution

Propagation des contraintes


Id ee : ` a partir dun CSP, on cherche un CSP equivalent avec des domaines plus petits On propage : Quand un domaine est r eduit Quand une des bornes du domaine est chang ee Quand un domaine est un singleton On propage : Une fois : nud-consistance Deux fois : arc-consistance Ou plus...

N. Brauner

92

Programmation par contrainte

Mod elisation

R esolution

Propagation des contraintes


Nud-consistance Formellement, un CSP (X , D , C ) est consistant de nud si pour toute variable Xi de X , et pour toute valeur v de D (Xi ), laectation partielle (Xi , v ) satisfait toutes les contraintes unaires de C . Algorithmiquement, pour chaque variable Xi non aect ee dans A, on enl` eve de D (Xi ) toute valeur v telle que laectation A {(Xi , v )} est inconsistante.

N. Brauner

93

Programmation par contrainte

Mod elisation

R esolution

Propagation des contraintes


Nud-consistance

N. Brauner

94

Programmation par contrainte

Mod elisation

R esolution

Propagation des contraintes


Arc-consistance Formellement, un CSP (X , D , C ) est consistant darc si pour tout couple de variables (Xi , Xj ) de X , et pour toute valeur vi appartenant ` a D (Xi ), il existe une valeur vj appartenant ` a D (Xj ) telle que laectation partielle {(Xi , vi ), (Xj , vj )} satisfasse toutes les contraintes binaires de C . Algorithmiquement, pour chaque variable Xi non aect ee dans A, on enl` eve de D (Xi ) toute valeur v telle quil existe une variable Xj non aect ee pour laquelle, pour toute valeur w de D (Xj ), laectation A {(Xi , v ), (Xj , w )} soit inconsistante.

N. Brauner

95

Programmation par contrainte

Mod elisation

R esolution

Propagation des contraintes


Arc-consistance : exemple dex ecution

N. Brauner

96

Programmation par contrainte

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

Programmation par contrainte

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

Exercice : Aectation de stock


N entrep ots (co ut douverture ouvre(i ) ) M boutiques co uts dacheminement de chaque entrep ot ` a chaque boutique transfert(i , j ) capacit e : chaque entrep ot ne peut fournir quun certain nombre de boutiques cap(i ) Question : avec un budget de mille euros, puis-je subvenir aux besoins de mes boutiques ?

N. Brauner

99

Correction : Aectation de stock

N. Brauner

100

Programmation lin eaire

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Plan

Introduction ` a la programmation lin eaire

10

Interpr etation g eom etrique

11

Bases et points extr emes

12

Lalgorithme du simplexe

N. Brauner

102

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Plan

Introduction ` a la programmation lin eaire

10

Interpr etation g eom etrique

11

Bases et points extr emes

12

Lalgorithme du simplexe

N. Brauner

103

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Cadre de la PL Programmation lin eaire nombre ni de variables r eelles, contraintes lin eaires, objectif lin eaire Variables x1 , x2 . . . xn r eelles Contrainte g en erique (contrainte i ) :
n

aij xj bi
j =1

Fonction-objectif g en erique (` a maximiser / minimiser) :


n

f (x1 , x2 . . . xn ) =
j =1

cj xj
N. Brauner 104

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Exemple : culture de courgettes et navets Contraintes concernant les quantit es dengrais et danti-parasites 8 engrais A disponible 2 /m2 n ecessaires pour courgettes, 1 /m2 pour navets 7 engrais B disponible 1 /m2 n ecessaires pour courgettes, 2 /m2 pour navets 3 anti-parasites disponible 1 /m2 n ecessaires pour navets Objectif : produire le maximum (en poids) de l egumes, sachant que rendements = 4kg /m2 courgettes, 5kg /m2 navets

N. Brauner

105

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Exemple : culture de courgettes et navets Variables de d ecision 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 106

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Int er et de la PL Probl` eme g en eral doptimisation sous contraintes ERALE AUCUNE m ethode GEN de r esolution ! ! Probl` eme lin eaire quelconque existence de m ethodes de r esolution g en erales et ecaces Ces m ethodes sont ecaces en th eorie et en pratique existence de nombreux logiciels de r esolution : Excel, CPLEX, Mathematica, LP-Solve. . . Cadre restrictif variables r eelles contraintes lin eaires objectif lin eaire
N. Brauner 107

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Repr esentation in extenso max 4xc + 5xn 2xc + xn 8 (engrais A) xc + 2xn 7 (engrais B) xn 3 (anti-parasites) xc 0 et xn 0 Repr esentation matricielle max (4 5) xc xn xc xn

2 1 1 2 0 1 xc 0

8 7 3 xn 0
N. Brauner 108

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Repr esentation in extenso max z =
j cj xj

s .c .

aij xj

b i = 0

i = 1, 2 . . . m

xj

j = 1, 2 . . . n

N. Brauner

109

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


second membre b = matrice de format a11 a12 a21 a22 A= am 1 am 2 b1 b2 . . . bm mn a1n a2n . . . amn ... ... .. . n var. de d ecision X =

x1 x2 . . . xn

Repr esentation matricielle max z = cx b = 0


N. Brauner 110

s .c .

Ax

co ut (ou prot) c = (c1 , c2 . . . cn ) x

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Vocabulaire xi variable de d ecision du probl` eme x = (x1 , . . . , xn ) solution r ealisable (admissible) ssi elle satisfait toutes les contraintes ensemble des solutions r ealisables = domaine ou r egion admissible x = (x1 , . . . , xn ) solution optimale ssi elle est r ealisable et optimise la fonction-objectif contraintes in egalit e ou egalit e lin eaire
a11 x1 + a12 x2 . . . + a1n xn b1 a21 x1 + a22 x2 . . . + a2n xn b2 a31 x1 + a32 x2 . . . + a3n xn = b3

fonction objectif (ou fonction economique) lin eaire


max / min c1 x1 + c2 x2 . . . + cn xn
N. Brauner 111

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Applications Feuille de TD : Programmation lin eaire, Mod elisation Exercice 1 : Production de vins Exercice 2 : Fabrication dhuile dolives Exercice 3 : Compagnie a erienne Exercice 4 : Publicit e

N. Brauner

112

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Forme canonique dun PL maximisation toutes les variables sont non n egatives toutes les contraintes sont des in equations du type max z = s .c .
j j cj xj

aij xj xj

bi 0

i = 1, 2 . . . m j = 1, 2 . . . n

forme matricielle max z = cx s .c . Ax x

b 0
N. Brauner 113

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Forme standard dun PL maximisation toutes les variables sont non n egatives toutes les contraintes sont des equations max z = s .c .
j j cj xj

aij xj xj

= bi 0

i = 1, 2 . . . m j = 1, 2 . . . n

forme matricielle max z = cx s .c . Ax x

= b 0
N. Brauner 114

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Passage entre les formes equation in equation ax = b ax b ax b

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

variable non contrainte variables positives x 0 x = x+ x x +, x 0


N. Brauner 115

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Passage entre les formes Feuille de TD : Programmation lin eaire, R esolution Exercice 1

N. Brauner

116

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Lin eariser un probl` eme non lin eaire ei : expression lin eaire des variables de d ecision 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 117

i = 1, 2 . . . n

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Lin eariser un probl` eme non lin eaire Feuille de TD : Programmation lin eaire, R esolution Exercice 2

N. Brauner

118

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Un peu dhistoire ann ees 30-40 : Kantorovitch, economiste sovi etique mod` eles lin eaires pour la planication et loptimisation de la production ann ees 40-50 : Dantzig, math ematicien am ericain algorithme du simplexe application historique
Op erations Vittles et Plainfare pour ravitaillement de la trizone pendant le blocus de Berlin par pont a erien (23 juin 1948 12 mai 1949) simplexe ex ecut e` a la main (des milliers de variables), jusqu` a 12 000 tonnes de mat eriel par jour !

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Plan

Introduction ` a la programmation lin eaire

10

Interpr etation g eom etrique

11

Bases et points extr emes

12

Lalgorithme du simplexe

N. Brauner

120

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Interpr etation g eom etrique


Exemple : culture de courgettes et navets Variables de d ecision 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 121

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Interpr etation g eom etrique


Interpr eter les contraintes 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 r ealisables = intersection de ces demi-plans : poly` edre

x
N. Brauner 122

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Interpr etation g eom etrique


Optimiser lobjectif Les lignes de niveau {4x + 5y = constante} sont des droites parall` eles

4x 5y=10 4x 5y=18 4x 5y= 22 4x 5y= 25

x
N. Brauner 123

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Interpr etation g eom etrique


G eom etrie dun PL Lensemble des solutions r ealisables est toujours un poly` edre (intersection de demi-espaces)

Les lignes de niveau {f = constante} de la fonction-objectif f sont des hyperplans anes (n = 2 droite, n = 3 plan...)

N. Brauner

124

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Interpr etation g eom etrique


G eom etrie dun PL

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Programmation lin eaire


Solutions dun PL La r egion admissible peut etre vide
nb solutions optimales : 0

non vide, born ee


nb solutions optimales : 1 ou

non vide, non born ee


nb solutions optimales : 0 ou 1 ou

Proposer des exemples de PL pour chacun des cas Feuille de TD : Programmation lin eaire, R esolution Exercice 3
N. Brauner 126

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Plan

Introduction ` a la programmation lin eaire

10

Interpr etation g eom etrique

11

Bases et points extr emes

12

Lalgorithme du simplexe

N. Brauner

134

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Rappels max s.c. z Ax x = cx b 0 A matrice m n x = (x1 x2 . . . xn ) b = (b1 b2 . . . bm ) c = (c1 c2 . . . cn )

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Passage ` a la forme standard Forme standard On peut rajouter des variables d ecart :
n n

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Passage ` a la forme standard max z = 4x + 5y s.c. 2x + y 8 x + 2y 7 y 3 x, y 0 max z = 4x + 5y s.c. 2x + y + e1 = 8 x + 2 y + e2 = 7 y + e3 = 3 x , y , e1 , e2 , e3 0 9 points int eressants (intersection de contraintes) 5 points admissibles enum eration de ces 9 points comme solution de la forme standard (solutions de base)
N. Brauner 137

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


s.c. 2x x x, y 0 8 3.5 3 0 0 0 2 3 3 + y + 2y y y, e1 8 0 4.5 5 0 -6 0 0 3 + e1 + e1 , e2 e3 7 3 -9 -5 0 -0.5 1 0 3 3 0 3 0 0 1 -1.5 0 0 0 = 8 = 7 + e3 = 3 e2 , e3 0 sol de base admiss.                     e2

x 0 0 0 0 4 7 3 2.5 1

pt extr eme (0,0)

(0,3) (4,0)

(3,2) (1,3)
138

{points extr emes} {solutions de base admissibles}N. Brauner

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Syst` eme lin eaire Ax=b A format m n, rang A = m n Base de A : sous-matrice B (m m) inversible de A A = (B , N ) (B , N ) xB xN =b ou BxB + NxN = b

xB = B 1 b B 1 NxN

Solution de base associ ee ` aB:


xN = 0 variables hors base xB = B 1 b variables de base

N. Brauner

139

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Base et solution de base 2x + y + e1 = 8 x + 2y + e2 = 7 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

140

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Base e1 e2 e3 et solution de base = 8 2x y = 7 x 2y =3y

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Ax = b , x 0

(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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Base voisine et pivotage Bases voisines Deux sommets voisins correspondent ` a deux bases B et B telles quon remplace une variable de B pour obtenir B passer ` a un sommet voisin = changer de base (base voisine) principe du pivotage

N. Brauner

143

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Bases et points extr emes


Qui faire entrer 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 2x , e2 = 1 x , et e3 = 0 candidat pour une nouvelle base : {e1 , e2 , e3 } {y } \ {e3 } = {e1 , e2 , y } (x , y , e1 , e2 , e3 ) = (0, 3, 5, 1, 0)

N. Brauner

144

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

Lalgorithme du simplexe

Plan

Introduction ` a la programmation lin eaire

10

Interpr etation g eom etrique

11

Bases et points extr emes

12

Lalgorithme du simplexe

N. Brauner

145

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

(cB B 1 aj cj )xj (zj cj )xj


j =1

= z0

zj cj = cB B 1 aj cj est le co ut r eduit de la variable hors base xj


N. Brauner 158

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Qui faire sortir ?

N. Brauner

160

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Choix dune colonne (variable) entrante


choisir une variable hors base xj (colonne) ayant un co ut r eduit n egatif sil nexiste pas de colonne entrante : STOP, la solution de base est optimale

Choix dune ligne (variable) sortante


Choisir une ligne r minimisant le quotient sil nexiste pas de ligne sortante : STOP le tableau courant est non born e

Mise ` a jour de la base et du tableau


pivoter autour de arj et retourner en (1)
N. Brauner 165

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Programmation lin eaire

Interpr etation g eom etrique

Bases et points extr emes

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

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Plan

13

Illustration economique

14

Comment prouver loptimalit e?

15

Ecrire le dual

16

Propri et es

N. Brauner

169

Illustration economique

Comment prouver loptimalit e?

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

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Plan

13

Illustration economique

14

Comment prouver loptimalit e?

15

Ecrire le dual

16

Propri et es

N. Brauner

171

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Plan

13

Illustration economique

14

Comment prouver loptimalit e?

15

Ecrire le dual

16

Propri et es

N. Brauner

172

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Probl` eme primal (P )


Une famille utilise 6 produits alimentaires comme source de vitamine A et C 1 1 0 35 produits (unit es/kg) 2 3 4 5 0 2 2 1 1 3 1 3 30 60 50 27 6 2 2 22 demande (unit es) 9 19

vitamine A vitamine C Prix par kg

But : minimiser le co ut total Mod elisation

N. Brauner

173

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Probl` eme dual (D) associ e` a (P )


Un producteur de cachets de vitamine synth etique veut convaincre la famille dacheter ses vitamines. quel prix de vente wA et wC ? pour etre comp etitif et maximiser le prot Mod elisation

N. Brauner

175

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Mod elisation matricielle


Probl` eme primal famille : acheter des produits alimentaires ` a co ut minimum et satisfaire la demande en vitamine A et C Mod elisation sous forme matricielle Probl` eme dual producteur de vitamines synth etiques : etre comp etitif vis-` a-vis des produits alimentaires comme source de vitamine et maximiser le prot de vente Mod elisation sous forme matricielle

N. Brauner

177

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

G en eralisation de lillustration economique


ressource i produit j co ut i aij bi demande j cj

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

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Plan

13

Illustration economique

14

Comment prouver loptimalit e?

15

Ecrire le dual

16

Propri et es

N. Brauner

180

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Comment prouver loptimalit e?


Lobjectif est de d emontrer loptimalit e dune solution max z = x1 + x2 4x1 + 5x2 20 2x1 + x2 6 x2 2 x1 , x2 0 Id ee : trouver une combinaison valide des contraintes permettant de borner terme ` a terme la fonction objectif

N. Brauner

181

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Comment prouver loptimalit e?


max z = x1 + x2 4x1 + 2x1 + (4y1 + 2y2 )x1 5x2 x2 x2 + (5y1 + y2 + y3 )x2 y1 , y2 , y3 20 y1 6 y2 2 y3 20y1 + 6y2 + 2y3 0

Finalement, min 20y1 + 6y2 + 2y3 s.c. 4y1 5y1 yi + 2y2 + y2 + 0


N. Brauner 184

(borne sup minimale) (borner terme ` a terme lobjectif) 1 1

y3

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Plan

13

Illustration economique

14

Comment prouver loptimalit e?

15

Ecrire le dual

16

Propri et es

N. Brauner

185

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Forme canonique de dualit e


Donn ee A, b , c min z = cx s .c . Ax b x 0 max v = wb s .c . wA c w 0

(P )

(D)

N. Brauner

186

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Tableau des signes


min primal dual variable 0 variable 0 variable 0 contrainte contrainte = contrainte max dual primal contrainte contrainte = contrainte variable 0 variable 0 variable 0

L ecriture du Dual est automatique : les variables la fonction objectif les contraintes
N. Brauner 189

Illustration economique

Comment prouver loptimalit e?

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

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Plan

13

Illustration economique

14

Comment prouver loptimalit e?

15

Ecrire le dual

16

Propri et es

N. Brauner

191

Illustration economique

Comment prouver loptimalit e?

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

Comment prouver loptimalit e?

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

Cons equence : que se passe-t-il si lun est non born e?

N. Brauner

194

Illustration economique

Comment prouver loptimalit e?

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

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Propri et e des ecarts compl ementaires


Pour lexemple des vitamines ecrire le primal avec les variables d ecart (si ) ecrire le dual avec les variables d ecart (ti ) trouver une solution du primal optimale trouver une solution du dual optimale ecrire les paires de variables (si , wi ) et (xj , tj ) que remarquez-vous ?

N. Brauner

196

Illustration economique

Comment prouver loptimalit e?

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

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Propri et e des ecarts compl ementaires


Int er et Si on conna t x optimal de (P ), alors on peut trouver y en appliquant le th eor` eme des ecarts compl ementaires (et ainsi prouver loptimalit e de x ) essayer sur un exemple max z = x1 + x2 4x1 + 5x2 20 2x1 + x2 6 x2 2 x1 , x2 0 avec x1 = 2 et x2 = 2

N. Brauner

200

Illustration economique

Comment prouver loptimalit e?

Ecrire le dual

Propri et es

Petite philosophie de la dualit e


` quoi servent les trois th A eor` emes de dualit e Dualit e faible : pour faire la preuve doptimalit e Ecarts compl ementaires : pour trouver une solution optimale du dual connaissant une solution optimale du primal Dualit e forte : garantit quune preuve doptimalit e (utilisant la dualit e) est possible

N. Brauner

202

Excel et analyse post-optimale

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Plan

17

Solveur dExcel

18

Analyse post-optimale

19

Application : la d ecoupe de rouleaux

N. Brauner

204

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Plan

17

Solveur dExcel

18

Analyse post-optimale

19

Application : la d ecoupe de rouleaux

N. Brauner

205

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Utilisation du solveur dExcel


R esoudre lexercice Vitamines avec le solveur dExcel Description des donn ees

N. Brauner

206

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Utilisation du solveur dExcel


Formules

N. Brauner

207

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Utilisation du solveur dExcel


Param etrage du solveur

N. Brauner

208

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Utilisation du solveur dExcel


Options du solveur

N. Brauner

209

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Utilisation du solveur dExcel


R esultat

N. Brauner

210

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Utilisation du solveur dExcel


Rapport de r eponse

N. Brauner

211

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Utilisation du solveur dExcel


Rapport de sensibilit e

N. Brauner

212

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Plan

17

Solveur dExcel

18

Analyse post-optimale

19

Application : la d ecoupe de rouleaux

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

Trouver la solution optimale graphiquement

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

Variation des seconds membres


Si on augmente la capacit e disponible dune ressource, quel est limpact sur la valeur optimale de la fonction objectif ? Le prix cach e yi mesure laugmentation de la fonction objectif si lon accro t dune unit e la capacit e disponible bi . Augmenter la quantit e de rhubarbe ` a 5 kg disponibles calculer le point optimal calculer lobjectif calculer le prix cach e

N. Brauner

217

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Variation des seconds membres


Augmenter la quantit e de fraise ` a 13 kg disponibles calculer le point optimal calculer lobjectif calculer le prix cach e

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

Variation des seconds membres : analyse de sensibilit e


Calcul des limites de validit e des prix cach es Jusquo` u peut-on monter (ou descendre) ces valeurs avec les m emes co uts r eduits ?

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

Variation des coecients objectifs


Si on augmente le prix de vente unitaire ou si lon diminue le co ut de production unitaire, quel est limpact sur la valeur de lobjectif ? La valeur de la j -` eme variable ` a loptimum (xj ) mesure laugmentation de la fonction objectif si lon accro t dune unit e la marge unitaire cj . Augmenter la marge du pot de rhubarbe ` a 4 euros calculer le point optimal calculer lobjectif calculer laugmentation de lobjectif

N. Brauner

220

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Variation des coecients objectifs : analyse de sensibilit e


Variation maximum de c1 autour de 3 tel que le sommet optimal ne change pas.

De combien peut-on diminuer c1 ? De combien peut-on augmenter c1 ? Idem pour c2

N. Brauner

221

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Lanalyse de sensibilit e dans Excel

N. Brauner

222

Solveur dExcel

Analyse post-optimale

D ecoupe de rouleaux

Plan

17

Solveur dExcel

18

Analyse post-optimale

19

Application : la d ecoupe de rouleaux

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

Trouver les sch emas de d ecoupe qui minimisent la perte

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

Programmation lin eaire en nombres entiers

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Introduction
Programmation Lin eaire (PL)
Variables de d ecision continues (r eels) Algorithme du Simplexe ecace

Programmation Lin eaire en Nombres Entiers (PLNE)


Variables de d ecision discr` etes (entiers, bool eens {0, 1}) Choix dune bonne formulation souvent dicile Pas de m ethode g en erale ecace de r esolution Algorithme de Branch & Bound, Branch & Cut. . .

Programme Lin eaire Mixte (MIP pour Mixed Integer Program)


A la fois des variables r eelles et enti` eres

N. Brauner

227

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Introduction
Combinatoire Structure discr` ete Tr` es grand nombre de possibilit es

N. Brauner

228

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Plan

20

Probl` emes classiques

21

Techniques de mod elisation

22

Relaxation lin eaire

23

Branch & Bound

N. Brauner

230

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Plan

20

Probl` emes classiques

21

Techniques de mod elisation

22

Relaxation lin eaire

23

Branch & Bound

N. Brauner

231

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Le sac ` a dos Un beau jour de vacances, vous avez d ecid e de partir en randonn ee dans le Vercors. Vous voulez remplir votre sac de capacit e 3kg 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

232

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Le sac ` a dos ` Dos Probl` eme g en erique de Sac a un ensemble dobjets N = {1, 2 . . . n} ` a chaque objet est associ e
une utilit e ui un poids wi

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Le sac ` a dos Probl` eme doptimisation classique Utiliser au mieux une capacit e Choix dun portefeuille dinvestissement

Mod elisation INSTANCE : SOLUTIONS : SOLUTIONS REALISABLES : CRITERE :


N. Brauner 234

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Le sac ` a dos variables objectif contraintes xi = 1 si lobjet i est choisi, 0 sinon max
i N i N

ui xi

wi xi W i N

xi {0, 1}

N. Brauner

235

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Remplissage de bo tes (bin packing) Un d em enageur souhaite empaqueter des objets en minimisant le nombre de bo tes de capacit e W = 6 n ecessaires taille 2 2 3 1 2 5 6

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Remplissage de bo tes (bin packing) des articles N = {1, 2 . . . n} de taille {s1 , s2 . . . sn } ` a ranger dans des bo tes de capacit eW en utilisant le moins de bo tes possible

N. Brauner

237

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Couverture densembles On souhaite choisir les intervenants dans un projet an davoir toutes les comp etences n ecessaires en minimisant le co ut Co ut (h ou = C) Rech. Op. Java Bases de donn ees Th eorie des graphes UML
1 2

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Couverture densembles matrice A = (aij )i =1..n,j =1..m ` a coecients 0 ou 1 cj > 0, le co ut de la colonne j une colonne j couvre une ligne i si aij = 1 trouver un sous-ensemble des colonnes de A de co ut minimum tel que chaque ligne de A soit couverte au moins une fois

N. Brauner

239

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Partition densembles matrice A = (aij )i =1..n,j =1..m ` a coecients 0 ou 1 cj > 0, le co ut de la colonne j une colonne j couvre une ligne i si aij = 1 trouver un sous-ensemble des colonnes de A de co ut minimum tel que chaque ligne de A soit couverte exactement une fois

N. Brauner

240

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Aectation N1 et N2 deux ensembles de m eme cardinal n A N1 N2 : un collection de couples de nuds repr esentant toutes les aectations possibles cij : co ut du couple (i , j ) A trouver une aectation de co ut minimum tel que chaque el ement de N1 est aect e` a un et un seul el ement de N2

N. Brauner

241

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Probl` emes classiques doptimisation combinatoire


Plus court chemin Trouver un chemin de distance minimum entre deux nuds, s et t dun r eseau donn e.

N. Brauner

242

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Plan

20

Probl` emes classiques

21

Techniques de mod elisation

22

Relaxation lin eaire

23

Branch & Bound

N. Brauner

243

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Techniques g en erales de mod elisation


La PLNE permet de r esoudre beaucoup de probl` emes combinatoires mais ATTENTION ` a lecacit e de la r esolution. . . Les variables enti` eres sont introduites Pour d ecrire des structures discr` etes sous-ensemble S {1, . . . , n} vecteur indicateur (x1 , . . . , xn ) {0, 1}n Pour lin eariser des expressions non lin eaires

N. Brauner

244

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Techniques g en erales de mod elisation


Restriction ` a un ensemble discret de valeurs x doit prendre sa valeur parmi {p1 , p2 . . . pk } On introduit une variable yi indicatrice de {x = pi } yi 1 ssi x = pi , et 0 sinon
k

yi = 1
i =1 k

x= pi yi i =1 yi {0, 1} pour i = 1, 2 . . . k

N. Brauner

245

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Techniques g en erales de mod elisation


Contraintes de seuil : si x > 0 alors x K (constante) x My x Ky o` u M est une constante plus grande que x y {0, 1} Implication logique : x = 1 y = 1 avec x et y deux variables bool eennes {0, 1} x y OU logique : x ou y doit etre ` a Vrai avec x et y deux variables bool eennes {0, 1} x +y 1
N. Brauner 246

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Techniques g en erales de mod elisation


x : une variable de d ecision Objectif avec co ut xe (fonction ane) : min f 1{x >0} + cx Le co ut est compos e dun co ut unitaire c et dun co ut xe f pay e uniquement si x > 0 On introduit une variable y indicatrice de {x > 0} y 1 ssi x > 0, et 0 sinon min fy + cx x My y {0, 1}

o` u M est une constante x

N. Brauner

247

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Techniques g en erales de mod elisation


Contraintes disjonctives deux taches de dur ees di et dj doivent etre usin ees sur une m eme ressource ti + di tj si i est r ealis ee avant j tj + dj ti si j est r ealis ee avant i ti + di tj + M (1 yij ) t + dj ti + Myij j yij {0, 1}

N. Brauner

248

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Techniques g en erales de mod elisation


Termes quadratiques lin eariser xx avec x , x {0, 1} On introduit une variable y xx On doit traduire y = 1 ssi (x = 1 et x = 1) y y x y x x +x 1y {0, 1}

N. Brauner

249

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Plan

20

Probl` emes classiques

21

Techniques de mod elisation

22

Relaxation lin eaire

23

Branch & Bound

N. Brauner

250

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Illustration graphique

N. Brauner

252

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Illustration graphique

N. Brauner

253

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Relaxation Lin eaire


Pour r esoudre un PLNE une id ee simple est doublier que les variables sont enti` eres on recherche alors loptimum du PL sur le poly` edre P on peut utiliser lalgorithme du simplexe D enition La relaxation lin eaire dune formulation en PLNE est le PL max{cx | Ax b , x Rn } Lien entre loptimum du PL et loptimum du PLNE ?

N. Brauner

254

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Illustration graphique de la relaxation

N. Brauner

255

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Exemple I
max z = 4x1 s .c . 7x1 x1 + x2

+ x2 36 + 4x2 22 0 entiers

x1 , x2
1 2

Trouvez graphiquement loptimum fractionnaire Trouvez graphiquement loptimum entier

N. Brauner

256

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Exemple III
min z = x1 s .c . x1 17x2 = 3 x1 11x3 = 4 x1 6x4 = 5 entiers

x1 , x2 , x3 , x4 0
1

Trouvez loptimum fractionnaire, son arrondi et loptimum entier

N. Brauner

258

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Propri et e de la relaxation lin eaire


Pour une formulation en PLNE
zIP = max{cx | Ax b , x Zn }

La relaxation lin eaire


zL = max{cx | Ax b , x Rn }

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Plan

20

Probl` emes classiques

21

Techniques de mod elisation

22

Relaxation lin eaire

23

Branch & Bound

N. Brauner

260

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

M ethodes enum eratives


Nombre ni de solutions F = {S1 , S2 , . . . , SN }
- Parcourir toutes les solutions - Pour chaque S F , evaluer c (S ) - Retenir la meilleure solution

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Challenge de loptimisation combinatoire


Comment trouver la meilleure solution sans parcourir toutes les solutions ? Enum eration implicite : eliminer a priori des solutions D etecter que des solutions sont mauvaises ou irr ealisables sans les evaluer explicitement.

N. Brauner

262

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Principe du Branch & Bound


On veut r esoudre z = max{cx | x X } Si on partitionne X en (X1 , X2 )
, z } Alors z = max{z1 2

X1

X2

z* 1

z* 2

N. Brauner

263

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Principe du Branch & Bound


> z Si z1 2

Alors il est inutile dexplorer le sous-ensemble X2 X2 ne contient pas de solution optimale.


X

X1

X2

z* 1

>

z* 2

N. Brauner

264

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Borne sup erieure


Comment d eterminer quil est inutile dexplorer X2 sans ? calculer z2
Estimation [par exc` es] de la valeur de z2

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

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Enum eration arborescente implicite


Pour r esoudre z = max{cx | x X } On d ecoupe lensemble des solutions X Sur chaque Y X , on calcule une borne sup erieure B (Y ) de loptimum z (Y ). Si B (Y ) ` a la meilleure solution trouv ee, alors on elague Y Sinon on d ecoupe r ecursivement Y

N. Brauner

266

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Comment d ecouper lespace des solutions ?


On r esout la relaxation lin eaire du probl` eme sur X ` a loptimum Si la solution x est enti` ere, on a trouv e loptimum sur X Sinon pour une variable (au moins) on a : a < xi < a + 1

P Dcoupage du problme X

x*

N. Brauner

267

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Branchement sur une variable fractionnaire


On partitionne X en deux nouveaux sous-probl` emes : X1 = x X et xi a X2 = x X et a + 1 xi

P1

x* X

P2
N. Brauner 268

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Exploration de lensemble X2 de solutions


On recherche la meilleure solution sur X2 : On r esout la relaxation lin eaire sur P2 On partitionne en 2 nouveaux sous-probl` emes

P1

P3 X

P4 P2

N. Brauner

269

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Exploration de lensemble X1 de solutions


On a trouv e la solution optimale sur X2 Existe-t-il une meilleure solution sur X1 ? La borne sup erieure ne nous permet pas d elaguer X1

P1

P3 X

P4

N. Brauner

270

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Exploration de lensemble X1 de solutions


On recherche la meilleure solution sur X1 : On partitionne en 2 nouveaux sous-probl` emes

P5

P6

P3 X

P4

N. Brauner

271

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Fin du Branch & Bound


La solution optimale sur X est la meilleure des 2 solutions trouv ees sur X1 et X2 .

P5

P6

P3 X

P4

N. Brauner

272

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Branch & Bound


1 2

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

On coupe une branche si

Note : On ne peut rien couper tant quon na pas de solution disponible


N. Brauner 273

Probl` emes classiques

Techniques de mod elisation

Relaxation lin eaire

Branch & Bound

Branch & Bound


z = 2x1 + 3x2 sc. 5x1 + 7x2 35 4x1 + 9x2 36 x1 , x2 0 entiers faire le dessin
x2 3
z = 13,5 x1 = 2,25 x2 = 3 z = 14,47 x1 = 3,71 x2 = 2,35

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

Pas de sol ralisable

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

Comment d ecrire une solution ? Comment d ecrire une solution r ealisable ?

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

Utiliser un solveur via un modeleur


OPL 5.1 et Cplex

N. Brauner

281

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Plan

24

Pr esentation des outils Mod` eles Lenvironnement Donn ees Application

25

26

27

28

N. Brauner

282

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Plan

24

Pr esentation des outils Mod` eles Lenvironnement Donn ees Application

25

26

27

28

N. Brauner

283

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Modeleur et solveur
output mod` ele dvar a[] ; ...
e e

donn ees brutes


(BD, GUI. . . )

(BD, GUI tableur) T a[] T

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

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Le langage de mod elisation OPL


OPL = Optimization Programming Language Langage pour les probl` emes doptimisation Supporte des mod` eles de programmation math ematiques pour
contraintes ou objectifs lin eaires ou quadratiques variables enti` eres ou r eelles

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

Pr esentation des outils

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

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Int egrer un mod` ele dans une application


D evelopper un mod` ele OPL avec OPL IDE (mod` ele et donn ees s epar es) Compiler dans OPL IDE Ecrire code dans langage pr ef er e pour
g en erer dynamiquement le chier de donn ees lire le mod` ele et les donn ees r esoudre le probl` eme r ecup erer la solution

(C++, MS.net, Java, ASP.net, JSP)

N. Brauner

287

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Plan

24

Pr esentation des outils Mod` eles Lenvironnement Donn ees Application

25

26

27

28

N. Brauner

288

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

D evelopper un mod` ele simple


On souhaite 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.

max 3xr s .c . xr 3xr xr ,

5xf

4 2xf 12 + 2xf 18 xf 0
N. Brauner 289

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

D evelopper un mod` ele simple


max 3xr s .c . xr 3xr xr , + 5xf

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

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

D evelopper un mod` ele simple


L editeur

Commentaires en vert Mots cl es en bleu


N. Brauner 291

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

R esoudre un mod` ele simple


Lancer la r esolution et visualiser la solution Notication Problem Browser

Console

N. Brauner

292

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Plan

24

Pr esentation des outils Mod` eles Lenvironnement Donn ees Application

25

26

27

28

N. Brauner

293

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Lenvironnement
Output

Issues Console Solutions Conicts and Relaxations Engine Log Engine Statistics Proler
N. Brauner 294

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Lenvironnement
Barres doutils Model Outline

Projets (congurations)

N. Brauner

295

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Laide
Menu Aide Sommaire de laide

noter laide sur un mot cl e (keyword help)

N. Brauner

296

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Plan

24

Pr esentation des outils Mod` eles Lenvironnement Donn ees Application

25

26

27

28

N. Brauner

297

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

S eparation du mod` ele et des donn ees


Dans lexercice conture, s eparer les donn ees du mod` ele D eclaration des donn ees dans le chier mod` ele Produits Pots Prot Besoin Quantit es dispo. {string} Produits = {"rhubarbe", "fraise", "sucre"} ; {string} Pots = {"ConfRhubarbe", "ConfFraise"}; int Profit[Pots] = [3, 5]; int Besoin[Pots][Produits] = [[1, 0, 3],[0, 2, 2]] ; int Dispo[Produits] = [4, 12, 18] ;

N. Brauner

298

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

S eparation du mod` ele et des donn ees


D eclaration des contraintes constraint cap[Produits] ; D eclaration des variables de d ecision dvar float+ x[Pots] ; Objectif : maximiser le prot maximize sum(po in Pots) Profit[po]*x[po] ; Contraintes : respecter les quantit es disponibles subject to{ forall (pr in Produits) cap[pr]: sum(po in Pots) Besoin[po][pr]*x[po] <= Dispo[pr] ; }

N. Brauner

299

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

S eparation du mod` ele et des donn ees


Dans lexercice conture, saisir les donn ees dans un chier .dat D eclaration des donn ees dans un chier .dat Produits = {"rhubarbe", "fraise", "sucre"} ; Pots = {"ConfRhubarbe", "ConfFraise"}; Besoin = [ "ConfRhubarbe":[1, 0, 3], "ConfFraise":[0, 2, 2] ]; Profit = [3, 5]; Dispo = [4, 12, 18] ;
N. Brauner 300

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

S eparation du mod` ele et des donn ees


D eclaration de donn ees externes dans un mod` ele {string} Produits = ... ; {string} Pots = ...; int Besoin[Pots][Produits] = ...; int Profit[Pots] = ...; int Dispo[Produits] = ...; Ajouter le chier de donn es au projet Ajouter le chier de donn ees ` a la conguration

N. Brauner

301

Pr esentation des outils

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

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Plan

24

Pr esentation des outils Mod` eles Lenvironnement Donn ees Application

25

26

27

28

N. Brauner

303

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Production de moteurs davions


Production de deux composantes (A et B ) dun moteur davion. Notication des besoins pour les trois prochains mois. avril mai juin A 1000 3000 5000 B 1000 500 3000 capacit es machine (h) hommes (h) stock (m3 ) avril 400 300 10 000 mai 500 300 10 000 juin 600 300 10 000 capacit es machine (h/unit e) homme (h/unit e) stock (m3 /unit e) A 0.10 0.05 2 B 0.08 0.07 3
N. Brauner 304

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Production de moteurs davions


Production de deux composantes (A et B ) dun moteur davion. co uts de production : 20 par unit es de A et 10 par unit es de B co ut de stockage : 1,5% de la valeur horaire mensuel de base : 225 co ut de lheure suppl ementaire de travail : 10 stock n mars : 500 A et 200 B stock minimum impos e n juin : 400 A et 200 B Trouver un plan de production des trois prochain mois qui minimise les co uts. Proposer une mod elisation math ematique de ce probl` eme

N. Brauner

305

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Production de moteurs davions


Variables production : x [produit , mois ] stock : s [produit , mois ] heures suppl ementaires I [mois ] Objectif : production + stock + heures suppl ementaires Contraintes d enition du stock stock minimum n juin capacit es des machines capacit es des hommes capacit es des stocks d enition des heures suppl ementaires
N. Brauner 306

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Production de moteurs davions


Mod eliser ce probl` eme avec OPL et le r esoudre avec CPLEX Solution fractionnaire : co ut 224724.2857 Mars 500 200 Avril 500 2857,14 0 2057,14 0 Mai 3000 1214,29 0 2771,43 10 Juin 5400 428,671 400 200 75

Produit A Produit B Stock A Stock B Heures supp

N. Brauner

307

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Production de moteurs davions


Solution enti` ere : co ut 224724.5 Mars 500 200 Avril 500 2858 0 2058 0.06 1 Mai 3000 1214 0 2772 9.98 10 Juin 5400 428 400 200 74.96 75

Produit A Produit B Stock A Stock B Heures supp Heures supp ent

N. Brauner

308

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Production de moteurs davions


Programme lin eaire avec 15 variables et 20 contraintes 2 produits 3 mois 1 type de machines 1 type dhommes 1 type de stockage

N. Brauner

309

Pr esentation des outils

Mod` eles

Lenvironnement

Donn ees

Application

Pour aller plus loin


Donn ees dans Excel Ilog script Application VB Web appli et Java AMPL : un autre langage de mod elisation http://www.ampl.com

N. Brauner

310

Formulations et coupes

Formulation

In egalit e valide

Algorithme de plan s ecant

Plan

29

Formulation

30

In egalit e valide

31

Algorithme de plan s ecant

N. Brauner

312

Formulation

In egalit e valide

Algorithme de plan s ecant

Plan

29

Formulation

30

In egalit e valide

31

Algorithme de plan s ecant

N. Brauner

313

Formulation

In egalit e valide

Algorithme de plan s ecant

Remplissage de Boite (bin packing)


Un ensemble de n objets de hauteur hi A ranger dans des bo tes de hauteur H Minimiser le nombre de bo tes utilis ees Formulation P en PLNE xij 1 si i est rang e dans la bo te j yj 1 si la bo te j est utilis ee min
j N

yj i N j N i , j N
N. Brauner 314

xij = 1 h i i xij Hyj yj , xij {0, 1}


j

Formulation

In egalit e valide

Algorithme de plan s ecant

Remplissage de Boite (bin packing)


Enorm ement de sym etries sont pr esentes Si loptimum utilise 3 bo tes, autant prendre les 3 premi` eres ! Quelle contrainte ajouter ?

N. Brauner

315

Formulation

In egalit e valide

Algorithme de plan s ecant

R esolution des 2 formulations


Le premier PLNE est une formulation du BinPacking Ajouter les contraintes de sym etries, nest-ce pas redondant ? Essayons de r esoudre linstance 15 objets ` a ranger dans des bo tes de hauteur H = 20 hauteurs 6 7 8 9 10 en trois exemplaires chacun

(tr` es) petit exemple Quelle est la solution optimale ?

N. Brauner

316

Formulation

In egalit e valide

Algorithme de plan s ecant

R esolution des 2 formulations


15 objets ` a ranger dans des bo tes de hauteur H = 20 hauteurs 3 6 7 8 9 10

R esolution sous OPL Formulation I (Cuts o) temps nuds > 3h > 35 millions

Formulation II (Cuts o) temps nuds 129s 500000

Formulation I (Cuts on) temps nuds 3s 2000

N. Brauner

317

Formulation

In egalit e valide

Algorithme de plan s ecant

Formulations dun PLNE


Probl` eme combinatoire ` a r esoudre max{cx | x X } avec X Z n Une mod elisation du probl` eme en PLNE poly` edre P = {x R n | Ax b } D enition Un PLNE est une formulation de X ssi X = P Z n Il existe une innit e de formulations pour un probl` eme

N. Brauner

318

Formulation

In egalit e valide

Algorithme de plan s ecant

Illustration graphique

N. Brauner

319

Formulation

In egalit e valide

Algorithme de plan s ecant

Illustration graphique

N. Brauner

320

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Algorithme de plan s ecant

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

Algorithme de plan s ecant

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

Algorithme de plan s ecant

Plan

29

Formulation

30

In egalit e valide

31

Algorithme de plan s ecant

N. Brauner

324

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Algorithme de plan s ecant

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

Algorithme de plan s ecant

Coupes de Chv atal-Gomory


Programme lin eaire max{cx | Ax b , x entier}. Pour une ligne i de la matrice on a aij xj bi
i

Pour tout r eel > 0 aij xj bi


i

Lin egalit e suivante est donc valide (x 0) aij xj bi


i

En appliquant la remarque, on obtient une coupe de C-G aij xj bi


i
N. Brauner 327

Formulation

In egalit e valide

Algorithme de plan s ecant

Exemple
Probl` eme ` a 2 variables x et y enti` eres Formulation
5/4

3x + 4y 5 Objectif max 9x + 10y


X

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

Algorithme de plan s ecant

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

Algorithme de plan s ecant

Plan

29

Formulation

30

In egalit e valide

31

Algorithme de plan s ecant

N. Brauner

330

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Algorithme de plan s ecant

Algorithme de Plan S ecant (Cutting Plane)


Probl` eme combinatoire max{cx | x X } avec X Z n La description compl` ete de conv (X ) est inutile Seule la description autour de loptimum nous int eresse
X

Id ee rajouter les in egalit es valides uniquement dans la r egion de loptimum


N. Brauner 332

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Algorithme de plan s ecant

Algorithme de Plan S ecant


On r esout le relaxation lin eaire sur la nouvelle formulation On cherche une nouvelle in egalit e coupant x

On it` ere jusqu` a obtenir une solution x enti` ere

x* x* X X

N. Brauner

334

Formulation

In egalit e valide

Algorithme de plan s ecant

Algorithme de Plan S ecant

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

Optimum sur X FIN

N. Brauner

335

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Algorithme de plan s ecant

Comparaison avec le Branch & Bound


Algorithme de Plan S ecant : rane la description du poly` edre autour de loptimal Algorithme de Branch & Bound : d ecoupe le poly` edre en morceaux

x* X
X

N. Brauner

337

Formulation

In egalit e valide

Algorithme de plan s ecant

Branch & Cut


Les algorithmes de plan s ecant peuvent echouer ` a s eparer une solution fractionnaire ou, trop din egalit es sont n ecessaires Un algorithme de Branch & Bound doit alors etre utilis e. Branch & Cut Un Branch & Cut consiste ` a appliquer un algorithme de plan s ecant sur chaque nud avant de brancher But : am eliorer la formulation de chaque nud Nombre de nuds explor es << Branch & Bound Calcul de chaque nud >> Branch & Bound

N. Brauner

338

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Comment d ecrire une solution ? Comment d ecrire une solution r ealisable ?

N. Brauner

339

Formulation

In egalit e valide

Algorithme de plan s ecant

Dimensionnement de lots (DLS)

demande

production

stock
N. Brauner 340

Formulation

In egalit e valide

Algorithme de plan s ecant

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 h (par jour par unit e) Quel plan de production choisir pour minimiser les co uts ?

N. Brauner

341

Formulation

In egalit e valide

Algorithme de plan s ecant

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 342

Formulation

In egalit e valide

Algorithme de plan s ecant

Formulations dun PLNE


On obtient la formulation AGG min ft yt + hIt
t

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

Que se passe-t-il si on essaie de la r esoudre ?

N. Brauner

343

Formulation

In egalit e valide

Algorithme de plan s ecant

Limite du Branch & Bound


OPL ne parvient pas ` a r esoudre ! Pourtant : Le probl` eme est facile et lexemple est petit Il existe des algorithmes qui la r esolvent instantan ement La formulation naturelle nest pas ecace Peut-on formuler di eremment le probl` eme ?

N. Brauner

344

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Algorithme de plan s ecant

Comparaison des 2 formulations


Formulation AGG O(T ) variables binaires et continues O(T ) contraintes Formulation UFL O(T ) variables binaires O(T 2 ) variables continues O(T 2 ) contraintes La seconde formulation est beaucoup plus grosse Est-ce le bon crit` ere de comparaison pour un PLNE ?

N. Brauner

346

Formulation

In egalit e valide

Algorithme de plan s ecant

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

Algorithme de plan s ecant

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

Jeux introductifs Optimisation Combinatoire Principe de Sous-optimalit e Programmation Dynamique Dominances

33

34

35

36

N. Brauner

350

Jeux introductifs

Optimisation Combinatoire

Principe de Sous-optimalit e

Programmation Dynamique

Dominances

Plan

32

Jeux introductifs Optimisation Combinatoire Principe de Sous-optimalit e Programmation Dynamique Dominances

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

Jeux introductifs Optimisation Combinatoire Principe de Sous-optimalit e Programmation Dynamique Dominances

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

Probl` emes combinatoires


D enition Un probl` eme doptimisation se d enit par INSTANCE : d ecrit les donn ees dentr ee SOLUTIONS REALISABLES : d ecrit lensemble F des solutions admissibles CRITERE ` a optimiser. Mesure c sur les solutions r ealisables D enition g en erique : une innit e dinstances On recherche une m ethode (algorithme) capable de fournir pour chaque instance I :
une solution optimale S ou la valeur OPT (I ) du crit` ere ` a loptimum OPT (I ) = c (S ) = max{c (S )|S F}
N. Brauner 357

Jeux introductifs

Optimisation Combinatoire

Principe de Sous-optimalit e

Programmation Dynamique

Dominances

Probl` emes combinatoires


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

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

M ethodes enum eratives


Nombre ni de solutions F = {S1 , S2 , . . . , SN }
- Parcourir toutes les solutions - Pour chaque S F , evaluer c (S ) - Retenir la meilleure solution

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

Challenge de loptimisation combinatoire


Comment trouver la meilleure solution sans parcourir toutes les solutions ? Utiliser la structure du probl` eme Enum eration implicite : eliminer a priori des solutions D etecter que des solutions sont mauvaises ou irr ealisables sans les evaluer explicitement. Programmation dynamique : r eduire lespace de recherche ` a des sous-solutions optimales.

N. Brauner

362

Jeux introductifs

Optimisation Combinatoire

Principe de Sous-optimalit e

Programmation Dynamique

Dominances

Plan

32

Jeux introductifs Optimisation Combinatoire Principe de Sous-optimalit e Programmation Dynamique Dominances

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

Calcul r ecursif de loptimum


I1 I I2 I3

N. Brauner

366

Jeux introductifs

Optimisation Combinatoire

Principe de Sous-optimalit e

Programmation Dynamique

Dominances

D ecomposition en sous-probl` emes

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

D ecomposition en sous-probl` emes

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 ecomposition en sous-probl` emes

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

Jeux introductifs Optimisation Combinatoire Principe de Sous-optimalit e Programmation Dynamique Dominances

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

Calculer le tableau OPT

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.

Le temps de r esolution est alors t (x1 , . . . , xl )


(x1 ,...,xl )Etats

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

Calcul dune solution optimale


La programmation dynamique fournit OPT (I ) Comment obtenir une solution S ? Conserver des pointeurs dans le tableau : chemin dans le graphe d etat M ethode de Backtracking Les 2 m ethodes consistent ` a remonter le calcul de OPT (I ) Donner une solution optimale pour le sac ` a dos ` a partir du tableau OPT de la programmation dynamique

N. Brauner

379

Jeux introductifs

Optimisation Combinatoire

Principe de Sous-optimalit e

Programmation Dynamique

Dominances

Plan

32

Jeux introductifs Optimisation Combinatoire Principe de Sous-optimalit e Programmation Dynamique Dominances

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

Algorithme de Wagner & Within


Exprimer un principe de sous-optimalit e en utilisant la dominance Quel est maintenant le temps de r esolution ?

N. Brauner

386

Jeux introductifs

Optimisation Combinatoire

Principe de Sous-optimalit e

Programmation Dynamique

Dominances

Bilan de la programmation dynamique


Paradigme pouvant etre tr` es ecace Pas de condition sur la forme de la fonction objectif... . . .mais la propri et e de sous-optimalit e doit etre v eri ee Gourmand en m emoire Devient inop erant si lespace des etats est grand N ecessit e de trouver des dominances pour le r eduire

N. Brauner

387

M ethodologie et etudes de cas

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

Plan

37

M ethodologie D ecoupe de rouleaux Charbon Localisation Planication dexp eriences

38

39

40

41

N. Brauner

389

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

Plan

37

M ethodologie D ecoupe de rouleaux Charbon Localisation Planication dexp eriences

38

39

40

41

N. Brauner

390

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

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

Planication dexp eriences

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

Planication dexp eriences

M ethodologie
Proposer une formulation
graphes, programmation lin eaire, PPC...

Impl ementer une solution


solveurs, librairies, algorithmes connus, heuristiques, m etaheuristiques, programmation dynamique, programme ad hoc

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

Planication dexp eriences

Plan

37

M ethodologie D ecoupe de rouleaux Charbon Localisation Planication dexp eriences

38

39

40

41

N. Brauner

394

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

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

Trouver les sch emas de d ecoupe qui minimisent la perte

N. Brauner

395

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

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

Planication dexp eriences

Plan

37

M ethodologie D ecoupe de rouleaux Charbon Localisation Planication dexp eriences

38

39

40

41

N. Brauner

397

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

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

Planication dexp eriences

Plan

37

M ethodologie D ecoupe de rouleaux Charbon Localisation Planication dexp eriences

38

39

40

41

N. Brauner

399

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

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) D eterminer les emplacements des stations services qui permettent de minimiser les co uts pour les donn ees suivantes.

N. Brauner

400

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

Approvisionnement des stations service


6 d ep ots possibles, 7 stations services d ep ot A B C D E F co ut ouverture 7 8 4 28 20 10 capacit e 70 70 40 110 50 50 station 1 2 3 4 5 6 7 demande 30 30 30 10 20 10 10

N. Brauner

401

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

Approvisionnement des stations service


Co uts de transport 1 2 3 4 5 6 7 A 10 10 20 100 100 60 30 B 10 10 10 50 80 60 40 C 30 25 10 10 30 60 60 D 35 30 10 10 10 20 20 E 35 30 30 20 10 10 10 F 100 95 50 30 10 10 20

N. Brauner

402

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

Plan

37

M ethodologie D ecoupe de rouleaux Charbon Localisation Planication dexp eriences

38

39

40

41

N. Brauner

403

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

Planication dexp eriences


Dans une industrie chimique, une phase amont teste di erents produits de synth` ese pour d eterminer les meilleures compositions. Les r eactions se font ` a temp erature elev ee dans un four de cuisson Le process : Remplissage 1/2 journ ee Cuisson de 3 ` a 14 jours Filtrage 2 jours

N. Brauner

404

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

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

Planication dexp eriences

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

Planication dexp eriences

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

Planication dexp eriences

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

Planication dexp eriences

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

Planication dexp eriences

Les buts de lindustriels


Planier les exp eriences ` a eectuer sur un horizon de lordre de 1 mois an de Maximiser lutilisation du robot (investissement important) Finir au plus t ot pour obtenir les r esultats des tests De nouvelles exp eriences sont ` a planier chaque mois

N. Brauner

410

M ethodologie

D ecoupe de rouleaux

Charbon

Localisation

Planication dexp eriences

Jeu de donn ees


Vous devez planier 17 exp eriences 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 disponibilit es de lop erateur
L M M semaine 1 semaine 2 semaine 3 semaine 4 semaine 5 J V S D

N. Brauner

411