Algorithmes Evolutionnaires et Optimisation

Documents pareils
Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative


Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Une application des algorithmes génétiques à l ordonnancement d atelier

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

Editing and managing Systems engineering processes at Snecma

Approche d'évaluation pour les problèmes d'ordonnancement multicritères : Méthode d'agrégation avec direction de recherche dynamique

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Problème à résoudre. min f(s) s.c. s S

Grégoire de Lassence. Copyright 2006, SAS Institute Inc. All rights reserved.

Corrigé des TD 1 à 5

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

A GRASPxELS approach for the Job Shop with generic time-lags and new statistical determination of the parameters

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

MABioVis. Bio-informatique et la

Qualité du logiciel: Méthodes de test

Minimisation de la somme des retards dans un jobshop flexible

INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING

Examen Médian - 1 heure 30

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Instructions Mozilla Thunderbird Page 1

Un couplage métaheuristique / simulation appliqué au problème du job shop avec transport

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Jean-Philippe Préaux

Monitoring continu et gestion optimale des performances énergétiques des bâtiments

La gestion des flux de trafic aérien en Europe : état de l art, problèmes et perspectives

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

4 Exemples de problèmes MapReduce incrémentaux

Face Recognition Performance: Man vs. Machine

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs

Programmation linéaire

Ordonnancement temps réel

Once the installation is complete, you can delete the temporary Zip files..

Algorithmes de recherche d itinéraires en transport multimodal

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Modélisation multi-agents - Agents réactifs

CONFERENCE PALISADE. Optimisation robuste d un plan d expériences par simulation Monte-Carlo Concepts de «Design Space» et de «Quality by Design»

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

Annexe 6. Notions d ordonnancement.

Hela Boukef. To cite this version: HAL Id: tel

Laboratoire d Automatique et Productique Université de Batna, Algérie

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Exercices sur SQL server 2000

THÈSE DE DOCTORAT DE L UNIVERSITÉ PARIS 12-VAL DE MARNE UFR de Sciences et Technologie. par. Walid TFAILI. pour obtenir le grade de

Différentes opérateurs évolutionnaires de permutation: sélections, croisements et mutations

Institut français des sciences et technologies des transports, de l aménagement

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

Ingénierie et gestion des connaissances

Echantillonnage Non uniforme

Paris Airports - Web API Airports Path finding

Représenté par Eric Mamy A22 présenté par CFR & CGL Consulting

Génération de code binaire pour application multimedia : une approche au vol

Principe de symétrisation pour la construction d un test adaptatif

Application Form/ Formulaire de demande

Les colonies de fourmis : apprentissage coopératif pour le problème du voyageur de commerce

Resolution limit in community detection

Gestion réactive des opérations de maintien et d actualisation réglementaire et technologique des systèmes complexes.

Bourses d excellence pour les masters orientés vers la recherche

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Big Data et Graphes : Quelques pistes de recherche

1 Modélisation d être mauvais payeur

Cours Informatique Master STEP

Discours du Ministre Tassarajen Pillay Chedumbrum. Ministre des Technologies de l'information et de la Communication (TIC) Worshop on Dot.

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Eléments de statistique

E-Biothon : Une plate-forme pour accélérer les recherches en biologie, santé et environnement.

Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH)

RISK-BASED TRANSPORTATION PLANNING PRACTICE: OVERALL METIIODOLOGY AND A CASE EXAMPLE"' RESUME

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

CONTEC CO., LTD. Novembre 2010

INSTITUT MARITIME DE PREVENTION. For improvement in health and security at work. Created in 1992 Under the aegis of State and the ENIM

Ré-ordonnancement adaptatif de messages dans un réseau ad hoc de véhicules

Le No.1 de l économie d énergie pour patinoires.

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

DOCUMENT DE TRAVAIL Centre de recherche sur l aide à l évaluation et à la décision dans les organisations (CRAEDO)

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

MCMC et approximations en champ moyen pour les modèles de Markov

Présentation de la Grille EGEE

Recherche locale pour un problème d optimisation de tournées de véhicules avec gestion des stocks

Ordonnancement robuste et décision dans l'incertain

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Optimisation for Cloud Computing and Big Data

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

Monitoring elderly People by Means of Cameras

Chapitre 5 : Flot maximal dans un graphe

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

BIG Data et R: opportunités et perspectives

Forthcoming Database

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

Introduction à MATLAB R

Mise en place d un système de cabotage maritime au sud ouest de l Ocean Indien. 10 Septembre 2012

Transcription:

Algorithmes Evolutionnaires et Optimisation Systèmes Artificiels Complexes Master 1 informatique Sébastien Verel verel@lisic.univ-littoral.fr http://www-lisic.univ-littoral.fr/~verel Université du Littoral Côte d Opale Laboratoire LISIC Equipe CAMOME

