2008_02_Metaheuristiques

February 6, 2018 | Author: Imen Ayachi | Category: Monte Carlo Method, Algorithms And Data Structures, Earth & Life Sciences, Biology, Algorithms
Share Embed Donate


Short Description

Download 2008_02_Metaheuristiques...

Description

Les Métaheuristiques

Les problèmes "difficiles" 

Le problème du voyageur de commerce

½ (n-1)! pour n > 2



Le problème de la Prédiction de structure de protéine ab initio

Une solution ? Les Métaheuristiques ! 

Monte Carlo (MC)



Recuit simulé (Simulated Annealing: SA)



Algorithme génétique (Genetic Algorithm: GA)



Recherche Tabou (Tabu Search: TS)



Colonies de fourmis (Ant Colony Optimization: ACO)

Algorithme de Monte Carlo 

Principe: – – –

Méthode utilisant des procédés aléatoires Allusion aux jeux de hasard pratiqués à Monte Carlo Introduit par John Von Neumann, Stanislas Ulam et Nicolas Metropolis lors du developpement de la bombe atomiqe



Tirage aléatoire, calcul d'énergie



Paramètres: – – –

Système initial Modification élémentaire Critère de Metropolis

Un exemple d'utilisation de méthode Monte Carlo 

Détermination de la superficie d'un lac –

X coups de canon de manière aléatoire dans la zone

Algorithme de Monte Carlo

Algorithme de recuit simulé 

Principe – –

Inspiré de la métallurgie Refroidissement lent d'une pièce de métal confère une structure cristalline d'énergie minimum



Même principe appliqué aux problèmes d'optimisation



Paramètres: – – – – –

Système initial Température initiale Modification élémentaire Critère de Metropolis Critère pour le "recuit"

Algorithme de recuit simulé

Algorithme génétique 

Principe –



Groupe de solutions mimant évolution des espèces

Paramètres – – –

Une solution est un individu, Le groupe de solutions ou d'individus compose population On distingue deux parties d'un individu:  



Première étape : trouver une façon de représenter les solutions du problème sous forme d'un chromosome – –



le phénotype: c'est l'apparence de l'individu, ce qui nous permet de savoir si la solution est bonne ou mauvaise. le génotype: c'est la représentation des gènes de l'individu. Le génotype implique le phénotype

La représentation binaire: un chromosome est une suite de bit La représentation flottante: un chromosome est un nombre flottant

Une fois représentation déterminée, l'algorithme est lancé – – – – – – – –

Débute par l'initialisation de la population, (générée normalemnt au hasard) Seconde étape : détermination du phénotype (aussi appelé fitness) de chaque individu de la population. Phase de sélection des individus pour la reproduction (les meilleurs solutions sont gardées pour la reproduction) Croisement des individus Mutation des s individus sélectionnés avec probabilité donnée Évaluation des enfants afin de pouvoir comparer leur qualité. Sélection pour le remplacement entre les anciens individus et le enfants puis remplacement et création de la nouvelle population. Si critère d'arrêt atteint, arrêt sinon nouvelle itération à partir de la phase de sélection pour la reproduction avec la nouvelle population. (Critère d'arrêt peut être un temps maximal, un nombre de population P, un test sur le meilleur individu)

Algorithme Génétique Croisement des individus sélectionnés, production des enfant

Mutation des individus sélectionnés

Opérations ATGCCGCACC TGTCCAGTCA

Parent chromosomes

ATGCC AGTCA TGTCC GCACC ATGCC A AGTCA TGTCC GCACC T

Recombined offspring

• Recombination involves swapping sections of two individuals’ ‘characteristics’ Note: This is not what occurs in nature

• Mutation results in a random change in one Random mutations in or more of an genetic composition individual’s ‘characteristics’



g

 

Decode genotypes; evaluate fitness of phenotypes Amplify genotypes in proportion to fitness Use crossover, mutation and other genetic operators to generate new genotypes

g'

Source: Fogel (1995)



Emulates specific genetic mechanisms as observed in nature

Algorithme de Recherche Tabou 

Repose sur une méthode de déplacement sur l'espace des solutions



Recherche à améliorer la meilleure solution courante en conservant en mémoire la liste des précédents déplacements et ainsi guider la recherche en dehors de zones précédemment parcourues



Tous les déplacements ne sont pas gardés (trop coûteux en mémoire), seulement une liste finie de déplacements est concervée pendant un certains nombre d'itération : la liste Tabou

Algorithme de recherche tabou

Algorithme des Colonies de Fourmis  



Méthode inventée en 1996 par Marco Dorigo de L'Université Libre de Bruxelles Idée initiale provient de l'observation des fourmis : Trouvent le chemin le plus cours entre leur nid et source de nourriture en contournant obstacles sur leur chemin. Exemple :

Algorithme des Colonies de fourmis Modélisation du comportement des fourmis pour le voyageur du commerce: La fourmi se place initialement sur une ville choisie au hasard -

Elle choisit la ville suivante parmi les villes non encore visitées en suivant le chemin le plus marqué par les phéromones max_phéromone = 0; Pour Ville_courante allant de 1 à N Si Ville_courante pas encore visitée Si Phéromone[Ville_précédente, Ville_courante] > max_phéromone Ville_suivante = Ville_courante max_phéromone = Phéromone[Ville_précédente, Ville_courante] FinSi FinPour

-

Elle dépose des phéromones sur le chemin qu'elle a emprunté (règle locale de mise à jour des phéromones). On prend en compte l'"évaporation", ce qui donne une loi du genre : Pheromone[i, j] = (1 - alpha) Pheromone[i, j] + alpha * K Avec K une constante. La valeur de K recommandée par Dorigo et Gambardella est de 1 / ( N * Lmv ) avec N le nombre de villes du problèmes et Lmv la longueur du trajet calculé par la méthode du meilleur voisin ou une approximation.

Exemple d'application : Simulation de repliement de protéines Simplification: Modèle 2D HP Model (Dill et al. 1985)   

  

Classify each amino acid as hydrophobic (H) or hydrophilic (P). Confine consecutive amino acids to adjacent nodes in a lattice (Treat search space as a grid). Flatten the search on a 2D lattice. Function HHc: Number of new HH contacts Parameter ξ < 0: Influence ratio of the new HH contacts (usually ξ = -1) Objective Function = HHc * ξ = -HHc

Principe



H = Noir



P = Blanc



Energy = 0 

Energy = -3

Exemples 

S36: S60:



S64:



3P 2H 2P 2H 5P 7H 2P 2H 4P 2H 2P 1H 2P 2P 3H 1P 8H 3P 10H 1P 1H 3P 12H 4P 6H 1P 2H 1P 1H 1P 12H 1P 1H 1P 1H 2P 2H 2P 2H 2P 1H 2P 2H 2P 2H 2P 1H 2P 2H 2P 2H 2P 1H 1P 1H 1P 12H

Représentation du problème

A vous ! 

Représentation du problème pour chaque type d'algorithme

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF