Optimisation combinatoire

Algorithms, Optimization, Graph Theory · course

Voir tous les documents en programmation

Optimisation combinatoire Optimisation combinatoire Méthodes Approchées

Introduction Introduction

•Définition •Exemples de problèmes d'optimisation combinatoire •Complexité théorique d'un problème

Définition

• Problèmes combinatoires: les problèmes dont la résolution se ramène à l'examen d'un nombre fini de combinaisons nombre fini de combinaisons

Rq: Bien souvent cette résolution se heurte à une

explosion du nombre de combinaisons à explorer.

3

I. Alaya

ENSI -ISID

Définition: Problème d’optimisation combinatoire

Etant donné un ensemble W de combinaisons, et une

fonction

f : W f : W

IR, IR,

il s'agit de trouver la combinaison de W minimisant f,

i.e.,

s* ˛

, f(s*) £

f(si), " si

.

Rq: Pour les problèmes de maximisation, il suffit de

multiplier la fonction coût par -1.

4

I. Alaya

ENSI -ISID

fi fi W ˛ W Terminologie

• (W

ou S) : espace de recherche, espace des {états, configurations, solutions, alternatives} • f : fonction objectif, fonction coût / économique • f : fonction objectif, fonction coût / économique • x* (ou s*) : optimum, minimum

5

I. Alaya

ENSI -ISID

Modélisation

Outils de modélisation pour la résolution des POC • Théorie des graphes: modélisation naturelle dans

certains problèmes (plus court chemin,...) certains problèmes (plus court chemin,...)

• PLNE (programmes linéaires en nombres entiers):

un ensemble de contraintes linéaires et une fonction objectif linéaire portant sur des variables à valeurs entières (problèmes de type sac à dos,…)

6

I. Alaya

ENSI -ISID

Exemples de problèmes d'optimisation combinatoire

• Problème du voyageur de commerce • Problème SAT • Problème du sac à dos • Bin Packing (répartition des charges dans les • Bin Packing (répartition des charges dans les

camions/contenaires)

• Jobshop Scheduling (ordonnoncement de tâches dans

un atelier de production)

• allocation de fréquences pour les réseaux radio-mobiles • positionnement d'antennes pour les réseaux radio-

mobiles

• routage dans les réseaux télécom • …

7

I. Alaya

ENSI -ISID

Problème du voyageur de commerce TSP: Traveling Salesman Problem

• Un voyageur de commerce doit visiter un certain

nombre de villes

• Il doit visiter chaque ville une et une seule fois et

revenir à la ville de départ revenir à la ville de départ

• Etant données des distances entre chaque paire de villes, il doit minimiser la distance totale parcourue

8

I. Alaya

ENSI -ISID

Problème du voyageur de commerce TSP: Traveling Salesman Problem

• Modélisation • On peut représenter ce problème par un graphe : chaque ville correspond à un sommet et chaque arête à une

paire de villes pouvant être visitées l’une à la suite de l’autre paire de villes pouvant être visitées l’une à la suite de l’autre • Le problème correspond à trouver un tour complet (circuit Hamiltonien) dans ce graphe qui minimise la somme des distances

9

I. Alaya

ENSI -ISID

Problème du voyageur de commerce

• Input : n villes, une matrice de distances D = (dij )

: Ensembles ordonnés de cardinalité n : Ensembles ordonnés de cardinalité n

• Objectif: trouver un chemin passant une fois et

une seule par chaque ville et minimisant la distance totale parcourue

min f : min distance

10

I. Alaya

ENSI -ISID

W W Problème du voyageur de commerce

• Exemple

Manouba

Bizerte

Ariana

Tunis

La Marsa

11

Radès

I. Alaya

Soukra

ENSI -ISID

Problème du voyageur de commerce Variantes

• Problème de Tournée de Véhicules

Au TSP, on ajoute :

• une quantité demandée par chaque client • une quantité demandée par chaque client • une capacité maximale transportable, inférieure à

la demande totale.

Objectif: Définir l’itinéraire de chaque véhicule de manière à satisfaire la demande, minimiser la distance parcourue et/ou la durée et/ou le nombre de véhicules utilisés, etc. • Problème de Tournée de Véhicules avec fenêtres

de temps

• … 12

I. Alaya

ENSI -ISID

Problème du sac à dos KP: Knapsack Problem

Remplir un sac à dos, ne pouvant supporter plus d'un

certain poids, avec tout ou partie d'un ensemble donné d'objets ayant chacun un poids et une valeur. Les objets d'objets ayant chacun un poids et une valeur. Les objets mis dans le sac à dos doivent maximiser la valeur totale, sans dépasser le poids maximum

13

I. Alaya

ENSI -ISID

Problème du sac à dos KP: Knapsack Problem

• Input: n objets, un vecteur coûts et un vecteur profits • Objectif : sélectionner un sous-ensemble d’objets en

maximisant le profit total et en respectant une contrainte maximisant le profit total et en respectant une contrainte donnée

14

I. Alaya

ENSI -ISID

Problème du sac à dos

• Exemple quelles boîtes choisir afin de maximiser la somme de maximiser la somme emportée tout en ne dépassant pas les 15 kg autorisés ?

http ://fr.wikipedia.org/wiki/Problème_du_sac_à_dos

15

I. Alaya

ENSI -ISID

Problème du sac à dos

• Modélisation

où • xj : variable de décision associée à l’objet j (j ˛ • n : le nombre d'objets • pj : l’utilité ou profit apporté par l'objet j (j ˛ • aj : le poids de l'objet j (j ˛ • b : la capacité totale du sac

1..n)

1..n): 0 ou 1

1..n)

16

I. Alaya

ENSI -ISID

Problème du sac à dos

• Variantes • Problème du sac à dos multidimensionnel (MKP) (cid:1)On ajoute au KP: Plusieurs contraintes • Problème du sac à dos quadratique (QKP) • Problème du sac à dos quadratique (QKP) (cid:1) un profit supplémentaire en sélectionnant deux

objets ensemble

• Sac à dos à choix multiple (MCKP) (cid:1)les objets sont regroupés en classes, et il ne faut prendre qu'un seul représentant pour chaque classe.

• … 17

I. Alaya

ENSI -ISID

Problème SAT

• Input : une formule logique F (propositionnelle) • Objectif : Trouver une instanciation des • Objectif : Trouver une instanciation des

variables logiques (vraie/faux) telle que F est vraie, ou bien décider qu'une telle instanciation n'existe pas

18

I. Alaya

ENSI -ISID

Comment résoudre? Cas du TSP

Énumération exhaustive 1. générer tous les trajets possibles 2. calculer leurs distances 3. choisir le trajet ayant la distance minimale

Trajets:

Distances:

1-2-3-4-5-6-7-1 1-3-2-4-5-6-7-1 1-2-4-3-5-6-7-1 ….

69 68 63 …

19

I. Alaya

ENSI -ISID

Comment résoudre? Cas du TSP

Énumération exhaustive 1. générer tous les trajets possibles 2. calculer leurs distances 3. choisir le trajet ayant la distance minimale

1. un trajet évalué en une microseconde (1 million de solutions par seconde)

20

I. Alaya

ENSI -ISID

Complexité théorique d'un problème

• Définition Complexité d'un problème: une estimation dans le pire des cas du nombre d'instructions à exécuter pire des cas du nombre d'instructions à exécuter pour résoudre les instances de ce problème. cette estimation étant un ordre de grandeur par rapport à la taille de l'instance et considérant son instance la plus difficile.

21

I. Alaya

ENSI -ISID

Problème de décision / optimisation

• Décision : ≪ existe-t-il une solution qui satisfait

≪

≫ une certaine propriété ? ≫

Résultat: “oui” ou “non” Résultat: “oui” ou “non” • Optimisation : ≪ parmi les solutions qui

≪

satisfont une certaine propriété, trouver celle qui optimise une certaine fonction de coût. ≫ Résultat: une solution réalisable optimale

22

I. Alaya

ENSI -ISID

Problèmes de décision Classes de Problèmes

• La classe P contient l'ensemble des problèmes polynomiaux, i.e., pouvant être résolus par un algorithme de complexité polynomiale

(cid:1)Cette classe caractérise l'ensemble des problèmes que l'on peut (cid:1)Cette classe caractérise l'ensemble des problèmes que l'on peut

résoudre efficacement résoudre efficacement

• La classe NP contient l'ensemble des problèmes

polynomiaux non déterministes, i.e., pouvant être résolus par un algorithme de complexité polynomiale (cid:1)La résolution des problèmes de NP peut nécessiter l'examen d'un grand nombre (éventuellement exponentiel) de cas, mais que l'examen de chaque cas doit pouvoir être fait en un temps polynomial

NP-complets : les problèmes les plus difficiles de NP

23

I. Alaya

ENSI -ISID

Lien entre décision/optimisation

• A chaque problème d'optimisation on peut

associer un problème de décision : « déterminer s'il existe une solution pour laquelle la fonction s'il existe une solution pour laquelle la fonction objectif soit meilleure qu’une valeur donnée? » • La complexité d'un problème d'optimisation est liée à celle du problème de décision qui lui est associé.

• Si le problème de décision est NP-complet, alors le problème d'optimisation est dit NP-difficile.

24

I. Alaya

ENSI -ISID

Classes de Problèmes

Diagramme d’Euler pour les classes P, NP, NP-complet, et NP-difficile (NP-hard)

25

I. Alaya

ENSI -ISID

Cas du TSP

• Problème de décision: “étant donné un entier L,

existe-t-il un cycle hamiltonien de longueur inférieure ou égale à L?” inférieure ou égale à L?”

(cid:1)NP-Complet

• Problème d’optimisation: “trouver un cycle

hamiltonien de longueur minimale.”

(cid:1)NP-Difficile

26

I. Alaya

ENSI -ISID

Chapitre 2 Méthodes de résolution Méthodes de résolution

Optimisation = modélisation + résolution

1. modélisation d'un problème : espace de recherche,

solutions

2. formulation mathématique : fonction objectif,

contraintes

3. application d'une méthode d'optimisation 4. obtention d'une solution

28

I. Alaya

ENSI -ISID

Définitions

• méthode complète : trouve toujours une solution, si

elle existe

• méthode exacte: trouve toujours la meilleure

solution (optimum global) solution (optimum global)

• méthode approchée (approximative) :explore une

sous-partie de l'espace de recherche

• méthode déterministe: exécute toujours la même

suite d'opérations

• méthode probabiliste (ou stochastique) : fait des

choix probabilistes guidés par des tirages aléatoires

29

I. Alaya

ENSI -ISID

Classification des méthodes d'optimisation combinatoire

30

Publicité

I. Alaya

ENSI -ISID

Méthodes exactes Petit aperçu

• Principe Généralement énumérer, souvent de manière implicite, l'ensemble des combinaisons de implicite, l'ensemble des combinaisons de l'espace de recherche

31

I. Alaya

ENSI -ISID

Méthodes exactes Petit aperçu

• Branch and Bound • Une technique qui effectue un parcours en profondeur de

l'arbre de recherche afin de fournir une ou plusieurs solutions optimales à partir d'un ensemble de solutions potentielles • A chaque étape de la recherche, correspondant à un nœud de • A chaque étape de la recherche, correspondant à un nœud de l'arbre de recherche, l'algorithme utilise une fonction Bound pour calculer une borne de l'ensemble des solutions du sous- arbre de ce nœud

• Borne est initialisée à une valeur maximale (en cas de

minimisation)

• Si cette évaluation est moins bonne que la meilleure solution

trouvée jusqu'à ce niveau de recherche, tout le sous-arbre peut être coupé.

• L'efficacité de l'algorithme B&B dépend étroitement du calcul

de la borne utilisée

32

I. Alaya

ENSI -ISID

Méthodes exactes Petit aperçu

• Programmation dynamique • une méthode ascendante : On commence d'habitude par les sous problèmes les plus petits et on remonte vers les sous problèmes de plus en plus difficiles sous problèmes de plus en plus difficiles

• Idée de base : éviter de calculer deux fois la même chose,

généralement en utilisant une table de résultats déjà calculés, remplie au fur et à mesure qu'on résout les sous problèmes.

33

I. Alaya

ENSI -ISID

Algorithme approché VS Algorithme exact

• Les problèmes d'optimisation combinatoires sont en

général NP-difficiles

• Ce problème de l'explosion combinatoire limite

l'utilisation de méthodes exactes pour la résolution à des l'utilisation de méthodes exactes pour la résolution à des problèmes de petites tailles

• Dans les applications réelles (souvent de grande taille), les méthodes incomplètes deviennent une alternative intéressante

• Ces méthodes sacrifient la complétude pour gagner

l'efficacité

34

I. Alaya

ENSI -ISID

Algorithme approché VS Algorithme exact

En résumé • Algorithme exact : garantit une solution optimale • Algorithme approché : pas de garantie d'optimalité • Les méthodes exactes ne sont efficaces que pour les • Les méthodes exactes ne sont efficaces que pour les

instances de problèmes de petite taille

• Les problèmes réels sont en général de (très) grande

taille

• Les méthodes approchées sont plus efficaces pour les

problèmes de grande taille

• On ne s'intéressera ici qu'aux méthodes approchées

35

I. Alaya

ENSI -ISID

36

Notion d’heuristique

Chaque étape de résolution repose sur deux opérations clés: • l’opération de développement des alternatives • L’opération de choix d’une alternative

Existence de plusieurs alternatives (cid:1) choix non Existence de plusieurs alternatives (cid:1) choix non

déterministe

Non déterminisme: Absence d’un moyen de choix

irrévocable

La tâche essentielle d’un algorithme de recherche est de

prendre en charge le non déterminisme: guider la recherche d’une solution en faisant des choix et en gérant les retours sur ces choix tout en évitant l’explosion combinatoire.

36

I. Alaya

ENSI -ISID

37

Notion d’heuristique

• Une heuristique : du grec ancien eurisko, « trouver » • C’est un moyen (un critère, une procédure, un ensemble de règles) destiné à réduire les alternatives et guider les choix non déterministes que doit faire un algorithme de recherche recherche

• indispensable pour les problèmes NP-difficiles car

généralement en temps polynomial

• Une heuristique exploite généralement une information

spécifique au problème posé

• traduit une stratégie, une manière de penser, s'appuyant

sur notre connaissance du problème

37

I. Alaya

ENSI -ISID

38

Notion d’heuristique

• Exemple1: TSP

Soit (u0, u1, …, um) la solution partielle examinée à l’étape