Plan 1 Problèmes d optimisation 2 RL basées sur le gradient 3 RL à solution unique 4 Paysage de fitness 5 Algorithme évolutionnaire

Systèmes complexes Systèmes complexes et évolution Systèmes complexes : évolution et adaptation Algorithmes génétiques (Holland 1975) : Simuler l évolution des espèces... long (so) time after becomes Méthode d optimisation

Modélisation de Problèmes Résolution d un problème : Problème modélisation solution(s) Modélisation : simplification de la réalité (nombre de paramètres, bruit, défauts,...) petit sudoko (n = 3) Conception d un (bon) modèle : Connaissance experte du domaine Connaissance des méthodes de résolution (informatique)

Problème SAT Premier problème NP-difficile (Cook, 1971) n variables booléennes : {x 1, x 2,..., x n } littéral : l = x i ou l = x i m clauses (disjonction de littéraux) : {C 1, C 2,..., C m } k j littéraux par clause C j : {l 1,j, l 2,j,..., l kj,j} : C j = k j i=1 l i,j Trouver l affectation des variables telle la conjonction des clauses soit vraie : m j=1 C j (cas spécial, k-sat lorsque k j = k)

SAT / MAX - SAT Applications Vérification de circuits (model checking), logique, planification, informatique...

SAT / MAX - SAT Planification Planification Longueur du plan maximal n. Pour toute variable v et pour tout i {1,..., n}, on créé les variables v i : v i est vraie lorsque la variable d état v est vraies après l action i. Pour toute action a et pour tout i {1,..., n}, on créé les variables a i : a i est vraie lorsque l action i est a.

SAT / MAX - SAT Maximiser le nombre de clauses C j vérifiées f (x) = #{C j : C j (x) est vraie} x est une solution de SAT ssi f (x) = m

SAT Propriétés physiques Transition de phase suivant α = m N

Coloration de graphe Graphe G = (S, A) S ens. des sommets et A S 2 ens. des arcs Coloration α : S C avec C = {c 1,..., c k } Trouver une (k-)coloration telle que : si (s, t) A alors α(s) α(t) Applications : affection de fréquence en téléphonie mobile, emploi du temps, coloration des cartes...

Sodoku : coloration de graphe? Exercice Traduire le problème de sudoku en un problème de coloration de graphe.

Voyageur de commerce (TSP) Trouver le parcours le plus court passant par toutes les villes. n : nombre de villes d rs : distance entre les villes r et s.

Voyageur de commerce (TSP) Trouver le parcours le plus court passant par toutes les villes. n : nombre de villes d rs : distance entre les villes r et s. Exercice Exprimer la fonction à optimiser en fonction des paramètres du problème.

Quadratic Assignment Problem (QAP) Problème d affection quadratique (Exemple d aprés Taillard). Minimiser le flux total

Quadratic Assignment Problem (QAP) Minimiser le flux total n objets, n emplacements f ij : flot entre objects i et j, d rs : distance entre emplacement r et s Applications : répartition de batiments ou de servives, affectation des portes d aéroport, placement de modules logiques, claviers...

Vehicule Routing Problem (VRP) But : transporter des biens à des clients Véhicule à capacité limitée, fenêtre de temps, etc. Problème : Déterminer pour chaque véhicule leur trajet de manière à minimiser les coûts (temps, essence, etc.) Application : logistique du dernier kilomètre, etc.

Job Scheduling Problem Ensemble de taches J = {j 1, j 2, j 3,..., j p } temps d execution p(j i ) Réalisés sur m machines M = {M 1,..., M m } Applications : ordonnancement, emploi du temps,...

Paysages NK f (x) = 1 N N f i (x i ; x i1,..., x ik ) i=1 N nombre d acides animés K N 1 nombres d intéraction entre ac. animés deux types d ac. animé 0 ou 1 x k le k eme ac. animé d une chaine x {i 1,..., i K } {1,..., i 1, i + 1,..., N} f i : {0, 1} K+1 [0, 1] Application : modélisation de protéines

exemple N = 4 K = 2 x = 0110 x 1 x 2 x 4 f 1 000 0.9 001 0.6 010 0.1 011 0.2...... x 1x 2x 3 f 2 000 0.4 001 0.8 010 0.3 011 0.2...... x 2x 3x 4 f 3 000 0.2...... 101 0.9 110 0.1 111 0.5 x 1x 2x 4 f 4 000 0.1 001 0.2 010 0.8 011 0.0...... f (x) = 1 4 ( f 1(010) + f 2 (011) + f 3 (110) + f 4 (010) ) = 1 4 ( 0.1 + 0.2 + 0.1 + 0.8 ) = 0.3

Docking moléculaire Position relative qui minimise l énergie électrostatique ADN - protéine ou proteine - protéine (crédits S. Fiorucci, université de Nice Sophia Antipolis)

