méta-heuristiques 1. introduction 2. optimisation ... · exemple - transport voyageur de commerce...

37
Méta-Heuristiques M.-J. Huguet https://homepages.laas.fr/huguet 2017-2018 Plan 1. Introduction 2. Optimisation Combinatoire 3. Heuristiques gloutonnes 4. Méthodes de recherche locale 5. Méthodes à population 6. Hyrbidation 7. Optimisation multi-objectif 8. Conclusion 2 Section 1. Introduction 3 Optimisation Prise de décision Evaluation des décisions Critères / Objectif Faire les choix les plus pertinents Modélisation Méthodes de résolution Connaissances sur le(s) problèmes Optimisation Combinatoire Recherche opérationnelle 4

Upload: others

Post on 27-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Méta-Heuristiques

M.-J. Huguet

https://homepages.laas.fr/huguet

2017-2018

Plan

1. Introduction

2. Optimisation Combinatoire

3. Heuristiques gloutonnes

4. Méthodes de recherche locale

5. Méthodes à population

6. Hyrbidation

7. Optimisation multi-objectif

8. Conclusion

2

Section 1. Introduction

3

Optimisation Prise de décision

Evaluation des décisions Critères / Objectif

Faire les choix les plus pertinents

Modélisation

Méthodes de résolution

Connaissances sur le(s) problèmes

Optimisation Combinatoire

Recherche opérationnelle

4

Page 2: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exemple Ordonnancement / Planification Ordonner la réalisation des différentes activités compte tenu de contraintes

temporelles, de séquencement, de ressources disponibles en quantité limité, ….

Exemple : ordonnancer un projet

Planification de prises du vidage de prises de vue

5 6

7

Exemple Optimisation des consommation énergétiques Prévision des besoins Sources énergétiques Météo

Planifier l’utilisation de l’énergie

8

Page 3: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal passant une fois et une

seule par l’ensemble des sommets Exemple : livraison clients

Tournées de véhicules (Vehicle Routing Problem) Idem voyageur de commerce mais on dispose de plusieurs véhicules pour

parcourir tous les sommets Exemple : collecte de déchets

9

Traveling Salesman Problem (TSP) Recherche d’un circuit/chemin hamiltonien

Nombreuses variantes : Pb symétrique ou non, fenêtres temporelles, ….

TSP : http://www.math.uwaterloo.ca/tsp/index.html

Concord : http://neos.mcs.anl.gov/neos/solvers/co:concorde/TSP.html

10

Vehicle Routing Problem (VRP) Contexte :

Très nombreuses variantes : Fenêtres temporelles, véhicules hétérogènes, pick-up & delivery, multi-dépôt,

synchronisation … Site : http://neo.lcc.uma.es/radi-aeb/WebVRP/

11 Optimisation Combinatoire

Secteurs et Applications Industrielles (1) Types de problèmes :

Planifier, Ordonnancer (Planning, Scheduling, Allocation)

Transporter (Routing,Transportation)

Découpe et Empilement (Cutting, Packing)

Secteurs économiques : Secteur industriel (gestion production, stratégie)

Services, Hôpitaux, Administrations

Logistique et Transport

Aéronautique, Espace

Réseaux et Télécom, Systèmes Embarqués

Développement durable (gestion de l’énergie, de ressource, …)

etc.

12

Page 4: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Secteurs et Applications Industrielles (2) Objectifs usuels Temps Argent Quantité Equilibrage (ex : utilisation de ressources)

Qualité de service Robustesse

Mais aussi : Sécurité

Environnement

Vie privée13

Démarche et difficultés (1) Points clés en RO : Analyse d’un problème (compréhension, complexité, …) Modélisation Méthodes de résolution Validation expérimentale

14

Démarche et difficultés (2) Difficultés : Compréhension du problème (clients, état de l’art, complexité, ….)

Résolution Temps de résolution / Espace mémoire acceptable

Passage de la théorie mathématique à l’implémentation informatique (ex. précision)

Outil existant / développement

Analyse des résultats Efficacité de la méthode

Qualité des résultats obtenus (à quoi se comparer ?)

Généricité, Reproductibilité

15

En savoir plus Société Française de Recherche Opérationnelle et d’Aide à la

Décision (ROADEF) Chercheurs / Enseignants Chercheurs Industriels

http://www.roadef.org

Challenge ROADEF/EURO Concours basés sur un problème posé par un industriel

A Toulouse Equipes de recherche : https://www.laas.fr/public/fr/roc mais aussi autres établissements (ENAC, ONERA, IRIT, IMT, ONERA)

Secteurs industrie et services

16

Page 5: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Section 2. Optimisation Combinatoire

17

Contexte (1) Optimiser : permettre d’obtenir la meilleure action (le meilleur résultat)

par rapport à une situation donnée

Formalisation mathématique Problème , , , :

: ensemble des variables du problème

: domaine des variables : → : les valeurs pouvant être prises par

: contraintes du problème

o Relations entre les variables : restreindre les valeurs possibles

: → : fonction Objectif

o Minimiser (cout/ perte); Maximiser (gain, profit)

18

Contexte (2) Espaces des solutions (alternatives) : produit cartésien des domaines Taille de l’ensemble des solutions : …

Une solution : instanciation ← , ∈ , ∀ ∈ Espace des solutions admissibles Ω : Une solution ← , ∈ ∀ ∈ et contraintes satisfaites

Résoudre un problème d’optimisation : solution ∗ ∈ Ω, telle que ∗ ∈

Notation : ∗ Optimisation Combinatoire : minimisation sur un ensemble fini (mais potentiellement très grand)

19

Classification (partielle) de problèmes ∅ : pas de contraintes Problèmes d’Optimisation

∅ : pas d’objectif Problèmes de Décision / Satisfaction de Contraintes

: domaines énumérables (discrets) Problèmes Combinatoires

linéaire, inéquations linéaires : Problèmes d’optimisation linéaire (Programmation Linéaire / PL)

: Problèmes d’optimisation linéaire en nombres entiers (PLNE)

0,1 : Problèmes d’optimisation linéaire en variables binaires

20

Focus sur problèmes combinatoires

Page 6: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Complexité Quelques problèmes de complexité polynomiale :

Problèmes de programmation linéaire

Problèmes d’affectation / couplage maximal

Problèmes 2-SAT

Graphes : plus courts chemins, connexité, arbres couvrants, flot max, …

Beaucoup sont NP-difficiles : Graphes : Voyageur de Commerce, Coloriage, Clique, …

Programmation Linéaire en Nombres Entiers

3-SAT,

….

21

Exemple (1) Problème de Voyageur de Commerce Traveling Salesman Problem (TSP) Trouver un circuit de cout minimal passant une fois et une seule par tous les

sommets d’un graphe Complexité : NP-difficile

22

Exemple (2) Explosion combinatoire - Nombre de solutions d’un TSP ! possbilités Méthode « Brute Force »

