149
@

Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Embed Size (px)

Citation preview

Page 1: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Méthodes et outils d'optimisationOptimisation

Mathias [email protected]

http://www.lsis.org/kleinerm

Juin 2015

http://creativecommons.org/licenses/by-sa/3.0/

Page 2: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Plan du cours

1 Introduction

2 Programmation linéaire

3 Nombres entiers

4 Programmation par Contraintes

5 Meta-heuristiques

6 Conclusion

7 Biblio

Page 3: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Plan du cours

1 IntroductionIntroductionExemplesCaractéristiquesComplexitéProcessusMéthodes

2 Programmation linéaire

3 Nombres entiers

4 Programmation par Contraintes

5 Meta-heuristiques

6 Conclusion

7 Biblio

Page 4: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Introduction

Problème d'optimisation = minimisation (oumaximisation) d'une fonction objectif (de coût)

Cette fonction comporte des paramètres et estgénéralement soumise à des contraintes

En fonction des caractéristiques du problèmes(paramètres fortement variables, domaines discrets,types de contraintes, etc.), le problème peut êtredi�cile à résoudre

⇒ Necessite des outils avancés pour la modélisation etla résolution

å Variables (paramètres)å Fonction objectifå Contraintes

Page 5: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Première dé�nition

fonction objectif f : A→ RGénéralement, A ⊂ Rn, et est dé�ni par un ensemble decontraintes

Le domaine de A est appelé espace de solutions, leséléments de A sont appelés solutions candidates

une solution candidate ai qui minimise f(∀aj ∈ A, f (ai ) ≤ f (aj)) est appelée solution optimale

Page 6: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Optimisation et méthodes numériques

il existe des méthodes numériques pour résoudre certainsproblèmes d'optimisation

cette possibilité depends de caractéristiques duproblème. Par exemple, la méthode (de base) dugradient requiert que f soit doublement dérivable, que leproblème ne soit pas contraint, et, si l'on cherche unoptimum global, que la région dé�nie par f soit convexe.

dans ce cours nous étudierons plus particulièrement lescas où ces techniques ne sont pas (ou di�cilement)applicables

En particulier, nous verrons des problèmes pour lesquelsl'ensemble A est discret

Page 7: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : revenu

Un agriculteur possède un certain nombre d'hectares,d'engrais et d'insecticide

Possibilité de planter du maïs ou du blé

Les cultures requièrent des quantités di�érentesd'engrais et d'insecticide

Les cultures fournissent un revenu di�érent

Objectif : maximiser le revenu net

Page 8: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : revenu

Un restaurateur possède des oursins, crevettes et huîtres

Dispose de deux types d'assiettes

Objectif : déterminer le nombre d'assiette de chaquetype à proposer pour maximiser le revenu net

Page 9: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : �ux de transport

Une coopérative laitière e�ectue quotidiennement leramassage de lait dans di�érentes fermes

Objectif : e�ectuer la tournée la plus courte

Page 10: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : couverture de charge

Courbe de charge (compagnie aérienne, supermarché,péages, . . .)

Objectif : Assurer la couverture avec un minimum depersonnel

Page 11: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : emploi du temps

Une université doit e�ectuer un certain nombre de coursà un certain nombre d'élèves, avec un certain nombred'enseignants-chercheurs

contraintes de précédences de cours, salles, désidératas

Objectif : trouver une solution !

Page 12: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : rangement

On dispose de containers et d'éléments de taillesdi�érentes à ranger dans ces containers (pour envoi)

Objectif : trouver un arrangement pour minimiser lenombre de containers

Page 13: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : réseaux

On souhaite approvisionner une région en eau potable

di�érents consommateurs, di�érents points de pompage

contraintes de pression

Objectif : minimiser le nombre points de pompage et lalongueur du réseau

Page 14: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : conception produit

Fabrication d'un système de traction

Di�érents matériaux, contraintes de traction

Objectif : minimiser le coût de fabrication

Page 15: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : séparation d'un stock

On dispose de rouleaux de tissu d'une certaine longueur

On souhaite les couper pour obtenir des bandes delongueurs di�érentes données

Objectif : minimiser le nombre de rouleaux à acheter

Page 16: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : plani�cation horaires(work scheduling)

Etant donné des besoins / jours en nombre d'employés

Plani�er les a�ectations de la semaine

Objectif : minimiser le nombre d'employés

Page 17: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : ordonnancement

Plani�er des tâches sur des machines de production

Contraintes de précédences sur les tâches, délais surmachines, . . .

Objectif : minimiser le temps de complétion des tâches

Page 18: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples de problèmes : autres

Euler : "Il n'y a rien dans le monde qui ne se réalise sans

la volonté de minimiser ou maximiser quelque chose."

Encore beaucoup d'autres domaines d'application :

å Economie/Financeså Biologieå Transportå Organisation/Logistique/SCMå Robotique/Intelligence arti�cielleå Ingénierieå . . .

Page 19: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Caractéristiques

Continuité, linéarité, bornes de la fonction de coût ?

Variables discretes ? Domaine des variables ?

mono-objectif, multi-objectifs ?

Contraintes linéaires ? Quadratiques ?

Connaissances stochastiques (i.e pseudo-aléatoires) ouincertaines

⇒ les caractéristiques d'un problème in�uent sur :

å la modélisation (puissance expressive nécessaire)å les techniques de résolutionå la di�culté (e�cacité des méthodes/algorithmes)

Page 20: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Complexité

Di�culté de résolution d'un problème par unalgorithme/méthode :

å quantité d'opérations/étapes à e�ectuer (complexité entemps)

å quantité d'informations à stocker (complexité en espace)

On s'intéresse à un ordre de grandeur en fonction desdonnées en entrée (indépendant de la puissancemachine) :

å linéaire ou pseudo-linéaireå polynomialå exponentiel/factoriel (on parle de problèmes

NP-di�ciles)å (in)décidable, (in)calculable

Théorie des automates (deterministes ounon-deterministes) par A.Turing (machine de Turing)

Page 21: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Complexité : exemple

Soit un graphe G = (V, E)

G est-il connexe ?

Page 22: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Complexité : exemple

Soit un graphe G = (V, E)

G possède-t-il un chemin hamiltonien ?

Page 23: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Complexité : exemple

