optimisation combinatoire (méthodes approchées) - liflderbel/ueoc/cours/oc1.pdf · optimisation...

41
Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation ? 2. Comment concevoir et implémenter des heuristiques pour résoudre des problèmes difficiles ? 3. Quelles méthodes sont disponibles et quelles sont leurs propriétés ? 4. Comment étudier et analyser une méthode ?

Upload: vokhanh

Post on 09-May-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Optimisation Combinatoire(Méthodes approchées)

1. Qu'est ce qu'un problème d'optimisation ?

2. Comment concevoir et implémenter des heuristiques pour résoudre des problèmes difficiles ?

3. Quelles méthodes sont disponibles et quelles sont leurs propriétés ?

4. Comment étudier et analyser une méthode ?

Page 2: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Qu'est qu'un problème d'optimisation ?

● Parmi un ensemble d'alternatives qui satisfont une certaine propriété, choisir celle qui optimise une certaine fonction de coût

● Première définition :

– Un couple (f,S)

– S : l'ensemble des alternatives

– f : S → IR une fonction de coût

– Trouver s* tel que f(s) < f(s*)● Problèmes de plus en plus complexe dans plusieurs

disciplines académiques et industrielles● Problèmes de très grande taille et/ou temps de réponse de

plus en plus court

Page 3: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Un exemple facile

● Choisir parmi un petit ensemble d'éléments

Page 4: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Un autre exemple … plus difficile mais facile quand même ● Trouver le meilleur chemin entre un point de

départ A et un point destination B

Page 5: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Un exemple difficile

● Voyageur de commerce (TSP) : trouver la meilleure tournée

Page 6: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Application du TSP

● Optimisation pour les cartes perforées

Page 7: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Applications du TSP

● VRP (Véhicule Routing Problem)● Dans la vraie vie, plusieurs 'détails' qui

complexifient le problème– Time windows

– Capacités

– Demandes/temps de parcours dynamique/stochastiques

Page 8: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

TSP : un problème fondamental

● Modélisation avec un graphe – Un graphe G=(V,E,c) une fonction de coût sur les

arêtes