courante (liste des villes visitées) et V={V1, …, Vn } courante (liste des villes visitées) et V={V1, …, Vn } l’ensemble des alternatives qui s’offrent à partir de um (villes restantes)

38

I. Alaya

ENSI -ISID

Notion d’heuristique

Exemple1: TSP Heuristiques possibles: • H1(V)=d(um,v)

Manouba

39

Bizerte

Tunis

Ariana

Radès

La Marsa

Soukra

39

I. Alaya

ENSI -ISID

40

Notion d’heuristique

Exemple1: TSP Heuristiques possibles:

H2(V)=d(um,v)+d(v,u0) (cid:1) un cycle doit revenir à u0 : ce H2(V)=d(um,v)+d(v,u0) (cid:1) un cycle doit revenir à u0 : ce qu’il reste à faire (heuristique sur la distance restante)

40

I. Alaya

ENSI -ISID

Notion d’heuristique

Exemple2: KP Heuristiques possibles: • Prendre à chaque fois • Prendre à chaque fois l’objet avec max profit H1(j)= max pj

• Prendre à chaque fois l’objet avec min poids H2(j)= min aj

41

I. Alaya

ENSI -ISID

42

Notion d’heuristique

Résumé • Il s’agit d’un moyen de choisir, parmi plusieurs directions, celle qui semble être la plus indiquée pour résoudre un problème

• Ce moyen peut être très efficace mais quelque fois peut • Ce moyen peut être très efficace mais quelque fois peut

induire en erreur et orienter vers une fausse piste.

• L’heuristique est généralement fondée sur une

simplification du problème initial, une relaxation des contraintes qui font que ce problème est difficile

• La qualité d’une heuristique peut se mesurer en terme de

réduction de la complexité de la recherche: une heuristique h1 est préférable à h2 si dans tous les cas h1 conduit à explorer moins d’alternatives que h2

42

I. Alaya

ENSI -ISID

Métaheuristique

• une heuristique est spécifique à un problème et

ne peut pas être généralisée

• méta + heuristique = au-delà + trouver (cid:1)

trouver avec un plus haut niveau d'abstraction trouver avec un plus haut niveau d'abstraction