23Univers : 14 E+09 ans

Processeur 3 GHz 3 instructions par nano seconde

10 villes 1/100s

15 villes 1 heure

19 villes 1 an

27 villes 8x âge Univers

Processeur plus rapide 1 instruction /temps de Planck (5.39 10 )s

10 villes -

15 villes -

19 villes -

27 villes -

35 villes 5/100s

40 villes 12h

50 villes 400x âge Univers

Et en pratique … Certaines instances de problèmes NP-difficiles peuvent être résolues

rapidement

Certains problèmes NP-difficile peuvent avoir des cas particuliers de complexité polynomiale

Certains problèmes NP-difficiles sont approximables en temps polynomial avec garantie de performances / qualité solution

Exploration intelligente de l’espace de recherche de solutions Maitriser l’explosion combinatoire méthodes exactes / complètes Contourner l’explosion combinatoire

méthodes approchées / incomplètes

24

Page 7: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exploration de l’espace de recherche (1) Espace de recherche des solutions : Ensemble de solutions (alternatives) : produit cartésien des domaines Taille de l’ensemble des solutions : … Ensemble de solutions admissibles : Une solution ← , ∈ et satisfaites

Taille de : dépend des contraintes (et des domaines)

Trouver une solution (optimale) ? Explorer / Explorer Comment contenir l’explosion combinatoire ?

Méthodes de recherche arborescente

25

Exploration de l’espace de recherche (2) Principe des méthodes

arborescentes Séparer (Branch) :

Structurer l’exploration

Décomposer en sous problèmes disjoints de taille restreinte

Heuristiques de choix de variables et de choix de valeur

Elaguer : (Bound) Calcul de bornes / Objectif

(Propagate/Filtering) Propager pour réduire les domaines

26

P

P1 P2

P11 P12 P13

But : maitriser l’explosion combinatoire

Exploration de l’espace de recherche (3) Principe des méthodes arborescentes Si une solution est obtenue pour un sous problème Arrêt de la décomposition

Si , , - Problème de satisfaction a une solution ssi ou ont une solution

Si une solution est obtenue pour : arrêt ( non considéré)

Si , , , - Problème d’optimisation (min) Opt ,

27

P

P1 P2

P11 P12 P13

Exploration de l’espace de recherche (4) Méthodes connues Algorithme DPLL (vu en 4e année – Prog Logique) Instanciation progressive de variables (ordre de parcours)

Elagage de l’arborescence (simplifier les clauses)

Retour arrière chronologique en cas d’échec

Algorithme A* (vu en 4e année – IA) Recherche d’un chemin dans des graphes d’états

Recherche guidée par fonction d’évaluation

Mais aussi : Branch and Bound (cadre PLNE – 5e année)

Backtrack Chronologique / Forward Checking (cadre CSP – 5e année)

28

Page 8: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exploration de l’espace de recherche (5) Principe des méthodes approchées

Intensification : Accentuer l’exploration dans des zones prometteuses

Diversification : Découvrir de nouvelles zones

Compromis intensification / diversification Aléatoire

Guidé par la fonction objectif

Guidé par d’autres évaluations (solutions explorées, contraintes, paysage, …)

29

But : contourner l’explosion combinatoire

Encore du vocabulaire … Méthode complète : explore l’ensemble des solutions de façon exhaustive

et systématique en structurant l’espace de recherche Méthode incomplète : explore seulement une sous-partie de l’ensemble

des solutions en utilisant des heuristiques pour se guider vers les zones qui semblent plus prometteuses.

Méthode exacte : explore l’espace de recherche dans sa totalité (complète) Optimum global

Méthode approchée : explore une partie de l’espace de recherche Optimum local

Méthode déterministe : réalise toujours la même suite d’actions Méthode stochastique : effectue des choix aléatoires (probabilistes)

30

Familles de méthodes approchées Heuristiques : méthode approchée conçue pour un problème d'optimisation spécifique

permettant d’obtenir des solutions dans un temps de calcul raisonnable Etymologie (grec) : eurisko : trouver

Reflète une stratégie par rapport à une connaissance du problème

Pas de garantie d’optimalité

Méta-Heuristiques : Ensemble de concepts généraux (méta + heuristique) : Voisinage, utilisation de la mémoire, inspiration de la physique ou la nature ...

une méta-heuristique : heuristique généraliste peut s'appliquer à plusieurs problèmes d'optimisation

Pas de garantie d’optimalité31

Différentes familles de méthodes approchées

Heuristiques « gloutonnes » (constructives) Obtenir une solution à partir de « règles » de décision

Méta-Heuristiques Méthode à solution unique : Recherche locale

o Exploration du voisinage d’une solution

Méthodes à population de solutions

o Evolution d’un ensemble de solutions

Hybridation de méthodes

32

Méthodes approchées

Constructives Recherche Locale Evolution

Page 9: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Intérêts des méthodes approchées Quand utiliser une méthode approchée ?

Impossible de passer à l’échelle avec une méthode exacte Contraintes de temps de calcul, de mémoire, de modélisation, ….

Une bonne méthode approchée ? Complexité raisonnable

Solution de bonne qualité, rarement de mauvaise solution

Simple à mettre en œuvre ….

Evaluation d’une méthode approchée Comparaison méthodes exactes sur des jeux de données de taille raisonnable

Comparaison / bornes / temps de calcul / solutions …

33

Section 3. Heuristique gloutonne

Principes d’une Recherche Gloutonne (1) Méthode naïve Partir d’une affectation vide Tant qu’il y a des variables non affectées Choisir une variable

Lui affecter une valeur

Les choix successifs ne sont pas remis en cause Une branche d’une recherche arborescente (sans backtrack)

Les choix effectués doivent garantir l’admissibilité de la solution obtenue (ie. respect des contraintes)

Peut-on toujours le garantir ?

35

Greedy Search

Recherche Constructive

Exemples Coloration de graphe

36

{bleu, rouge} {bleu, rouge, vert}

{bleu, rouge}

{bleu, rouge} {bleu, rouge, vert}

{bleu, rouge}

Instanciation : , ,

Instanciation : , ,{bleu, rouge} {bleu, rouge, vert}

{bleu, rouge}

Solution pas toujours admissibles

Minimiser nombre de couleurs

Page 10: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exemples Planification

37

activités durée ressourceA1 1 1A2 1 2A3 2 1A4 1 2A5 2 1

A1 A2 A5A3 A4Ressource disponible : 2Minimiser durée totale

Instanciation : 1, 3, 2, 4, 5A1

A2A3

A4A5

Durée Totale = 6Instanciation : 1, 2, 3, 5, 4A1

A2A3

A4A5

Durée Totale = 5Solutions admissiblesValeurs différentes / objectif

Principes d’une Recherche Gloutonne (2) Qualité de la solution / fonction objectif Dépend de l’ordre sur les variables et des choix de valeurs Pas de garantie d’optimalité Obtention d’une borne supérieure de la valeur optimale (minimisation)