Soit un graphe G = (V ,Ep) complet

Quel chemin passant exactement une fois par chaquepoint minimise le poids total ?

69 villes → nombre à 100 chi�res !

Page 24: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Complexité : conséquences

Temps de résolution d'un problème selon sa complexité(10ns par étape)

Not. Complexite n=20 n=50 n=250 n=1000 n=104 n=106

O(n) lineaire 200ns 500ns 2.5µs 10µs 100µs 10ms

O(n2) quadratique(P) 4µs 25µs 625µs 10ms 1s 2.8h

O(n3) cubique(P) 80ms 1.25ms 156ms 10s 2.7h 316ans

O(en) exponentielle 10ms 130jours 1059ans ? ? ?

O(n!) factorielle 770ans 1048ans ? ? ? ?

ce n'est pas anodin !

distingue complexite pire des cas, en moyenne, enpratique

il existe des classes polynomiales pour des problèmesNP-di�ciles sous certaines conditions

Page 25: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Processus d'optimisation

Page 26: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Processus d'optimisation

Analyse du problème

Modélisation et choix de méthode

Résolution

Interprétation des résultats

Page 27: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Processus d'optimisation : Analyse du problème

Compréhension du système

Dé�nition des objectifs, du champ de couverture

Obtention des données

. . .

Page 28: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Processus d'optimisation : Modélisation

Choix d'un langage (formel), de la méthode

Traduction du problème : paramètres, domaines,contraintes, incertitude, . . .

⇒ simpli�cation : résultat d'un consensus entre acteurs

. . .

Page 29: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Processus d'optimisation : Résolution

Mise en oeuvre algorithmique, utilisation d'unoutil/solveur

Analyse de la robustesse, pertinence des résultats

. . .

Page 30: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Processus d'optimisation : Interpretation

Interpréter les résultats dans le monde réel

Présenter aux acteurs

. . .

Page 31: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Processus d'optimisation : Mise en oeuvre

Mise en oeuvre opérationnelle

Suivi des impacts, actions correctives

⇒ peut donner lieu à la dé�nition d'un nouveauproblème !

Page 32: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Méthodes d'optimisation

Méthodes génériques :

