Introduction aux problèmes d’ordonnancement · 02/09/2014 3 I.1 Exemples de problèmes de RO (2)...
Transcript of Introduction aux problèmes d’ordonnancement · 02/09/2014 3 I.1 Exemples de problèmes de RO (2)...
02/09/2014
1
M.J. Huguet
DGEI / LAAS-CNRS
2014 - 2015
OPTIMISATION COMBINATOIRE
Organisation
Intervenants : MJ. Huguet & N. Jozefowiez
Cours – IE – Projet
Pré-requis :
Algorithmique, Structures de Données, Complexité
Graphes, Programmation Linéaire
Programmation
Logique, Intelligence Artificielle
Domaine scientifique
Recherche Opérationnelle – Optimisation Combinatoire – Satisfaction de
Contraintes - Satisfiabilité
Optimisation Combinatoire 2
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
Association Française pour la programmation par Contraintes
(AFPC)
Chercheurs / Enseignants Chercheurs
http://www.afpc-asso.org/
3
Optimisation Combinatoire
En savoir plus
RO, Optimisation et Contraintes à Toulouse :
http://www.toro-toulouse.fr/
LAAS : équipe ROC (ex. Mogisa) : http://www.laas.fr/MOGISA/
ENAC, ISAE, IRIT, IMT, ONERA, INRA-BIA
Parcours RO du Master 2 Recherche IT
Parcours IAICI du Master 2 Recherche IT
4 Optimisation Combinatoire
02/09/2014
2
En savoir plus
Optimisation combinatoire (Tome 1 à 5) – Paschos Vangelis Th – Lavoisier,
Traité IC2, série Informatique et Systèmes d’Information
Résolution de problèmes de recherche opérationnelle par les méta-
heuristiques – Pirlot M et Teghem J. – Lavoisier, Traité IC2, série
Informatique et Systèmes d’Information
Métaheuristiques pour l’optimisation difficile, J. Dréo et al. – Eyrolles.
Optimisation multiobjectif, Y. Collette, P. Siarry, Eyrolles.
5 Optimisation Combinatoire
1. Exemples
2. Secteurs et Applications Industrielles
I : Quelques exemples
I.1 Exemples de problèmes de RO (1)
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
ordonnancer la production d’un produit, la réalisation de services
planification de prises de vue satellite
7 Optimisation Combinatoire
Exemple - Ordonnancement
Contexte
Ordonnancement
8 Optimisation Combinatoire
02/09/2014
3
I.1 Exemples de problèmes de RO (2)
Sac à Dos (Knapsack Problem)
Sélectionner un ensemble d’objets à placer dans une unique boite (ie. un sac
à dos) pour maximiser un gain.
Ensemble d’objets avec caractéristiques
1 Boite avec 1 dimension (ou plusieurs)
9
Objets : poids + valeur
Boite : capacité maximale en poids
Optimisation Combinatoire
Exemple KP
Exemple :
Une entreprise dispose d’un budget total B pour financer certains projets
sélectionnés parmi un ensemble de n projets.
Chaque projet j a un coût c j et un gain attendu g j .
Quels projets l’entreprise doit-elle sélectionner pour maximiser son profit ?
Autre applications :
Chargement de véhicules
Découpe de matériaux
Gestion de portefeuilles financiers
Base algo de chiffrement asymétrique
10 Optimisation Combinatoire
I.1 Exemples de problèmes de RO (3)
Coloriage de graphes
Les entités adjacentes d’un problème ne peuvent avoir la même couleur
Définir la notion d’adjacence :
Par exemple : Utilisation d’une ressource commune
Exemple :
Emplois du temps (session de rattrapage) : placer des évènements sur des créneaux (les
couleurs)
Allocation de fréquences à des utilisateurs
11 Optimisation Combinatoire
Exemple coloriage
Emploi du temps
Allouer des créneaux horaires à des activités
Graphe :
Sommets = activités (matière + enseignant + classe)
Arêtes = contraintes de différence
Couleurs = les créneaux horaires possibles
12 Optimisation Combinatoire
02/09/2014
4
I.1 Exemples de problèmes de RO (4)
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
13 Optimisation Combinatoire
Exemple : 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
14 Optimisation Combinatoire
Exemple 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/
15 Optimisation Combinatoire
I.1 Exemples de problèmes de RO (5)
Bin Packing
Ranger des objets dans des boîtes de la manière la plus économique possible
(minimiser le nombre de boites)
Variantes : 1D, 2D ou 3D
Applications :
Rangement d’un ensemble de fichiers informatiques sur des supports
Problèmes de découpe de matière première
Logistique : problèmes de conditionnement
16 Optimisation Combinatoire
02/09/2014
5
Exemple Bin Packing
Ensemble d’objets à 2 dimensions
Ensemble de Bin à 2 dimensions
Solution sans retournement avec retournement
17 Optimisation Combinatoire
1.2 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.
18 Optimisation Combinatoire
1.2 Secteurs et Applications Industrielles (2)
Objectifs usuels
Temps
Argent
Quantité
Equilibrage (ex : utilisation de ressources)
Qualité de service
Robustesses
Mais aussi :
Sécurité
Environnement
19 Optimisation Combinatoire
II Caractéristiques des problèmes
02/09/2014
6
II.1 Caractéristiques (1)
Existence d’un ensemble discret et fini de solutions
Problèmes Combinatoires
Existence de contraintes à satisfaire
restreignent l’ensemble des alternatives possibles
définissent les alternatives admissibles
Pas de fonction objectif Décision / Satisfaction
problème de satisfaction ou de décision
Si une fonction objectif : Optimisation Combinatoire
problème d’optimisation
21 Optimisation Combinatoire
II.1 Caractéristiques (2)
Résolution
Ensemble fini de solutions ordonnées en fonction de la valeur de l’objectif
Trouver une solution optimale :
Parcourir cet ensemble
Mais : taille trop importante pour tout énumérer
Pour un humain
Pour un outil informatique !
Ex : TSP avec n villes : (n)! Alternatives
si 10-12s pour générer et tester une alternative :
o N=10 3.6.10-6 s N = 15 1,3s
o N= 20 28 j N= 30 8.4 1012 an
22
Méthode permettant
de ne pas énumérer
l’ensemble des
alternatives !
Optimisation Combinatoire
II.2. Problèmes de Recherche Opérationnelle
(RO) (1)
Problèmes combinatoires
Ceux présentés
Outils : graphes, programmation linéaire
Problèmes stochastiques
trouver une solution optimale à un problème dont les données sont
incertaines,
l’incertitude est modélisée par des hypothèses probabilistes.
Exemple : minimiser le nombre de guichets pour que la probabilité d’attente
d’un client soit inférieure à un seuil donné (loi d’arrivée des clients, temps moyen
de service, …)
Outils : probabilité, processus stochastiques, théorie des files d’attente
Optimisation Combinatoire 23
II.2. Autres problèmes de Recherche
Opérationnelle (RO) (2)
Problèmes d’aide à la décision
trouver une solution à des problèmes concurrentiels où la solution optimale
pour un acteur dépend des décisions prises par les autres acteurs.
Exemple : politique de prix de vente
Outils : théorie de jeux – théorie de la décision
24 Optimisation Combinatoire
02/09/2014
7
II.3. But de la RO
But : Aider des décideurs à faire les choix les plus efficaces
fournir des modèles et méthodes (algorithmiques) pour résoudre des
problèmes de gestion de systèmes complexes
considérer des problèmes ne pouvant être traités « manuellement »
Potentiellement tous secteurs d’activités ….
Toute organisation, tout système complexe
Problèmes de décision, d’optimisation
25 Optimisation Combinatoire
II.3. Outils de la RO
Outils à la frontière des : mathématiques, informatique,
économie
Cadre générique de modélisation et de résolution
Les outils de de la RO permettent :
de trouver une solution où l'homme n'en trouvait pas
de trouver une solution sur des problèmes nouveaux où l'homme n'a aucune
experience
de trouver plusieurs solutions là ou l'homme n'en envisageait qu'une
de juger de la qualité d'une solution
de justifier des décisions, des choix
26 Optimisation Combinatoire
II.3. Caractéristiques de la RO
Points clés en RO :
Analyse d’un problème (compréhension, complexité, …)
Modélisation
Méthodes de résolution
Validation expérimentale
Difficulté :
Temps de résolution / Espace mémoire acceptable
Passage de la théorie mathématique à l’implémentation informatique (ex.
précision)
27 Optimisation Combinatoire
III.1. Complexité des méthodes (=algorithmes)
III.2. Complexité des problèmes
III. Complexité des problèmes
02/09/2014
8
III.1. Méthodes efficaces ? (1)
Caractéristique d’un algorithme (méthode)
Terminaison (en un temps fini)
Correction (réponse correcte)
Complétude (réponse dans tous les cas)
Complexité en temps et en espace mémoire
Fonction des données du problème
Estimation du temps de résolution pour toutes les instances
Dans le pire des cas
Donner seulement l’évolution générale : notation O
O(1) O(n), O(n2), O(nk), O(n.logn), O(2n), O(n!), ….
29 Optimisation Combinatoire
III.1. Méthodes efficaces ? (2)
Signification
Complexité en fonction de la taille des données (10^6 instructions par
seconde)
o Note : age univers = 13E09 ans
30
1 n n.log n n^2 n^3 2^n fact(n)
n
10 1,00E-06 1,00E-05 3,32E-05 1,00E-04 1,00E-03 1,02E-03 3,63
20 1,00E-06 2,00E-05 8,64E-05 4,00E-04 0,008 1,05 7E+2 siècles
30 1,00E-06 3,00E-05 1,47E-04 9,00E-04 0,027 18 min 8E+16 siècles
40 1,00E-06 4,00E-05 2,13E-04 1,60E-03 0,064 12 jours -
50 1,00E-06 5,00E-05 2,82E-04 2,50E-03 0,125 35 ans -
100 1,00E-06 1,00E-04 6,64E-04 1,00E-02 1 4E+14 siécles -
Optimisation Combinatoire
III.1. Méthodes efficaces ? (3)
Optimisation Combinatoire 31
III.2. Classes de complexité (1)
Complexité d’un problème
Complexité du meilleur algorithme pour le résoudre
Exemple : Trier des éléments dans un tableau
Classes de complexité
P trouver une solution ou montrer qu’il n’en existe pas est polynomial
NP vérifier une solution est polynomial
NP-Complet les plus difficiles de NP
Propriétés :
Conjecture :
32 Optimisation Combinatoire
02/09/2014
9
III.2. Classes de complexité ? (2)
Classification des problèmes dans une classe de complexité
Problème de la classe P
Trouver un algorithme polynomial qui le résout
Problème de la classe NP-Complet
Il est dans la classe NP
Transformer un problème connu NP-Complet vers ce problème
Voir littérature sur la classification des problèmes
Savoir ce que représente les classes de complexité et les conséquences en
termes de méthodes de résolution
33
Optimisation Combinatoire
III.3 Conséquences (1)
Problème de la classe P : Problème « facile » (tractable)
Problème de la classe NPC : Problème « difficile »
Mais attention
Même si classe P :
Degré du polynôme
Coefficient
Et si classe NPC
Nature des instances ?
Caractéristiques des ordinateurs ?
On considère la complexité au pire : se produit-il sur les instances à résoudre
?
34 Optimisation Combinatoire
III.3 Conséquences (2)
Impact du taux de contraintes sur le temps de résolution (Pb de Satisfaction)
Pb peu contraint : résolution rapide
Pb sur-contraint : résolution rapide (pas de solution)
Entre le deux : difficulté de résolution
35
0
200
400
600
800
1000
1200
0 20 40 60 80 100 120
Optimisation Combinatoire
IV. Modélisation de pbs
combinatoires
02/09/2014
10
IV.1. Pbs considérés
Problème combinatoire :
Ensemble discret et fini d’alternatives possibles = espace de recherche
(de solution)
Nombre très élevé d’alternatives
Exploration « systématique » impossible
Exemple : voyageur de commerce avec 50 « sommets »
Il y a 49! alternatives possibles (soit 6,08.1062 solutions)
Si évaluation d’une solution en 1ms 1,92.1050 siècle de calcul
Si évaluation en 0,1ms 1,92.1049 siècle de calcul.
o Univers = 13,8. 109 ans
Besoin de méthodes scientifiques pour explorer cet espace et déterminer une
solution optimale
37 Optimisation Combinatoire
IV.1 Démarche de résolution
Démarche pour aborder un problème d’opti comb. :
Ne pas oublier l’étape d’analyse de la complexité
Ne pas oublier l’étape d’analyse et d’évaluation des solutions !
38 Optimisation Combinatoire
IV.2 Cadres de modélisation
3 grands cadres de modélisation et de résolution
PLNE
Programmation Linéaire en Nombres Entiers (PLNE)
Contraintes
Constraint Satisfaction Problem (CSP)
SAT
Satisfiabilité booléenne
Caractéristiques communes
Variables et Domaines associés
Contraintes
Objectifs à optimiser
Optimisation Combinatoire 39
IV.2. Modèle SAT (1)
Raisonnement logique (Cours 4IR-Info)
Problème
N variables booléennes
M clauses
Une clause = disjonction de littéraux
Problème = conjonction de clauses
Pas de fonction objectif
Exemple :
Optimisation Combinatoire 40
02/09/2014
11
IV.2. Modèle SAT (2)
Solution
Une clause est satisfaite : au moins 1 littéral est VRAI
Le pb est satisfait : toutes les clauses sont satisfaites
Exemple :
est satisfait avec les affectations :
Exemple :
n’est pas satisfiable
SAT : Classe NP-Complet
Optimisation Combinatoire 41
IV.2. Modèle PLNE (1)
Cadre de la Prog Linéaire (Cours 3MIC-Info)
avec variables entières
Problème
Variables entières
Contraintes : combinaisons linéaires de variables
Objectif : combinaison linéaire de variables
Solution :
affectation des variables minimisant l’objectif
Optimisation Combinatoire 42
Contraintes d’intégrité
IV.2. Modèle PLNE (2)
Exemple
Optimisation Combinatoire 43
IV.2. Modèle PLNE (3)
Prog Linéaire (var. continues)
Classe P
Prog. Linéaire en variables entières
Classe NP-Complet
Transformation (complexité linéaire) de toute instance SAT en une instance
de PLNE en variables 0/1
Illustration
Prog. Linéaire en variables mixtes
Prog. Linéaire en variables 0/1
Optimisation Combinatoire
44
02/09/2014
12
IV.2. Modèle CSP (1)
Problème
Variables quelconques mais à domaines finis (symboliques ou numériques
Contraintes : quelconques
Objectif : quelconque
Cours PPC (5IL- Mineure PPC & OC)
Optimisation Combinatoire
45
IV.2. Modèle CSP (2)
Contraintes
en intension / en extension
Solution
Affectation des variables satisfaisant les contraintes
Problème
Classe NP-Complet
Généralisation des problèmes SAT
Optimisation Combinatoire 46
IV.2. Liens / Différences
Nature des domaines
SAT : booléen / PLNE : entiers / CSP : quelconques mais finis
Contraintes
SAT : clauses / PLNE : combin linéaire / CSP : quelconques
Objectif
SAT : non / PLNE : oui / CSP : non
Solution : affectation de valeurs aux variables
Problèmes de la classe NP-Complet
équivalent en termes de complexité
Mais pour un problème donné
modèles non équivalents dans les 3 formalismes
efficacité pratique des méthodes différentes
Optimisation Combinatoire
47
IV.3 Méthodes de résolution (1)
Différents buts :
Une solution décision/satisfaction
Une solution optimale optimisation
Toutes les solutions optimales
Pb de décision / pb d’optimisation
Pb d’optimisation :
Min f(x) sachant contraintes C
Pb de décision :
existe-t-il solution s avec contrainte C et f(x) = k ?
Optimisation Combinatoire 48
02/09/2014
13
IV.3 Méthodes de résolution (2)
Passage pb d’optimisation à un pb de décision
Résoudre pb de décision pour différentes valeur de k
Exemple : pour la minimisation
S’il existe une solution pour une valeur k donnée
Diminuer la valeur de k
Sinon
Augmenter la valeur de k
Complexité pb optimisation = celle du pb de décision associé
Optimisation Combinatoire 49
IV.3 Méthodes de résolution (3)
Classification
Méthode complète / incomplète (décision)
Méthode exacte / approchée (optimisation)
Méthode complète :
Obtient une solution si le pb est satisfiable et prouve l’absence de solution si le pb
est insatisfiable
Méthode exacte
Obtient une solution dont l’optimalité est prouvée
Optimisation Combinatoire 50
IV.3 Méthodes de résolution (4)
Base méthode exacte / complète
Recherche arborescente
Méthode approchées / incomplètes
Heuristique
Méthode exacte tronquée
Méta-heuristique
Optimisation Combinatoire 51
IV.3 Méthodes de résolution (4) : outils
Modélisation et solver PL / PLNE :
AMPL: modeler + liens avec différents solver
LINDO : modeler + solver
OPL (modeler) avec Cplex (solver)
Xpress, Gurobi, LP-Solve, EXCEL
Solvers (méthodes approchées)
Local Solver
Paradiseo
Solvers (CSP)
Ilog Solver (Optimizer) – IBM
Choco
Eclipse, ….
52 Optimisation Combinatoire
02/09/2014
14
V. Méthodes arborescentes
V.1. Généralités (1)
Principe Recherche Arborescente :
Problème de taille trop importante pour la résolution
Décomposer en sous problèmes disjoints de taille restreinte
Poursuite de la décomposition jusqu’à aboutir à des sous-problèmes de taille
abordable
Optimisation Combinatoire 54
P
P1 P2
P11 P12 P13
V.1. Généralités (2)
Principe (suite)
Si une solution est obtenue pour un sous problème
Arrêt de la décomposition
Si P = Pb de satisfaction
P a une solution ssi P1 ou P2 ont une solution
Si une solution est obtenue pour P1 : arrêt (P2 non considéré)
Si P = Pb d’optimisation (min)
Optimum de P = Min (opt P1, opt P2)
Optimisation Combinatoire 55
P
P1 P2
P11 P12 P13
V.1. Généralités (3)
Composition d’une recherche arborescente :
Méthode de décomposition
Comment séparer en sous-problème ?
Stratégie d’exploration
Comment parcourir les sous-problèmes ? (profondeur, largeur,..)
Méthode d’élagage (coupe) :
Peut-on éliminer des parties de l’arborescence ?
Evaluation
Nombre de nœuds explorés
Profondeur / Hauteur
Optimisation Combinatoire
56
02/09/2014
15
V.2 Recherche Arborescente –
Cadre SAT(1)
SAT
Variables Booléennes
Contraintes sous forme de clauses
Décomposition
Sélectionner une variable
SP1 : et SP2 :
Taille arborescence
Profondeur max = nombre de variable
Taille max =
Stratégie de parcours
En profondeur d’abord
Optimisation Combinatoire 57
V.2 Recherche Arborescente –
Cadre SAT(2)
Algo DPLL (Davis-Putnam-Logemann–Loveland)
Choisir un littéral et lui affecter une valeur : x true (ou false)
Si test cohérence == true ( clause vide)
passer au littéral suivant
Sinon
Retour arrière
Arrêt
Toutes les variables sont instanciées (une solution)
Incohérence du problème
Pb est satisfiable : toutes les variables sont affectées sans qu'une clause ne
devienne vide
Pb est insatisfiable : explorer toute l’arborescence
Optimisation Combinatoire 58
V.2 Recherche Arborescente –
Cadre SAT(3)
Retour arrière
De manière chronologique
Après chaque affectation x true (resp. x faux)
Réduire les clauses
Éliminer les clauses contenant x (resp. \not x)
Eliminer \not x des clauses le contenant (resp. x)
Choix du littéral stratégie de branchement
Impact sur la taille de l’arborescence
Optimisation Combinatoire
59
V.2 Recherche Arborescente –
Cadre SAT(4)
Exemple
Développer l’arborescence obtenue par l’algorithme DPLL et donner sa
taille (ie. nombre de nœuds)
Cas 1 : choisir y puis z puis x
Cas 2 : choisir x puis y puis z
Optimisation Combinatoire 60
02/09/2014
16
V.2 Recherche Arborescente –
Cadre SAT(5)
Améliorations
Apparition de clauses unaires : fixer la valeur des variables présentes dans
une clause unaire (Propagation unaire)
Les variables des clauses unaires sont sélectionnées en priorité pour le
branchement
Effet en cascade de réduction de clauses
Elimination de littéraux purs
Littéral n’ayant qu’une seule forme dans toutes les clauses
Fixer la valeur de de littéral (dans la stratégie de branchement)
Effet en cascade
Optimisation Combinatoire 61
V.2 Recherche Arborescente –
Cadre SAT(6)
Exemple
Développer l’arborescence obtenue par l’algorithme DPLL et donner sa
taille (ie. nombre de nœuds)
Utiliser la propagation unaire et l’élimination des littéraux purs
Optimisation Combinatoire 62
V.2 Recherche Arborescente –
Cadre SAT(7)
Travaux dans les Solver SAT
Heuristiques de branchement efficaces
Structures de données pour propager les clauses unaires efficacement
Backjumping (retour arrière non chronologique)
Inférer une clause expliquant l’incohérence
Revenir sur une instanciation source de l’incohérence
Apprentissage de clauses
La clause inférée peut être ajoutée à l’ensemble des clauses du problème pour ne
pas reproduire l’échec
Restart
Stopper l’exploration et la relancer
Ajouter de l’aléatoire dans l’heuristique de branchement
Optimisation Combinatoire 63
V.2 Recherche Arborescente –
Cadre SAT(8)
Evolutions des Solvers SAT
Années 1960 : algorithme DPLL
10 variables
Années 2000 : améliorations de SAT
100 000 variables
Intérêt
Réduction des problèmes NP-Complets à SAT
Avoir un algo générique efficace pour SAT plutôt que des algo dédiés pour
chaque problème NP-Complet
Compétition solver SAT http://www.satcompetition.org/
Optimisation Combinatoire 64
02/09/2014
17
V.3 Recherche Arborescente –
Cadre CSP (1)
CSP
Variables à domaines finis
Décomposition
Pour chaque variable prise successivement
Décomposer en fonction des valeurs de cette variable
Arrêt toutes les variables ont une valeur (une solution !)
Optimisation Combinatoire 65
P
X1 a X1 b
X2 a X2 b X2 c
X1 X1
X2 X2
X2
V.3 Recherche Arborescente –
Cadre CSP (2)
Taille de l’arborescence
CSP
Variables
Domaines
Taille max des domaines :
Taille arborescence
Stratégie de parcours :
Profondeur d’abord
Optimisation Combinatoire 66
V.3 Recherche Arborescente –
Cadre CSP (3)
Algo :
Choisir une variable x
Lui affecter une valeur : x v
Si test cohérence == true
passer à la variable suivante
Sinon
Retour arrière
Arrêt
Toutes les variables sont instanciées (une solution)
Incohérence du problème
Mécanisme de retour-arrière Backtrack
Affecter une autre valeur à la variable : x v’
Revenir à la variable précédente (chronologique)
Optimisation Combinatoire 67
BACKTRACK
CHRONOLOGIQUE
V.3 Recherche Arborescente –
Cadre CSP (4)
Test de cohérence après instanciation x v
Vérifier que les contraintes liant x aux variables précédentes
BACKWARD CHECKING
Retirer du domaine des variables reliées à la variable x par une contrainte, toutes
les valeurs ne satisfaisant pas la contrainte
(Filtrage)
Si un domaine devient vide : incohérence
FORWARD CHECKING
Autre : filtrage plus poussé (ex. arc-cohérence)
Impact important sur l’efficacité de la méthode
Optimisation Combinatoire
68
02/09/2014
18
V.3 Recherche Arborescente –
Cadre CSP (5)
Stratégie de parcours (suite)
Profondeur d’abord
Ordre sur les variables
Ordre sur les valeurs
Heuristiques d’instanciation statiques / dynamiques
Heuristiques d’instanciation dédiées / génériques
Impact important sur l’efficacité de la méthode
Optimisation Combinatoire 69
Heuristique
d’instanciation
V.3 Recherche Arborescente –
Cadre CSP (6)
Heuristiques d’instanciation
Ordre sur les variables : fail first
Ordre sur les valeurs : suceed first
Ordres génériques sur les variables
Min domain
Max deg
Combinaison (min dom max deg) (min dom/deg)
Degré pondéré par les échecs : wdeg
Poids associé aux contraintes
Augmentation du poids si échec à cause de la contrainte
Ordres génériques sur les valeurs
Min-conflict
Optimisation Combinatoire
70
V.3 Recherche Arborescente –
Cadre CSP (7)
Exemple1
Développer l’arborescence obtenue par l’algo Backtrack Chronologique et
donner sa taille
Utiliser le Backward Checking et :
Cas 1 : ordre lexicographique pour les variables et ordre croissant pour les valeurs
Cas 2 : Variable de plus petit domaine en priorité
Cas 3 :Variable de plus grand degré (ie dans le plus grand nombre de contraintes) en
priorité
Peut-on appliquer une heuristique d’instanciation dynamique ?
Cas 4 : Heuristique d’instanciation Cas 2 et Forward Checking
71
Optimisation Combinatoire
V.3 Recherche Arborescente –
Cadre CSP (8)
Exemple 2
On recherche toutes les solutions de ce CSP
Donner l’arborescence obtenu avec l’algo de Backtrack Chronologique
utilisant le Forward Checking
Cas 1. Heuristique statique : ordre lexicographique sur les variables et les valeurs
Cas 2. Heuristique dynamique : Variable de plus petit domaine en priorité et ordre
lexicographique sur les valeurs
Optimisation Combinatoire 72
02/09/2014
19
V.3 Recherche Arborescente –
Cadre CSP (9)
Améliorations
Techniques de propagation
Compromis niveau de propagation / recherche
Heuristiques d’instanciation
Heuristiques dédiées ou génériques
Backjumping
Effectuer retour-arrière sur une variable cause de l’incohérence
Nogood recording
Mémoriser les instanciations sources d’incohérence
Restart
Optimisation Combinatoire 73
V.4 Recherche Arborescente –
Cadre PLNE(1)
PLNE
Variables entières
Contraintes linéaires et Objectif linéaire
Recherche arborescente
Nœud = un état du problème (espace de solutions)
Arc = un changement d’état
Décomposition
Séparation de l’espace des solutions
Evaluation des espaces de solutions
Pour éliminer des espaces de solution
Optimisation Combinatoire 74
Branch and Bound
V.4 Recherche Arborescente –
Cadre PLNE(2)
On veut résoudre
Soit l’espace des solution
Partitionner
deux ensembles et
Alors l’optimum
Si alors ne pas poursuivre l’exploration de
Optimisation Combinatoire 75
V.4 Recherche Arborescente –
Cadre PLNE(3)
Evaluation
Rôle clé dans un Branch and Bound
Principe pour un problème de maximisation
Évaluation par borne supérieure: évaluation de la meilleure solution
possible
Quelle fonction d’évaluation ?
Toute borne supérieure.
Par exemple la relaxation continue (obtention d’un PL)
Optimisation Combinatoire 76
02/09/2014
20
V.4 Recherche Arborescente –
Cadre PLNE(4)
Développement de l’arborescence
Obtention d’un nœud
Si = 1 solution alors la mémoriser si elle améliore la solution courante
Si = pas de solution admissible alors éliminer
Si < solution courante alors ne pas le mémoriser
Sinon mémoriser dans l’ensemble des nœuds dont il faut poursuivre
l’exploration
Dans quel ordre poursuivre la décomposition ?
Optimisation Combinatoire 77
V.4 Recherche Arborescente –
Cadre PLNE(5)
Ordre d’exploration des nœuds
Le dernier crée profondeur d’abord
Privilégie l’obtention rapide d’une solution même de mauvaise qualité
Celui de meilleure évaluation largeur d’abord
Limite la taille de l’arborescence
Séparation
Choisir une variable et séparer par rapport à sa valeur non entière obtenue
lors de la résolution du PL
Variable la plus contraintes
Etc.
Optimisation Combinatoire 78
V.4 Recherche Arborescente –
Cadre PLNE(6)
Exemple
Evaluer le PL à
chaque nœud
Optimisation Combinatoire 79
S
z=17.67
x1=1.55; x2=4.03
S1
z=15.67
x1=1; x2=3.67
S2
z=17
x1=2; x2=3.75
S5
z=13
x1=1; x2=3
S6
Incohérence
X1<= 1 X1 >= 2
X3<= 3 X2 <= 3
X2 >=4 S4
Incohérence
S3
z=15.2
x1=3.2; x2=3
X3>= 4
S7
z=15
x1=3; x2=3
X1<= 3 X1 >= 4
S8
Incohérence
V.4 Recherche Arborescente –
Cadre PLNE(7)
Autre exemple : voyageur de commerce
Problème de minimisation (distance parcourue)
Evaluation : borne inférieure
Relaxation en PL
Arbre couvrant de cout minimal
½ somme des 2 arcs de plus petits couts par sommets
Séparation
Choix d’un arc
Choix d’un arc de regret maximal
Optimisation Combinatoire 80
02/09/2014
21
V.4 Recherche Arborescente –
Cadre PLNE(8)
Exercice
Développer un Branch and Bound pour le TSP à 5 villes ci-dessous
Partir de A
Séparation :
Choisir arc de plus petit cout
Evaluation
somme des n arcs de plus petits couts
Optimisation Combinatoire 81
A B C D E
A X 1 7 3 14
B 3 X 6 9 1
C 6 14 X 3 7
D 2 3 5 X 9
E 15 7 11 2 X
V.4 Recherche Arborescente –
Cadre PLNE(9)
Améliorations du Branch & Bound
Coupes
Branch and Cut
Décomposition des contraintes
Problème maître / Problème esclave
Génération de colonnes
Branch and Price
Optimisation Combinatoire 82
V.5 Recherche Arborescente –
en IA (1)
Algorithme A* (cours 4IR)
Recherche dans des graphes d’états
Etat initial
Etats Finaux
Opérateurs de changement d’état
But : découvrir un chemin de l’état initial vers un état final à cout minimal
Recherche ordonnée
Utilisation d’une fonction heuristique sur les nœuds
Fonction d’évaluation
Optimisation Combinatoire 83
V.5 Recherche Arborescente –
en IA (2)
Algorithme A*
Recherche ordonnée de type A
La fonction heuristique au nœud x dépend de 2 sous fonctions
g(x) = Cout réel de l’état initial vers x
h(x) =Cout estimé de x vers un état final
Recherche ordonnée A*
Le cout estimé est un minorant du cout réel
Optimisation Combinatoire 84
02/09/2014
22
V.5 Recherche Arborescente –
en IA (3)
Exercice
Dérouler l’algorithme A* sur le problème de TSP précédent
Etat initial : une ville A
Etats Finaux : toute séquence A*A
Changement d’état : ajouter une ville dans la séquence
Fonctions d’évaluation
g(A*X) = cout depuis A jusqu’à X
h(A*X) = estimation du trajet restant depuis X
o Nb arcs restants * cout minimal des arcs possibles restants
o Somme des p arcs de plus petits couts s’il manque p arcs
Optimisation Combinatoire 85
V.6 Conclusion (1)
Méthodes complètes / exactes
Garantie d’optimalité
Garantie d’absence de solutions
Méthodes arborescentes
Mécanismes similaires dans les différents formalismes
Heuristiques de branchement
Stratégie de parcours
Spécificité en optimisation
Estimation/Borne
pour élaguer des parties de l’espace de recherche
Optimisation Combinatoire 86
V.6 Conclusion (2)
Méthodes exactes – cadre CSP
Cours Programmation par Contraintes
Méthodes exactes – cadre PLNE
Suite de ce cours
Optimisation Combinatoire 87
VI. Méthodes approchées
02/09/2014
23
VI.1 Introduction (1)
But : trouver rapidement une solution (de bonne qualité)
pour un problème NP-Complet
Méthodes approchées / Incomplètes
Optimisation
Trouver une solution sans garantie d’optimalité
Pour un problème de minimisation
Obtient une borne supérieure de l’optimum
Satisfaction
Peut obtenir une solution mais si elle n’obtient pas de solution cela ne
montre pas l’incohérence
Optimisation Combinatoire
89
VI.1 Introduction (2)
Différentes familles de méthodes (optimisation)
Heuristiques « gloutonnes » (constructives)
Obtenir une solution à partir de « règles » de décision
Recherche locale
Exploration du voisinage d’une solution
Méta-Heuristiques
Méthodes génériques visant à sortir des optimas locaux
Intensification
Diversification
« recherche globale »
Algorithmes d’approximation
Solution à qualité garantie
Optimisation Combinatoire 90
VI.2 Recherche Gloutonne (1)
Contexte optimisation
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 ?
Optimisation Combinatoire 91
Greedy Search VI.2 Recherche Gloutonne (2)
Qualité de la solution / fonction objectif
Dépend de l’ordre sur les variables et des choix de valeurs
Aucune garantie d’optimalité dans le cas général
Choix de variables
Méthode directe :
Sélectionner la paire (variable, valeur) qui a le meilleur impact sur l’objectif
Méthode à regret
Sélectionner la paire (variable, valeur) telle que sa non prise en compte serait la
plus pénalisante / objectif
Optimisation Combinatoire 92
02/09/2014
24
VI.2 Recherche Gloutonne (3)
Caractéristiques d’une recherche gloutonne
Exploite des connaissances sur le problème 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é
Dans un contexte satisfaction
Peut ne pas aboutir à une solution admissible
Sauf si pb peu contraint
Optimisation Combinatoire 93
VI.2 Recherche Gloutonne (4)
Cas particuliers où la recherche gloutonne garantit
l’obtention d’une solution optimale
Exemple 1: Algo de Prim ou de Kruskal pour déterminer un arbre couvrant
de cout minimal
Exemple 2 : Minimiser la durée totale de l’ordonnancement sur une seule
ressource de tâches ayant des dates de début au plus tôt
Voir aussi en CSP (graphe de contraintes binaires acyclique)
Optimisation Combinatoire 94
VI.2 Recherche Gloutonne (5)
Exemple 1
Problème d’ordonnancement de 3 jobs composés chacun de 3 de tâches au plus sur
3 machines. La séquence de tâches est caractérisée par : o Job1 : (M1, 1) (M2, 3) (M3, 4)
o Job2 : (M2, 2) (M1, 1) (M3, 3)
o Job3: (M3, 3) (M2, 3)
Variables = dates de début des tâches
Objectif : minimiser la durée totale
Heuristique gloutonne à appliquer
o Classer les tâches par dates de début au plus tôt croissantes
o Placer chaque tâche dans l’ordre sur les machines sans chevauchement avec la tâche précédente
Quelle est la durée de l’ordonnancement obtenu ?
Cette durée est-elle optimale ? Pourquoi ?
Optimisation Combinatoire 95
VI.2 Recherche Gloutonne (6)
Exemple 2
Soit le problème de TSP ci-dessous pour lequel on cherche à déterminer un
circuit de cout minimal
Heuristique gloutonne à pénalité (regret)
À chaque étape choisir un arc (i, j) de pénalité maximale
Si on ne prend pas (i, j)
o P1 = cout minimal pour sortir de i
o P2 = cout minimal pour entrer en j
Pénalité = P1 + P2
Optimisation Combinatoire 96
x1 x2 x3 x4 x5
x1 X 3 4 5 4
x2 3 X 2 2 1
x3 4 2 X 1 2
x4 5 2 1 X 3
x5 4 1 2 3 X
02/09/2014
25
VI.2 Recherche Gloutonne (7)
Amélioration
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
Conditions à définir en fonction du problème et du contexte
Contexte optimisation
Récupérer la meilleure solution
Contexte satisfaction
Récupérer une solution admissible (éventuellement)
Optimisation Combinatoire 97
VI.3 Recherche Locale (1)
Principe
Partir d’une affectation des variables
Appliquer des modifications locales
Arrêt
Obtention d’une affectation cohérente (satisfaction)
Obtention d’une affectation de bonne qualité (optimisation)
Voisinage d’une affectation
Ensemble des affectations atteignables à partir de modifications sur l’affectation
Changer la valeur d’une variable
Permuter 2 variables dans une séquence
Etc.
Optimisation Combinatoire
98
Local Search
VI.3 Recherche Locale (2)
Caractéristiques à définir
Génération d’une affectation initiale
Définition du voisinage d’une affectation
Choix d’une affectation dans le voisinage
Exploration du voisinage
Evaluation d’une affectation dans le voisinage (optimisation)
Conditions d’arrêt
Génération d’une affectation initiale
Aléatoire
Recherche gloutonne
Optimisation Combinatoire 99
VI.3 Recherche Locale (3)
Définition du voisinage d’une affectation
Dépend du problème à résoudre
Exemple : cadre SAT ou CSP
Changer la valeur d’une variable
Changer la valeur de k variables (k donné)
Exemple : solution = permutation
Echanger 2 variables dans la permutation (swap)
Attention à la taille du voisinage
Si trop petit : risque de ne pas avoir de meilleur(e) affectation
Si trop grand : cout de l’exploration
Optimisation Combinatoire
100
02/09/2014
26
VI.3 Recherche Locale (4)
Exemple de voisinage
Changer la valeur d’une variables
Insertion
Inversion/Echange (2-opt)
Swap
Optimisation Combinatoire 101
VI.3 Exemple Voisinage
Soit un pb d’ordonnancement de 6 activités sur 1 machine
Une solution est : A1| A2| A3| A4 | A5 | A6
Donner les voisinages obtenus avec les opérateurs
Insertion
Swap
Quelle est la taille de ces voisinages
Optimisation Combinatoire 102
VI.3 Recherche Locale (4)
Exploration du voisinage
But : choisir une nouvelle affectation
Aléatoire
Acceptation d’une affectation de meilleure qualité (optim)
Affectation de toute autre affectation
Risque de bouclage de la méthode
Prévoir des conditions d’arrêt
Premier voisin améliorant
Savoir se diriger vers des voisins prometteurs
Meilleur voisin
Exploration de tout le voisinage
Optimisation Combinatoire 103
VI.3 Recherche Locale (5)
Evaluation d’un voisin
Mise à jour de l’affectation courante
Estimation a priori de la qualité d’un voisin
Opération fréquente
Doit être la moins couteuse 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)
Optimisation Combinatoire 104
02/09/2014
27
VI.3 Recherche Locale (6)
Conditions d’arrêt
Obtention d’une affectation cohérente (solution) (satisfaction)
Obtention d’une solution de qualité voulue (optimisation)
Nombre d’itérations / Temps d’éxécution maximum atteint
Nombre d’itérations / Temps d’éxécution maximum sans amélioration atteint
(optimisation)
Recherche Locale
Extension d’une recherche gloutonne
Optimisation Combinatoire 105
VI.3 Recherche Locale (7)
Caractéristiques de la recherche locale
Extension d’une recherche gloutonne
Intensification de la recherche dans une partie de l’espace de recherche
Limite : optima locaux
Ajout de mécanismes d’amélioration
Diversification : aller explorer d’autres parties de l’espace de recherche
Optimisation Combinatoire 106
VI.3 Recherche Locale (8)
Diversification
Introduire de l’aléatoire / des perturbations
Faire varier les voisinages
Faire varier l’acceptation d’une nouvelle solution
Solution meilleure
Solution meilleur ou égale
Toute solution
De recherche locale recherche globale
Méta-Heuristiques
Recherche « générique », adaptable à différents problèmes
Optimisation Combinatoire 107
VI.3 Recherche Locale (9)
Variante dans le cadre Satisfaction
Résoudre un problème d’Optimisation
Introduire une fonction Objectif représentant la satisfaction des contraintes
Objectif = nb de contraintes (clauses) non satisfaites
On cherche à minimiser cet objectif
Lorsqu’il vaut 0 : obtention d’une solution admissible
Optimisation Combinatoire 108
02/09/2014
28
VI.3 Recherche Locale (10)
Variante dans le cadre Optimisation
Fonction Objectif z
Explorer des affectations à la limite entre affectation cohérentes et
incohérentes
Considérer un objectif complémentaire :
Nombre de contraintes insatisfaites (à minimiser)
Nouvel objectif =
Combinaison linéaire des 2 précédents
Quelle pondération ?
Optimisation Combinatoire 109
VI.4 Méthodes de RL (1)
Méthode de descente
Hill Climbing / Iterative Improvment
Instanciation particulières des caractéristiques d’une RL
Principe
1. Affectation complète initiale : s
2. Générer le voisinage de s : N(s)
3. Sélectionner s’ N(s) tq z(s’) < z(s)
4. Si s’ n’existe pas alors arrêt
5. Sinon s s’ et retour en 2
On cherche un voisin strictement meilleur à chaque itération
Intensification
Optimisation Combinatoire 110
VI.4 Méthodes de RL (2)
Terminaison de la méthode de descente
Solution localement optimale
La taille du voisinage ne permet pas de trouver de meilleure solution
Pas de bouclage de la méthode
Pas de retour sur une solution déjà trouvée
Quand on sélectionne s’ comme solution améliorante, s’ n’a jamais été sélectionnée
auparavant comme solution améliorante
Optimisation Combinatoire 111
Illustration Méthode de Descente
Optimisation Combinatoire 112
02/09/2014
29
VI.4 Méthodes de RL (3)
Améliorations
Relancer la méthode de descente à partir de plusieurs solutions initiales
Comment générer les solutions initiales :
Aléatoires,
Choix parmi un ensemble donné
Conserver la meilleure solution trouvée
Méthode de Descente Multi-Start
Optimisation Combinatoire 113
Illustration Méthode Descente Multi-Start
Optimisation Combinatoire 114
VI.4 Méthodes de RL (4)
Descente à voisinages variables
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
Optimisation Combinatoire 115
VI.4 Méthodes de RL (5)
Descente à voisinages variables
1. Affectation complète initiale : s
2. i 1 (numéro du voisinage)
3. Sélectionner meilleur voisin s’ dans Ni(s)
4. Si z(s’) < z(s) alors i i; s s’
5. Sinon i i+1
6. Arrêt i >k (nombre de voisinages)
Optimisation Combinatoire 116
02/09/2014
30
Illustration Méthode Descente Voisinages
Variables
Optimisation Combinatoire 117
VI.4 Méthodes de RL (6)
Recherche Locale Itérée (ILS : Iterated Local Search)
Basée sur
méthode de descente
Perturbation aléatoire de la solution
1. Solution initiale : s0 ; Best s0
2. Exploration : s Descent(s0) (ou autre)
3. s’ Perturbation (s)
4. s’’ Descent(s’) (ou autre)
5. Acceptation :
Si f(s’’) < f(s) alors s s’’ ; Mise-à-jour(Best, s); retour en 3
6. Arrêt : conditions à définir
Optimisation Combinatoire 118
Illustration Méthode ILS
Optimisation Combinatoire 119
VI.4 Méthodes de RL (7)
Recherche à grands voisinages
Large Neighborhood Search (LNS)
Adaptative LNS
Principe
Solution initiale
Opérateurs de destruction (destroy)
Modifier la solution courante
Opérateurs de construction (repair)
Reconstruire une solution
Adaptative
Choix des opérateurs en fonction des résultats
Optimisation Combinatoire 120
02/09/2014
31
VI.5 A vous
Présentation de différentes méthodes approchées
Recherche Tabou
Recuit Simulé
Algorithmes Evolutionnaires
Colonie de Fourmis
Principe de la méthode
Présentation d’un problème spécifique
Adaptation de la méthode pour ce problème
Résultats obtenus
Durée : 20 minutes
Optimisation Combinatoire
121
VI.5 Caractéristiques générales (1)
Méthodes à solution unique / Méthodes à population de
solutions
Méthodes « à solution unique » (single point) :
À chaque étape : évolution d’une seule solution
Méthode à trajectoire (trajectoire dans l’espace de recherche)
Exemple : Tabou, Recuit, Descente, ILS, VND, ….
Méthodes à population de solutions
À chaque étape : évolution d’un ensemble de solutions
Exemple : Algo évolutionnaire, Colonie de Fourmis
Optimisation Combinatoire 122
VI.5 Caractéristiques générales (2)
Méthodes à mémoire ou sans mémoire
Utilisation ou non des résultats de la recherche au cours de la résolution
Sans mémoire
Évolution de la méthode : due à l’état courant uniquement
Avec mémoire
Différentes utilisations
Mémoire court terme :
Par exemple : éviter cycle, sortir d’optimas locaux, …
Mémoire long terme :
Adaptation des paramètres de la méthode
Optimisation Combinatoire 123
VI.5 Caractéristiques générales (3)
Mécanismes d’Intensification et de Diversification
Présents dans toutes les méthodes approchées
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
Optimisation Combinatoire 124
02/09/2014
32
VI.5 Caractéristiques générales (4)
Classification Mécanismes Intensification Diversification
Aléatoire (R)
Perturbation aléatoire
Guidé par la fonction objectif (GObj)
Exemple : descente
Guidé par d’autres évaluations (GNObj)
Restart basé sur le comptage d’arguments participant à des bonnes solutions
Optimisation Combinatoire 125
R
GO
GNO
Intensification Diversification
VI.5 Caractéristiques générales (5)
Exemple : Intensification / Diversification
Optimisation Combinatoire 126
VI.6 Evaluation méthodes approchées (1)
Cadre Optimisation
Deux questions
Q1: Est-ce que la méthode fonctionne et donne les résultats attendus compte
tenu de ses caractéristiques ?
Q2 : Est-ce que la méthode est performante ?
Optimisation Combinatoire 127
VI.6 Evaluation méthodes approchées (2)
Q1 : est-ce que la méthode fonctionne ?
Est-ce que la solution retournée est admissible ?
Concevoir un « vérificateur de solution » (polynomial)
Est-ce que la méthode se déroule comme attendu ?
Dépend de la méthode. Par exemple :
Est-ce que l’exploration des voisinages permet d’améliorer la solution initiale ?
Si non : rechercher pourquoi
o Est-ce lié à l’implémentation de la méthode ?
o Est-ce lié aux instances considérées ?
Comment évolue la méthode au cours des itérations ?
Optimisation Combinatoire 128
02/09/2014
33
VI.6 Evaluation méthodes approchées (3)
Q2 : Est-ce que la méthode est performante ?
Qualité d’une méthode approchée
Accepter toute solution et évaluer a posteriori ?
Autre problème :
Garantir a priori qualité de la solution (à p% de l’optimum) ?
Evaluation de la qualité d’une solution a posteriori
Avec la fonction Objectif
Par rapport à une référence
Optimum (si connu)
Borne Inférieure (en minimisation)
Optimisation Combinatoire
129
VI.6 Evaluation méthodes approchées (4)
Soit un problème de minimisation et soit une méthode M
appliquée à un problème donné P
M(P) représente le cout de la solution trouvée
M(P) est une borne supérieur de l’optimum
Performance de M : M(P) / OPT(P) ( ≥ 1)
Si la valeur optimale pour P est connue
Performance de M : M(P) / LB(P) ( ≥ M(P) / OPT(P))
Avec LB(P) une borne inférieure pour P
Si M(P) = LB(P) : on a atteint l’optimum
Distance à l’Optimum : 100.(M(P)/OPT(P) – 1)
Distance à la Borne Inférieure : idem
Optimisation Combinatoire 130
VI.6 Evaluation méthodes approchées (5)
Q2 : Est-ce que la méthode est performante ?
Evaluation statistique
Plusieurs instances du problème
Caractéristiques variables (taille, taux de contraintes, ….)
Qualité de la solution
Temps de Calcul
« Taille » de l’exploration
Optimisation Combinatoire 131
VI.6 Evaluation méthodes approchées (6)
Q2 : Est-ce que la méthode est performante ?
Evaluation comparative
Comparer la qualité de la méthode vis à vis d’autres méthodes
Redévelopper les autres méthodes
Comparer ensuite l’ensemble des méthodes
Considérer les mêmes problèmes que ceux traités par les autres méthodes
Refaire les mêmes évaluations pour la nouvelle méthode
Attention : normalisation des temps de calcul
Optimisation Combinatoire 132
02/09/2014
34
VI.7 Hybridation (1)
Pourquoi
Exploiter les caractéristiques de différentes méthodes
Quelles combinaisons de caractéristiques ?
Pour quels problèmes ?
Différentes formes d’hybridation
1. Combiner des méthodes approchées
2. Faire coopérer différentes méthodes approchées
3. Coupler méthodes complètes et méthodes approchées
Optimisation Combinatoire 133
VI.7 Hybridation (2)
Combiner différentes méthodes approchées
Méthodes à population + Méthodes à trajectoire
Evolutionary Algorithm + Local Search
Principe :
o Recherche Locale sur les solutions initiales / les solutions filles (après croisement
ou mutation)
ELS (Evolutionary Algorithme + Iterated Local Search)
Principe
o Celui d’ILS appliqué à un ensemble de solutions
Memetic Algorithm
Optimisation Combinatoire 134
VI.7 Hybridation (3)
Coopération de méthodes
Utiliser plusieurs méthodes pour résoudre un problème
Décomposition en sous –problèmes
Echange d’information
Sur le problème
Sur les solutions
Paralléliser des méthodes
Optimisation Combinatoire 135
VI.7 Hybridation (4)
Coupler méthodes approchées et méthodes exactes
Programmation par Contraintes et méthodes approchées
Exemple : utiliser la PPC pour explorer un grand voisinage (LNS)
Exemple : ACO et PPC
1. Chaque fourmis utilise un mécanisme de PPC pour construire une solution
2. Méthodes ACO + utilisation des phéromones pour guider une heuristique
d’instanciation dans la PPC
Nombreuses autres illustrations (EA, TS)
Solvers
IBM Ilog Solver, COmet
Optimisation Combinatoire 136
02/09/2014
35
VI.7 Hybridation (5)
Recherche arborescente et méthodes approchées
Exemple :
Beam Search : combiner heuristique et Branch and Bound
Programmation mathématiques et méthodes approchées
Exploration de grands voisinages avec PLNE, avec Programmation dynamique
matheuristics
Optimisation Combinatoire 137
VII. Conclusion
VII. Conclusion (1)
Analyse du problème
Quelles sont les décisions à prendre ?
Quelles sont les contraintes ?
Quelles sont les objectifs ?
Unique ?
Multiple ?
Cadre de modélisation
Caractéristiques du modèle obtenu (expressivité, taille, ….)
Lien avec des problèmes classiques
Complexité
Optimisation Combinatoire 139
VII. Conclusion (2)
Résolution
Concevoir une méthode spécifique ?
Utiliser outils / méthodes existants ?
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
Optimisation Combinatoire 140