Heuristiques d’instanciation Quelle variable choisir ? Quelle valeur lui affecter ? Principe général Choix de variable : la plus importante d’abord (fail-first)

Choix de valeur : celle ayant le plus de chance de conduire à une (bonne) solution (suceed-fisrt)

38

Exemple 1 : Voyageur de commerce (1) Problème :

Un ensemble de villes (sommets d’un graphe)

Distance (cout) entre les villes

Déterminer une tournée (passer 1 ou 1 seule fois par tous les sommets) minimisant la distance parcourue

39

TSP : Traveling Salesman Problem

Exemple 1 : Voyageur de commerce (2) Heuristique : Plus proche Voisin

Choisir un sommet de départ

Tant qu’il reste des sommets non traités Connecter le dernier sommet atteint au sommet libre le plus proche

Relier le dernier sommet au sommet initial

Exemple : démarrer sommet 1 1 3 (Distance = 2)

3 5 (Distance = 2+5=7)

5 4 (Distance = 7+9=16)

4 2 (Distance = 16+4=20)

Connecter 2 à 1 : Distance = 20+9=29

En démarrant du sommet 2 : 2 5 3 1 4 2 (Distance 33)40

Borne supérieure / tournée min

Page 11: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exemple 1 : Voyageur de commerce (3) Heuristique : Meilleure Insertion

Choisir un cycle réduit à une boucle sur un sommet

Tant qu’il y a des sommets libres Pour tout sommet libre

o Chercher la meilleur position d’insertion entre 2 sommets et :

• Minimiser

Insérer le sommet minimisant

Exemple : départ de 1 1 1 : insertion de 3 : 1 3 1 / Cout=8

Insertion de 5 entre 1 et 3 : 1 5 3 1 / 8+7=15

Insertion de 4 entre 5 et 3 : 1 5 4 3 1 / 15+5 = 20

Insertion de 2 entre 5 et 4 : 1 5 2 4 3 1 / 20+10 = 30

41Borne supérieure / tournée min

Exemple 2 : Problème du Sac à dos (1) Problème :

Un ensemble de objets 1, … A chaque objet :

Un poids et une utilité

Un sac à dos dont le poids total ne doit pas dépasser la capacité Sélectionner les objets pour maximiser l’utilité

42

Knapsack Problem

Exemple 2 : Problème du Sac à dos (1) Heuristique par intérêt décroissant

Trier les objets par ordre décroissant

Ensemble d’objets sélectionnés : ∅ Sélectionner les objets dans l’ordre : soit l’objet

Si alors ∪ Exemple : Capacité sac = 15

(Jaune) : 10/9 = 1,11 OK Poids = 9; Profit = 10

(Vert) : 12/7 = 0,58 NON

(Orange) : 1/2 = 0,5 OK Poids = 11; Profit = 11

(Gris) : 3/7 = 0,43 NON

(Bleu) : 2/5 = 0,4 NON

Solution optimale (Jaune et Bleu) : Poids 14; Profit 12

43

Borne inférieur / profit max

Exemple 3: Coloriage de graphes Planifier sur la semaine les rattrapages de 6 étudiants et de 6 UF avec 2

créneaux par jour tout en minimisant le nombre de créneaux

Pistes : Modéliser le problème par un graphe d’incompatibilité entre UF et se ramener à

un problème de coloriage

Calculer une borne inférieure du nombre de créneaux

Proposer une heuristique gloutonne

44

Etudiants EpreuvesE1 UF1, UF2, UF5E2 UF3, UF4E3 UF2, UF6E4 UF3, UF4, UF5E5 UF3, UF6E6 UF1, UF2, UF3

Page 12: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exemple 4: Ordonnancement d’activités (1) Minimiser la durée de réalisation de 4 activités nécessitant chacune 2 étapes

consécutives utilisant chacune une ressource. A chaque étape, on connaît la durée d’utilisation de l’unique ressource

A faire : Proposer une borne inférieure de la durée de réalisation

Appliquer l’heuristique gloutonne : MaxTotalDuration consistant à réaliser en premier l’activité ayant la plus grande durée (faire un diagramme de Gantt)

45

Activités Etape 1 /Res1

Etape 2 /Res2

A1 6 8A2 4 5A3 4 1A4 8 4

FlowShop à 2 machines

Exemple 4: Ordonnancement d’activités (2) Heuristique de Johnson Classer pour l’étape 1 par ordre croissant de durée (limiter inactivité)

Classer pour l’étape 2 par ordre décroissant de durée (limiter attente)

Principe : Séparer les activités en 2 groupes :

o G1 : activités plus rapides Etape 1 & G2 : activités plus rapides Etape 2

Trier G1 et G2

o G1 : Trier sur durée croissante Etape 1 & G2 : Trier durée décroissantes Etape 2

Ordre total activités : G1 puis G2

Cette heuristique de Johnson : fournit la solution optimale pour 2 étapes.

46

Exemple 5 : Remplissage de boites Problème :

Un ensemble de objets ayant une taille

Des boites de capacité Ranger les objets en minimisant le nombre de boites

Heuristique First Fit Decreasing Classer les objets par taille décroissante et les placer dans la première boite possible. Si

plus de boite disponible, en prendre une de plus

Heuristique Best Fit Decreasing Classer les objets par taille décroissante et les placer dans la boîte la mieux remplie qui

puisse les contenir. Si plus de boite disponible, en prendre une de plus

Note : ces heuristiques ont des propriétés en termes d’écart garanti par rapport à la solution optimale

47

Bin Packing Récapitulatif Recherche Gloutonne (1) Caractéristiques d’une recherche gloutonne Exploiter des connaissances pour faire les meilleurs choix à chaque étape Très simple à mettre en œuvre Temps de calcul limité : Complexité : linéaire en fonction du nombre de variables

Aucune garantie d’optimalité : Borne supérieur / objectif en minimisation

Attention Peut ne pas aboutir à une solution admissible Sauf si problème peu contraint

48

Page 13: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Récapitulatif Recherche Gloutonne (2) Cas particuliers où la recherche gloutonne garantit l’obtention

d’une solution optimale Ex: Algo de Kruskal (ou Prim) pour déterminer un arbre couvrant de cout minimal

Cas particulier avec garantie de performance Ex : Bin-Packing, certains problèmes d’ordonnancement, ….

49

Graphe pondéré Arbre couvrant (12) Arbre couvrant min (11)

Variantes d’une Recherche Gloutonne Variantes : Introduire de l’aléatoire Sur les choix de variables et de valeurs

Lancer plusieurs exécutions de la recherche gloutonne Arrêt de la méthode Toutes les variables sont instanciées

Récupérer la meilleure solution

50

Section 4. Recherche Locale

51

Principes d’une recherche locale (1) Idée : Les bonnes solutions ont des caractéristiques communes