– cycle hamiltonien : un cycle qui visite chaque sommet une et une seule fois (à l'exception du sommet départ/arrivé)

– Le coût (poids) d'un chemin: le coût cumulé de toutes ses arêtes

● TSP :– Input G=(V,E,c)

– Output : un cycle hamiltonien de coût minimum

Page 9: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

SAT : Un autre problème fondamental

● Définition– Input : une formule logique F (propositionnelle)

– Objectif : Trouver une instansiation des variables logiques (vraie/faux) telque F est vraie, ou bien décider qu'une telle instanciation n'existe pas

● Exemple– F := (x1 � x2 ) � (¬x1 � ¬x2 )– F := (¬x2 � x1 ) � (¬x1 � ¬x2 � ¬x3 ) � (x1 � x2 ) �

(¬x4 � x3 ) � (¬x5 � x3 )

Page 10: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

SAT et TSP● Problème de décision / d'optimisation

– Décision : « existe-t-il une solution qui satisfait une certaine propriété ? » 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

– Les problèmes d'optimisation généralisent en quelques sorte les problèmes de décisions

● Lien entre décision/optimisation– Entrées: n villes et distances cij

– Problème de décision: “étant donné un entier L, existe-t-il un cycle hamiltonien de longueur inférieure ou égale à L?”

– Problème d’optimisation: “trouver un cycle hamiltonien de longueur minimale.”

Page 11: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Modélisation d'un problème

● Dans la réalité, nous trouvons une solution à un modèle du problème

● Tous les modèles sont des simplifications de la réalité

– Problème → Modèle → Solution● SAT et TSP sont des formes cannoniques de modèles

qui peuvent être appliqués à différents problèmes

● Exemple : Société de production de voitures de n couleurs différentes. Trouver un ordonnancement optimal qui minimise le coût total de la peinture des voitures

Page 12: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Modélisation d'un problème

● Toute machine utilisée doit être « switchée » d’une couleur à une autre ; le coût d’un tel changement dépend des deux couleurs

● Jaune à Noir = 30, Noir à Blanc = 80, …● Trouver une séquence de tâche de peinture des

différentes voitures● TSP asymétrique ; nœud = tâche peinture

couleur donnée● Distance entre les nœuds = coût du

changement

Page 13: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Problème, instance, solution ...

● Problème : e.g; TSP– Solution : un algorithme pour le TSP

● Instance : un ensemble de ville– Solution : une tournée

● Solution optimale● Solution candidate● Solution faisable

Page 14: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Modèles pour l'optimisation

Page 15: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Élément de complexité

● Comment juger de la difficulité d'un problème ?– La complexité en temps est le temps d'exécution d'un

algorithme en fonction de la taille du problème – On utilise souvent la notation 'big-O' : O( … )

● Soient f et g deux fonctions ● f (n) = O(g (n)) ssi il existen des nombres c et n0 telque

pour tout n � n0, on ait f (n) � c · g (n) – Un algorithme est dit polynomial en temps ssi sa complexité

en temps est bornée par un polynome p(n), ie. f (n) = O(p(n)) – Un algorithme est dit exponentiel si sa complexité en temps ne

peut pas être bornée par un polynome, e.g., f(n) = a^n avec a > 1 une constante

Page 16: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Polynomial Vs Exponential

Page 17: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

P = NP ?

● Classe P: problèmes de décision pour lesquels on connaît des algorithmes polynomiaux

● Classe NP: problèmes de décision pour lesquels on connaît des algorithmes non déterministes polynomiaux (problèmes de décision pour lesquels n’importe quel certificat peut être vérifié en temps polynomial pour une réponse “oui”)

● Transformation polynomiale: un problème de décision A se transforme polynomialement dans un autre problème de décision B si, quelle que soit l’entrée IA pour A, on peut toujours construire une entrée IB pour B en temps polynomial dans la taille L(IA) de l’entrée IA, telle que IA est une instance “oui” de A si et seulement si IB est une instance “oui” de B.

● NP-complet: un problème de décision A dans NP est NP-complet si tous les autres problèmes de la classe NP se transforment polynomialement dans le problème A

Page 18: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Transformation polynomiale● Exemple : circuit hamiltonien

● Une modélisation : chaque arc peut être vrai ou faux – vrai si l’arc appartient au circuit et faux sinon.

● Comme seulement un arc entrant et un arc sortant pour chaque noeud peut appartenir au circuit hamiltonien, nous pouvons l’écrire sous forme d’expression booléenne :

– Noeud a : (ea and ab) Noeud b : [(ab and (not db) and (not eb)) or ((not ab) and db and (not eb)) or ((not ab) and (not db) and eb)] and bc Noeud c : (bc and cd) Noeud d : cd and [(db and (not de)) or ((not db) and de)] Noeud e : de and [(ea and (not eb)) or ((not ea) and eb)]

aba b

e d

c

bc

ea

de

eb

cd

db

Page 19: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Transformation polynomiale

● Si vous pouvez trouver une instanciation tel que toutes les variables booléennes (les arcs) soient vraies, vous avez trouvés un circuit Hamiltonien (HC)

● Donc, si vous pouvez résoudre un problème SAT en temps polynomial, vous pouvez résoudre HC en temps polynomial car la transformation prend un temps polynomial

● SAT : premier problème NP-difficile

Page 20: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Algorithmes d'approximations

● Si on relâche la contrainte de trouver des solutions optimales, peut-on garantir une certaine qualité avec des algorithmes polynomiaux en temps ?

● Approximation ratio (facteur d'approximation) : R(p, s) = max ( OPT/f (s),f (s)/OPT) où p est une instance, s une solution et OPT la valeur de la slution optimale

● Exemple du TSP :– Les instances générales du TSP sont inapproximables, c.à.d.

R(p, s) ne peut pas être bornée pour n'importe quelle instance p

– Dans la famille d'instances vérifiant l'inégalité triangulaire, le meilleur facteur d'approxiamtion connu est 1.5 (Algorithme de Christofides)

Page 21: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Les constantes !

Page 22: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Difficultés des problèmes rééls

● Nombre important de solutions possibles → Recherche exhaustive impossible

● Problème complexe → Utilisation de modèles simplifiés

● Fonction de coût qui décrit la qualité des solutions “noisy” et dynamique (fonction du temps) → Plusieurs solutions à trouver

● Problèmes avec des contraintes fortes → Construire une solution réalisable est difficile

● Multi-critère, ...

Page 23: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Comment résoudre ?

● Enumeration systématique

● Méthodes/Algorithmes spécifiques à un problème donnée

● Méthodes génériques exactes

● Méthodes génériques approchées : heuristiques

Page 24: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

C'est quoi une heuristique ?● L'objectif d'une heuristique est de calculer efficacement des 'bonnes'

solutions (pour un problème donnée) mais sans garantie d'optimalité !

– Plusieurs approches des plus simples aux plus complexes

– Utilisée lorsqu'il n'existe pas d'autres alternatives pour résoudre le problème sous des contraintes de temps ou d'espace

● Qu'est ce qu'une bonne heuristique ? (manque de résultats théoriques)

– Elle est de complexité raisonnable (idéalement polynomiale mais en tout cas efficace en pratique)

– Robustesse : Elle fournit le plus souvent une solution proche de l’optimum

– La probabilité d’obtenir une solution de mauvaise qualité est faible ;

– Elle est simple à mettre en œuvre

● Méta-heuristique ?

Page 25: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

METAs : Un peu d'histoire

Page 26: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Paradigme de recherche

● Résoudre des problèmes combinatoire en utilisant une 'recherche': – De façon itérative, générer et évaluer des solutions

pototentielles (candidate solutions) – decision problems: evaluation = test si effectivement

une solution – optimisation problems: evaluation = vérifi er le coût

de la solution (fonction objective) – Évauation des solutions candidates est typiquement

moins coûteux que trouver des solutions optimales

Page 27: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Espace de recherche

● L’espace de recherche est une collection de solutions potentielles à un problème– Comment chercher des bonnes solutions dans cet

espace ?● Espace de recherche pas toujours égale à l'espace des

solutions réalisables !

– Il est important de connaître les propriétés de cet espace, e.g.,:

● Taille : liée à la représentation que l'on se fait des solutions

● Structure : liés à la façon avec laquelle on se ballade/cherche dans cet espace et la fonction objective

Page 28: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Taille de l'espace de recherche(SAT)

● SAT : instancier des variables booléennes pour qu'une formule logique F soit Vraie – Boolean expression F = conjonction de clauses

– k-SAT : les closes sont des disjunctions de k variables booléennes

– Pour n=100 variables, la taille de l'espace de recherche est : 2^100 � 10^30,

– Avec 1000 solutions évaluées / sec : il faudrait 15 billions d'années (Big Bang) pour évaluer moins de 1% de l'espace de recherche

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

Page 29: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Taille de l'espace de recherche(TSP)

● TSP de taille n (villes)– TSP symmétrique : dist(x,y) = dist(y,x)

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

Page 30: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Taille de l'espace de recherche (TSP)

● (gauche) Plus grande instance résolue de façon exacte (1998 !) : usa13509

● (droite) solution optimale pour l'instance pcb3038

Page 31: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Paradigme de recherche

● Perturbative search – Espace de recherche = ensemble complet de solutions candidates

– Une étape de recherche = modi� cation d'une ou plusieurs composante d'une solution

– SAT ● modi� cation des valeurs d'une ou de plusieurs variables

● Systematic search– 'Traverser/parcourir' l'espace de recherche de façon systématique

– Evalue toute solution possible jusqu’à solution optimale globale trouvée (Branch and Bound, A*, …).

– Question principale : Comment générer une séquence de toutes les solutions ?

– Complète: garantie de trouver une solution (optimale), où de determiner qu'aucune solution n'existe

Page 32: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Paradigme de recherche

● Constructive search (construction heuristics)– Espace de recherche = solutions candidates partielles

– Etape de recherche = extension avec un ou plusieurs nouveaux composants

● Local Search – Commencer avec une solution initiale de l'espace de

recherche

– 'itérativement' visiter une solution 'voisine'

– incomplète: pas de garantie de trouver une solution (optimale) et/ou ne peut pas garantir qu'il n'y a pas de solutions avec certitude

Page 33: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Paradigme de recherche

● Systematic Search– Complet

– Complémentarité avec les autres approches

● Quand utiliser ?– Des preuves (certitude) d'optimalité ou de 'non

existance de solution' sont exigées– Contraintes de temps non critiques – Une connaissance des propriétés spécifi ques au

problèmes peuvent être exploitées effi cacement

Page 34: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Paradigmes de recherche

● Constructive Search (greedy heuristics)– Complémentaire aux autres approches

● e.g., Utilisée pour construire une bonne solution qui est ensuite améliorée en utilisant d'autres paradigmes de recherche

– Les propriétés étudiées dans ce cadre permettent d'avoir une connaissance spécifiques aux problèmes spécifiques et mieux les résoudre

Page 35: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Constructive heuristics

● Greedy construction heuristics – Déterminer la qualité des composantes d'une solution avec

une fonction heuristique – À chaque étape, retenir la 'meilleure' composante et l'ajouter– Tie-breaking : souvent aléatoirement; rarement avec une

deuxième fonction– Pour quelques problèmes polynomiaux, des algorithmes

“exacte” existent, e.g. Kruskal’s algorithm– Stratégies statique vs. adaptative

● statique: décisions independentes de la solution partielle● adaptative: décisions en fonction de la solution partielle

Page 36: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Constructive Heuristic

● Deux questions essentielles : – Définir l'ensemble des composants (les éléments)

– Comment sélectionner les composants qui donnent le profil optimal à chaque itération

● Exemple typique : – Instancier les variables de décisions une à une

– À chaque itération, choisir une décision 'locale' optimale

– Une décision optimale à chaque itération ne garantie pas l'optimalité globale

– Approche simple/populaire

– Complexité réduite

Page 37: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

TSP constructive heuristics

● Des algorithmes simples qui construisent des tournées de qualité raisonable

● 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 fi nalement former une tournée complète

– Algorithmes plus complexes basés sur les arbres recouvrants de poids minimums

Page 38: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

NN (Nearest Neighbor) heuristic

● Commencer avec un sommet initial (choisit aléatoirement) ● À chaque étape, prendre l'arête de poids minimum vers un

sommet non encore visité

– Étendre (v1, … , v

k ) avec un sommet u non visité tel que d(v

k,u)

soit minimale● Compléter pour obtenir un cycle hamiltonien (fermer la

tournée)● Pour les instances de taille n vérifi ant l'inégalité triangulaire

la longueur de la tournée est mauvaise d'au plus un facteur 1/2 · (log (n) + 1) que la trounée optimale

Page 39: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Exemples● (gauche) pcb1173; (droite) fl 1577

● Pour les instances de la TSPLIB, les tournées NN sont typiquement 20–35% plus mauvaises que l'optimale

● Typiquement, les tournées NN sont proches de l'optimale mais contiennent quelques arêtes longues

Page 40: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Insertion heuristic● Itératievemnt étendre une tournée partielle en insérant un sommet

choisit de façon heuristique tel que la longueur de la tourné augmente le moins possible

● Plusieurs heuristiques pour choisir le sommet u suivant à insérer dans la tournée partielle p

– nearest insertion (u le plus proche à un sommet de p)

– farthest insertion (u est celui dont la distance à un sommet de p est maximale)

– cheapest insertion (u est celui qui augmente le moins possible la longueur de p)

– random insertion (u est choisit aléatoirement)

● Nearest /cheapest insertion � facteur d'approximation 2 pour les instances TSP vérifi ant l'inégalité triangulaires

● En pratique, farthest/random insertion est plus effi cace;

– Typiquement, qualité 13–15% au delà de l'optimale pour les instances TSPLIB

Page 41: Optimisation Combinatoire (Méthodes approchées) - LIFLderbel/ueOC/cours/oc1.pdf · Optimisation Combinatoire (Méthodes approchées) 1. Qu'est ce qu'un problème d'optimisation

Autres Examples

● Minimum spanning tree ?● Coloring ?● Knapsack ?