Optimization Inputs Search space : Set of all feasible solutions, Objective function : Quality criterium X f : X IR Goal Find the best solution according to the criterium x = argmax f

Optimization Inputs Search space : Set of all feasible solutions, Objective function : Quality criterium X f : X IR Goal Find the best solution according to the criterium x = argmax f But, sometime, the set of all best solutions, good approximation of the best solution, good robust solution...

Contexte Black box Scenario We have only {(x 0, f (x 0 )), (x 1, f (x 1 )),...} given by an oracle No information is either not available or needed on the definition of objective function Objective function given by a computation, or a simulation Objective function can be irregular, non differentiable, non continous, etc. Typologie des problèmes Espace de recherche très large dont les variables sont discrètes (cas NP-complet) : optimisation combinatoire Espace de recherche dont les variables sont continues : optimisation numérique

D abord un petit jeu Préparation : voir page web http://www-lisic.univ-littoral. fr/~verel/teaching/13-14/m2-psycho/index.html But : Trouver le plus grand nombre en découvrant le minimum de cases

Votre stratégie Questions Pouvez-vous décrire votre stratégie? Quelles propriétés du problème utilisez-vous? Existe-t-il des problèmes plus difficiles que d autres?

Définitions Optimum global s Toutes les solutions ne sont pas meilleures : [ cas maximisation ] s S f (s) f (s ) "land1.2.dat" 16 14 12 10 8 6 4 2 0 16 14 12 10 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

Définitions Optimum local Toutes les solutions voisines ne sont pas meilleures : [ cas maximisation ] s V(s ) f (s) f (s ) "land1.2.dat" 16 14 12 10 8 6 4 2 0 16 14 12 10 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10

Définitions Voisinage Ensemble de solutions définies comme proches Par exemple, V(s) = {s : distance(s, s ) d} s d

Définitions Voisinage Ensemble de solutions définies comme proches Par exemple, V(s) = {s : distance(s, s ) d} s d Et pour notre problème?

Définitions Voisinage Ensemble de solutions définies comme proches Par exemple, V(s) = {s : distance Hamming (s, s ) d}

Définitions Plateau Ensemble de solutions voisines de même qualité Plateau optimum local Plateau dont les solutions dans le voisinage ne sont pas meilleures

Exercice Exercice Pour chaque problème, Compter le nombre d optima globaux Compter le nombre d optima locaux

Problème 3.1 12 7 12 16 14 9 9 14 16 14 9 4 8 11 10 7 9 14 17 16 4 4 6 7 7 5 5 8 10 10 4 7 10 11 10 7 4 2 3 4 5 9 13 14 12 9 5 2 1 1 6 10 13 14 12 8 5 3 3 4 5 9 11 11 9 6 6 7 7 7 4 6 7 7 6 6 8 8 10 12 3 5 7 6 4 3 4 4 13 16 2 4 6 6 4 2 0 4 14 18

Problème 3.2 0 0 0 1 4 7 6 2 0 0 0 0 1 3 9 14 11 4 0 0 1 1 2 5 13 18 13 4 0 0 2 3 5 6 14 18 11 3 1 0 5 6 9 7 11 12 6 3 2 0 8 10 12 8 6 6 3 5 3 1 10 12 11 7 6 4 3 5 3 1 12 14 12 8 4 3 2 3 2 0 12 14 12 7 3 1 0 1 0 0 10 11 10 6 3 1 0 0 1 1

Problème 2.1 0 1 2 4 9 9 5 6 7 12 0 0 1 4 12 18 13 11 11 8 3 1 1 3 8 16 16 10 15 13 6 5 5 10 11 7 11 8 10 11 14 14 9 12 16 12 10 8 10 5 13 14 9 7 7 6 5 12 11 3 9 12 8 10 5 1 7 17 16 6 8 8 7 7 3 1 3 9 9 4 4 3 3 2 0 0 1 3 4 3 1 0 0 0 0 0 0 1 2 1

Problème 2.2 0 0 3 4 11 15 11 10 6 6 1 3 6 6 5 10 18 11 8 9 4 6 6 4 3 8 12 5 11 13 5 8 9 8 8 3 4 3 10 9 4 7 8 10 10 6 2 3 7 7 2 5 10 8 14 14 5 1 3 3 3 8 11 6 11 12 9 7 6 2 2 4 6 15 15 10 16 15 15 6 0 1 7 11 9 8 5 8 10 6 0 0 2 7 7 1 0 1 2 3

Correction : problème 3.1 12 7 12 16 14 9 9 14 16 14 9 4 8 11 10 7 9 14 17 16 4 4 6 7 7 5 5 8 10 10 4 7 10 11 10 7 4 2 3 4 5 9 13 14 12 9 5 2 1 1 6 10 13 14 12 8 5 3 3 4 5 9 11 11 9 6 6 7 7 7 4 6 7 7 6 6 8 8 10 12 3 5 7 6 4 3 4 4 13 16 2 4 6 6 4 2 0 4 14 18