• une métaheuristique est un ensemble de concepts : voisinage (modification d'une solution), utilisation de la mémoire...

• une méta-heuristique est une heuristique

généraliste, pouvant s'appliquer à plusieurs problèmes d'optimisation

43

I. Alaya

ENSI -ISID

Métaheuristique

Source d’inspiration biologique ou physique

• Algorithmes génétiques • Algorithmes génétiques • Recuit simulé • Optimisation par essaim de particules • Optimisation par colonies de fourmis (ACO) • …

44

I. Alaya

ENSI -ISID

Métaheuristique

45

I. Alaya

ENSI -ISID

Espace de recherche

L’espace de recherche est une collection de solutions

potentielles à un problème

• Comment chercher de bonnes solutions dans cet • Comment chercher de bonnes solutions dans cet

espace ?

• Il est important de connaitre les propriétés de cet

espace, e.g.,: ▫ Taille : liée à la représentation que l'on se fait des

solutions

▫ Structure : liée à la façon avec laquelle on se

ballade/cherche dans cet espace (paysage de recherche)

46

I. Alaya

ENSI -ISID

Taille de l'espace de recherche (SAT) • Pour n=100 variables, la taille de l'espace de recherche

est : 2100

• Avec 1000 solutions évaluées / sec : il faudrait 15

billions d'années pour évaluer moins de 1% de l'espace de recherche

• Pour k>2, k-SAT est NP-difficile ; k=2, Polynomial

47

I. Alaya

ENSI -ISID

Taille de l'espace de recherche (TSP) TSP de taille n (villes) • TSP symétrique : dist(x,y) = dist(y,x) • |S| = n!/2n = (n-1)! / 2 ; n>6 TSP > SAT • |S| = n!/2n = (n-1)! / 2 ; n>6 TSP > SAT • 10 villes = 181 000 solutions • 20 villes = 10 000 . 000000 . 000000 solutions • 50 villes = 100 000000000000000000000000000000 000000000000000000000000000000 solutions • Il y a 1 000 . 000000 . 000000 . 000000 litres d'eau

dans la planète !!

48

I. Alaya

ENSI -ISID

Paradigmes de recherche

• Construction solution construite par une suite de choix • Recherche locale (ou voisinage) une solution initiale

modifiée itérativement

• Évolution une population de solutions évolue par des

opérateurs génétiques (sélection, croisement, mutation)

• Hybridation mélange des approches précédantes

49

I. Alaya

ENSI -ISID

Approches constructives Approches constructives

•Définition •Les algorithmes gloutons •Optimisation par colonie de fourmis

Approches constructives

• Les approches constructives commencent à

partir d'une solution vide qu'elles construisent par incréments au fur et à mesure de la par incréments au fur et à mesure de la recherche

• Méthode de base: les algorithmes gloutons

51

I. Alaya

ENSI -ISID

Approches constructives

Algorithmes gloutons (greedy algorithm) • Principe : partir d'une solution initiale vide et

ajouter, d'une manière incrémentale, des composants de solutions sans remettre en cause les composants de solutions sans remettre en cause les choix antérieurs jusqu'à obtenir une solution complète.

• Deux questions essentielles :

– Définir l'ensemble des composants (les éléments) – Comment sélectionner les composants qui donnent

le profit optimal à chaque itération

52

I. Alaya

ENSI -ISID

Approches constructives

53

I. Alaya

ENSI -ISID

Approches constructives

Choix de l’élément (composant de solution) à

ajouter:

• Dans le cas le plus simple, de manière aléatoire. • Dans le cas le plus simple, de manière aléatoire. • De meilleurs résultats sont généralement

obtenus en utilisant une heuristique du bénéfice qu'apporte le composant à ajouter, c'est le critère gradient.

54

I. Alaya

ENSI -ISID

Approches constructives

Exemple 1: TSP

• Des algorithmes simples qui construisent des tournées de

qualité raisonnable

• Souvent utilisés pour construire une solution initiale pour • Souvent utilisés pour construire une solution initiale pour

d'autres heuristiques

• Plusieurs types d'algorithmes

– Itérativement étendre une tournée partielle connexe – Itérativement, construire des fragments de tournée et les connecter entre eux pour finalement former une tournée complète – Algorithmes plus complexes basés sur les arbres recouvrants de

poids minimums

55

I. Alaya

ENSI -ISID

Approches constructives (TSP)

Heuristique du Plus Proche Voisin • Commencer avec un sommet initial (choisi aléatoirement) • À chaque étape, prendre l'arête de poids minimum vers un

sommet non encore visité sommet non encore visité

• Étendre (v1, … , vk ) avec un sommet u non visité tel que

d(vk,u) soit minimale

• Compléter pour obtenir un cycle hamiltonien: relier la

dernière ville à la première (fermer la tournée)

56

I. Alaya

Publicité

ENSI -ISID

Plus Proche Voisin (TSP)

Exemple

57

I. Alaya

ENSI 2012-2013

Approches constructives (TSP)

Heuristique d’Insertion

• Idée de construction : 1. initialisation : choisir aléatoirement une première ville 2. à chaque étape, un cycle de villes a été construit 2. à chaque étape, un cycle de villes a été construit y insérer LA ville qui minimise un critère donné • insertion du plus proche voisin (nearest insertion) : insérer la ville la plus proche des villes déjà visitées

• moindre coût (cheapest insertion) : insérer la ville ayant le moindre coût d'insertion (engeandrant la plus petite augmentation de la longueur du cycle)

58

I. Alaya

ENSI -ISID

Approches constructives (TSP)

Heuristique d’Insertion du PPV

Exemple

59

I. Alaya

ENSI 2012-2013

Approches constructives (TSP)

Plus Proche Voisin

Heuristique d’insertion

60

I. Alaya

ENSI -ISID

Approches constructives

Exemple 2: Knapsack Problem

• Heuristique possible: rajouter en priorité les objets ayant le meilleur rapport valeur/poids, jusqu'à ce que le sac soit rempli sac soit rempli

61

I. Alaya

ENSI -ISID

Approches constructives

Knapsack Problem

62

I. Alaya

ENSI -ISID

Approches constructives

Knapsack Problem

63

I. Alaya

ENSI -ISID

Approches constructives

Knapsack Problem

64

I. Alaya

ENSI -ISID

Approches constructives

Knapsack Problem

65

I. Alaya

Approches constructives

Knapsack Problem

66

I. Alaya

Approches constructives

Knapsack Problem

67

I. Alaya

ENSI -ISID

Approches constructives

Exemple 2: Knapsack Problem

Solution

Or on peut avoir

68

I. Alaya

ENSI -ISID

Approches constructives

Exemple 3: Bin Packing

• D'une façon générale, un problème de packing a pour objectif de

générer la meilleure allocation d'objets, sans qu'il y ait chevauchement

• Le problème du packing en deux dimensions intervient dans la • Le problème du packing en deux dimensions intervient dans la modélisation de nombreux problèmes principalement ceux liés aux placements et à la découpe fréquemment rencontré dans l'industrie du papier, du verre et du textile

• Dans le secteur informatique, on peut trouver des applications aux problèmes de bin packing lorsque l'on cherche à ranger des fichiers sur des supports informatiques, ou lorsqu'on cherche à affecter des tâches à des processeurs parallèles.

69

M. Bellalouna

ENSI -ISID

Problème du Bin Packing (BP)

• n objets , l’objet i est de taille xi inférieur à 1.

▫ Ln={ xi} 1≤ i ≤ n

• Une infinité de boîtes de même taille 1 • Un ensemble fini de solutions S : partition possible

de Ln

• Nombre de boîte de la solution G est m

G=B1

¨ B2

¨ …¨ Bm

• Objectif : chercher la répartition qui utilise le

minimum de boîtes.

70

M. Bellalouna

ENSI -ISID

Résolution du Bin Packing

• BP : Problème NP-Complet

• Résolution exacte pour les problèmes de petites tailles:

Branch&Bound, Programmation dynamique. Branch&Bound, Programmation dynamique.

• Résolution approchée : heuristiques gloutonnes très performantes surtout en moyenne

71

M. Bellalouna

ENSI -ISID

Heuristiques gloutonnes pour le BP

(cid:2) Next Fit (N.F) et Next Fit Decreasing (cid:2) First Fit (F.F) et First Fit Decreasing (cid:2) Best Fit (B.F) et Best Fit Decreasing

72

M. Bellalouna

ENSI -ISID

Heuristique Next Fit

Algorithme N.F : mettre le ième objet dans la dernière

boîte ouverte

j=1 Pour i allant de 1 à n faire

si xi peut être mis dans Bj, Bj sinon j ‹ Bj

{xi}

j+1

‹

‹ Bj

{xi}

73

M. Bellalouna

ENSI -ISID

¨ Heuristique Next Fit

x1

x2

x3

x5

x4

x6

74

M. Bellalouna

ENSI -ISID

First-Fit Algorithme F.F : mettre le ième objet dans la première boîte

qui peut le contenir

1. k=1

2. Pour i=1 à n faire 2. Pour i=1 à n faire Pour j=1à k faire

si xi peut être mis dans Bj, Bj

‹ Bj

{xi}

Si j ‹

k alors k‹

k+1 et Bk

‹

{xi}

75

M. Bellalouna

ENSI -ISID

¨ Best -Fit Algorithme B.F : mettre le ième objet dans la boîte qui minimise

l’espace perdu sur l’ensemble des boîtes ouvertes

1. k=1

2. pour i=1 à n faire

le niveau de la boîte j) le niveau de la boîte j)