Principe : Partir d’une solution initiale Transformations successives Amélioration de la fonction objectif en explorant des voisinages

Pas de garantie d’optimalité52

Générer voisinage

Sélectionner solution

Générer voisinage

Page 14: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Principes d’une recherche locale (2) Composants Espace de recherche des solutions : Fonction objectif : (cout à minimiser) Voisinage : Opération de transformation : ∈ → ∈

Algorithme de Recherche locale Solution initiale : ∈ ; ← Meilleure solution : ∗ ← ; ∗ ← Répéter

Choisir ∈ ← ′ Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt »

53

Local Search

Principes d’une recherche locale (3)

54

Principes d’une recherche locale (4) Algorithme de Recherche locale

Solution initiale : ∈ ; ← (1) Meilleure solution : ∗ ← ; ∗ ← Répéter

Choisir ∈ (2) (3) ← ′ Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Points clés1. Comment obtenir une solution initiale ?

2. Comment générer un voisinage ?

3. Comment sélectionner la prochaine solution ?

4. Quand s’arrêter ?

55

Principes d’une recherche locale (5) Algorithme de Recherche locale

Solution initiale : ∈ ; ← (1) Meilleure solution : ∗ ← ; ∗ ← Répéter

Choisir ∈ (2) (3) ← ′ Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Points clés1. Comment obtenir une solution initiale ?

Solution aléatoire

Solution connue

Heuristique gloutonne

56

Page 15: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Principes d’une recherche locale (6) Algorithme de Recherche locale

Solution initiale : ∈ ; ← (1) Meilleure solution : ∗ ← ; ∗ ← Répéter

Choisir ∈ (2) (3) ← ′ Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Points clés4. Quand s’arrêter ?

Obtention d’une solution de qualité voulue

Nombre d’itérations / Temps d’exécution maximum atteint

Nombre d’itérations / Temps d’exécution maximum sans amélioration atteint

57

Principes d’une recherche locale (7) Algorithme de Recherche locale

Solution initiale : ∈ ; ← (1) Meilleure solution : ∗ ← ; ∗ ← Répéter

Choisir ∈ (2) (3) ← ′ Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Points clés2. Comment générer un voisinage ?

58

Voisinages (1) Voisinage d’une solution

Opération de transformation : ∈ → ∈ Transformation locale sur une solution :

La structure globale de la solution n’est pas modifiée

Doit pouvoir être généré et évalué rapidement

Lié à la représentation d’une solution

Graphe de voisinage : Sommets : espace de recherche

Si ∈ relation , dans le graphe

59

Voisinages (2) Propriétés :

Accessibilité : tout élément de l’espace de recherche peut être atteint (toute solution intéressante) est accessible par transformations successives Graphe de voisinage Connexe

Réversibilité : on peut revenir à la solution initiale Graphe symétrique

Choix d’un Voisinage : Lié au codage de la solution Ex : Voyageur de Commerce : ensemble des sommets ou des arêtes

Lié à sa taille (cout de génération et d’évaluation) Ex : , , …/ nombre de variable

60

Page 16: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exemple de voisinage (1) Ensemble de variables binaires :

Voisinage : Ensemble des chaînes binaires à une distance de Hamming de 1 Pour 5 variables binaires : 01101

01100 01111 01001 00101 11101

5 Si distance de Hamming de 2,

61

Exemple de voisinage (2) Quelques transformations classiques : Complémentation Solution = chaine de variables binaires :

remplacer une ou plusieurs valeurs 0/1 par son complémentaire

Solution = chaine de caractères : remplacer une valeur (ou plusieurs) par une autre

Echange / Swap Solution = chaine de caractères

Choisir 2 positions et . Intervertir les caractères situés à ces deux positions

A B C D E F G échanger position 2 et 5 : A E C D B F G

62

Exemple de voisinage (3) Quelques transformations classiques : Insertion-Décalage Solution = chaine de caractères :

Choisir 2 positions et . Insérer en position le caractère situé en et décaler les caractères qui étaient entre et (exlus)

A B C D E F G 3 et 6 A B F C D E G

Inversion Solution = chaine de caractères

Choisir 2 positions et . Inverser l’ordre d’écriture entre et .

A B C D E F G inversion entre position 2 et 5 : A E D C B F G

63

Voisinages pour le problème du Voyageur de Commerce (1) Problème :

Un ensemble de villes (sommets d’un graphe) : , et distance entre villes Déterminer une tournée minimisant la somme des distances parcourues

Espace de recherche : ensemble des permutations de

Soit une solution contenant les arêtes , et , Insertion

o Supprimer et l’insérer après

o Supprimer , et l’insérer après

Swap

o Echanger et

2-opt

o Remplacer , et , par , et ,64

Page 17: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Voisinages pour le problème du Voyageur de Commerce (2) : Insertion Supprimer et l’insérer après

65

Voisinages pour le problème du Voyageur de Commerce (3) : Swap Echanger et

66

Voisinages pour le problème du Voyageur de Commerce (4) : 2-opt Remplacer , et , par , et ,

67

Taille des voisinages (1) Changer la valeur d’une (plusieurs) variable(s) (SAT / CSP)

Permuter des variables dans une solution (ie. une séquence)

68

x1 x2 x30 1 0

x1 x2 x31 1 0

x1 x2 x30 0 0

x1 x2 x30 1 1

x1 x2 x3 x4

x2 x1 x3 x4

x3 x2 x1 x4

x4 x2 x3 x1

x1 x3 x2 x4

x1 x4 x3 x2

x1 x2 x4 x3

Page 18: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Taille des voisinages (2) Taille du voisinage inférieure espace de recherche

Exemple : Changer la valeur d’une variable avec 3 variables binaireso Taille espace recherche = 8 Taille voisinage = 3

Exemple : Permutation de variables dans une séquence de 4 variableso Taille espace recherche = 4! = 24 Taille voisinage = 6

69

Redondance (1) Risque de redondance dans l’exploration Exemple : Changer la valeur d’une variable avec 3 variables binaires

Redondance au cours des itérations

70

x1 x2 x30 1 0

x1 x2 x31 0 0

x1 x2 x31 1 1

x1 x2 x30 1 0

x1 x2 x31 1 0

x1 x2 x30 0 0

x1 x2 x30 1 1

Redondance (2) Risque de redondance dans l’exploration Exemple : Permutation de variables dans une séquence de 4 variables

Redondance dans la génération

71

x1 x2 x3 x4

x2 x1 x3 x4

x3 x2 x1 x4

x4 x2 x3 x1

x1 x3 x2 x4

x1 x4 x3 x2

x1 x2 x4 x3

x2 x1 x3 x4

x3 x2 x1 x4

x1 x3 x2 x4

x4 x2 x3 x1

x1 x4 x3 x2

x1 x2 x4 x3

Paysage de Recherche Un élément de l’espace de recherche : un point Fonction Objectif : Evaluation d’un point

Une opération de voisinage graphe de voisinage