Correction : problème 3.2 0 0 0 1 4 7 6 2 0 0 0 0 1 3 9 14 11 4 0 0 1 1 2 5 13 18 13 4 0 0 2 3 5 6 14 18 11 3 1 0 5 6 9 7 11 12 6 3 2 0 8 10 12 8 6 6 3 5 3 1 10 12 11 7 6 4 3 5 3 1 12 14 12 8 4 3 2 3 2 0 12 14 12 7 3 1 0 1 0 0 10 11 10 6 3 1 0 0 1 1

Correction : problème 2.1 0 1 2 4 9 9 5 6 7 12 0 0 1 4 12 18 13 11 11 8 3 1 1 3 8 16 16 10 15 13 6 5 5 10 11 7 11 8 10 11 14 14 9 12 16 12 10 8 10 5 13 14 9 7 7 6 5 12 11 3 9 12 8 10 5 1 7 17 16 6 8 8 7 7 3 1 3 9 9 4 4 3 3 2 0 0 1 3 4 3 1 0 0 0 0 0 0 1 2 1

Correction : Problème 2.2 0 0 3 4 11 15 11 10 6 6 1 3 6 6 5 10 18 11 8 9 4 6 6 4 3 8 12 5 11 13 5 8 9 8 8 3 4 3 10 9 4 7 8 10 10 6 2 3 7 7 2 5 10 8 14 14 5 1 3 3 3 8 11 6 11 12 9 7 6 2 2 4 6 15 15 10 16 15 15 6 0 1 7 11 9 8 5 8 10 6 0 0 2 7 7 1 0 1 2 3

Search algorithms Principle Enumeration of the search space A lot of ways to enumerate the search space Using random sampling : Monte Carlo technics Local search technics :

Retour à MAX-SAT Comment résoudre ce genre de problèmes? (x 1 x 2 ) ( x 2 x 3 ) (x 1 x 3 ) (x 4 x 2 x 3 ) (x 2 x 4 x 5 ) ( x 2 x 1 x 5 ) ( x 2 x 5 x 4 ) (x 1 x 3 x 4 )

Retour à MAX-SAT mathématiquement ou... Exhaustivement n = 20, n = 100,... Aléatoirement Construction de solution (plus tard) Méthodes exactes (plus tard) ou...

Heuristiques Heuristique Algorithme de résolution dont la conception repose sur l expérience du concepteur.

Heuristiques Heuristique Algorithme de résolution dont la conception repose sur l expérience du concepteur. Souvent : Pas de garantie d obtenir une solution optimale On désire toutefois : Le plus souvent possible une solution proche de l optimalité Le moins souvent possible un mauvaise solution (différent!) Une complexité raisonnable De la simplicité d implémentation (code light en version de base...)

Metaheuristiques Peu probable qu un algorithme puisse résoudre tout problème Métaheuristique Ensemble d heuristiques : regroupe des heuristiques dépendant de paramètres décrit une méthode de conception d heuristique de un aveu d impuissance à des techniques performantes d optimisation difficile

Metaheuristisques de recherche locale Algorithmes à population de solutions Algorithmes Evolutionnaires (EA) : Holland 1975 et même avant Algorithmes d essaims particulaires (PSO) : R. Ebenhart et J. Kennedy 1995. Algorithmes de fourmis (ACO) : Bonabeau 1999

Metaheuristisques de recherche locale Algorithmes à solution unique (Recherches aléatoire), Algorithmes de descente : Hill-Climber (HC), première-descente Recuit Simulé (SA) : Kirkpatrick et al 1983, Recherche Tabou (TS) : Glover 1986-89 -90, Iterated Local Search

Stochatic algorithms with unique solution (Local Search) S set of solutions (search space) f : S IR objective function V(s) set of neighbor s solutions of s

Recherche Locale (LS) S ensemble des solutions (espace de recherche), f : S IR fonction objectif à maximiser (ou coût à minimiser) V(s) ensemble des solutions voisines de s Algorithme d une Recherche Locale Choisir solution initiale s S while critère d arrêt non vérifié do choisir s V(s) if accept(s, s ) then s s end if end while

Un exemple très simple : OneMax Fonction d évaluation du One Max Pour toute chaîne binaire de longueur N, x {0, 1} N f (x) = N i=1 x i Par exemple, pour x = 01101, f (x) = 3 Taille de l espace de recherche S =

Un exemple très simple : OneMax Fonction d évaluation du One Max Pour toute chaîne binaire de longueur N, x {0, 1} N f (x) = N i=1 x i Par exemple, pour x = 01101, f (x) = 3 Taille de l espace de recherche S = 2 N