Pour j=1 à k faire ( lj Pour j=1 à k faire ( l mettre xi , si possible , dans la boîte, Bu , qui minimise l’espace ( l

perdu

)

=

+

+

1

x

x

l

u

i

j

i

max 1 j

k

‹

alors Bu sinon k=k+1 Bk

Bu

{xi},

‹

{xi}, lk = xi

76

M. Bellalouna

ENSI -ISID

¨ £ £ £ Best –Fit-Decreasing

Algorithme B.F.D : Ordonner la liste ensuite appliquer l’algorithme

BF.

1. Ordonner la liste (on note yi le ième objet dans la liste triée) 2. k=k+1

3. Pour i=1 à n faire

le niveau de la boîte j)

Pour j=1à k faire ( lj mettre xi dans la boîte, Bu , qui minimise l’espace perdu alors Bu sinon k=k+1 Bk

{yi}, lk = yi

{yi} ‹

‹ Bu

77

M. Bellalouna

ENSI -ISID

¨ Heuristique Best Fit Decreasing

x1

x5

x3

x6

x2

NF

x1

x2

x3

78

M. Bellalouna

x4

x5

x4

x6

ENSI -ISID

79

Exercice : Heuristiques pour le BP

(cid:3) NF, FF , BF. Pour 10 objets de tailles :

Ln = {0,5;0,1;0,3;0,4;0,7;0,2; 0,6;0,6;0,1;0,5}

(cid:3) NFD, FFD, BFD. Pour 10 objets de tailles :

Ln = { 0,5; 0,7; 0,8;1; 0,1; 0,4; 0,3; 0,6; 0,2; 0,9}

79

M. Bellalouna

ENSI -ISID

Approches constructives

Avantages/ Inconvénient • en O(n) (ou polynomial) • une succession de choix localement optimaux ne garantit

pas une solution optimale

• l'utilisation du critère gradient dans les premières étapes

peut mener à des déplacements très faibles dans les peut mener à des déplacements très faibles dans les dernières phases de construction de solutions et engendrer des solutions de qualité médiocre.

• La performance des algorithmes gloutons dépend

étroitement de la pertinence de l'heuristique utilisée, i.e. leur capacité à exploiter les connaissances du problème.

(cid:1) Les métaheuristiques

80

I. Alaya

ENSI -ISID

Optimisation par colonie de fourmis Ant Colony Optimization (ACO)

• Approche constructive • Métaheuristique • Métaheuristique • Méthode stochastique • Méthode à base de population

81

I. Alaya

ENSI -ISID

Publicité

Source d’inspiration

Les fourmis Réelles

Traces de phéromone: une substance chimique que les fourmis arrivent à détecter

Aptitude des fourmis à découvrir le plus court chemin

82

I. Alaya

ENSI -ISID

Source d’inspiration

• En se déplaçant, une fourmi dépose de la phéromone marquant le chemin par une trace de cette substance.

• En absence de traces une fourmi se déplace

aléatoirement

• Par contre, une fourmi qui rencontre une trace de

phéromone déjà déposée peut la détecter et décider de la suivre avec une probabilité proportionnelle à l'intensité de la trace

• Elle renforce ensuite cette trace avec sa propre

phéromone.

83

I. Alaya

ENSI -ISID

Source d’inspiration

?

50%

50%

84

I. Alaya

ENSI -ISID

Analogie

Fourmis réelles

ACO

l'environnement dans lequel les fourmis cherchent de la les fourmis cherchent de la nourriture

l'espace de recherche du problème problème

la quantité ou la qualité de la nourriture

la fonction objectif à optimiser

les traces de phéromone

une mémoire adaptative

85

I. Alaya

ENSI -ISID

Analogie

- Coopération : Traces de phéromones artificielles

- L’évaporation

- Politique de transition probabiliste

- MAJ de phéromone guidée par la qualité des solutions générées

Problème à résoudre

- Mémoire Privée

-Vivent dans monde discret

- Dépôt de phéromone

Solutions

86

I. Alaya

ENSI -ISID

8 6

Métaheuristique ACO

(cid:4) Modéliser le problème (cid:5) Recherche d’un chemin optimal dans un graphe appelé graphe de construction

(cid:4) Utiliser les fourmis artificielles (cid:5) Recherche des ‘bons’ chemins (cid:4) Utiliser les fourmis artificielles (cid:5) Recherche des ‘bons’ chemins (cid:5) Construction stochastique de solutions guidée par les traces de phéromone (cid:4) Mise à jour de phéromone

87

I. Alaya

ENSI -ISID

Ant System Dorigo 1991

Application au problème de voyageur de commerce

(cid:4) Phase Construction de solutions

(cid:5) Choisir une ville de départ (cid:5) Choisir la prochaine ville relativement à: - Information heuristique (h ) - Traces de phéromone (t )

( ) = tp k ij

b

a

[ ( ) t t [ ∑ ∑ t

] [ ] h ij ] [ ( ) a h t

ik

ik

b

]

(cid:4) Phase Mise à jour de phéromone

k k

( ) (cid:215)=+ t tr nt ij r = persistance m ∑

=

t

ij

k

=

1

( ) D+ t

ij

t

ij

m: nbr de fourmi Q: constante

Q L

k

Si l’arête (i,j)˛ Lk

88

I. Alaya

ENSI -ISID

(cid:215) (cid:215) D Phéromone

Information heuristique

( ) ( ) = = tp tp k k ij

b

[ [ ( ) ( ) t t t t [ [ ∑ t

] [ ] ] ] [ a h h ij ij ] [ ] [ ( ) a h t

ik

ik

b

] ]

k

Ville courante

Ville candidate

89

I. Alaya

ENSI -ISID

(cid:215) (cid:215) (cid:215) Ant System

Pour chaque cycle

Pour chaque fourmi

Choisir un noeud de départ

Pour chaque noeud

M. Dorigo, 1991

Choisir un noeud suivant probabilité:

Fin Pour

Fin Pour

Mettre à jour la phéromone sur les chemins construits par les fourmis

Mettre à jour la meilleure solution trouvée S*

Fin Pour

90

I. Alaya

ENSI -ISID

Variantes

Stratégie Élitiste Stratégie Élitiste

Donner à la meilleure solution un poids additionnel

ASrank ASrank

Tri les fourmis selon les coûts des solutions générées les w meilleures fourmis sont autorisées à màj la phéromone

ACSACS ACSACS

Seule la fourmi qui a produit la meilleure solution peut màj la trace de phéromone Probabilité de transition pseudo-proportionnelle

MMASMMAS

-Introduction des limites supérieures et inférieures aux valeurs de phéromone t - Seule la meilleure fourmi peut ajouter de la phéromone

min<=t

ij <=t

max

91

I. Alaya

ENSI -ISID

Optimisation par colonie de fourmis

Avantages / Inconvénients

++ L’utilisation des traces de phéromone permet d’exploiter l’expérience de recherche acquise par les fourmis et renforcer l’apprentissage pour la construction des solutions.

++ L’ACO peut être appliquée à n’importe quel problème ++ L’ACO peut être appliquée à n’importe quel problème d’optimisation combinatoire qui peut être formalisé comme une recherche de chemin optimal dans un graphe.

-- Un paramétrage non étudié de l’algorithme fourmi peut mener à des solutions sous-optimales.

-- Des travaux de preuve de la convergence à la solution optimale ont été proposés.

92

I. Alaya

ENSI -ISID

Intensification/ Diversification

Lors de la résolution d’un POC avec une approche heuristique, il s'agit de trouver un bon compromis entre deux objectifs relativement duaux : • Intensification de la recherche autour des zones de l'espace • Intensification de la recherche autour des zones de l'espace de recherche les plus prometteuses, qui sont généralement proches des meilleures solutions trouvées ; • Diversification de la recherche : favoriser l'exploration afin de découvrir de nouvelles et si possible meilleures zones de l'espace de recherche.

93

I. Alaya

ENSI -ISID

Optimisation par colonie de fourmis

Intensification/ Diversification

Dans ACO, la diversification peut être augmentée • soit en diminuant la valeur du poids du facteur phéromonal a (de sorte que les fourmis deviennent moins sensibles aux traces phéromonales), aux traces phéromonales), • soit en diminuant le taux d'évaporation r la phéromone s'évapore plus doucement et les écarts d'une trace à l'autre évoluent plus doucement). Lorsque l'on augmente ainsi la capacité exploratoire des fourmis, on trouve généralement de meilleures solutions, mais en contrepartie ces solutions sont plus longues à trouver.