Optimum local : tous les voisins sont moins bons / objectif Plateau : ensemble de points connexes dans le graphe de voisinage et ayant

même valeur de fonction objectif Bassin d’attraction : voisins que l’on peut atteindre sans dégrader la

fonction objectif

72

Page 19: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Sélectionner un voisinage (1) Attention à la taille du voisinage

Si trop petit : risque de ne pas avoir de meilleure solution

Si trop grand : l’exploration est couteuse

Eviter les redondances : Lors de la génération : étudier le voisinage

Ne conserver que les solutions améliorantes (évaluation ….)

Impact du paysage sur la stratégie d’exploration : 1 seul optimum et pas de plateau : Intensifier

Paysages rugueux : Diversifier

Paysage différent selon le voisinage utilisé (et la fonction d’évaluation)

73

Sélectionner un voisinage (2) Dépend du problème à résoudre Dépend de la représentation des solutions

Avoir une idée du paysage des solutions Échantillonnage des solutions / du voisinage

Lien entre voisinage et sélection d’une solution

Littérature sur le problème considéré

o (FIN COURS 1)74

Exploration d’un voisinage (1) Algorithme de Recherche locale

Solution initiale : ∈ ; ← (1) Meilleure solution : ∗ ← ; ∗ ← Répéter

Choisir ∈ (2) (3) ← ′ Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Points clés3. Comment sélectionner la prochaine solution ?

Premier voisin améliorant

Meilleur voisin améliorant

Aléatoire

…..75

Exploration d’un voisinage (2) Comment sélectionner la prochaine solution ? Exploration de l’espace de recherche pour déterminer la nouvelle solution

Sélectionner une solution de meilleure qualité : Premier voisin améliorant (First Improvment)

o Savoir générer des voisins prometteurs

Meilleur voisin (Best improvment)

o Exploration de tout le voisinage

Méthode Hill-Climbing ou Plus grande pente ou Descente

Permet une intensification de l’exploration autour d’une solution initiale

Aboutit à un optimum local (ou reste bloqué sur un plateau)

76

Page 20: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Algorithmes Hill-Climbing (1)

77

Algorithme First ImprovmentSolution initiale : ∈ ; ← (1)Meilleure solution : ∗ ← ; ∗ ←Répéter

Choisir ∈ tq ′ (2) (3) ← ′Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Algorithme Best ImprovmentSolution initiale : ∈ ; ← (1)Meilleure solution : ∗ ← ; ∗ ←Répéter

Choisir ∈ tq ∀ ∈ ′ ′ ′′ (2) (3) ← ′Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Algorithmes Hill-Climbing (2) Terminaison de la méthode Hill-Climbing La taille du voisinage ne permet pas de trouver de meilleure solution Solution localement optimale

Pas de bouclage de la méthode Pas de retour sur une solution déjà trouvée

Quand on sélectionne comme solution améliorante, n’a jamais été sélectionnée auparavant comme solution améliorante

78

Exploration aléatoire d’un voisinage Sélectionner une solution aléatoire: RandomWalk Accepte des solutions même non améliorante

Permet une diversification de l’exploration (sortir d’un optimum local)

Ex (maximisation)

79

Diversification Intensification

Intensification / Diversification Combinaison intensification / diversification Fixer une probabilité de choisir un mouvement « random » : Choisir aléatoirement une valeur Si alors

Choisir une solution aléatoirement dans -- diversification

Sinon Choisir la meilleure solution ∈ -- intensification

Selon la probabilité : compromis diversification / intensification 1 : random walk

0 : hill-climbing

En pratique : faible

80

Page 21: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Plusieurs solutions initiales Autre amélioration de la méthode Hill-Climbing Relancer la méthode de descente à partir de plusieurs solutions initiales Conserver la meilleure solution trouvée

Méthode de Descente Multi-Start

81

Principes d’une recherche locale : Evaluation Algorithme de Recherche locale

Solution initiale : ∈ ; ← (1) Meilleure solution : ∗ ← ; ∗ ← Répéter

Choisir ∈ (2) (3) ← ′ Si ∗ alors ∗ ← s, ∗ ←

Jusqu’à « Critères d’arrêt » (4)

Points clés1. Comment obtenir une solution initiale ?

2. Comment générer un voisinage ? et évaluer3. Comment sélectionner la prochaine solution ?

4. Quand s’arrêter ?

82

Evaluation d’une solution Evaluation d’une solution / d’un voisin

Estimation a priori de la qualité d’un voisin

Fonction Objectif

Autre fonction d’évaluation

Opération fréquente Doit être la moins coûteuse en temps de calcul

Si possible incrémentale

Exemple Soit un circuit (A B C D E A) de cout Z et un voisinage consistant à échanger 2

arêtes non consécutives : par exemple (AB) avec (CD)

Le circuit voisin (A-C-B-D-E-A) est de cout Z’=Z-(AB)-(CD) + (AC)+(BD)

83

S’échapper des optima locaux (1) Dans une recherche locale : Impact du choix de la structure de voisinage Impact du choix de la fonction d’évaluation (ie. du paysage parcouru)

Pour diversifier Introduire de l’aléatoire

Autoriser des solutions non améliorantes Mais comment éviter de cycler sur des solutions ?

Faire varier les voisinages

Re-démarrage

Mémorisation

Nombreuses variantes en Recherche Locale

84

Page 22: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Variantes (1) : Iterated Local Search

85

Iterated Local Search1. s0 Solution initiale; Best s02. s Descent(s0) // Exploration3. repeat4. s’ Perturbation (s)5. s’’ Descent(s’)6. Acceptation :

if f(s’’) < f(s) thens s’’ ; Mise-à-jour(Best, s);

7. until : conditions à définir

Perturbation aléatoire de la solution

Variantes (2) : Méthode à seuil Idée :

Introduire un seuil d’acceptation des solutions non améliorantes

Choisir le premier voisin ′ tel que

Réglage du seuil Détermine le compromis diversification / intensification

Si ∞ : aléatoire

Si 0 : les mouvements dégradant la solution sont interdits

Le seuil peut varier au cours des itérations

86

Treshold Accepting

Variantes (3) : Voisinages variables Variable Neighborhood Descent/ Search

Définir plusieurs voisinages (diversification) But : pouvoir sortir des optima locaux et améliorer la qualité de la solution

Principe Effectuer une succession de méthodes de descente

Quand un optimum local est atteint par une méthode de descente: changer de voisinage

Ordonner a priori l’ensemble des voisinages N1, N2, …., Nk

Complexité croissante

87

Variantes (3) : Voisinages variables Principe

1. s Solution initiale2. i 1 : numéro du voisinage3. repeat4. s’ Meilleur Voisin dans Ni(s) //Variante : Random(Ni)

// et Descent(s’)5. if f(s’) < f(s) then //Variante : Rester sur Ni

i 1; s s’ // et appliquer Descent(s’)6. else