Résolution d un problème d optimisation combinatoire Inputs Espace de recherche : Function objectif : X = {0, 1} n f = onemax Goal Find the best solution according to the criterium x = argmax f

Recherche aléatoire sur l espace de recherche Algorithme de Recherche Aléatoire (sur l espace de recherche) Choisir solution initiale s S aléatoirement uniformément sur S. while false do... end while V =

Recherche aléatoire sur l espace de recherche Algorithme de Recherche Aléatoire (sur l espace de recherche) Choisir solution initiale s S aléatoirement uniformément sur S. V = S

Marche aléatoire Heuristique d exploration maximale Marche aléatoire Recherche locale aléatoire Choisir solution initiale s S while Nbr d éval. maxnbeval do Choisir s V(s) aléatoirement s s end while Algorithme inutilisable en pratique Algorithme de comparaison Opérateur local de base de nombreuses métaheuristiques

Voisinage des chaines binaires Distance de Hamming Nombre de différence entre 2 chaînes. Voisinage de x {0, 1} N

Voisinage des chaines binaires Distance de Hamming Nombre de différence entre 2 chaînes. Voisinage de x {0, 1} N V(x) : ensemble des chaînes binaires à une distance 1 de x. On modifie 1 seul bit

Voisinage des chaines binaires Distance de Hamming Nombre de différence entre 2 chaînes. Voisinage de x {0, 1} N V(x) : ensemble des chaînes binaires à une distance 1 de x. On modifie 1 seul bit Pour x = 01101, V(x) = {

Voisinage des chaines binaires Distance de Hamming Nombre de différence entre 2 chaînes. Voisinage de x {0, 1} N V(x) : ensemble des chaînes binaires à une distance 1 de x. On modifie 1 seul bit Pour x = 01101, V(x) = { 01100, 01111, 01001, 00101, 11101 }

Voisinage des chaines binaires Distance de Hamming Nombre de différence entre 2 chaînes. Voisinage de x {0, 1} N V(x) : ensemble des chaînes binaires à une distance 1 de x. On modifie 1 seul bit Pour x = 01101, V(x) = { 01100, 01111, 01001, 00101, 11101 } Taille du voisinage d une chaîne binaire de longueur :

Voisinage des chaines binaires Distance de Hamming Nombre de différence entre 2 chaînes. Voisinage de x {0, 1} N V(x) : ensemble des chaînes binaires à une distance 1 de x. On modifie 1 seul bit Pour x = 01101, V(x) = { 01100, 01111, 01001, 00101, 11101 } Taille du voisinage d une chaîne binaire de longueur : N

Hill-Climber (HC) (ou steepest-descent) Heuristique d exploitation maximale. Hill Climber (best-improvement) Choisir solution initiale s S while s is not optimum local do Choisir s V(s) telle que f (s ) est maximale if f (s ) is better than f (s) then s s end if end while Algorithme de comparaison Opérateur local de base de métaheuristique

Une variante : first-improvement Hill-climber First-improvement Choisir solution initiale s S while s is not optimum local ET nbr d éval. maxnbeval do Choisir s V(s) aléatoirement if f (s ) is better than f (s) then s s end if end while

Une variante : first-improvement Hill-climber First-improvement Choisir solution initiale s S while s is not optimum local ET nbr d éval. maxnbeval do Choisir s V(s) aléatoirement if f (s ) is better than f (s) then s s end if end while Quelle est l avantage de cet algorithme par rapport au Hill-Climber Best-improvement?

Stochatic algorithms with unique solution (Local Search) S set of solutions (search space) f : S IR objective function V(s) set of neighbor s solutions of s

Idée derrière la stratégie locale Pourquoi une stratégie locale de recherche basé sur un voisinage?

Idée derrière la stratégie locale Pourquoi une stratégie locale de recherche basé sur un voisinage?

Idée derrière la stratégie locale Pourquoi une stratégie locale de recherche basé sur un voisinage? Départ Arrivée Réduire la résolution du problème global à une suite de problèmes de petite taille Avantage : réduire la complexité

Idée derrière la stratégie locale Pourquoi une stratégie locale de recherche basé sur un voisinage? Optimum global Départ Arrivée Réduire la résolution du problème global à une suite de problèmes de petite taille Avantage : réduire la complexité Risque : ne pas aboutir à une solution optimale

Concevoir et implémenter une recherche locale Points critiques dans la conception S, codage des solutions f : S IR, bonne mesure de la qualité des solutions V, les voisins doivent être voisins par rapport à f Sélection du voisin, critère d acceptation Critère d arrêt (algorithme anytime, non) Introduction d une expertise particulière sur un problème Points critiques dans l implémentation Choix des structures de données (complexité) Evaluation incrémentale (complexité de l évaluation) Générateur aléatoire...

Points critiques Codage des solutions Voisinage Codage plus ou moins redondant, Introduction dans le codage de connaissances au problème, Complexité du codage, de l évaluation Taille (nombre de voisins) : V(s) Continuité : Pour tout s S et s V(s), Pr( f (s ) f (s) ɛ) est grande Probabilité d amélioration de la solution grande : Pr({s V(s) : f (s ) > f (s)}) Fonction évaluation (fitness) Fonction f doit être un guide vers l optimalité : Plus f (x) est grand, plus x est proche de l optimum. Fonction f ne doit pas être trompeuse

Marche aléatoire Heuristique d exploration maximale Recherche locale aléatoire Marche aléatoire Choisir solution initiale s S while Nbr d éval. maxnbeval do Choisir s V(s) aléatoirement s s end while Algorithme inutilisable en pratique Algorithme de comparaison Opérateur local de base de nombreuses métaheuristiques

Hill-Climber (HC) Heuristique d exploitation maximale. Hill Climber (best-improvement) Choisir solution initiale s S while s is not optimum local do Choisir s V(s) telle que f (s ) est maximale if f (s ) is better than f (s) then s s end if end while Algorithme de comparaison Opérateur local de base de métaheuristique

Hill-Climber (HC) Quel est l inconvénient majeur du Hill-Climbing?

Optimum local Optimum local Etant donné (S, f, V), f à maximiser. x est un optimum local ssi pour tout x V(x ), f (x) f (x ) Optimum local strict Etant donné (S, f, V), f à maximiser x est un optimum local ssi pour tout x V(x ), f (x) < f (x )

Hill-Climber (HC) Peut-on imaginer des situations où ce n est qu un inconvénient relatif?

Metaheuristics Random search / Hill Climbing Algorithm 1 Random walk Choisir solution initiale s S while Nbr d éval. maxnbeval do Choisir s V(s) aléatoirement s s end while Algorithm 2 Hill-climbing Choisir solution initiale s S while s is not optimum local do Choisir s V(s) telle que f (s ) est maximale if f (s ) is better than f (s) then s s end if end while

Metaheuristics Random search / Hill Climbing Random walk Hill-climbing Objective function Objective function local optimum local optimum search space search space maximal exploration, diversification Compromis Exploration / Exploitation maximal exploitation, intensification Escape from local optima, etc. = simulated annealing, tabu search, Iterated Local Searc

Recuit Simulé (Simulated Annealing) Utilisé depuis les années 80, Metropolis (1953) simulation du refroidissement de matériaux (Thermodynamique) Kirkpatrick et al (IBM 1983) utilisation pour la résolution de problème d optimisation. But : échapper aux optima locaux Principe : probabilité non nulle de sélection d une solution voisine dégradée

Recuit Simulé : analogie Système physique Energie Etats du système États de basse énergie Température Problème d optimisation fonction objectif solution bonne solution paramètre de contrôle Performance Optimum local Solutions

Recuit Simulé Choisir solution initiale s S et temperature initiale T repeat choisir aléatoirement s V(s), = f (s ) f (s) if > 0 then s s else u nombre aléatoire de [0, 1] if u < e T then s s end if end if update temperature T until Critère d arrêt vérifié

Recuit Simulé : remarques Si < 0 alors la probabilité exp( T ) est proche de 0 lorsque : la différence = f (s ) f (s) est grande la temperature est petite Conséquences : lorsque température grande (début de la recherche) : recherche aléatoire lorsque température petite (fin de la recherche) : Hill-Climbing

Recuit Simulé : température initiale Evaluer 0 = f (s 0 ) f (s 0) : Choisir n (grand si possible) solutions aléatoires initiales s 0 et une solution voisine s 0 calculer la moyenne de 0 sur l échantillon Température initiale T 0 telle que τ 0 = e 0 T 0 désiré : qualité médiocre (τ 0 = 0.50) : démarrage à haute température qualité bonne (τ 0 = 0.20) : démarrage à basse température

Recuit Simulé : décroissance de température décroissance suivant une loi géométrique T k+1 = αt k souvent 0.8 α < 1.0 Changement par pallier de température suivant l une des deux conditions : 12.N perturbations acceptées (mouvements de solution) 100.N perturbations tentées (mouvement ou non mouvement) où N est un paramètre qui décrit la taille du problème (nombre de villes, de variables...)

Recuit Simulé : Critère d arrêt Arrêt aprés 3 palliers successifs sans aucune acceptation.

Recuit Simulé : Remarques Toutes ces indications ne sont pas universelles : L analyse du problème et l expérience de concepteur permettent de les adapter Vérifier votre générateur aléatoire La qualité du résultat doit dépendre peu de l exécution de l algorithme Premières Applications : dans le placement de circuits électroniques

Recuit Simulé : Bibliographie E. Aarts, J. Korst : Simulated Annealing and Boltzmann machine John Wiley, New-York 1989 P. Siarry : La méthode du recuit simulé : théorie et application ESPCI - IDSET, 10 rue Vauquelin, Paris 1989

Recherche Tabou (Tabu Search) Introduite par Glover en 1986 : Future paths for Integer Programming and Links to Artificial Intelligence, Computers and Operations Research, 5 :533-549, 1986. But : échapper aux optima locaux Principe : Introduction d une notion de mémoire dans la stratégie d exploration Interdiction de reprendre des solutions déjà (ou récemment) rencontrées

Recherche Tabou (Tabu Search) Choisir solution initiale s S Initialiser Tabou M repeat choisir s V(s) telle que : ( f (s ) meilleure solution de V(s) ET Critère d aspiration vérifié ) OU f (s ) meilleure solution de V(s) non taboue s s update Tabou M until Critère d arrêt vérifié

Recherche Tabou : mémoire des tabous Les tabous sont souvent des mouvements tabous pendant une durée exemple : problème maxsat avec n = 6 M = (0, 3, 0, 0, 0, 0) le deuxième bit ne peut être modifié pendant 3 itérations. M = (1, 2, 0, 0, 2, 5) seuls bits non tabou 3 et 4 Lorsqu un mouvement est effectué : interdiction pendant n itérations

Recherche Tabou : mémoire des tabous Lorsqu un mouvement est effectué : interdiction pendant n itérations Si n trop faible, tabou peu efficace Si n trop grand, les solutions sont à flanc de coteau. Stratégie de diversification

Recherche Tabou : Mémoire à long terme Statistique sur les mouvements : Repérer les mouvements trop utilisés (difficulté de recherche, optimum local...) Fréquence freq(m) d utilisation d un mouvement m : pénalisation du mouvement m par ajout d interdiction en fonction de freq(m).

Recherche Tabou : Critère d aspiration Enlever le caractère tabou d une solution : Lorsque la solution est la meilleure jamais rencontrée

Recherche Tabou : Bibliographie Glover et al : Tabu Search Kluwer Academic Publishers, 1997

Iterated Local Search Principe Une fois la solution courante dans un optimum local, Perturbation (grande modification) de la solution courante pour initier une nouvelle recherche locale à partir de celle-ci.

Iterated Local Search (ILS) Algorithme Choisir solution initiale s S s localsearch(s) repeat s perturbation(s) s localsearch(s ) Si accept(s, s ) Alors s s FinSi until Critère d arrêt vérifié

Paysage de fitness Origine Biologique (Wright 1930) : Modélisation évolution des espèces Utiliser pour modéliser des systèmes dynamiques : physique statistique, évolution moléculaire, écologie, etc

Optimisation combinatoire Paysage de fitness (S, V, f ) : S : ensemble de solutions potentielles, V : S 2 S : relation de voisinage, V(x) = {y y = op(x)} V(x) = {y d(y, x) 1} f : S IR : fonction à optimiser.

Intérêts du concept Relation entre description géométrique d un problème et dynamique de recherche Pertinence du choix de l opérateur Connaissance de la géométrie du problème conception de métaheuristiques adaptées

Paysage Multimodal Optimum local : aucune solution voisine de meilleure performance. Fitness paysage multimodal Difficulté liée au nombre Taille des bassins d attraction Estimation : Marche adaptative (s 0, s 1,...) où s i+1 V(s i ) f (s i ) < f (s i+1 ) Terminaison sur optimum local Longueur : indice de distance inter-optima

Paysage Rugueux performance rho(s) 405 400 395 390 385 380 375 370 365 360 355 350 0 2000 4000 6000 8000 10000 pas s 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 5 10 15 20 25 30 35 40 45 50 pas s Autocorrélation lors d une marche aléatoire (Weinberger 1996) Longueur de corrélation τ = 1 ρ(1) τ petit : paysage rugueux τ grand : paysage lisse

Paysage Rugueux performance rho(s) 405 400 395 390 385 380 375 370 365 360 355 350 0 2000 4000 6000 8000 10000 pas s 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 5 10 15 20 25 30 35 40 45 50 pas s Autocorrélation lors d une marche aléatoire (Weinberger 1996) Longueur de corrélation τ = 1 ρ(1) τ petit : paysage rugueux τ grand : paysage lisse conjecture (Stadler 92, Garcia 97) : M S / B(x, τ)

Paysage Neutre Théorie de la neutralité (Kimura 1960) Théorie de la mutation et de la dérive aléatoire Rôle prépondérant des mutations sans influence sur la performance Fitness Espace des genotypes Géométrie de plateaux Degré de neutralité Réseaux de neutralité (Schuster 1994, structure secondaire de l ARN)

Paysage Neutre Évolution artificielle Prise en compte depuis les années 80 en évolution artificielle : redondance (Goldberg 87) Fitness Espace des genotypes Présence dans : Programmation génétique Contrôleur de robot Conception de circuit (Cartesian GP) Étiquetage de graphe (MinLA)

Paysage neutre Optimisation combinatoire Plusieurs possibilités : Diminuer la neutralité : conjecture : redondance nuit aux performances Utiliser une métaheuristique adaptée : conjecture : neutralité est intrisèque Augmenter la neutralité par un choix de codage redondant : conjecture : éviter les optima locaux

Paysage neutre Optimisation combinatoire Plusieurs possibilités : Diminuer la neutralité : conjecture : redondance nuit aux performances Utiliser une métaheuristique adaptée : conjecture : neutralité est intrisèque Augmenter la neutralité par un choix de codage redondant : conjecture : éviter les optima locaux Meilleure description et connaissance des paysages neutres Concevoir de nouvelles métaheuristiques Évaluer la pertinence d un codage

Darwin

Darwin Charles Darwin (12 février 1809-19 avril 1882) On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life (1859)

Darwin Charles Darwin (12 février 1809-19 avril 1882) On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life (1859) Pouvez-vous définir l apport de Darwin?

Darwin in very short Avant Darwin : transformisme de Lamark Les espèces se complexifient sous l effet d une dynamique interne Darwin : Selection naturelle moteur de l évolution des espèces Comme il naît beaucoup plus d individus de chaque espèce qu il n en peut survivre, et que, par conséquent, il se produit souvent une lutte pour la vie, il s ensuit que tout être, s il varie, même légèrement, d une manière qui lui est profitable, dans les conditions complexes et quelquefois variables de la vie, aura une meilleure chance pour survivre et ainsi se retrouvera choisi d une façon naturelle. En raison du principe dominant de l hérédité, toute variété ainsi choisie aura tendance à se multiplier sous sa forme nouvelle et modifiée Après Darwin : Theorie synthétique (th. toujours en mouvement) Sélection naturelle et loi de l hérédité de Mendel (génétique des populations)

Evolutionary Algorithms (EA) from the artificial evolution Principe of evolutionary algorithms Les méthodes evolutionnaires retiennent les 2 principes de : Variations aléatoires Sélection des meilleurs solutions pour résoudre les problèmes d optimisation. EA beaucoup moins contraint que l évolution naturelle... Definition/classification of Evolutionary algorithms Algorithme d optimisation stochastique (ou metaheuristique) à population

Introduction aux algorithmes évolutionnaires (Evolutionary Algorithm) Cours introductif de l école d été en évolution artificielle site de l école d été : https: //sites.google.com/site/ecoleea2012/programme Marc Schoenauer, juin 2012 : https://sites.google.com/ site/ecoleea2012/schoenauer.pdf?attredirects=0

Algorithms framework EO, paradiseo (c++) : evolutionary algorithm, local search, multiobjective optimisationn parallelisation method openbeagle (c++) : less used than paradiseo ECJ (java) : nearly the same asparadiseo, but neither local search, neither parallelisation matlab, scilab : numerical optimisation (CMA-ES) Frontend GUIDE : graphic user interface to develop an EA with ECJ or EO

Exemples d application (titre papier de Gecco 2007) Genetically Generated Double-Level Fuzzy Controller with a Fuzzy Adjustment Strategy Evolving Distributed Agents for Managing Air Traffic A Genetic Algorithm for Dynamic Modelling and Prediction of Activity in Document Streams Multiobjective Network Design for Realistic Traffic Models Coupling EA and High-level Metrics for the Automatic Generation of Test Blocks for Peripheral Cores Real-Coded ECGA for Economic Dispatch Simultaneous Optimization of Production Planning and Inspection Planning for Flexible Manufacturing Systems Automated Red Teaming : A Proposed Framework for Military Application Graph-based Sequence Clustering through Multiobjective Evolutionary Algorithms for Web Recommender Systems

Exemples d application (titre papiers de Gecco 2007) Configuring an Evolutionary Tool for the Inventory and Transportation Problem Option Pricing Model Calibration using a Real-valued Quantum-inspired Evolutionary Algorithm Mining Breast Cancer Data with XCS Automated Synthesis of a Fixed-Length Loaded Symmetric Dipole Antenna Whose Gain Exceeds That of a Commercial Antenna and Matches the Theoretical Maximum...

Conclusions provisoires echecs : J ai essaye en boite noire, ca ne marche pas... J ai essaye sur un problème facile, c était ridiculement lent, compare à... Contextes recommandés : Problèmes non résolus fonctions chahutées, contraintes chahutées Plusieurs optima critères implicites, multi-critères Problèmes (très) mal posés validation de l utilisateur A coupler avec des méthodes locales avec mesure Choix crucial : la représentation et les opérateurs de variation

Main questions the choice of the representation and local search operators : to have the more regular neighborhood Exploration / exploitation tradeoff : use the local information and explore new part of the search space design of the search parameters : link to other problem