Programmation linéaire (modélisation sous formed'équations linéaires)

Programmation en nombres entiers (variables entières)

Programmation quadratique

Programmation dynamique

Méthodes énumératives (PPC) : SAT, CSP, Models

Méta-heuristiques (optimisation stochastique)

. . .

domaines de recherche/activité : rechercheopérationnelle, intelligence arti�cielle, . . .

Page 33: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Introduction

Exemples

Caractéristiques

Complexité

Processus

Méthodes

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Méthodes d'optimisation

Mais pour des cas particuliers, il peut exister des méthodesdédiées e�caces (optimales ou approchées). Par exemple :

Sac à dos, sous conditions : algorithme glouton

Ordonnancement : méthode du chemin critique (PERT)

Ordonnancement à 2 machines : algorithme de Johnson

. . .

→ longue liste en évolution : requiert une veille technologiqueou une étude approfondie, par exemple lorsque la résolutiond'un problème par les méthodes génériques n'est passatisfaisante (e.g. temps de calcul trop important).

Page 34: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Plan du cours

1 Introduction

2 Programmation linéaireDé�nitionExemplesCaractéristiquesSimplexeDualitéAutres méthodesOutils

3 Nombres entiers

4 Programmation par Contraintes

5 Meta-heuristiques

6 Conclusion

7 Biblio

Page 35: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Dé�nition

Techniques d'optimisation pour des problèmescaractérisés par :

å une fonction objectif linéaireå soumise à des contraintes d'égalité et/ou d'inégalités

linéaire

⇒ modélisation par un ensemble d'équations linéaires

on peut noter que les contraintes dé�nissent alors unpolytope convexe

Page 36: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Forme canonique

De�nition

maximiser c>x

soumis à Ax ≤ b, x ≥ 0

où x est un vecteur de variables, c et b des vecteurs decoe�cients, et A une matrice de coe�cients.

D'autres formes (minimisation, variables négatives, etc.)peuvent être réecrites de manière équivalente en formecanonique.

Page 37: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple de l'agriculteur

Un agriculteur possède un certain nombre d'hectares,d'engrais et d'insecticide

Possibilité de planter du maïs ou du blé

Les cultures requièrent des quantités di�érentesd'engrais et d'insecticide

Les cultures fournissent un revenu di�érent

Objectif : maximiser le revenu net

Page 38: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple de l'agriculteur

Un agriculteur possède un certain nombre d'hectares(T ), d'engrais (E ) et d'insecticide (I )

Possibilité de planter du maïs (x1) ou du blé (x2)

Les cultures requièrent des quantités di�érentesd'engrais et d'insecticide (E1,I1,E2,I2)

Les cultures fournissent un revenu di�érent (S1,S2)

Objectif : maximiser le revenu net

Page 39: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple de l'agriculteur

Maximiser S1x1 + S2x2 (fonction objectif)

soumis à x1 + x2 ≤ T (limite terrain)

E1x1 + E2x2 ≤ E (limite engrais)

I1x1 + I2x2 ≤ I (limite insecticide)

x1 ≥ 0, x2 ≥ 0 (terrain positif !)

Page 40: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple de culture

Culture de courgettes et de navets

8l d'engrais A disponible → 2l/m2 pour courgettes,1l/m2 pour navets

7l d'engrais B disponible → 1l/m2 pour courgettes,2l/m2 pour navets

3l anti-parasite disponible → 1l/m2 pour navets

Objectif : produire le maximum (en poids) de légumes,sachant que rendements = 4kg/m2 courgettes, 5kg/m2

navets

Page 41: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple de culture

Variables de décision : xc (surface de courgettes), xn(surface de navets)

Maximiser 4xc + 5xn (fonction objectif)

soumis à 2xc + xn ≤ 8 (limite A)

xc + 2xn ≤ 7 (limite B)

xn ≤ 3 (limite anti-parasite)

xc , xn ≥ 0 (terrain positif !)

Page 42: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Caractéristiques

Simplex = polytope à N + 1 sommets (pour Ndimensions)

Caractéristiques du problème :

å chaque inégalité du PPL à n variables dé�nit undemi-espace dans un espace Euclidien à n dimensions

å leur intersection est l'ensemble des solutions candidateså l'ensemble des points pour lesquels la fonction objectif

réalise la valeur v est un hyperplanå la fonction objectif étant linéaire et concave sur le

polytope, elle admet un minimum sur (au moins) un deses sommets

Page 43: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Interprétation géométrique

Culture de courgettes et de navets

Page 44: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Interprétation géométrique

Les lignes de niveau (f = constante) sont des droitesparallèles

⇒ maximum en 1 sommet ou en 1 arête

Page 45: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Interprétation géométrique

Les lignes de niveau (f = constante) sont des hyperplansa�nes

Page 46: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Solutions PPL

La région admissible peut-être :

å vide ⇒ pas de solution (optimale)å non vide et bornée ⇒ 1 ou ∞ solutions optimaleå non vide et non bornée ⇒ 0 ou 1 ou ∞ solutions

optimales

Page 47: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Algorithme naïf de résolution

Algorithme naïf : énumérer tous les sommets dupolytope, évaluer f , prendre le minimum

⇒ nombre important de sommets ⇒ pas e�cace(confère complexité)

Page 48: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Algorithme du Simplexe

Algorithme crée par George Dantzig en 1947

Idée : à partir d'un sommet, chercher un sommet voisinqui améliore l'objectif

De�nition (Principe d'amélioration locale)

Soit x0 non optimum, alors il existe un sommet voisin x telque f (x) > f (x0)

⇒ Méthode de résolution itérative : on part d'unsommet quelconque, on trouve un sommet voisin quiaméliore l'objectif (règle de pivotage), on réitère

Note : on est passé d'un problème continu à unproblème discret !

Page 49: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Algorithme du Simplexe - Culture

Illustration courgettes et navets

Page 50: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Algorithme du Simplexe - étapes

Necessaire de passer en forme standard : égalités(variables d'écart)

⇒ plus de dimensions mais manipulations algébriquesplus simples

Maximiser 4xc + 5xn Maximiser 4xc + 5xn

soumis à 2xc + xn ≤ 8 soumis à 2xc + xn + e1 = 8

xc + 2xn ≤ 7 xc + 2xn + e2 = 7

xn ≤ 3 xn + e3 = 3

xc , xn ≥ 0 xc , xn, e1, e2, e3 ≥ 0

Page 51: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Algorithme du Simplexe : histoire

Application après-guerre :

å Opérations Vittles et Plainfare pour ravitaillement de latrizone pendant le blocus de Berlin par pont aérien (23juin 1948 � 12 mai 1949)

å Simplexe exécuté à la main (des milliers de variables),jusqu'à 12 000 tonnes de matériel par jour !

1975 : prix Nobel économie Kantorovitch

aujourd'hui : PL largement répandue à de nombreuxdomaines d'application

Page 52: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Problème Dual

Soit P un problème de PL, appelé problème primal

Il existe un problème D, appelé dual, utilisant les mêmesdonnées mais un objectif di�érent (inverse)

Ce problème a une illustration économique importante :si P est un problème de minimisation de coût pour unacheteur, D est un problème de maximisation du pro�tpour un vendeur tout en restant compétitif

Page 53: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple : Primal

une famille utilise 6 produits alimentaires comme sourcede vitamine A et C

produits (unités/kg) demande1 2 3 4 5 6 (unités)

vitamine A 1 0 2 2 1 2 9vitamine B 0 1 3 1 3 2 19

prix/kg 35 30 60 50 27 22Objectif : minimiser le coût total

Page 54: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple : Dual

un producteur de cachets de vitamines synthétiques veutconvaincre la famille d'acheter des vitamines

⇒ Quel prix de vente wA et wB ?

å pour être compétitifå et maximiser le pro�t

Page 55: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple : Dual

Maximiser 9wA + 19wB (fonction objectif)

soumis à wA ≤ 35 (produit 1)

wC ≤ 30 (produit 2)

2wA + 3wc ≤ 60 (produit 3)

2wA + wc ≤ 50 (produit 4)

wA + 3wc ≤ 27 (produit 5)

2wA + 2wc ≤ 22 (produit 6)

wA,wC ≥ 0 (prix positif)

Page 56: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Dualité : généralisation économique

ressource i demande j

produit j aij cjcoût i bi

Primal (demandeur) : quelle quantité xi de ressource iacheter pour satisfaire demande à coût minimum

min∑i

bixi s.c.∑i

aijxi ≥ cj ∀j

Dual (vendeur) : à quel prix wj proposer les produitspour maximiser le pro�t tout en restant compétitif

max∑j

cjwj s.c .∑j

aijwi ≥ bi ∀i

Page 57: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Dualité : propriétés

Le dual du dual est équivalent au primal

Théorème de dualité faible (pour prouver l'optimalité)

De�nition

Pour chaque paire de solutions admissibles x de P et w de Dcx ≥ wb

⇒ Si le primal est non-borné, le dual est insatis�able (etinversement).

Théorème de dualité forte (pour garantir qu'une preuved'optimalité est possible)

De�nition

Si P et D ont des solutions, alorscx∗ ≥ w ∗ b

Ecarts complémentaires (pour trouver une solutionoptimale du dual connaissant celle du primal)

Page 58: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Autres méthodes

Améliorations du simplexe, barrières

Algorithme de l'ellipsoïde [Khachiyan, 1979]

Méthodes du point intérieur [Karmakar, 1984]

Versions spéci�ques à un problème particulier,combinaisons

. . .

Page 59: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Dé�nition

Exemples

Caractéristiques

Simplexe

Dualité

Autresméthodes

Outils

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Outils

Outils non-commerciaux et/ou libres : glpk, CLP,Cassowary, SciLab, . . .

Outils commerciaux : ILOG/IBM CPLEX, MatLab (opttoolbox), Mathematica, Excel, . . .

Page 60: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Plan du cours

1 Introduction

2 Programmation linéaire

3 Nombres entiersIntroductionModélisationExemplesTechniques de modélisationBranch-and-BoundAutres méthodesOutils

4 Programmation par Contraintes

5 Meta-heuristiques

6 Conclusion

7 Biblio

Page 61: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Introduction

Programmation linéaire en nombres entiers (PLNE)

Variables de décision discrètes (entiers, booléens)

(contre-intuitivement ?) Pas de méthode généralee�cace de résolution⇒ branch-and-bound, cutting-planes, branch-and-cut,. . .

on entre dans l'optimisation combinatoire

Page 62: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Modélisation générique de l'optimisationcombinatoire

Un ensemble E = {e0, . . . , en} de solutions candidates(espace de recherche) où ei est une assignation d'unensemble de variables

E , généralement dé�ni par des contraintes, a unecardinalité importante (ex. : n = 2m où m est dé�ni parla taille du problème)

objectif (maximisation) :ei ∈ E tel que ∀j , f (ei ) >= f (ej)

Page 63: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Modélisation PLNE canonique

Forme PLNE canonique :

maximiser c>x

soumis à Ax ≤ b x ≥ 0

x ∈ Zn

Page 64: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : rangement (packing)

On dispose de containers et d'éléments de taillesdi�érentes à ranger dans ces containers (pour envoi)

Objectif : trouver un arrangement pour minimiser lenombre de containers

Page 65: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : rangement 1D (bin packing)

un déménageur souhaite empaqueter des objets enminimisant le nombre de cartons (de capacité C = 6)

Objectif : trouver un arrangement pour minimiser lenombre de cartons

Objets : livre (2), livre (2), pull (3), chaussettes (1),chaussures (2), assiettes (5), verres (6)

Page 66: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : rangement 1D (bin packing)

xij = 1 si l'article i est rangé dans la boîte j , 0 sinon

yj = 1 si la boîte j est utilisée, 0 sinon

minimisern∑

j=1

yj

soumis àn∑

i=1

cixij ≤ 6yj , j = 1, . . . , n

n∑j=1

xij = 1, i = 1, . . . , n

xij ∈ {0, 1}, yj ∈ {0, 1}

Page 67: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : sac-à-dos

Remplir son sac-à-dos (max. 3kg) pour une randonnéeobjet utilité poids

carte 10 200gourde A 7 1500gourde B 3 1500

pull 6 1200k-way 2 500tomme 4 800

fruits secs 5 700

Objectif : maximiser l'utilité pour un poids limité

Page 68: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : sac-à-dos

xi = 1 si l'objet i est choisi, 0 sinon

ui utilité de l'objet i , wi son poids

maximisern∑

i=1

uixi

soumis àn∑

i=1

wixi ≤ 3

xi ∈ {0, 1}

Page 69: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : sac-à-dos

Problème classique : utiliser au mieux une capacité,allocation de ressources

Nombreuses variantes (utilité di�érente selon conteneur,combinaisons augmentent l'utilité, . . .)

Applications

å �nances : gestion de portefeuilleå gestion de personnel pour un projetå . . .

Page 70: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : plani�cation horaires (work scheduling)

Une chaîne de restauration rapide ouverte 7 jours sur 7 abesoin des nombres d'employés suivants du lundi audimanche : 45, 45, 40, 50, 65, 35, 35. Chaque employétravaille au maximum 1 jour de �n de semaine et 4 joursdans la semaine

Objectif : déterminer le nombre minimum d'employésnécessaires et leur a�ectation.

Page 71: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : plani�cation horaires (work scheduling)

Xi = 1 si on recrute l'employé i (i ∈ [1, n] avec nsu�samment grand)Yij = 1 si l'employé i travaille le jour j (j ∈ [1, 7])Soit Bj le besoin par jour

minimisern∑

i=1

Xi

soumis àn∑

i=1

Yij >= Bj , ∀j

5∑j=1

Yij ≤ 4 ∗ Xi ,∀i

7∑j=6

Yij ≤ 1 ∗ Xi ,∀i

Xi ∈ {0, 1},Yij ∈ {0, 1}

Page 72: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : plani�cation horaires (work scheduling)

Xij ∈ Zn : nombre d'employés ne travaillant pas les joursi et j (i ∈ [1, 5], j ∈ [6, 7])

Soit Bj le besoin par jour

minimiser5∑

i=1

7∑j=6

Xij

soumis à∑i!=k

∑j

Xij >= Bk ,∀k ∈ [1, 5]

∑i

∑j!=k

Xij >= Bk ,∀k ∈ [6, 7]

Xij >= 0

Page 73: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : séparation d'un stock (cutting-stock)

On dispose de rouleaux de tissu d'une certaine longueur

On souhaite les couper pour obtenir des bandes delongueurs di�érentes données

Objectif : minimiser le nombre de rouleaux à acheter

Généralisation du bin packing

Page 74: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : séparation d'un stock (cutting-stock)

j = {0, . . . ,m} commandes, avec j requiert quantité qj

de pièces de tissu

i = {0, . . . , n} combinaisons de découpe, avec xi lenombre de fois où elle est utilisée, et ci son coût (déchet)

aij le nombre de fois où la commande j apparait dans lacombinaison i

minimisern∑

i=1

cixi

soumis àn∑

i=1

xiaij ≥ qj∀j = 1, . . . ,m

xi , aij , qj ∈ Z, xi ≥ 0

Page 75: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemple : Illustration cutting-stock

une machine peut produire des pièces maîtres de5600mm de largeur

les commandes sont les suivantes :

largeur quantité

1380 221520 251560 121710 141820 181880 181930 202000 102050 12. . . . . .

Page 76: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Exemples : séparation d'un stock (cutting-stock)

Di�érentes modélisations selon données/objectifs(nombre de pièces maîtres, changements d'outil dedécoupe, . . .)

diverses applications

å 1D : découpe de cables, matériauxå 2D : découpe de verre, tissuå liens avec d'autres problèmes types

Page 77: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Techniques de modélisation : ensembles discrets

x doit prendre sa valeur parmi P = {p1, . . . , pk}⇒ yi ∈ {0, 1}, 1 pour x = pi

k∑i=1

yi = 1

x =k∑

i=1

piyi

xi ∈ {0, 1}

Page 78: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Techniques de modélisation : propositions logiques

x et y deux variables booléennes

x ⇒ y : contrainte : x ≤ y

x ∨ y : contrainte : x + y ≥ 1

Page 79: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Techniques de modélisation : ordonnancement

Deux tâches de durée di et dj doivent être usinées surune même ressource

ti et tj le temps de départ d'usinage

ti + di ≤ tj + M(1− yij)

tj + dj ≤ ti + M(yij)

yij ∈ {0, 1}

Page 80: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Techniques de modélisation : linéarisation

linéariser un terme quadratique simple

ex. xx ′ avec x , x ′ ∈ {0, 1}introduit une variable y , y = 1 ssi x = 1 et x ′ = 1

x ≤ y

x ′ ≤ y

x + x ′ − 1 ≤ y

yij ∈ {0, 1}

Page 81: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Relaxation linéaire

Idée : peut-on résoudre un PLNE X en résolvant le PLassocié ?

⇒ relaxation linéaire de�nit un polyèdreP = {X ∈ Rn|Ax ≤ b}

De�nition

Un PL P est une formulation de X ssi X = P ∩ Zn

Question : quel lien entre l'optimum du PL et l'optimumdu PLNE ?

Page 82: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Relaxation linéaire : illustration

Page 83: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Relaxation linéaire : illustration

⇒ peu d'indications, on ne peut pas simplementrésoudre le PL associé

Page 84: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Méthodes énumératives

Idée : énumérer les solutions possibles (nombre �ni), lesévaluer, conserver la meilleure

Problème : ce nombre peut être très important (carexponentiel) ⇒ pas e�cace

C'est le challenge de l'optimisation combinatoire !

Eliminer a priori des solutions, sans les évaluerexplicitement

Page 85: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : principe

On veut résoudre z∗ = {max cx |x ∈ X}Partitionne X en (X1,X2)

Alors z∗ = max{z∗1, z∗

2}

Page 86: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : principe

Si z∗1> z∗

2, alors il est inutile d'explorer X2 car il ne

contient pas de solution optimale

Comment déterminer de ne pas explorer X2 sans calculerz∗2?

⇒ estimation (par excès) de z∗2: borne supérieure

Page 87: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Propriété de la relaxation linéaire

Soit un problème de maximisation, son PLNE IP , sarelaxation linéaire L et leurs optimums respectifs Z ∗IP etZ ∗LLa propriété suivante est véri�ée :

å Z∗IP ≤ Z∗Lå ⇒ Si Z∗L est un entier, c'est l'optimum du PLNE

⇒ le PL fournit une borne supérieure au PLNE !

Page 88: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : principe

On partitionne l'ensemble X en {X1, . . . ,Xn}On calcule les bornes supérieures B(Xi ) de l'optimumpour chaque Xi

Si B(Xi ) ≤ meilleure solution trouvée, on élague

Sinon on découpe récursivement Xi

⇒ arbre de recherche implicite

Page 89: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : découpe

Résolution de la RL sur X (P)

si x∗ non entier, on branche sur une variable non entière

Page 90: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : découpe

X1 = x ∈ X et xi ≤ a

X2 = x ∈ X et xi ≥ a + 1

Page 91: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : découpe

Recherche de la meilleure solution sur X2

RL sur X2 (P2), découpe, RL sur X21 (P3) et X22 (P4)

Page 92: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : découpe

Recherche de la meilleure solution sur X1

RL sur X1 (P1), découpe, RL sur X11 (P5) et X12 (P6)

Page 93: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : découpe

x∗ = max(x∗1, x∗

2)

Page 94: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : élaguage

On élague une branche si :

å La RL n'a pas de solution (discard)å La RL a une solution entière (optimum)å La borne sup. est inférieure à la meilleure solution

actuelle (discard)

Page 95: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : exemple

maximiser z = 2x1 + 3x2

soumis à 5x1 + 7x2 ≤ 35

4x1 + 9x2 ≤ 36

x1, x2 ≥ 0 ∈ Z

Page 96: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Branch-and-Bound : exemple

maximiser z = 2x1 + 3x2

soumis à 5x1 + 7x2 ≤ 35

4x1 + 9x2 ≤ 36

x1, x2 ≥ 0 ∈ Z

Page 97: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Autres méthodes

Améliorations (choix des partitions, ordre de résolution,. . .)

Coupes (cuts), plans sécants (cutting-planes)

Contraintes redondantes (symmétries)

Méthodes mixtes (branch-and-cut)

Versions spéci�ques à un problème particulier

. . .

Page 98: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Introduction

Modélisation

Exemples

Techniques demodélisation

Branch-and-Bound

Autresméthodes

Outils

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Outils

Outils non-commerciaux et/ou libres : glpk, LP_SOLVE,SciLab, . . .

Outils commerciaux : ILOG/IBM CPLEX, MatLab (opttoolbox), Mathematica, Excel, . . .

Page 99: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Plan du cours

1 Introduction

2 Programmation linéaire

3 Nombres entiers

4 Programmation par ContraintesIntroductionModélisationExemplesRésolutionOutils

5 Meta-heuristiques

6 Conclusion

7 Biblio

Page 100: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Introduction

Programmation par contraintes = méthode demodélisation et de résolution

Variables de décision et leur domaine

Contraintes de di�érents types, faciles à véri�erindépendamment, liberté de modélisation

Méthodes de résolution énumératives

Page 101: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Du Sudoku à la PPC

Page 102: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Principes de la PPC

Raisonnement par élimination : on ne cherche pasdirectement la valeur d'une variable mais ses valeurspossibles (réduction du domaine)

Raisonnement énumératif : on essaie di�érentessolutions par étapes successives de construction (arbrede recherche)

Raisonnement local : on considère les contraintesindépendamment

Raisonnement par propagation : lorsque le domained'une variable change, on s'intéresse aux contraintes quidépendent cette variable (propagation)

Page 103: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation générique de l'optimisationcombinatoire

Un ensemble E = {e0, . . . , en} de solutions candidates(espace de recherche) où ei est une assignation d'unensemble de variables

E , généralement dé�ni par des contraintes, a unecardinalité importante (ex. : n = 2m où m est dé�ni parla taille du problème)

objectif (maximisation) :ei ∈ E tel que ∀j , f (ei ) >= f (ej)

Page 104: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation SAT

Un problème SAT est un doublet {X ,C} où :

X est un ensemble de variables booléennes (littéraux){x0, . . . , xn}C est un ensemble de contraintes sous la forme CNF(forme normale conjonctive)

å CNF = conjonction de clauseså clause = disjonction de littéraux

Dans un problème d'optimisation, on ajoute unefonction objectif f (ei ) où ei est une solution candidate(i.e. une assignation d'une valeur à chaque variable)

Page 105: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation SAT : exemple

Ringo Etoile, musicien londonien, appelle Scotland Yardpour signaler que son appartement vient d'êtrecambriolé. La police a établi les faits suivants :

å Il y a trois suspects : John, Paul et Georges, et personned'autre ne peut être coupable

å Si John est coupable, alors il a un et un seul compliceå Si Paul est innocent alors Georges l'est aussiå Si Georges est innocent alors Paul l'est aussiå Si il y a exactement deux coupables, alors John est l'un

d'entre eux

Modélisez puis dessinez l'arbre de recherche

Page 106: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation SAT : exemple

X = {J,P,G}

C = (à mettre sous forme CNF)

å J ∨ P ∨ Gå J ⇒ ((P ∧ ¬G ) ∨ (G ∧ ¬P))å ¬P ⇒ ¬Gå ¬G ⇒ ¬På ((J ∧ P ∧ ¬G ) ∨ (J ∧ ¬P ∧ G ) ∨ (¬J ∧ P ∧ G ))⇒ J

Page 107: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation CSP

Un problème CSP est un triplet {X ,D,C} où :

X est un ensemble de variables {x0, . . . , xn}D = {d0, . . . , dn} est un ensemble de domaines devaleurs (discrets ou continus) correspondant auxvariables de X

C est un ensemble de contraintes (logiques,mathématiques, etc.)

Dans un problème d'optimisation, on ajoute unefonction objectif f (ei ) où ei est une solution candidate(i.e. une assignation d'une valeur à chaque variable)

Page 108: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation CSP : exemple

On considère l'addition suivante :S E N D

+ M O R E

= M O N E Yoù chaque lettre représente un chi�re di�érent compris entre0 et 9.On souhaite connaitre la valeur de chaque lettre, sachant quela première lettre de chaque mot représente forcément unchi�re di�érent de 0.

Page 109: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation CSP : exemple

Modélisation A (horizontale) :

X = {S ,E ,N,D,M,O,R,Y }D(S) = D(M) = {1, 2, 3, 4, 5, 6, 7, 8, 9}D(E ) = D(N) = D(D) = D(O) = D(R) = D(Y ) ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}C1 : 1000∗S +100∗E +10∗N +D +1000∗M +100∗O +10∗R +E = 10000∗M +1000∗O +100∗N +10∗E +Y

C2 : all − different({S ,E ,N,D,M,O,R,Y })

Page 110: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Modélisation CSP : exemple

Modélisation B (verticale) :

X = {S ,E ,N,D,M,O,R,Y }D(S) = D(M) = {1, 2, 3, 4, 5, 6, 7, 8, 9}D(E ) = D(N) = D(D) = D(O) = D(R) = D(Y ) ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}C1 : D + E = Y + 10 ∗ R1

C2 : R1 + N + R = E + 10 ∗ R2

C3 : R2 + E + O = N + 10 ∗ R3

C4 : R3 + S + M = O + 10 ∗M

C5 : all − different({S ,E ,N,D,M,O,R,Y })

Page 111: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Types de contraintes

Contraintes par extension (liste des valeurs possibles) oupar intention (formule logique ou mathématique)

l'ordre n'a pas d'importance

Déclaratives (pas d'algorithme de véri�cation), nondirigées (x − 2y = z), pas restreintes à une formeparticulière (i.e. linéaire)

Arité d'une contrainte = nombre de variables impliquées(x2 = 4, est − pair(x), x 6= y)

Contraintes globales (toutes − differentes(E ))

Contraintes quanti�catives, existentielles pour desproblèmes avancés

Page 112: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Jeu des reines

But : Placer 4 reines sur un échiquier 4x4 sans qu'elles semenacent.

Modélisation ?

Page 113: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Jeu des reines : modélisation A

But : Placer 4 reines sur un échiquier 4x4 sans qu'elles semenacent.

Variables : Associe à chaque reine i saposition en lignes (L = ∪i=1..4Li ) et encolonnes (C = ∪i=1..4Ci ) ⇒ X = L ∪ C )

Domaines :∀i ∈ {1, 2, 3, 4}DLi = DCi

= {1, 2, 3, 4}Contraintes :CoL = {∀i , j ∈ {1, 2, 3, 4}, i 6= j , Li 6= Lj}CoC = {∀i , j ∈ {1, 2, 3, 4}, i 6= j ,Ci 6= Cj}CoDM = {∀i , j ∈ {1, 2, 3, 4}, i 6= j ,Ci + Li 6=Cj + Lj}CoDD = {∀i , j ∈ {1, 2, 3, 4}, i 6= j ,Ci − Li 6=Cj − Lj}

Page 114: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Jeu des reines : modélisation B

But : Placer 4 reines sur un échiquier 4x4 sans qu'elles semenacent.

Variables : On place une reine par colonne,donc on associe à une reine i sa position enlignes ⇒ X = {X1,X2,X3,X4})Domaines : ∀i ∈ {1, 2, 3, 4}DXi

= {1, 2, 3, 4}Contraintes :CoL = {∀i , j ∈ {1, 2, 3, 4}, i 6= j ,Xi 6= Xj}CoDM = {∀i , j ∈ {1, 2, 3, 4}, i 6= j ,Xi + i 6=Xj + j}CoDD = {∀i , j ∈ {1, 2, 3, 4}, i 6= j ,Xi − i 6=Xj − j}

Page 115: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Jeu des reines : modélisation C

But : Placer 4 reines sur un échiquier 4x4 sans qu'elles semenacent.

Variables : Une variable par case à domaineBooleen

⇒ modélisation SAT

Page 116: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Jeu des reines : plusieurs modélisations

Il existe (toujours) plusieurs modélisations, laquelle est lameilleure ?

å Celle qui correspond le mieux à la réalitéå La plus intuitive, la plus simple à trouverå La plus e�cace (voir résolution)

Page 117: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Coloriage de cartes

But : Colorier une carte sans que deux pays contigus aient lamême couleur.Applications : allocation de ressources, emploi du temps,ordonnancement, . . .

Modélisation ?

Page 118: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Coloriage de cartes

But : Colorier une carte sans que deux régions contigues aientla même couleur.Applications : allocation de ressources, emploi du temps,ordonnancement, . . .

Variables : une variable Xi pourchaque région

Domaines :Di = {bleu, jaune, rouge, vert}Contraintes : en extension, ou,∀i , j tq voisines(i , j), Xi 6= Xj

Page 119: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Résolution naïve

Méthode naïve :

å on énumére les a�ectations totaleså on véri�e si elles sont consistantes

⇒ pas e�cace !

Page 120: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Résolution par étapes

Construire une a�ectation totale par incrémentationd'a�ectations partielles (arbre de recherche)

Revenir en arrière si une a�ectation partielle estinconsistante (backtrack)

Restreindre les domaines des variables à chaque étape(anticipation par propagation locale des contraintes)

utiliser des heuristiques

utiliser connaissances sur le problème (symétries, . . .)

. . .

Page 121: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Arbre et backtrack : exemple des reines

Construire une a�ectation totale par incrémentationd'a�ectations partielles (arbre de recherche)

Revenir en arrière si une a�ectation partielle estinconsistante (backtrack)

Page 122: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Anticipation

Restreindre les domaines des variables à chaque étape(anticipation/�ltrage par propagation locale descontraintes)

De manière générale, �ltre consiste à modi�er ledomaines des variables non a�ectées en fonction del'a�ectation partielle (A) courante

å consistance de noeud (ou 1-consistance) : on enlève deD(Xi ) toute valeur v telle que A ∪ (Xi , v) estinconsistante

å consistance d'arc (ou 2-consistance) : on enlève deD(Xi ) toute valeur v telle que qu'il existe une variableXj dont toutes les valeurs donnent A ∪ (Xi , v) ∪ (Xj ,w)inconsistante

å consistance de chemin (ou 3-consistance)å . . .å Si il reste k variables à a�ecter, à quoi correspond la

k − consistance ?

Page 123: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Anticipation : exemple des reines

Restreindre les domaines des variables à chaque étape(anticipation/�ltrage par propagation locale descontraintes)

1-consistance

Page 124: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Anticipation : exemple des reines

Restreindre les domaines des variables à chaque étape(anticipation/�ltrage par propagation locale descontraintes)

2-consistance

Page 125: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Heuristiques

Utiliser des heuristiques = parcourir l'arbre dans unordre préférentiel

Préférence non systématique (sinon le problème estlinéaire !), mais très e�cace

Types :

å Heuristiques de variables (min-domain, max-constraints)å Heuristiques de valeurs

Création de l'ordre :

å statique (une fois pour toutes au départ)å dynamique (à chaque étape)

Page 126: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Connaissances des symétries

Utiliser connaissances sur le problème : symétries

å manuel durant la modélisationå automatique durant la recherche

Page 127: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Variantes

MAX-CSP : satisfaire un maximum de contraintes

VCSP : valuation sur les contraintes, maximiser

Conditional CSP : contraintes activées sur certainesconditions

Dynamic CSP : ajout dynamique de variables au coursde la recherche

. . .

Page 128: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Introduction

Modélisation

Exemples

Résolution

Outils

Meta-heuristiques

Conclusion

Biblio

Outils

Outils non-commerciaux et/ou libres : Comet, Gecode,Choco, Cassowary, GNU Prolog, SWI Prolog, ECLiPSe(Prolog), Alloy (R-SAT), . . .

Outils commerciaux : ILOG/IBM CPLEX, CHARME,CHIP v5, . . .

Page 129: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Plan du cours

1 Introduction

2 Programmation linéaire

3 Nombres entiers

4 Programmation par Contraintes

5 Meta-heuristiquesIntroductionRecuit simuléPSOACOGénétiqueCaractéristiquesAutres méthodesOutils

6 Conclusion

7 Biblio

Page 130: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Introduction aux méthodes incomplètes

Constat : pour de nombreux problèmes (taille), aucunetechnique vue precédemment n'est e�cace

Les techniques étudiées sont complètes (ou exactes) : sielles ne fournissent pas de solution, la solution n'existepas

Idée : peut-on trouver des méthodes incomplètes quisoient e�caces dans certains cas ?

Parmis ces méthodes, on trouve les méta-heuristiques

Page 131: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Introduction aux méta-heuristiques

Principe : on va parcourir partiellement l'espace derecherche, avec des heuristiques plus complexes

Plusieurs manières de parcourir partiellement :

å sauter d'une a�ectation totale à une autre (réparationlocale)

å repartir de la racine en ayant emmagasiné de laconnaissance

å . . .

Toutes ces méthodes se reposent sur des techniquesaléatoires (ou stochastiques)

La plupart de ces méthodes sont inspirées du monde réel(nature et notamment animaux) et de l'intelligencecollective

Nous n'en verrons qu'une toute petite partie

Page 132: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Recuit simulé

Le recuit simulé est une méthode inspirée de lametallurgie

Energie E du système = Fonction à minimiser

Temperature T = paramètre contrôlant la diversi�cation

Determine conditions initiales : E0 et T0 (aléatoirementélevée)

A chaque étape :å Modi�e solution courante et évalue la variation

d'énergie ∆E

Si ∆E < 0, elle est appliquée

Sinon, elle est appliquée avec une probabilité de e−∆ET

(règle de Metropolis)

å Modi�cation de la température : par paliers ou par uneloi de décroissance (Ti+1 = λTi avec λ < 1)

Page 133: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Particle Swarm Optimization

PSO = Particle Swarm Optimization

un essaim de particule se déplace dans un espace à ndimensions (n = nombre de variables)

Une particule est caractérisée par sa position (xi ) et savitesse (vi )

Initialise chaque particule pseudo-aléatoirement(distribution uniforme)

à chaque étape, chaque particule se déplace(modi�cation du vecteur vitesse et application à laposition) en fonction de 3 critères :

å son meilleur score (pi )å le meilleur score de toutes les particules (g)å facteur aléatoire

vi = ωvi + σprp(pi − xi ) + σg rg (g − xi ) où ω, σp, σgsont des paramètres globaux

Page 134: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

PSO : exemple 2D

Applications courantes : choix ou adéquation deparamètres

Page 135: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

PSO : exemple 2D

Global best

Local best Random factor

Applications courantes : choix ou adéquation deparamètres

Page 136: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Ant Colony Optimization

ACO = Ant Colony OptimizationAlgorithme inspiré de l'observation des colonies defourmis : capacité à trouver le chemin le plus court versune source de nourriturePremière application algorithmique [Dorigo] : recherchedu plus court chemin dans un graphe aux arêtespondéréesEtendu depuis à divers problèmes d'optimisation,notamment les problèmes de satisfaction de contraintes

???20%

80%

Page 137: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Ant Colony Optimization : PPC

A chaque tour, un certain nombre de fourmis arti�cielles

parcourent l'espace de recherche a�n de construire unesolution (par exemple, un graphe)

Le trajet d'une FA (ici un choix xy) est in�uencé par :

å une heuristique (ηβxy )å les phéromones déposées par toutes les FA (ταxy )å facteur aléatoire (α, β)

pkxy =

ταxy∗ηβxy∑

z ταxz∗η

βxz

Après évaluation de la solution, chaque FA dépose desphéromones sur son trajet en fonction de la qualité de lasolution (∆τkxy )

Les phéromones s'évaporent (ρ) au cours du temps a�nd'oublier les mauvaises solutions

τxy = (1− ρ)τxy + ∆τkxy

Page 138: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Algorithmes génétiques

Les algorithmes génétiques sont inspirés de la sélectionnaturelle

Opérations (sélections, enjambements/croisements,mutations) appliquées à une population de solutionscandidates

Principe : génération d'une population initiale(aléatoirement), puis, itérativement :

å Evaluation puis selection (di�érentes méthodes) desmeilleurs individus

å Croisements (di�érentes possibilités) par paireså Mutations sur une faible partie de la population

résultante

Comment représenter les solutions sous forme de gênes(i.e séquence de valeurs) ? ⇒ importance du codage

Page 139: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Algorithmes génétiques : étapes

Selection : rang, roulette,tournoi, uniforme

Croisements : place del'enjambement

Mutations : i.e.permutations

Page 140: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Algorithmes génétiques : exemple du VC

Exemple du voyageur de commerce

Codage : un entier par ville, séquence : suite ordonnéede villes visités

å S1 = 1 0 5 3 2 7 4 6å S2 = 7 1 3 5 6 2 0 4å Croisements :

S ′1 = 1 0 5 3 2 7 6 4S ′2 = 7 1 3 5 6 0 4 2

å Mutation (par permutation) : S ′′1= 1 0 7 3 2 5 6 4

Page 141: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Caractéristiques des meta-heuristiques

Optimum global n'est pas garanti : il ne doit donc pasêtre requis

Présence de nombreux paramètres : phases de testsnécessaires

Contrôle des facteurs d'exploration (ou diversi�cation),d'intensi�cation, d'aprentissage

Importance du choix de modélisation : liberté relative,fonction objectif simple à calculer

Robustesse face aux problèmes stochastiques (donnéesincertaines)

Diverses preuves de convergence ont été fournies souscertaines conditions

Page 142: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Autres méthodes

Réseaux de neurones (classi�cation)

Autres réparations locales : recherche tabou

Nombreuses variantes des méthodes présentées

Méthodes hybrides : hybridation globale/locale oudéterministe/stochastique

. . .

Page 143: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Introduction

Recuit simulé

PSO

ACO

Génétique

Caractéristiques

Autresméthodes

Outils

Conclusion

Biblio

Outils

Outils non-commerciaux et/ou libres : ParadisEO(evol.,local, PSO), ECj (evol.), oMetah (evol., local,ACO, RS), . . .

Outils commerciaux : ILOG/IBM CPLEX (RS, local),Mathematica (RS), . . .

Page 144: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Plan du cours

1 Introduction

2 Programmation linéaire

3 Nombres entiers

4 Programmation par Contraintes

5 Meta-heuristiques

6 Conclusion

7 Biblio

Page 145: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Conclusion

Optimisation est un vaste domaine qui fait intervenirplusieurs types de compétences

Comprendre le schéma général pour attaquer unproblème : Analyse, Modélisation, Résolution,Interpretation, Application

Comprendre les avantages et limitations des di�érentesméthodes a�n de choisir la plus adaptée(caractéristiques du problème ? objectifs ? contexte ?di�culté de résolution ?)

Se ramener si possible à un problème type a�n depro�ter de l'expérience accumulée

Suivre un fonctionnement itératif et tester abondamment

Si vous faites appel à une expertise extérieure pour uneou plusieurs étapes, la compréhension du domainepermet de chi�rer et de superviser

Page 146: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Conclusion

Ce cours est loin d'être exhaustif sur les types deproblèmes (optimisation multi-objectifs, contraintestemps et stochastiques, données incertaines, objectifsrobustesse, . . .), les méthodes associées et les outilsexistants

Nécessaire de maintenir une veille technologique ou demettre à jour ses connaissances une fois confronté à uneproblématique précise

Associer connaissance théorique à la maîtrise d'outilsperformants (et leur langage)

Page 147: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Plan du cours

1 Introduction

2 Programmation linéaire

3 Nombres entiers

4 Programmation par Contraintes

5 Meta-heuristiques

6 Conclusion

7 Biblio

Page 148: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Bibliographie

Portail RO sur wikipedia (maintenu par E/C)

Recherche opérationnelle pour l'ingénieur [Hêche&al.]

Meta-heuristiques pour l'optimisation di�cile [Dréo&al.]

Introduction à la calculabilité [Wolper]

. . .

Page 149: Méthodes et outils d'optimisation - LSIS · å Organisation/Logistique/SCM å Robotique/Intelligence arti cielle å Ingénierie å ... Méthodes et outils d'optimisation Optimisation

Méthodes etoutils

d'optimisation

Optimisation

Introduction

Programmationlinéaire

Nombres entiers

Programmationpar Contraintes

Meta-heuristiques

Conclusion

Biblio

Crédits

Une partie du contenu de ce cours est adapté du travailde :

å Wikipedia : portail ROå Nadia Brauner & al. - Laboratoire G-SCOP (Grenoble)å Christine Solnon - Laboratoire LIRIS (Lyon)å Philippe Chretienne - ISIMAå Philippe Liberti - LIXå Vincent Mousseau - Centrale Pariså . . .