i i+1end if

7. until i >k (nombre de voisinages)

88

Page 23: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Variantes (3) : Voisinages variables

89

Variantes (4) : Recuit Simulé Idée

Analogie métallurgie : en chauffant un métal puis en le refroidissant doucement on peut obtenir des structures cristallines résistantes

S. Kirpatrick 1983 / V. Cerny 1985

Pour l’optimisation : Diversifier la recherche en acceptant des voisins qui dégradent la fonction objectf

en fonction d’une probabilité d’acceptation qui décroit dans le temps

Stratégie d’exploration : Paramètre (température) qui décroit au cours des itérations

Choix d’un voisin ′ tel que : Si Δ 0 alors ← ′ -- intensification

Si ( choisi aléatoirement dans [0,1]) alors ← ′ -- diversification

90

Simulated Annealing

Variantes (4) : Recuit Simulé Température : probabilité d’accepter une solution non améliorante Condition de Métropolis :

accepter la nouvelle solution avec une probabilité :

Si Δ ↗ alors ↘ ; si Si ↘ alors ↘ Algorithme

91

1. s0 solution initiale2. T0 Température initiale3. s s0; T T04. while (Conditions) loop5. s’ Random(N(s))6. Deltaf f(s’) – f(s)7. if Deltaf< 0 ou random < exp(-Delta/T) then8. s s’9. end if10. T k.T11. end while12. Return s

Variantes (4) : Recuit Simulé Au début des itérations : T élevé : Acceptation fréquente de solutions non améliorantes

En fin des itérations : T faible : acceptation rare de solution non améliorante

Réglage des paramètres Température initiale Variation de température : à chaque étape / par palier / adaptative Conditions d’arrêt (température, fonction objectif, …) Trouver le bon paramétrage ….

92

Page 24: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Variantes (4) : Recuit Simulé Etat initial

Solution initiale

Température : doit permettre d’accepter « suffisamment » de solutions voisines

Schéma de refroidissement Si trop rapide : convergence prématurée : on reste dans un optimum local

Si trop lente : exploration trop importante

93

Variantes (5) : Recherche Tabou Constat :

Quand on est sur un optimum local : les solutions voisines sont toutes de moins bonne qualité bassin d’attraction

Glover 1986 / Hansen 1986

Idée : Sortir du bassin d’attraction en acceptant des solutions de moins bonne qualité

Choisir le meilleur voisin même si non améliorant

Mais interdire de revisiter des solutions déjà explorées

Structure pour mémoriser des informations sur les solutions visitées, appelée Liste Tabou pendant un certain nombre d’itérations

94

Tabu Search

Variantes (5) : Recherche Tabou Stratégie d’exploration :

Introduire une liste (initialement vide) A chaque itération : ajouter le dernier mouvement effectué dans L

Choisir une solution voisine s′ telle que : Le mouvement → ∉ -- diversification

Le cout soit minimal -- intensification

Algorithme

95

1. s solution initiale2. best s3. L // Tabu4. while (Conditions) loop5. s’ Meilleur-Voisin(N(s), L) // Voisin non tabou6. if f(s’) < f(best) then7. best s’8. end if9. Actu_Tabu(s’, L)10. end while11. Return best

Variantes (5) : Recherche Tabou Liste Tabou Conserver les mouvements effectués et non pas les solutions visités Exemple : variables échangées (swap)

Plus rapide à vérifier et moins couteux à mémoriser …

Est parcourue fréquemment dans la recherche de solutions Accès efficace pour vérifier si une solution est tabou

Table de hachage (sur les mouvements, sur la fonction objectif)

o Si collision : Taille de la liste trop petite

Ne pas déconnecter la solution optimale de la solution courante Les informations restent dans la liste pendant une durée limitée (ie un nombre

d’itérations)

96

Page 25: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Variantes (5) : Recherche Tabou Exemple d’une liste Tabou

Mouvement effectué sur les solutions : Interdire le mouvement inverse pendant itérations

o Itération : solution obtenue après swap(i, j)

o Interdire swap(j, i) jusqu’à itération

o Matrice pour mémoriser toutes les paires de swap possibles

Mouvement inverse peut être complexe

Le contenu de la liste Tabou interdit plus de solutions que celles réellement explorées

Ne prévient pas totalement des risques de cyclage

97

Variantes (5) : Recherche Tabou Durée des interdiction Ne conserver que les derniers mouvements effectués Valeur de : longueur de la liste compromis diversification / intensification

faible :

o peu de voisins interdits risque de rester bloqué sur un optimum local

élevé :

o beaucoup de voisins interdits / parcours potentiellement plus long

o diversification importante mais on risque de louper l’optimum global

Réglage adaptatif en fonction du problème / d’une instance

Annuler une interdiction Autoriser mouvement tabou si amélioration de la fonction objectif

Critère d’aspiration

98

Variantes (5) : Recherche Tabou Attention à l’exploration du voisinage Taille : se limiter si besoin à une liste de voisins candidats Aléatoire

Les plus pertinents a priori

Evaluation : doit être efficace (incrémentale, approchée)

Variante Mémoire dite à long terme pour guider la recherche Mémoriser les mouvements effectués et leur qualités respectives

Diversification : Guider vers des parties non explorées

Intensification : Repartir de caractéristiques de bonnes solutions

99

Section 5. Méthodes à population

100

Page 26: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Méthodes à population Idées : Considérer un ensemble de solutions Modéliser l’évolution de cet ensemble