(de sorte que

94

I. Alaya

ENSI -ISID

Évaluation des heuristiques

• les heuristiques n’offrent aucune garantie

d’optimalité : elles peuvent trouver l’optimum pour certaines données, ou en être très éloignées pour certaines données, ou en être très éloignées (cid:1) Le problème de l’évaluation de la performance

des heuristiques est crucial.

95

I. Alaya

ENSI -ISID

Évaluation des heuristiques Performance relative

• Définition • Soit un POC pour lequel on connait déjà la solution optimale. • Pour une heuristique H et une donnée d, on note H(d) le coût

de la solution heuristique et OPT(d) le coût optimal. On appelle performance relative de H sur d le quotient : appelle performance relative de H sur d le quotient :

• Pour un problème de minimisation, RH (d) ≥ 1

P. Lacomme et al, « Algorithmes de graphes » 2e édition 2003, Eyrolles.

96

I. Alaya

ENSI -ISID

Évaluation des heuristiques Performance relative

• Définition

Distance à l’optimum en % : 100 × (RH (d) −1)

La performance relative peut être calculée : • à priori: avant exécution de l’heuristique • à posteriori: si elle est imprévisible et ne peut être

calculée qu’après exécution de l’algorithme.

97

I. Alaya

ENSI -ISID

Évaluation des heuristiques Performance relative

• Évaluation à priori • Performance relative au pire On appelle performance relative au pire (worst case performance ratio) P d’une heuristique H sa plus performance ratio) PH d’une heuristique H sa plus mauvaise performance relative sur l’ensemble des données possibles :