Méthodes : Algorithmes évolutionnaires (génétiques) Colonie de Fourmis (Ant Colony Optimization Essaim (Particle Swarm Optimization) …..

101

Algorithmes évolutionnaires (1) Familles de méthodes inspirées des systèmes vivant

année 1970 / 1980

Principe : Recherche dans l'espace des solutions : faire évoluer un ensemble de solutions et

sélectionner la meilleure à la fin

Vocabulaire : une solution = un individu ayant une évaluation (fitness)

un ensemble de solutions = une population

Faire évoluer une population de solutions Combiner 2 solutions (parents) = croisement ( enfants)

Modifier 1 solution = mutation

102

Algorithmes évolutionnaires (2) Principe

Evaluation des solutions

Sélection des meilleures solutions

Croisements

Mutations

Convergence Apparition de solutions performantes / objectif

Croisement : intensification les meilleures solutions-parents donnent les meilleures solutions-enfants

Mutation : permet de diversifier l’ensemble de solutions

103

Algorithmes évolutionnaires (3) Algorithme général

1. Initialiser une population de solutions2. Evaluer les individus3. while (conditions) loop4. Sélectionner parents5. Combiner parents pour produire enfants6. Modifier enfants7. Evaluer les nouveaux individus8. Sélectionner la nouvelle population9. end while10. return Meilleur individu

104

Page 27: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Algorithmes évolutionnaires (4) Points clés de la méthode Codage des solutions Génération d’une population initial

Processus de sélection : parents

nouvelle population

Opérateurs de mutation et de croisement

Paramètres : Taille de la population

Critères d’arrêt

Probabilité de mutation

105

Représentation des solution Représentation des solutions Classique : codage binaire

Usuel : vecteur de valeurs discrètes

Impact sur la fonction d’évaluation

106

0 0 1 1 0 1 0 1

D A F G H C E B

Population de solutions Population de solutions : Ensemble de solutions réparties dans l’espace de recherche Génération aléatoire Introduire de bonnes solutions

Taille population Si trop petite : perte de diversité Si trop grande : temps de calcul important Paramètre à régler expérimentalement

107

Evolution de solutions (1) Evolution de solutions : combiner 2 solutions Croisement : Découper le vecteur associé à chaque solution en k morceaux

Recombiner les morceaux pour obtenir de nouvelles solutions

Croisement à 1 point (choisi au hasard)

108

0 0 1 1 0 1 0 1

1 0 1 0 0 0 1 1

0 0 1 1 0 0 1 1

1 0 1 0 0 1 0 1

Parent 1

Parent 2

Enfant 1

Enfant 2

Page 28: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Evolution de solutions (2) Evolution de solutions Exemple : vecteur = une permutation (TSP)

Attention : les enfants ne sont pas des solutions admissibles Les réparer

109

A B C D E F G H

D A F G H C E B

A B C D H C E B

D A F G E F G H

Parent 1

Parent 2

Enfant 1

Enfant 2

A B C D H F E G

D A F G E B C H

Evolution de solutions (3) Evolution de solutions : modifier une solution Mutation Prendre 1 élément du vecteur d’une solution (au hasard)

Le modifier

Déplacer 1 élément du vecteur

Réparer la solution obtenue si besoin

110

0 0 1 1 0 1 0 1

0 0 0 1 0 1 0 1

A B C D E F G H

A E B C D F G H

Sélection (1) Sélection de parents :

Fixer un nombre de solutions-enfants à générer

Elitisme : Sélectionner uniquement les solutions les plus performantes / fitness

Risque de convergence prématurée de la méthode

111

Sélection (2) Sélection de parents :

Par tournoi (2 à 2) : choisir une paire de solutions au hasard et conserver la meilleure. Itérer jusqu’à avoir

suffisamment de solutions sélectionnées

Par roulette/par rang : associer une valeur / un rang à chaque solution. Tirer au hasard de telle sorte qu’un

individu important ait une probabilité de sélection plus forte

112

Page 29: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Remplacement (Sélection) Remplacement (Sélection) d’une nouvelle population :

A la fin d’une itération : Solutions de la populations initiales

Solutions obtenues par combinaison / mutation

Nouvelle population : Choisir les meilleures solutions parmi les enfants générés

Choisir les meilleures solutions parmi les parents + les enfants Taille constante

113

Variantes Variantes : Très nombreuses Liées aux différents paramétrages / options

Algorithmes génétiques : méthode historique Codage binaire principalement

Programmation génétique : Espace de recherche de très grande taille

Parallélisation calculs

114

Colonies de Fourmis (1) Idée :

Auto-organisation des insectes sociaux

Emergence d’un comportement global à partir d’interactions locales Emergence : comportement global non programmé

Comportement : structure

Interactions : communications directes ou indirectes

Systèmes dynamiques

Robustesse et flexibilité

115

Ant Colony Optimization Colonies de Fourmis (2) Recherche de nourriture par une colonie de fourmis

Individus simples et autonomes

Communication indirecte entre eux via l’environnement Dépôt de phéromones, déplacement guidés par ces phéromones et évaporation

Emergence de « plus courts chemins »

Initialement : tous les chemins sont équi-probables

Les fourmis prenant le PCC reviennent le plus vite

o augmentation des traces sur ces chemins augmentation de la probabilité

Evaporation des traces limiter convergence prématurée

116

Page 30: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Colonies de Fourmis (3) Définir un graphe

Sommets : composants de solutions

Arcs : succession de composants

Solution : meilleur chemin dans le graphe

Principe de la méthode

Communication indirecte via le dépôt de phéromones

Déplacement (calcul) guidé par aléatoire / traces de phéromones

Gestion des traces de phéromones :

o qualité solution -- intensification

o évaporation -- diversification117

Initialisation des traces de phéromonesRépéter

Chaque fourmi calcule un chemin : aléatoire / phéromones, …Mise à jour des traces de phéromones

Jusqu’à : Condition d’arrêt

Colonies de Fourmis (4) Première application (Dorigo 1992) Voyageur de commerce

Nombre de fourmis : ; Nombre de villes :

Distance villes et :

Visibilité : τ

Importance des phéromones :

Importance de la visibilité :

118

Colonies de Fourmis (5)

119

Colonies de Fourmis (6) Mise à jour des phéromones

Quantité initiale :

Chemin calculé par fourmi :

120

Page 31: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Colonies de Fourmis (7) Variantes

Gestion des traces de phéromones Coefficient multiplicateur / meilleure solution

Seules les meilleures solutions entrainent une trace

Seuil sur des traces minimales et maximales

Poursuivre avec une recherche locale

121

Essaims particulaires (1) Idée :

Population de solutions : essaim

Compromis entre trajectoire individuel et trajectoire du groupe

Un individu : Suit sa propre trajectoire

Subit l’influence des autres

Mémorise sa meilleure performance

122

Particle Swarm Optimization

Essaims particulaires (2) Chaque individu est un élément de l’espace de recherche

Position dans l’espace de recherche

Vitesse : dépend des voisins, des bonnes solutions visitées

Voisinage : ensemble d’individus auxquels il est relié

Déplacer chaque individu en fonction : Comportement « individuel » : suivre sa trajectoire

Comportement « conservateur » : revenir vers la meilleure position déjà visitée

Comportement « collectif » : suivre le meilleur voisin

123

Section 6. Hybridation de méthodes

124

Page 32: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Contraintes et Objectifs Contraintes vs Objectif Introduire des « contraintes » dans la fonction Objectif

Objectif : nb de contraintes non satisfaites (exemple capacité à respecter)

on cherche à minimiser cet objectif, lorsqu’il vaut 0 : obtention d’une solution admissible

Intérêt : Explorer des affectations à la limite entre cohérentes et incohérentes

Traiter des pbs de satisfaction sous forme de pbs d’optimisation

Difficulté : Combiner cet objectif avec celui (ceux) déjà existant(s)

Combinaison linéaire 1 seul objectif

125

Diversité / Similarités des méthodes (1) Deux grandes familles d’approche : Méthode de Recherche locale (à solution unique) : Evolutions successives d’une solution

Méthode à population de solutions : Evolution de la population : combinaison/mutation

Processus de sélection

Des concepts similaires : Résultat : solution approchée

Sortir des optima locaux Compromis entre Diversification et Intensification

126

Intensification Pousser la recherche autour de solutions de bonne qualité

Diversification Déplacer la recherche vers de nouvelles parties non explorées de l’espace

des solutions

Compromis entre les deux : Spécifique de chaque méthode approchée

De très (trop ?) nombreuses autres méthodes

127

Diversité / Similarités des méthodes (2) Hybridation de méthodes Hybridation de méthodes

Algo. Mémétique Combiner algorithmes évolutionnaires et recherche locale

o Population initiale

o Mutation recherche locale

PLNE / PPC + méthodes approchées : Beam Search : Branch and Bound & heuristique

Exploration de grands voisinages avec PPC / PLNE

128

Page 33: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Illustration méthode hybride Principe :

Ens. de solutions

Recherche Locale Parcours voisinage

Intensification

Mutation Diversification

p voisins

Itération Meilleur voisin

Arrêt Conditions à définir

129

Si

S1 S2 S3 Sp-1 Sp

Si’

S1’ S2’ S3’ Sp-1’ Sp’

S1 S2 S3 Sp-1 Sp

S1’ S2’ S3’ Sp-1’ Sp’

génération de voisins

solutions initiales

recherche locale

Nombre d’itération

d’ELS

SiSiSi

GRASP-ELS

Exemple : Tournées de Véhicules (1) Travaux de recherche

Thèse Thibaut Vidal 2012 (Université de Montréal-CIRRELT – UT Troyes)

Problèmes de Tournées de Véhicules (Dantzig & Ramser, 1959) clients / villes (localisation, quantité demandé)

véhicules (homogènes) de capacité

Solution : tournées de cout minimal permettant de desservir tous les clients

Problème NP-Difficile Résolution exacte : N=300/400

Nombreux travaux de recherche Méthodes exactes et approchées

Nombreuses applications : transport, distribution, logistique

130

Exemple : Tournées de Véhicules (2) Formulation mathématique

131

Exemple : Tournées de Véhicules (3) De nombreuses variantes

Attributs supplémentaires / contraintes ou objectifs Time windows, multi-périodes, multi-dépôt, véhicules hétérogènes, chargement des

véhicules, temps de trajet dépendant des horaires, pick and delivery, ….

Plus de 200 caractéristiques supplémentaires dans la littérature / applications Pouvant être combinées ….

Méthodes dédiées à des problèmes spécifiques

Objectif des recherches : proposer une approche unificatrice

o Classification des attributs / structure des problèmes

Unified Hybrid Genetic Search

132

Page 34: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Exemple : Tournées de Véhicules (4) Classification des attributs

3 familles Assignment (clients aux routes; routes aux dépôts ou périodes, ….)

Sequencing (ordre de visite des clients)

Evaluation des routes (contraintes liées aux trajets effectués)

Attention à l’encodage d’une solution et à la combinaison des attributs

Algorithme Génétique Sélection, croisement, réparation

Mutation recherche locale (Education) Efficacité de la recherche locale

Fonction d’évaluation : cout + diversité

133

Exemple : Tournées de Véhicules (5) Attention très forte à l’efficacité de la Recherche Locale

Représentation des solutions et évaluation des voisinages Voisinage : concaténation de sous-séquences de routes

Pré-calculs avec des structures de données efficaces pour l’évaluation de sous-séquences

134

Exemple : Tournées de Véhicules (6) Evaluation des solutions Combinaison Fonction objectif

Contribution à la diversité de la population Distance / autres individus

Utilisé lors de la sélection des parents Utilisé pour déterminer la nouvelle population Permet de favoriser l’exploration de l’espace de recherche

Garantit le maintien de solutions performantes / objectif

135

Exemple : Tournées de Véhicules (7) Evaluation expérimentale sur :

Environ 50 problèmes de la famille VRP

200 jeux de données

240 méthodes

Amélioration des résultats de l’état de l’art Une méthode générale peut surpasser des méthodes dédiées

Production de code source en libre accès : https://github.com/vidalthi/HGS-CARP

Plusieurs transferts industriels

136

Page 35: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Section 7. Optimisation Multi-Objectif

137

Définitions Optimisation multi-objectif Prendre en compte simultanément plusieurs objectifs contradictoires Exemple : temps / argent

Comment comparer des solutions entre elles ? Qu’est-ce qu’une solution optimale ? Il existe un ensemble de bonnes solutions : les solutions de compromis

Rechercher un équilibre tel que : on ne peut pas améliorer un objectif sans détériorer au moins un des autres objectifs

Front de Pareto

Relation de dominance entre 2 solutions (minimisation des objectifs) : domine ′ ssi pour tout objectif on a :

avec au moins une inégalité stricte :

138

Illustration Exemple : recherche des solutions non dominées

Max f1 et Min f2

139

Caractéristiques de Front de Pareto Forme des Fronts de Pareto à 2 objectifs

140

Page 36: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Calcul d’un Front de Pareto (1) Comment obtenir un Front de Pareto Points extrêmes : Optimiser 1 seul objectif

Bonne représentation du Front : solutions diversifiées

Optimisation Combinatoire141

Calcul d’un Front de Pareto (2) Obtention du Front de Pareto avec des méthodes approchées Evaluation des solutions : Mécanismes d’agrégation / différents objectifs

Archivage des solutions non dominées

Nombreux travaux sur les Algorithmes Génétiques dans un contexte multi-objectif

A DEVELOPPER …

142

Section 8. Conclusion

143

Conclusion (1) Analyse du problème Quelles sont les décisions à prendre ? Quelles sont les contraintes ? Quelles sont les objectifs ? Unique ?

Multiple ?

Modélisation Caractéristiques du modèle obtenu (taille, ….) Lien avec des problèmes classiques Complexité

144

Page 37: Méta-Heuristiques 1. Introduction 2. Optimisation ... · Exemple - Transport Voyageur de commerce (Traveling Salesman Problem) Dans un graphe déterminer un trajet de cout minimal

Conclusion (2) Résolution Concevoir une méthode spécifique ? Utiliser des outils de résolution ?

Décomposer Parties essentielles du problème Intégrer au fur et à mesure

Evaluation Instances « jouet » / Instances taille réelle Analyse critique des résultats

145

Conclusion (3) Plateformes pour méthodes approchées

Metaheuristic optimization frameworks: a survey and benchmarking (2011)

dédiées algo évolutionnaires : JGAP, (Java), GAlib (C++), ….

dédiées recherche locale : JAMES (Java), LocalSolver (payant), …

146

Conclusion (4) Quelle méthode choisir pour résoudre un problème

Produire une bonne solution

Temps de calcul raisonnable

Mais pas de recette miracle Tester plusieurs méthodes, bibliographie, expertise, connaissance métier, …

No Free Lunch Theorem (for Search / Optimization / Learning) Il n’y a pas de méthodes meilleure que les autres sur l’ensemble des problèmes

" any two optimization algorithms are equivalent when their performance is averaged across all possible problems"

147