98

I. Alaya

ENSI -ISID

Évaluation des heuristiques Performance relative

• Évaluation à priori • Performance relative au pire • Il s’agit d’une garantie de performance, qu’on obtient

mathématiquement par analyse théorique de H, et non par mathématiquement par analyse théorique de H, et non par des statistiques ou par énumération des données possibles. • Les démonstrations se font souvent en deux temps : on borne RH (d) pour toute donnée d, puis on construit une donnée montrant que ce pire cas peut être effectivement atteint.

• Ce genre de résultat est en général difficile à obtenir, et on n’en

connaît que pour quelques heuristiques

P. Lacomme et al, « Algorithmes de graphes » 2e édition 2003, Eyrolles.

99

I. Alaya

ENSI -ISID

Évaluation des heuristiques Performance relative

Évaluation à posteriori Bornes inférieures de l’optimum • Le plus souvent, on ne sait pas établir mathématiquement le

comportement au pire.

• On ne peut alors évaluer les résultats qu’après exécution de • On ne peut alors évaluer les résultats qu’après exécution de

l’heuristique H.

• Pour évaluer le résultat pour une donnée d, on peut calculer la

performance relative RH (d) à condition de connaître l’optimum. • Mais il n’existe pas de méthode exacte de complexité polynomiale

pour les problèmes NP-difficiles, à moins que P = NP.

• La valeur exacte de l’optimum n’est donc pas calculable en une

durée acceptable pour les problèmes de grande taille.

100

I. Alaya

ENSI -ISID

Évaluation des heuristiques Performance relative

Évaluation à posteriori Bornes inférieures de l’optimum (cid:1) Solution: si on dispose d’une évaluation par défaut

(minorant) B(d) pour l’optimum OPT(d). Dans ce cas :

• En particulier, si H(d) = B(d), alors on sait à posteriori qu’on a atteint l’optimum. On peut toujours trouver des bornes inférieures, même grossières, de l’optimum OPT(d).

101

I. Alaya

ENSI -ISID

Évaluation à posteriori Bornes inférieures de l’optimum

Exemples pour le TSP Soit un TSP à N villes, C la matrice des distances B1 : borne inférieure naïve • On fait la somme des N plus petits éléments de C.

• Critique : ils peuvent être sur la même ligne, et les arcs

correspondants, partant d’un même sommet, ne peuvent pas être sur un circuit hamiltonien.

102

I. Alaya

ENSI -ISID

Évaluation à posteriori Bornes inférieures de l’optimum

Exemples pour le TSP B2 : borne moins naïve • Le