Recherche opérationnelle et Optimisation

Dimension: px
Commencer à balayer dès la page:

Download "Recherche opérationnelle et Optimisation"

Transcription

1 Recherche opérationnelle et Optimisation Master 1 Informatique Denis Robilliard Lisic Univ Littoral-Côte d opale 2010 Denis Robilliard (Lisic Univ Littoral-Côte d opale) Recherche opérationnelle et Optimisation / 100

2 Sommaire général 1 Généralités Présentation de la R.O. Optimisation Complexité d un algorithme Méta-heuristiques et recherche locale Comparaison de deux heuristiques 2 Méthodes à solution unique Hill-climber Recuit simulé Recherche Tabou Random restart 3 Méthodes à base de population Généralités Méthodes évolutionnaires Stratégies évolutionnaires Algorithme génétique Méthode de Path-Relinking Algorithme des Fourmis 4 Problèmes multi-critères Définitions Front Pareto Réduction à un objectif Approches par Pareto-domination 5 TD / TP Exercices Présentation des TPs La fonction de Griewank Les matrices de Erickson Compte-rendu ( ) Recherche opérationnelle et Optimisation 2 / 100

3 2 Méthodes( ) à solution uniquerecherche opérationnelle et Optimisation 3 / 100 Sommaire du chapitre 1 Généralités Présentation de la R.O. Recherche Opérationnelle Organisation du cours Optimisation Problème d optimisation Problème continu / discret Exemple continu Exemple combinatoire Complexité d un algorithme Définition Calcul de la complexité Exemple de calcul Conclusion Méta-heuristiques et recherche locale Définitions Voisinage et optima locaux Comparaison de deux heuristiques Principes

4 Définition Origines Recherche Opérationnelle vient de operations research (Royaume-Uni, 2nd guerre mondiale). Où placer les stations radars? Comment plannifier les vols de surveillance anti-sous-marins?... Définition Recherche Opérationnelle : élaboration et amélioration / optimisation de méthodes de résolution de problèmes complexes. Deux grandes familles de méthodes : méthodes exactes, basées sur des principes mathématiques méthodes approchées ou heuristiques, souvent stochastiques (utilisation du hasard) : quand les méthodes exactes ne sont pas disponibles ou sont trop coûteuses souvent! ( ) Recherche opérationnelle et Optimisation 4 / 100

5 Organisation du cours Le cours de RO est divisé en deux, selon méthodes exactes/approchées Généralités et méthodes approchées (ce cours) méthodes exactes (cours fait par Gilles Roussel) Pré-requis : un peu de maths (quantificateurs,...), algorithmique et structures de données de base, connaissance du langage C pour les algos, de Java pour les TPs. Objectifs : connaître le vocabulaire et les concepts de base, connaître et avoir compris les algorithmes de base, avoir implanté et utilisé quelques algorithmes sur ordinateur, savoir adapter un algorithme à un nouveau problème. Organisation du cours (x 2) : 6h de cours magistral, 3h de travaux dirigés, 9h de travaux pratiques. ( ) Recherche opérationnelle et Optimisation 5 / 100

6 Problème d optimisation Définition On dispose d un ensemble S de solutions candidates : c est l espace de recherche. A chaque solution est associé un réel, sa qualité, calculable par une fonction qualité / objectif / coût / fitness On cherche la solution de meilleure qualité, appelée optimum global (ou du moins on veut s en approcher). Sémantique qualité / coût Selon le pb, on veut maximiser ou minimiser l objectif. Les algos seront présentés dans un contexte de minimisation (prendre l opposé de la qualité pour maximiser). ( ) Recherche opérationnelle et Optimisation 6 / 100

7 Problème d optimisation : suite Optimisation multi-critères Très souvent on veut optimiser plusieurs fonctions/critères de qualité en même temps : problème multi-critères, multi-objectifs. Ex : on veut le moteur le plus puissant, mais aussi le plus léger, qui consomme le moins possible et qui coûte le moins cher à fabriquer... L optimisation multi-critères est un sous-domaine spécifique (voir plus loin). ( ) Recherche opérationnelle et Optimisation 7 / 100

8 Problème continu / discret Problème continu Optimisation continue : les solutions sont des vecteurs de réels : on parle de variables réelles, et l espace de recherche est infini. Problème discret L espace de recherche est fini, discret. Les problèmes discrets sont généralement combinatoires. Optimisation combinatoire : une solution est une combinaison d éléments pris dans un ensemble discret : on parle de variables discrètes. Ex : un sous-ensemble des arcs d un graphe. ( ) Recherche opérationnelle et Optimisation 8 / 100

9 Problème continu / discret (suite) Contraintes On a souvent un ensemble de contraintes sur la valeurs des variables / la forme des solutions (ex : pas de valeurs négatives en optimisation continue). La résolution de contraintes, notamment discrètes (ex : sudoku...) est un champ spécialisé : (Constraint Solving Problem CSP). ( ) Recherche opérationnelle et Optimisation 9 / 100

10 Exemple de problème d optimisation continue En utilisant 16 fragrances de base, composer un parfum intéressant : Note Forme des solutions : fragrance) vecteur de 16 réels (proportion de chaque Contraintes : proportions dans [0, 1.0], et somme = 1.0. Fonction objectif : moyenne des notes données par un jury Taille de l espace de recherche : infini! On pourrait vouloir discrétiser chaque proportion : On discrétise en 21 valeurs de 0% à 100% par pas de 5% Taille de l espace de recherche : = 1,43e + 21 En pratique : plus compliqué! Exemple : on veut une solution significativement différente de l existant => problème multi-critères (2ème fonction objectif : distance à l existant). ( ) Recherche opérationnelle et Optimisation 10 / 100

11 Exemple de problème d optimisation combinatoire Problème du voyageur de commerce (PVC) on veut visiter chacune des N = 25 villes où se trouvent les clients. On ne considère que la route la + courte d une ville à l autre. Trouver le circuit de longueur minimale. Forme des solutions : vecteur de 25 entiers (numéro des villes dans l ordre de parcours) Fonction objectif : longueur du parcours Contrainte : chaque entier doit être présent une et une seule fois. Taille de l espace de recherche : N!/2N = 3, 102e23 En pratique : on pourrait prendre en compte des péages sur certaines routes, le temps de parcours, etc. ( ) Recherche opérationnelle et Optimisation 11 / 100

12 Notion de complexité d un algorithme Définition Complexité d un algorithme : relation entre le temps de calcul ou la mémoire occupée et la taille des données traitées. On se limite à la complexité en temps de calcul, toujours supérieure à celle en mémoire. On exprime la relation par une fonction : temps = fn(taille). On s interesse au taux d accroissement de cette fonction. Raffinement Pour une même taille de données, le temps peut varier selon la valeur des données. Ex : trier un tableau presque rangé ou complètement aléatoire. complexité dans le cas moyen, dans le pire des cas, etc. ( ) Recherche opérationnelle et Optimisation 12 / 100

13 Classes de complexité Classes de complexité On classe les fonctions en deux familles selon leur taux d accroissement : les polynômes et les exponentielles. une fonction est dite (à croissance) polynômiale s il existe un polynôme qui la borne supérieurement : n N, b N, c R tels que f(n) c.n b une fonction dans N est dite (à croissance) exponentielle si sa croissance suit une progression géométrique : f(n) c.e b.n les fonctions polynômiales croissent moins vite que les fonctions exponentielles : il n existe pas b N tel que n N, n b > e n Note : il existe d autres classes plus fines de complexité. ( ) Recherche opérationnelle et Optimisation 13 / 100

14 Calcul de la complexité Calcul du temps d exécution On le considére proportionnel au nombre d instructions élémentaires effectuées (ex : affectation, opérations arithmétiques, mais pas un tri! Cf. cours IASF) La traduction d un langage de programmation (usuel) dans un autre se fait en temps polynômial => on peut ignorer le langage (polynômes clos par composition). Calcul de la taille de la donnée Toute donnée peut être codée comme nombre (cf. IASF). Le codage doit être raisonnable : pas en base 1. En effet 10 k occupe : k+1 chiffres en décimal ; (ln(10)/ ln(2))k + 1 soit 3.32k+1 chiffres en binaire ; mais k bâtons en base 1! ( ) Recherche opérationnelle et Optimisation 14 / 100

15 Exemple de calcul de complexité 1 la recherche exhaustive de l élément minimum d une matrice carrée de taille N ; 2 la recherche exhaustive d une solution minimale au PVC basé sur la même matrice de distances de taille N. Dans les deux cas, il faut effectuer taille de l espace de recherche opérations de comparaison : 1 cas 1) : N 2 opérations 2 cas 1) : N!/2N = O(e n ) opérations Avec une machine traitant 10 9 comparaisons/s, variation du temps de calcul en fonction de la taille de la donnée : N algo 1 0,1 µs 0,4 µs 0,9 µs 1,6 µs 2,5 µs 3,6 µs algo 2 181µs s s s s s Rappel : âge de l Univers = secondes... ( ) Recherche opérationnelle et Optimisation 15 / 100

16 Conclusion sur la complexité Bilan On sépare les problèmes en 2 classes : ceux solvables avec algos en temps polynômial : problèmes faciles (indépendamment de la difficulté d écrire l algo) ceux solvables seulement (actuellement) avec algos en temps exponentiel : problèmes difficiles, algos non faisables. Note : déterminer si une solution est un optimum global peut être non faisable. Note : il y a aussi des problèmes non tractables sur ordinateur (voir cours IASF) Nombreux problèmes difficiles => développement d heuristiques en temps polynomial pour approcher les solutions optimales. ( ) Recherche opérationnelle et Optimisation 16 / 100

17 Méta-heuristiques et recherche locale Définitions Méthode approchées = heuristiques Méta-heuristique = heuristique généralisée, incomplètement spécifiée, à adapter au problème. Parmi les méthodes approchées, optimisation boîte noire : ne requiert que la capacité d estimer la qualité des solutions Les méta-heuristiques sont souvent stochastiques, et boîte noire. Classification Les heuristiques procèdent par transformation ou par construction. Méthodes par transformation partielle de solution, on parle aussi de recherche locale. On cherche à améliorer peu à peu une solution existante et complète. Méthodes constructives : on construit une solution morceau par morceau, généralement en se basant sur la qualité des morceaux (donc pas boîte noire ). ( ) Recherche opérationnelle et Optimisation 17 / 100

18 Voisinage Dans les méthodes par transformation, une solution peut souvent être transformée en plusieurs autres possibles : Définitions l ensemble des solutions transformées possibles est le voisinage de la solution initiale. La méthode/algorithme de transformation : opérateur de voisinage. De nombreuses méta-heuristiques(de transformation) utilisent cette notion de voisinage. Pour les implanter, il faut inventer et coder un voisinage adapté au problème : Une solution doit avoir un nombre de voisins suffisant pour permettre d y trouver un voisin meilleur. Le voisinage ne doit pas être trop grand pour ne pas être trop long à explorer (typiquement taille polynomiale en fonction de la taille du problème). Le voisinage ne peut pas être l espace de recherche total recherche aléatoire! ( ) Recherche opérationnelle et Optimisation 18 / 100

19 Voisinage dans les problèmes continus Convolution Gaussienne Un voisinage standard en variables continues : ajouter un bruit Gaussien de moyenne 0 à chaque variable de la solution. La variance du bruit est à adapter au problème (faible chance de grosse modification). v e c t o r GaussianConvolution ( v e c t o r v, i n t N, f l o a t sigma2 ) { / / v : vecteur s o l u t i o n de t a i l l e N / / sigma2 : variance de l a d i s t r i b u t i o n Gaussienne / Normale / / min, max : borne minimum, maximum f l o a t tmp ; for ( i n t i = 0; i < N; i ++) { do { tmp = GaussianRandom ( 0, sigma2 ) ; } while ( ( v [ i ]+ tmp ) < min ( v [ i ]+ tmp ) > max) ; v [ i ] = v [ i ] + tmp ; } return v ; } ( ) Recherche opérationnelle et Optimisation 19 / 100

20 Voisinage dans les problèmes continus (suite) Echantillonage gaussien : La méthode de Box-Mueller permet d obtenir un bruit gaussien de moyenne µ et de variance σ 2 (algo ci-dessous). En Java, le package java.util.random fournit un générateur gaussien de moyenne 0 et de variance 1, que l on peut adapter : Gauss(µ,σ 2 ) = µ + σ 2 Gauss(0,1) f l o a t GaussianRandom ( f l o a t mu, f l o a t sigma2 ) { / / mu est l a moyenne voulue / / sigma2 est l a variance voulue f l o a t x, y, g, h ; do { x = rand ( 0. 0, 1. 0 ) ; / / d i s t r i b u t i o n uniforme y = rand ( 0. 0, 1. 0 ) ; / / d i s t r i b u t i o n uniforme ( independant de x ) w = x x + y y ; } while (! ( w > 0.0 && w < 1. 0 ) ) ; g = mu + sigma2 x s q r t ( 2 log (w) / w) ; h = mu + sigma2 y s q r t ( 2 log (w) / w) ; return g ; / / ou r e t o u r n e r h, ou l e s deux } ( ) Recherche opérationnelle et Optimisation 20 / 100

21 Optima locaux Définitions Soit V un opérateur de voisinage, une solution s est un optimum local (relativement à V ) si : s V(s),f(s ) f(s) Des optima locaux peuvent être contigus et former un plateau de fitness : zone où toutes les solutions ont la même qualité. Quand on est dans un optimum local, on ne peut plus exploiter le voisinage, sauf en acceptant de perdre de la qualité! Un optimum global est toujours aussi optimum local. Problème uni/multi-modal Problème uni-modal : il n y a qu un optimum local (/ au voisinage), et il est aussi global. Problème multi-modal : plusieurs optima locaux (/ au voisinage) a priori plus difficile à traiter. ( ) Recherche opérationnelle et Optimisation 21 / 100

22 Paysage de performance Definition Pour les problèmes en 1 ou 2 dimensions, on dessine la fonction objectif selon l axe vertical, comme une altitude. Le graphe obtenu est appelé paysage de performance ou fitness landscape. Illustration de paysage de problème uni/multi-modal ( ) Recherche opérationnelle et Optimisation 22 / 100

23 Comparaison de deux heuristiques Principes Problème des méthodes stochastiques : leur résultat varie d une exécution à l autre sur le même problème! Utiliser des méthodes de comparaisons statistiques pour comparer deux ensembles de résultats : au moins 30 exécutions par méthode. Se placer dans les conditions les plus semblables pour les deux heuristiques (graine initiale du générateur aléatoire, nombre d évaluations du fitness...) La distribution des résultats est généralement inconnue et non Gaussienne utiliser des test non paramétriques : Wilcoxon-Mann-Whitney, ou encore Kolmogorov-Smirnoff (distribution continue)... Calcul avec R Test avec le logiciel libre R : commandes wilcox.test (Wilcoxon-Mann-Whitney) et ks.test (Kolmogorov-Smirnoff) ; ( ) Recherche opérationnelle et Optimisation 23 / 100

24 Exemple de calcul avec R Avertissement : ceci un exemple jouet : les données exemples sont trop peu nombreuses (il en faudrait au moins deux fois 30). Test de similitude entre 2 heuristiques On Suppose que le résultats (non continu) de 2 heuristiques est : h 1 = {20,21,22,23,29} et h 2 = {27,32,35,39,60} > h1=c (20, 21, 22, 23, 29) > h2=c (27, 32, 35, 39, 60) > w i l c o x. t e s t ( h1, h2 ) Wilcoxon rank sum t e s t data : h1 and h2 W = 1, p value = a l t e r n a t i v e hypothesis : t r u e l o c a t i o n s h i f t i s not equal to 0 Interprétation La p-value est la probabilité que les heuristiques soient semblables (ici, 1,6% avec une confiance de 95% par défaut). On peut raisonnablement rejeter cette hypothèse. ( ) Recherche opérationnelle et Optimisation 24 / 100

25 Exemple de calcul avec R : suite Test h 1 < h 2 > h1=c (20, 21, 22, 23, 29) > h2=c (27, 32, 35, 39, 60) > w i l c o x. t e s t ( h1, h2, a l t e r n a t i v e = g r e a t e r ) Wilcoxon rank sum t e s t data : h1 and h2 W = 1, p value = a l t e r n a t i v e hypothesis : t r u e l o c a t i o n s h i f t i s g r e a t e r than 0 Interprétation Ici, avec une confiance de 95% (par défaut) on sait qu il y a 99.6% de chance que h 1 soit inférieure à h 2, ce qu on peut raisonnablement accepter. ( ) Recherche opérationnelle et Optimisation 25 / 100

26 Sommaire du chapitre 1 Généralités 2 Méthodes à solution unique Hill-climber Recuit simulé Recherche Tabou Random restart 3 Méthodes à base de population 4 Problèmes multi-critères 5 TD / TP ( ) Recherche opérationnelle et Optimisation 26 / 100

27 Hill-climber de base Principe : on suit la pente vers le bas (minimisation) 1 soit s une solution initiale (souvent aléatoire) 2 on tire un voisin, en général choisi stochastiquement, dans le voisinage de la solution s. 3 il remplace la solution courante s il est meilleur 4 on itère en 2) ou on arrète quand on a un optimum local (on est alors coincé) ou si le temps de calcul est épuisé ( ) Recherche opérationnelle et Optimisation 27 / 100

28 Hill-climber de base : algo s o l u t i o n H i l l C l i m b e r ( s o l u t i o n s0 ) { s o l u t i o n s, t ; } s = s0 ; / / c o p i e r s o l u t i o n courante do { t = V o i s i n ( s ) ; / / o b t e n i r un v o i s i n i f ( f ( t ) < f ( s ) ) / / un m e i l l e u r v o i s i n s = t ; / / remplacement } while (! s o l u t i o n s a t i s f a i s a n t e &&! temps epuise ) ; return s ; / / s est un optimum l o c a l ( ) Recherche opérationnelle et Optimisation 28 / 100

29 Hill-climber de base : illustration ( ) Recherche opérationnelle et Optimisation 29 / 100

30 Hill-climber gradient Principe : on suit la plus grande pente vers le bas (le gradient ) comme le hill-climber de base mais tester plusieurs (tous les) voisins avant d accepter. Voisin() retourne sucessivement toutes les solutions du voisinage si celui n est pas trop grand (Ex : heuristique Lin-Kernighan pour le PVC). ( ) Recherche opérationnelle et Optimisation 30 / 100

31 Hill-climber gradient : algo s o l u t i o n H i l l C l i m b e r E l i t i s t e ( s o l u t i o n s0, i n t n ) { s o l u t i o n s, t, r ; s = s0 ; / / c o p ier s o l u t i o n courante I n i t V o i s i n a g e ( s ) ; / / preparer l e 1 er v o i s i n do { t = PremierVoisin ( s ) ; / / o b t e n i r un v o i s i n for ( i = 0; i < n 1; i ++) { / / n = nombre de v o i s i n s r = VoisinSuivant ( s ) ; / / o b t e n i r un v o i s i n i f ( f ( r ) < f ( t ) ) / / un m e i l l e u r v o i s i n t = r ; / / remplacement } i f ( f ( t ) < f ( s ) ) / / l e m e i l l e u r v o i s i n est m e i l l e u r s = t ; } while (! s o l u t i o n s a t i s f a i s a n t e &&! temps epuise ) ; return s ; / / s est un optimum l o c a l } ( ) Recherche opérationnelle et Optimisation 31 / 100

32 Hill-climber (base) : illustration ( ) Recherche opérationnelle et Optimisation 32 / 100

33 Recuit simulé Principe : accepter un voisin selon un critère probabiliste, qui permet d accepter de perdre de la qualité, donc de sortir des optima locaux. Comme on peut perdre de la qualité, il faut stocker la meilleure solution rencontrée dans le passé. Cette technique est inspiré de la cristallisation des métaux de fonderie. 1 soit s une solution initiale (souvent aléatoire) 2 on tire un voisin, en général choisi stochastiquement dans le voisinage de la solution s. 3 il remplace la solution courante s il est meilleur 4 s il est moins bon il peut tout de même remplacer la solution courante, selon une règle probabiliste/stochastique : moins il est bon, moins il a de chance d être accepté. plus l algorithme avance, moins il a de chance d être accepté. 5 on le mémorise si c est la meilleure solution rencontrée 6 on itère en 2) ou on arrète si le temps de calcul est épuisé ( ) Recherche opérationnelle et Optimisation 33 / 100

34 Recuit-simulé : algo s o l u t i o n Recuit ( s o l u t i o n s0, i n t n ) { s o l u t i o n s, r, best ; f l o a t temp ; s = s0 ; / / c o p i e r s o l u t i o n courante best = s ; i n i t (&temp ) ; / / temperature i n i t i a l e do { r = V o i s i n ( s ) ; / / o b t e n i r un v o i s i n i f ( ( f ( r ) < f ( s ) ) / / un m e i l l e u r v o i s i n ( rand ( 0, 1 ) < exp ( ( f ( s ) f ( r ) ) / temp ) / / r e g l e de m e t r o p o l i s ) s = r ; / / remplacement } r e d u i r e (&temp ) ; i f ( f ( s ) < f ( best ) ) / / l e m e i l l e u r v o i s i n est m e i l l e u r best = s ; } while (! s o l u t i o n s a t i s f a i s a n t e &&! temps epuise && temp > 0) ; return best ; } ( ) Recherche opérationnelle et Optimisation 34 / 100

35 Règle de metropolis Formule Accepter r si rand(0,1) < exp((f(s) f(r))/temp) Si maximisation : rand(0,1) < exp((f(r) f(s))/temp) ( ) Recherche opérationnelle et Optimisation 35 / 100

36 Planning de recuit Question A quelle temperature commencer? solutions aléatoires. Quelle décroissance de température? Tester l acceptation de 95% de Créer des paliers de température : idéalement on devrait avoir une chance non nulle de pouvoir atteindre n importe quelle solution de l espace (ergodicité) pendant le palier. Faible baisse de température entre paliers : temp t+1 = c temp t avec 0 < c < 1 proche de 1. ( ) Recherche opérationnelle et Optimisation 36 / 100

37 Recuit simulé : bilan Est que ça marche? Selon les problèmes... Très bon ou très mauvais (en temps) par rapport aux autres heuristiques. Exemple d application : déplacement du bras de Mars Explorer. ( ) Recherche opérationnelle et Optimisation 37 / 100

38 Recherche Tabou (F. Glover, 1986) Principe Recherche Tabou : extension du Hill-climber. Arrivé sur un optimum local on poursuit la recherche pour sortir du bassin d attraction de cet optimum. Bassin d attraction d un optimum local : ensemble des solutions telles que, en partant d elles, le hill-climber mène au même optimum local (rappel : dépendant du voisinage). On accepte de perdre de la qualité, pour s éloigner de l optimum local. Problème : On veut pouvoir accepter une bonne nouvelle solution On veut éviter de succomber à l attraction des relativement bonnes solutions que l on laisse derrière nous autour de l optimum local ( ) Recherche opérationnelle et Optimisation 38 / 100

39 Recherche Tabou (suite) Compromis Pour éviter de retourner en arrière, on garde en mémoire une liste de transformations interdites : liste tabou. Pour saisir une éventuelle bonne occasion, un critère d aspiration permet de passer outre à la liste tabou dans certains cas précis. La liste tabou peut contenir : les solutions récemment explorées (faible) l inverse des transformations récemment explorées (mieux) Il faut la parcourir souvent, donc sa taille est un facteur critique : Trop grande, elle est coûteuse Trop courte, on risque de tourner en rond faire varier sa taille dynamiquement Critère d aspiration standard : améliorer la meilleure solution trouvée (on est donc sorti de l optima local) ( ) Recherche opérationnelle et Optimisation 39 / 100

40 Recherche Tabou (suite) Alors que l arrêt de l algorithme du grimpeur est garanti par construction, l algorithme Tabou peut boucler infiniment puisqu il s autorise à gagner puis à perdre en qualité des solutions. Critère d arrêt habituel : stopper l exploration quand on n a pas réussi à améliorer la meilleure solution trouvée pendant un nombre d itérations donné. ( ) Recherche opérationnelle et Optimisation 40 / 100

41 Recherche Tabou : illustration ( ) Recherche opérationnelle et Optimisation 41 / 100

42 Recherche Tabou : algo s o l u t i o n tabou ( s0 : s o l u t i o n ) { s o l u t i o n s, t, old, best ; i n t compteur ; l i s t e T ; / / l i s t e tabou } s = s0 ; best = s0 ; compteur = 0; while ( compteur < BORNE) { compteur = compteur + 1; / / o b t e n i r m e i l l e u r v o i s i n non taboue ( ou a s p i re ) t = m e i l l e u r v o i s i n ( s, T ) ; old = s ; s = t ; i f ( f ( i ) < f ( best ) ) { best = i ; compteur = 0; / / i n i t temps recherche } m e t t r e a j o u r (& old, &s, &T ) ; } return best ; ( ) Recherche opérationnelle et Optimisation 42 / 100

43 Random restart Idée Chacune des heuristiques explore une (infime) partie de l espace de recherche. Toutes sont génées par les optima locaux de la partie de l espace explorée. relancer l algo avec une autre solution initiale, générée stochastiquement ou avec un schéma systématique de diversification. on peut aussi modifier le paramètrage de l algorithme, lors de ces nouveaux essais : changer le planning de recuit, la taille de la liste tabou,... ( ) Recherche opérationnelle et Optimisation 43 / 100

44 Sommaire du chapitre 1 Généralités 2 Méthodes à solution unique 3 Méthodes à base de population Généralités Méthodes évolutionnaires Principes Vocabulaire Reproduction asexuée / sexuée Caractéristiques générales Stratégies évolutionnaires Algorithme génétique Méthode de Path-Relinking Algorithme des Fourmis Étude des insectes sociaux Stigmergie artificielle 4 Problèmes multi-critères ( ) Recherche opérationnelle et Optimisation 44 / 100

45 Méthodes à base de population Principe : prendre en compte plusieurs solutions simultanément. Méthodes évolutionnaires Plusieurs méthodes à base de population de solutions s inspirent de l évolution Darwinienne. Idée : l évolution a su assembler des molécules pour créer des être vivants sophistiqués modéliser l évolution de solutions à un problème donné. Il existe d autres méthodes de population, d inspiration plus intuitive. ( ) Recherche opérationnelle et Optimisation 45 / 100

46 Méthodes évolutionnaires : principes Théorie de l évolution Darwinienne Principe de sélection naturelle (Darwin, 1859) Evolution = survie des meilleurs? Evolution = Reproduction des individus suffisamment bien adaptés. Apparition de variations lors de la reproduction. Accumulation des caractères favorables. Pinsons de Darwin ( ) Recherche opérationnelle et Optimisation 46 / 100

47 Méthodes évolutionnaires : vocabulaire Le vocabulaire est fortement emprunté à la biologie : Table d équivalence individu = solution population = ensemble d individus fitness = qualité évaluation = calcul du fitness pour tous les individus de la population génotype / génome / chromosome = encodage d une solution phénotype = représentation de la solution afin de calculer sa qualité (peut être semblable ou pas à son génome) géne = position dans le génome allèle = valeur d un gène ( ) Recherche opérationnelle et Optimisation 47 / 100

48 Méthodes évolutionnaires : vocabulaire (suite) Table d équivalence (suite) sélection = choix des solutions destinées à être répliquées parent = solution sélectionnée pour être répliquée enfant = parent après réplication et variation / tranformation mutation = variation / transformation crossover = recombinaison de parties du génome des parents pour produire les enfants génération = itération de l algorithme comprenant le remplacement d une population par la population fille. ( ) Recherche opérationnelle et Optimisation 48 / 100

49 Méthodes évolutionnaires : schéma général ( ) Recherche opérationnelle et Optimisation 49 / 100

50 Modèles de réplication / reproduction Modèles naturels La nature offre deux modèles de reproduction : Reproduction asexuée ou clônage, plutôt organismes simples (unicellulaires, moisissures, fraisiers, pucerons,...) variation du génome par mutation. Reproduction sexuée, plutôt organismes complexes variation du génome par mutation et par recombinaison des génomes des parents. Modélisation informatique Stratégies évolutionnaires (Schwefel & Rechenberg, 1969) : mutation seule, généralement implantée comme une transformation dans un voisinage. Algorithme génétique (Holland, 1974) : mutation et recombinaison. ( ) Recherche opérationnelle et Optimisation 50 / 100

51 Principe de la recombinaison Recombinaison Recombiner c est mélanger les caractères des parents. Attention à utiliser un mélange non moyennant! Exemple : mélanger de l eau et du vin ne permet jamais de retrouver soit de l eau soit du vin pur c est un mélange moyennant. Objection du XIXème siècle à la théorie de Darwin : la spéciation est impossible. ( ) Recherche opérationnelle et Optimisation 51 / 100

52 Recombinaison (suite) Recombinaison discrète Si les génes sont discrets (cas des génomes des êtres vivants), alors la recombinaison par crossover n est pas moyennante. ( ) Recherche opérationnelle et Optimisation 52 / 100

53 Recombinaison (suite) Recombinaison continue Si les gènes sont continus, il faut simuler un caractère discret pour obtenir un effet non moyennant. Exemple de 2 gènes numériques parents : tirer la valeur du gène recombiné selon une distribution de probabilité non moyennante BLX-0.5 et BGX-like sont beaucoup plus généraux que BLX-0. ( ) Recherche opérationnelle et Optimisation 53 / 100

54 Méthodes évolutionnaires : caractéristiques générales Caractéristiques Coûteuses en temps de calcul : on manipule des populations parfois de l ordre du million d individus. à réserver aux problèmes difficiles. Généralement stochastiques maintenir la variété des individus. Très paramétrées : taille de la population, nombre de génération, opérateurs de variations,... Assez robustes au paramétrage. Efficaces si on sait introduire de la connaissance sur le problème, notamment dans les opérateurs de variations, et dans l évaluation (gain de temps). ( ) Recherche opérationnelle et Optimisation 54 / 100

55 Stratégies évolutionnaires (µ, λ) Caractéristiques Elles correspondent au schéma de reproduction asexué, sans partage d information entre solutions. Toutefois la sélection se fait en comparant le fitness des solutions (donc différent d une heuristique à solution unique itérée plusieurs fois). Deux variantes principales : S.E.(µ, λ) : les µ meilleurs des λ enfants remplacent les µ parents ; S.E.(µ + λ) : les µ meilleurs des µ parents + λ enfants remplacent les µ parents ; Utilisées plutôt sur les problèmes continus. Heuristique du 1/5ème Une règle heuristique pour adapter la variance du bruit Gaussien sur les problèmes continus : augmenter la variance si plus de 1/5ème des enfants sont de fitness meilleurs que les parents, la diminuer si c est moins de 1/5ème, laisser identique sinon. ( ) Recherche opérationnelle et Optimisation 55 / 100

56 Stratégies évolutionnaires (µ, λ) } s o l u t i o n E v o l S t r a t ( i n t mu, i n t lambda ) { s o l u t i o n best = NULL ; i n t c h i l d ; Population P, Q; i n i t (P, lambda ) ; / / creer l a pop i n i t i a l e de t a i l l e lambda i n i t (Q, mu) ; / / temporaire pour reproducteurs while ( 1 ) { for ( i n t i = 0; i < lambda ; i ++) / / eval pop Evaluer (P [ i ] ) ; t r i e r (P) ; / / par cout c r o i s s a n t i f ( best == NULL f i t n e s s (P [ 0 ] ) < f i t n e s s ( best ) ) best = P [ 0 ] ; i f ( s o l u t i o n s a t i s f a i s a n t e ( best ) temps epuise ) return best ; c o p i e r (Q, P, mu) ; / / Q[ 0.. mu 1] < P [ 0.. mu 1]; c h i l d = 0; for ( i n t i =0; i < mu; i ++) / / l e s mu m e i l l e u r s for ( i n t j = 0; j < lambda /mu; j ++) P [ c h i l d ++] = Muter ( Copie (Q[ i ] ) ) ; / / nouvel enfant } ( ) Recherche opérationnelle et Optimisation 56 / 100

57 Stratégies évolutionnaires (µ + λ) } s o l u t i o n E v o l S t r a t ( i n t mu, i n t lambda ) { s o l u t i o n best = NULL ; i n t c h i l d ; Population P ; i n i t (P, mu+lambda ) ; / / pop i n i t, t a i l l e mu+lambda while ( 1 ) { for ( i n t i = 0; i < mu+lambda ; i ++) / / eval pop Evaluer (P [ i ] ) ; t r i e r (P) ; / / par cout c r o i s s a n t i f ( best == NULL f i t n e s s (P [ 0 ] ) < f i t n e s s ( best ) ) best = P [ 0 ] ; i f ( s o l u t i o n s a t i s f a i s a n t e ( best ) temps epuise ) return best ; c h i l d = mu; for ( i n t i =0; i < mu; i ++) / / l e s mu m e i l l e u r s for ( i n t j = 0; j < lambda /mu; j ++) P [ c h i l d ++] = Muter ( Copie (P [ i ] ) ) ; / / nouvel enfant } ( ) Recherche opérationnelle et Optimisation 57 / 100

58 Algorithme génétique Caractéristiques Imite la reproduction sexuée partage d information entre solutions. Deux variantes principales : A.G. générationnel : les enfants d une génération remplacent tous les parents de la génération précédente. A.G. steady state : chaque enfant remplace immédiatement un parent moins bon et devient parent potentiel. Elitisme : conserver une fraction des meilleurs parents à la génération suivante (même si tous les enfants sont meilleurs). Cas binaire Les solutions sont des vecteurs de bits. Les opérateurs de transformations standards sont : La mutation bit-flip qui inverse certains bits selon une probabilité donnée. Le crossover 1-point qui coupe 2 vecteurs parents au même endroit et échange deux moitiés pour créer les enfants. ( ) Recherche opérationnelle et Optimisation 58 / 100

59 Algorithme génétique } s o l u t i o n GA( i n t popsize, i n t n ) { / / n : nombre d e l i t e s s o l u t i o n best = NULL, Pa, Pb, Ca, Cb ; Population P, Q; i n i t (P, popsize ) ; do { for ( i n t i = 0; i < popsize ; i ++) / / eval pop Evaluer (P [ i ] ) ; t r i e r (P) ; / / par cout c r o i s s a n t i f ( best == NULL f i t n e s s (P [ 0 ] ) < f i t n e s s ( best ) ) best = P [ 0 ] ; c o p i e r (Q, P, n ) ; / / Q[ 0.. n 1] < P [ 0.. n 1] for { i n t i = 0; i < ( popsize n ) / 2 ; i ++) { Pa = S e l e c t i o n (P) ; Pb = S e l e c t i o n (P) ; Crossover (&Pa, &Pb, &Ca, &Cb) ; Q[ i 2+n ] = Mutation (Ca) ; Q[ i 2+1+n ] = Mutation (Cb) ; } P=Q; while (! s o l u t i o n s a t i s f a i s a n t e ( best ) &&! temps epuise ) ; return best ; ( ) Recherche opérationnelle et Optimisation 59 / 100

60 A.G. : sélection, mutation Sélection par tournoi s o l u t i o n TournamentSelection ( Population P, i n t tournament size ) { s o l u t i o n best = P [ rand ( 0,N 1]; / / t i r a g e alea d un i n d i v i d u for ( i n t i =2; i <= tournament size ; i ++) { s o l u t i o n next = P [ rand ( 0,N 1]; i f ( f i t n e s s ( next ) < f i t n e s s ( best ) ) / / next est m e i l l e u r best = next ; } return best ; } La sélection est indépendante a priori de la forme des solutions. Il existe d autres méthodes de sélection, éventuellement multi-critères. ( ) Recherche opérationnelle et Optimisation 60 / 100

61 A.G. binaire : mutation Mutation bit-flip s o l u t i o n B i t F l i p M u t a t i o n ( s o l u t i o n v, f l o a t p ) { / / p : p r o b a b i l i t e d i n v e r s e r un b i t for ( i n t i =0; i < L ; i ++) / / L est l a longueur de v i f ( rand ( 0. 0, 1. 0 ) < p ) v [ i ] = v [ i ] ; / / i n v e r s i o n du ieme b i t return v ; } Les opérateurs de mutation sont dépendants de la forme des solutions. Pour les problèmes continus, utiliser la notion de convolution Gaussienne. ( ) Recherche opérationnelle et Optimisation 61 / 100

62 A.G. binaires : crossover Crossover 1-point binaire void One PointCrossover ( s o l u t i o n pa, s o l u t i o n pb, s o l u t i o n ca, s o l u t i o n cb ) { i n t tmp ; c o p i e r S o l u t i o n ( ca, pa ) ; c o p i e r S o l u t i o n ( cb, pb ) ; i n t c = rand ( 0, L 1) ; / / L = t a i l l e des s o l u t i o n s for ( i n t i = c ; i < L ; i ++) { tmp = ca [ i ] ; ca [ i ] = cb [ i ] ; cb [ i ] = tmp ; } } Les opérateurs de crossover sont aussi dépendants de la forme des solutions. Pour les problèmes continus, utiliser la notion de recombinaison non moyennante. ( ) Recherche opérationnelle et Optimisation 62 / 100

63 Méthode de Path-Relinking Caractéristiques méthode à base de population mais sans fondements évolutionnaires. Principe : Utiliser des redémarrages d un algo de recherche locale pour obtenir une archive d optima locaux. Explorer l espace en parcourant les solutions situées entre paires d optima locaux. Optimiser ces solutions intermédiaires dans l espoir d obtenir de nouveaux optima, qui pourront être intégrés à l archive. Pré-requis (pour relier les solutions entre elles) : opérateur de voisinage ergodique mesure de distance entre solutions et/ou calcul de la différence entre solutions (relativement au voisinage) ( ) Recherche opérationnelle et Optimisation 63 / 100

64 Path-Relinking : algo s o l u t i o n PathRelinking ( s o l u t i o n ol1, s o l u t i o n ol2 ) { s o l u t i o n best, courant, tmp, c i b l e ; Population P ; i f ( f ( ol1 ) < f ( ol2 ) ) { best = c i b l e = ol1 ; courant = ol2 ; } else { best = c i b l e = ol2 ; courant = ol1 }; while ( courant!= c i b l e ) { t r i e r (P) ; / / par cout c r o i s s a n t t r i e r D i s t (P) ; / / par distance c r o i s s a n t e a c i b l e courant = P [ 0 ] ; / / l e m e i l l e u r des plus proches de c i b l e tmp = OptimLocale ( courant ) ; / / recherche l o c a l e i f ( f ( tmp ) < f ( best ) ) best = tmp ; } return best ; } ( ) Recherche opérationnelle et Optimisation 64 / 100

65 Algorithme des Fourmis : étude des insectes sociaux Présentation 2% des insectes ont un comportement social : fourmis, termites, abeilles insectes sociaux! 50% sont des fourmis. 100 millions d années d évolution... Quelques exemples : Les Atta coupent des feuilles d arbres et organisent des autoroutes pour aller les chercher. Les Oecophylla construisent des ponts entre feuilles. Les Eciton organisent des raids de chasse comprenant jusqu à individus. fourmis Oecophylla ( ) Recherche opérationnelle et Optimisation 65 / 100

66 Théorie de l auto-organisation Principe Un comportement intelligent (en fait adapté) au niveau macrosocpique émerge d interactions simples au niveau microscopique. Cela n exclut pas la possibilité de comportements complexes indépendants au niveau microscopique. 4 composantes de base : Amplification positive : les bons comportements sont renforcés (ex : recrutement de fourmis). Renforcement négatif : les mauvais comportements sont évités (ex : abandon d anciennes pistes périmées). Fluctuations aléatoires : de nouvelles solutions peuvent être découvertes (ex : marches aléatoires). Interactions multiples : le succès repose sur le grand nombre d agents (ex : colonies de 30 à plusieurs millions de fourmis). ( ) Recherche opérationnelle et Optimisation 66 / 100

67 Auto-organisation chez les fourmis Principes Les agents communiquent : directement : contact par les antennes, visuel, sonore... indirectement : en modifiant l environnement par des dépôts de phéromones. La communication indirecte s appelle stigmergie, et est essentielle à la coordination des activités des fourmis. Stigmergie par phéromones Une type de phéromone attire les autres fourmis ; Elle s évapore au cours du temps ; Elle est déposé par les fourmis lors de leurs déplacements ; La quantité déposée est controllée par la fourmi ; Les individus du même nid partagent des phéromones de même type. ( ) Recherche opérationnelle et Optimisation 67 / 100

68 Exemple de stigmergie chez la fourmi Sélection du plus court chemin Chemin plus court plus haute fréquence de passage Accroissement de la concentration en phéromone Evaporation sur les autres chemins Le chemin le plus court devient le principal (une fraction des fourmis continuera d emprunter les autres). ( ) Recherche opérationnelle et Optimisation 68 / 100

69 Stigmergie artificielle Principe Simuler par des agents informatiques le comportements des insectes sociaux Ant Colony Optimisation (ACO). Ajouter des heuristiques (hill-climber, tabou...) pour raffiner les solutions. résolution de problèmes d optimisation combinatoire : routage, ordonnancement... (PVC, QAP, SOP, fouille de données, e-learning,...) En pratique On gère une mémoire de phéromones, associé aux éléments du problème. Ex : choisir le sommet suivant dans un PVC : Préférer les arcs avec de forts dépôts de phéromone. Ajouter de la phéromone sur les arcs constituant de bons circuits. Diminuer régulièrement la phéromone (évaporation) pour oublier les arcs peu utilisés (mauvais circuits). C est une méthode constructive (ajout d arcs). ( ) Recherche opérationnelle et Optimisation 69 / 100

70 Fourmis artificielles pour le PVC Probabilité de choisir un arc Un agent fourmi situé sur un noeud du graphe va choisir le prochain noeud à visiter. La probabilité de choisir l arc (i,j) dépend : de la concentration relative en phéromone τ, par rapport à tous les arcs issus du sommet i ; d une mesure heuristique η de la qualité de la composante (ex : inverse de la longueur de l arc) : P[(i,j)] = τ α i,j ηβ i,j où α, β : importance relative de τ et η. k succ(i) (τ α i,k ηβ i,k ) Mise à jour : renforcement et évaporation Renforcement : solution s et arc (i,j) s : τ i,j = τ i,j + 1/Fitness(s) où le fitness est la longueur du tour (le plus petit, le mieux). Pour l évaporation on applique : arc (i,j) du graphe : τ i,j = (1 ε)τ i,j avec 0 < ε << 1 On borne τ : τ min τ i,j τ max ainsi tous les arcs ont une chance. ( ) Recherche opérationnelle et Optimisation 70 / 100

71 Fourmis et PVC : algo s o l u t i o n ACO PVC( i n t popsize, s o l u t i o n p i s t e [ ] ) { / / p i s t e : tableau de s o l u t i o n s, une par fourmi s o l u t i o n best = NULL ; do { for ( i n t i = 0; i < popsize ; i ++) { / / l e s fourmis p i s t e [ i ] [ 0 ] = 0; / / on demarre t o u j o u r s en v i l l e 0 for ( i n t j = 1; j < N; j ++) / / completer l e t o u r p i s t e [ i ] [ j ] = ChoixFourmi ( p i s t e [ i ] [ j 1]) ; / / c h o i s i r v i l l e } for ( i n t i = 0; i < popsize ; i ++) { / / o p t i m i s a t i o n h e u r i s t i q u e RechercheLocale ( p i s t e [ i ] ) ; / / ex : h e u r i s t i q u e LK for ( i n t i = 0; i < popsize ; i ++) { / / e v a l u a t i o n Evaluer ( p i s t e [ i ] ) ; i f ( best == NULL f i t n e s s ( p i s t e [ i ] ) < f i t n e s s ( best ) ) best = p i s t e [ i ] ; } for ( i n t i = 0; i < popsize ; i ++) / / MAJ pheromone MiseAJourPheromone ( p i s t e [ i ] ) ; / / en f o n c t i o n du f i t n e s s } while (! s o l u t i o n s a t i s f a i s a n t e ( best ) &&! temps epuise ) ; return best ; } ( ) Recherche opérationnelle et Optimisation 71 / 100

72 Sommaire du chapitre 1 Généralités 2 Méthodes à solution unique 3 Méthodes à base de population 4 Problèmes multi-critères Définitions Front Pareto Réduction à un objectif Combinaison linéaire Approches évolutionnaires Approches par Pareto-domination Rang Pareto Gestion de la diversité 5 TD / TP ( ) Recherche opérationnelle et Optimisation 72 / 100

73 Problèmes multi-critères Définitions Problème multicritère plusieurs fonctions objectifs à optimiser simultanément, avec souvent des objectifs partiellement contradictoires. Une solution x est Pareto-dominante vis à vis d une solution y si : x est supérieure ou égale à y et sur tous les objectifs x est strictement meilleure que y sur au moins un objectif. Si x Pareto-domine y, il n y a aucune utilité à proposer y. ( ) Recherche opérationnelle et Optimisation 73 / 100

74 Front Pareto Définition Les solutions de l espace de recherche non Pareto-dominée forment le front Pareto. On parle de solutions Pareto-optimales (et on étend ces concepts aux solutions effectivement visitées par l algorithme). Les solutions Pareto-optimales sont incomparables entre elles elles réalisent des compromis différents / aux objectifs Le front Pareto n est pas forcément continu, et il peut être très étendu. On cherche à échantillonner au mieux les solutions du front Pareto on veut une collection de solutions non Pareto-dominée et pas une seule solution-compromis. les méthodes à base de population sont à privilégier comme l algorithme génétique. ( ) Recherche opérationnelle et Optimisation 74 / 100

75 Front Paréto : illustration ( ) Recherche opérationnelle et Optimisation 75 / 100

76 Réduction à un objectif Combinaison linéaire Une méthode ancienne : prendre une combinaison linéaire des objectifs. Ex : f(s) = 2 Perf(s) + Duree(s) 3 Cout(s) Problèmes : Comment fixer les poids? Les solutions préférées ne sont pas toujours les plus proches du front Pareto théorique. Exemple avec f(s) = f x (s) + f y (s) : ( ) Recherche opérationnelle et Optimisation 76 / 100

77 Réduction à un objectif (suite) Approches évolutionnaires Utiliser une méthode évolutionnaire à base de population, modifier la sélection. Pour éviter de déterminer des poids, utiliser la sélection par tournoi : Tournoi lexicographique : considérer un ordre sur les objectifs ex : Cout(s) > Perf(s) > Duree(s)) Tournoi avec objectif tiré aléatoirement. Tournoi avec comparaison majoritaire des fonctions objectives. ( ) Recherche opérationnelle et Optimisation 77 / 100

78 Réduction à un objectif : tournoi lexicographique s o l u t i o n MultiobjLexicographicTournament ( Population P, i n t sizepop, i n t turnsize, i n t ObjNumber, / / t a i l l e t o u r n o i, nombre d o b j e c t i f s ObjFun f ) { / / f : tableau de p o i n t e u r de f o n c t i o n s o b j e c t i f s } s o l u t i o n Best = P [ random ( 0, sizepop 1) ] ; for ( i n t i = 1; i < turnsize 1; i ++) { / / t a i l l e du t o u r n o i s o l u t i o n Next = P [ random ( 0, sizepop 1) ] for ( i n t j = 0; j < ObjNumber ; j ++) { / / parcours l e s o b j e c t i f s i f ( ( f [ j ] ) ( Next ) < f [ j ] ( Best ) ) { / / m e i l l e u r Best = Next ; break ; } else i f ( ( f [ j ] ) ( Next ) > ( f [ j ] ) ( Best ) ) / / p i r e break ; / / else i t e r a t i o n suivante, comparer avec autre o b j e c t i f } } } return Best ; ( ) Recherche opérationnelle et Optimisation 78 / 100

79 Approches par Pareto-domination Rang Pareto Assigner le (fitness de) rang 1 aux solutions non dominées. Assigner le rang 2 à celles dominées uniquement par celles de rang 1. Assigner le rang 3 aux solutions dominées uniquement par celles de rang 2 et 1, etc... L algo se code facilement en ignorant à chaque étape les solutions des rangs précédents ( ) Recherche opérationnelle et Optimisation 79 / 100

80 Rang Pareto : illustration ( ) Recherche opérationnelle et Optimisation 80 / 100

81 Extraction du front Pareto-dominant Population ParetoDominantFront ( Population G) { / / G : groupe de s o l u t i o n dont on veut un f r o n t } F = {} / / Le f r o n t, vide au depart for each s o l u t i o n G[ i ] de G { F = F + {G[ i ]} / / a j o u t e r G[ i ] / / on l e suppose dans l e f r o n t for each s o l u t i o n F [ j ] de F autre que G[ i ] { i f ( F [ j ] Pareto domine G[ i ] ) F = F { G[ i ] } / / l e r e t i r e r else i f (G[ i ] Pareto domine F [ j ] ) F = F { F [ j ] } / / un pretendant a r e t i r e r } } return F ( ) Recherche opérationnelle et Optimisation 81 / 100

82 Gestion de la diversité Espacement Sparsity On souhaite que le front soit échantillonné le mieux possible utiliser une mesure d espacement en plus du rang Pareto. Ex : sommer les dimensions des côtés de la boîte qui contient un point du front et s arrète à ses voisins. ( ) Recherche opérationnelle et Optimisation 82 / 100

83 Calcul de l espacement Population AssignSparsity ( Population R, Objectives O) { / / R : Population s t r u c t u r e e en rangs Pareto / / O = {O[ 1 ],..., O[ n ] } o b j e c t i f s for each rang Pareto F de R { for each s o l u t i o n F [ j ] de F { F [ j ]. espacement = 0; for each o b j e c t i f O[ i ] de O { t r i e r O b j ( F, O[ i ] ) / / F par v aleur d o b j e c t i f i c r o i s s a n t F [ 0 ] = INFINITY ; F [ LAST ] = INFINITY ; for ( j = 1; j < LAST ; j ++) F [ j ]. espacement = F [ j ] espacement + O[ i ] ( F [ j 1]) O[ i ] ( F [ j + 1 ] ) ; } } return F ; } ( ) Recherche opérationnelle et Optimisation 83 / 100

84 Utilisation de l espacement Algorithme NSGA-II Lors de la phase de sélection, lorsque 2 individus ont même fitness (rang) Pareto, on préfère celui qui a le plus grand espacement. L algorithme NSGA-II (K. Deb, 2000) utilise l espacement et intègre en plus une archive des meilleures solutions trouvées, dans le cadre d une stratégie évolutionnaire (µ + λ). ( ) Recherche opérationnelle et Optimisation 84 / 100

85 Sommaire du chapitre 1 Généralités 2 Méthodes à solution unique 3 Méthodes à base de population 4 Problèmes multi-critères 5 TD / TP Exercices Présentation des TPs La fonction de Griewank Les matrices de Erickson Compte-rendu ( ) Recherche opérationnelle et Optimisation 85 / 100

86 TD exo 0 Codage de Gray BoolVector GrayEncode ( BoolVector v ) { BoolVector w = v ; for ( i = 1; i < w. s ize ( ) ; i ++) i f ( v [ i 1]) w[ i ] = w[ i ] ; return w; } Sur l espace de recherche des entiers codés sur 4 bits : Donnez la table de codage décimal habituel vers code de Gray ; Commentez. Soit la fonction objectif : f(x) = x si x 8 ou 0 sinon. Représentez f(x) en codage habituel, puis en code de Gray. Commentez. ( ) Recherche opérationnelle et Optimisation 86 / 100

87 TD exo 1 Coloration de graphe On veut colorer un graphe avec le nombre minimum K de couleurs. Est-ce un problème d optimisation? De quel type? Quelle est la forme des solutions? Que peut-on dire de l espace de recherche? Proposer un opérateur de voisinage et de crossover. ( ) Recherche opérationnelle et Optimisation 87 / 100

88 TD exo 2 Sac à dos Soit un ensemble O = {O 0,O 1,...,O n } ; Chaque objet est caractérisé par sa taille t(0 i ) et sa valeur v(o i ) ; On veut remplir un sac de capacité C avec un sous-ensemble S O ; Soit i 0,i 1,...,i k les numéros des objets de S, il faut : maximiser la valeur des objets emmenés : k j=0 v(o i j ) respecter la capacité maximum du sac : k j=0 t(o i j ) C Caractériser ce problème d optimisation. Proposer un opérateur de voisinage et de crossover. ( ) Recherche opérationnelle et Optimisation 88 / 100

89 TD exo 3 Sudoku 4x4 Un sudoku 4x4 se compose d une grille de 4x4 cases ; divisée en 4 régions de 2x2 cases ; la grille est déjà partiellement remplie ; il faut la compléter avec des nombres entre 1 et 4 ; de telle sorte qu un chiffre n apparaisse jamais 2 fois dans chaque ligne, chaque colonne et chaque région. Caractériser ce problème d optimisation. Proposer un opérateur de voisinage et de crossover, sans oublier que les chiffres déjà donnés dans la grille initiale sont fixés! ( ) Recherche opérationnelle et Optimisation 89 / 100

90 TD exo 4 Bi-section de graphe Soit un graphe G = (S,A), on veut le partitionner en deux sous-graphes de même ordre (nombre de noeuds), tels que le nombre d arcs allant d un sous-graphe à l autre soit minimal. Plus formellement, soit G = (S,A), on cherche G = (S,A ) et G = (S,A ) tels que : S = S S S = S Soit C un sous-ensemble de A défini par C = {x A tels que I(x) S et T (x) S ou bien I(x) S et T (x) S }, avec I(x) et T (x) les applications associant respectivement le sommet initial et le sommet terminal de l arc x ; Le cardinal de C est minimum. Caractériser ce problème d optimisation. Proposer un opérateur de voisinage et de crossover. ( ) Recherche opérationnelle et Optimisation 90 / 100

91 Présentation des TPs Nous aborderons en TD/TP la résolution de deux problèmes d optimisation : 1 la fonction de Griewank 2 les matrices de Erickson Nous attaquerons ces problèmes avec 3 heuristiques stochastiques vues en cours : le Hill-Climber la Stratégie Evolutionnaire (µ, λ) le Recuit Simulé Pour des raisons pratiques (l horaire de TP est limité) vous testerez les 2 premiers algorithmes sur la fonction de Griewank, et le dernier sur les matrices de Erickson. ( ) Recherche opérationnelle et Optimisation 91 / 100

92 Fonction de Griewank Définition La fonction de Griewank est donnée par la formule : f(x 1,x 2,...,x n ) = n i=1 (x 2 i /4000) n i=1 cos(x i / i) + 1 On cherche x 1,x 2,...,x n tels que f prend sa valeur minimum. Chaque variable x i prend ses valeurs dans [ 600;600] Nous fixerons n = 10. Note : on connait l optimum global, qui est le point origine. On pourra donc facilement constater en TP si l heuristique fait converger les x i vers 0. ( ) Recherche opérationnelle et Optimisation 92 / 100

93 Fonction de Griewank : illustration pour n = 2 ( ) Recherche opérationnelle et Optimisation 93 / 100

94 Fonction de Griewank : questions Est-ce un problème d optimisation? De quel type? Quelle est la forme des solutions? Que peut-on dire de l espace de recherche? Proposer un opérateur de voisinage. ( ) Recherche opérationnelle et Optimisation 94 / 100

95 Matrices de Erickson Problème (d après M.J. Erickson, Introduction to Combinatorics,1963) Trouver un entier positif n vérifiant la propriété suivante : quelque soit la matrice binaire carrée de taille n n, il existe i,j,k tels que les éléments de la matrice d indice (i,j), (i + k,j), (i,j + k), (i + k,j + k) ont la même valeur. Les 4 éléments forment un carré et sont tous soit de valeur 0 soit de valeur 1 : on parle de carré constant ou encore de carré monochromatique (en assimilant 0 et 1 à des couleurs). C est un problème assez difficile, résolu en 2009 par énumération de l espace de recherche sur ordinateur : on peut toujours trouver un carré constant dès que la taille de la matrice est n 15. ( ) Recherche opérationnelle et Optimisation 95 / 100

96 Matrices de Erickson (suite) Nous nous interesseront au problème dérivé plus simple : Définition du problème dérivé Matrice de Erickson : matrice binaire carrée de taille n, sans carré constant. Trouver une matrice de Erickson pour un n donné. On traitera en TP les problèmes de taille n = 8 à n = 14 (on sait qu il est inutile de chercher au delà de la taille 14). Pour une taille donnée, on cherche à éliminer les carrés constants. Note : le problème en taille 14 est assez difficile. ( ) Recherche opérationnelle et Optimisation 96 / 100

97 Matrices de Erickson : illustration pour n = 14 ( ) Recherche opérationnelle et Optimisation 97 / 100

Modélisation multi-agents - Agents réactifs

Modélisation multi-agents - Agents réactifs Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - julien.saunier@ifsttar.fr Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet. pierre.chauvet@uco.fr Atelier Transversal AT11 Activité «Fourmis» Pierre Chauvet pierre.chauvet@uco.fr Ant : un algorithme inspiré de l éthologie L éthologie Etude scientifique des comportements animaux, avec une perspective

Plus en détail

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux

Jean-Philippe Préaux http://www.i2m.univ-amu.fr/~preaux Colonies de fourmis Comment procèdent les colonies de fourmi pour déterminer un chemin presque géodésique de la fourmilière à un stock de nourriture? Les premières fourmis se déplacent au hasard. Les fourmis

Plus en détail

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

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques Université Mohammed V, Faculté des Sciences de Rabat Laboratoire de Recherche Mathématiques, Informatique et Applications Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques MASTER

Plus en détail

Optimisation Combinatoire et Colonies de Fourmis Nicolas Monmarche April 21, 1999 Sommaire Inspiration biologiques Ant Colony Optimization Applications TSP QAP Flow Shop Problemes dynamiques 1 Historique

Plus en détail

Programmation linéaire

Programmation linéaire 1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit

Plus en détail

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

Une application des algorithmes génétiques à l ordonnancement d atelier Une application des algorithmes génétiques à l ordonnancement d atelier VACHER Jean-Philippe - GALINHO Thierry - MAMMERI Zoubir Laboratoire d Informatique du Havre Université du Havre 25, Rue Philippe

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France

Théorie et Codage de l Information (IF01) exercices 2013-2014. Paul Honeine Université de technologie de Troyes France Théorie et Codage de l Information (IF01) exercices 2013-2014 Paul Honeine Université de technologie de Troyes France TD-1 Rappels de calculs de probabilités Exercice 1. On dispose d un jeu de 52 cartes

Plus en détail

Intelligence des essaims (Swarm Intelligence)

Intelligence des essaims (Swarm Intelligence) Intelligence des essaims (Swarm Intelligence) Présentation Ghislain O Mahony 27 novembre 2006 Réunion Emergence 1 Les auteurs / caractéristiques ouvrage Les auteurs Eric Bonabeau Chef scientifique Icosystem

Plus en détail

Complexité et auto-organisation chez les insectes sociaux. Complexité et auto-organisation chez les insectes sociaux

Complexité et auto-organisation chez les insectes sociaux. Complexité et auto-organisation chez les insectes sociaux Complexité et auto-organisation chez les insectes sociaux Guy Theraulaz Centre de Recherches sur la Cognition Animale CNRS, UMR 5169, Toulouse, France Marathon des Sciences XXIII ème Festival d Astronomie,

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

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

Différentes opérateurs évolutionnaires de permutation: sélections, croisements et mutations LABORATOIRE D INFORMATIQUE DE L UNIVERSITE DE FRANCHE-COMTE EA 4269 Différentes opérateurs évolutionnaires de permutation: sélections, croisements et mutations Mais HAJ-RACHID, Christelle BLOCH, Wahiba

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

UFR de Sciences Economiques Année 2008-2009 TESTS PARAMÉTRIQUES

UFR de Sciences Economiques Année 2008-2009 TESTS PARAMÉTRIQUES Université Paris 13 Cours de Statistiques et Econométrie I UFR de Sciences Economiques Année 2008-2009 Licence de Sciences Economiques L3 Premier semestre TESTS PARAMÉTRIQUES Remarque: les exercices 2,

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

Chaînes de Markov au lycée

Chaînes de Markov au lycée Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat

Plus en détail

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires Julien Jorge julien.jorge@univ-nantes.fr Laboratoire d Informatique de Nantes Atlantique,

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Feuille d exercices 2 : Espaces probabilisés

Feuille d exercices 2 : Espaces probabilisés Feuille d exercices 2 : Espaces probabilisés Cours de Licence 2 Année 07/08 1 Espaces de probabilité Exercice 1.1 (Une inégalité). Montrer que P (A B) min(p (A), P (B)) Exercice 1.2 (Alphabet). On a un

Plus en détail

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)

Plus en détail

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN Table des matières. Introduction....3 Mesures et incertitudes en sciences physiques

Plus en détail

Probabilités III Introduction à l évaluation d options

Probabilités III Introduction à l évaluation d options Probabilités III Introduction à l évaluation d options Jacques Printems Promotion 2012 2013 1 Modèle à temps discret 2 Introduction aux modèles en temps continu Limite du modèle binomial lorsque N + Un

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique Objectifs Clustering On ne sait pas ce qu on veut trouver : on laisse l algorithme nous proposer un modèle. On pense qu il existe des similarités entre les exemples. Qui se ressemble s assemble p. /55

Plus en détail

Principes d implémentation des métaheuristiques

Principes d implémentation des métaheuristiques Chapitre 2 Principes d implémentation des métaheuristiques Éric D. Taillard 1 2.1 Introduction Les métaheuristiques ont changé radicalement l élaboration d heuristiques : alors que l on commençait par

Plus en détail

Apprentissage Automatique

Apprentissage Automatique Apprentissage Automatique Introduction-I jean-francois.bonastre@univ-avignon.fr www.lia.univ-avignon.fr Définition? (Wikipedia) L'apprentissage automatique (machine-learning en anglais) est un des champs

Plus en détail

Annexe commune aux séries ES, L et S : boîtes et quantiles

Annexe commune aux séries ES, L et S : boîtes et quantiles Annexe commune aux séries ES, L et S : boîtes et quantiles Quantiles En statistique, pour toute série numérique de données à valeurs dans un intervalle I, on définit la fonction quantile Q, de [,1] dans

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

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

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases) Heuristique Constructive Itérativement, ajoute de nouvelles composantes à une solution partielle candidate Espace

Plus en détail

Probabilités conditionnelles Loi binomiale

Probabilités conditionnelles Loi binomiale Exercices 23 juillet 2014 Probabilités conditionnelles Loi binomiale Équiprobabilité et variable aléatoire Exercice 1 Une urne contient 5 boules indiscernables, 3 rouges et 2 vertes. On tire au hasard

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

Plus en détail

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

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 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 DOCTEUR EN SCIENCES Spécialité : SCIENCES DE L INGÉNIEUR Option : Optimisation

Plus en détail

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image IN52-IN54 A2008 Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image Etudiants : Nicolas MONNERET Alexandre HAFFNER Sébastien DE MELO Responsable : Franck GECHTER Sommaire

Plus en détail

La classification automatique de données quantitatives

La classification automatique de données quantitatives La classification automatique de données quantitatives 1 Introduction Parmi les méthodes de statistique exploratoire multidimensionnelle, dont l objectif est d extraire d une masse de données des informations

Plus en détail

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

Les colonies de fourmis : apprentissage coopératif pour le problème du voyageur de commerce : apprentissage coopératif pour le problème du voyageur de commerce Alexandre Bargeton Benjamin Devèze Université Pierre et Marie Curie Présentation du projet ANIMAT 1 Comportements collectifs des insectes

Plus en détail

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

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

Coup de Projecteur sur les Réseaux de Neurones

Coup de Projecteur sur les Réseaux de Neurones Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient

Plus en détail

Qu est-ce qu une probabilité?

Qu est-ce qu une probabilité? Chapitre 1 Qu est-ce qu une probabilité? 1 Modéliser une expérience dont on ne peut prédire le résultat 1.1 Ensemble fondamental d une expérience aléatoire Une expérience aléatoire est une expérience dont

Plus en détail

Quantification Scalaire et Prédictive

Quantification Scalaire et Prédictive Quantification Scalaire et Prédictive Marco Cagnazzo Département Traitement du Signal et des Images TELECOM ParisTech 7 Décembre 2012 M. Cagnazzo Quantification Scalaire et Prédictive 1/64 Plan Introduction

Plus en détail

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

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production Revue des Sciences et de la Technologie RST- Volume 4 N 1 /janvier 2013 Etude d un cas industriel : Optimisation de la modélisation de paramètre de production A.F. Bernate Lara 1, F. Entzmann 2, F. Yalaoui

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

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

Problème à résoudre. min f(s) s.c. s S Métaheuristiques Le mot métaheuristique est dérivé de la composition de deux mots grecs: - heuristique qui vient du verbe heuriskein (ευρισκειν) et qui signifie trouver - meta qui est un suffixe signifiant

Plus en détail

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING» LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING» Gilbert Saporta Professeur de Statistique Appliquée Conservatoire National des Arts et Métiers Dans leur quasi totalité, les banques et organismes financiers

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre : Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant

Plus en détail

1. Vocabulaire : Introduction au tableau élémentaire

1. Vocabulaire : Introduction au tableau élémentaire L1-S1 Lire et caractériser l'information géographique - Le traitement statistique univarié Statistique : le terme statistique désigne à la fois : 1) l'ensemble des données numériques concernant une catégorie

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

LES GENERATEURS DE NOMBRES ALEATOIRES

LES GENERATEURS DE NOMBRES ALEATOIRES LES GENERATEURS DE NOMBRES ALEATOIRES 1 Ce travail a deux objectifs : ====================================================================== 1. Comprendre ce que font les générateurs de nombres aléatoires

Plus en détail

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante

Plus en détail

Modèles et simulations informatiques des problèmes de coopération entre agents

Modèles et simulations informatiques des problèmes de coopération entre agents Modèles et simulations informatiques des problèmes de coopération entre agents Bruno Beaufils LIFL Axe CIM Équipe SMAC Laboratoire d'informatique Plan 1. Motivations 2. Dilemme itéré du prisonnier 3. Simulations

Plus en détail

FIMA, 7 juillet 2005

FIMA, 7 juillet 2005 F. Corset 1 S. 2 1 LabSAD Université Pierre Mendes France 2 Département de Mathématiques Université de Franche-Comté FIMA, 7 juillet 2005 Plan de l exposé plus court chemin Origine du problème Modélisation

Plus en détail

Programmation linéaire

Programmation linéaire Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Classe de première L

Classe de première L Classe de première L Orientations générales Pour bon nombre d élèves qui s orientent en série L, la classe de première sera une fin d étude en mathématiques au lycée. On a donc voulu ici assurer à tous

Plus en détail

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories : La vision nous permet de percevoir et d interpreter le monde qui nous entoure. La vision artificielle a pour but de reproduire certaines fonctionnalités de la vision humaine au travers de l analyse d images.

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

Estimation et tests statistiques, TD 5. Solutions

Estimation et tests statistiques, TD 5. Solutions ISTIL, Tronc commun de première année Introduction aux méthodes probabilistes et statistiques, 2008 2009 Estimation et tests statistiques, TD 5. Solutions Exercice 1 Dans un centre avicole, des études

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Exercices sur le chapitre «Probabilités»

Exercices sur le chapitre «Probabilités» Arnaud de Saint Julien - MPSI Lycée La Merci 2014-2015 1 Pour démarrer Exercices sur le chapitre «Probabilités» Exercice 1 (Modélisation d un dé non cubique) On considère un parallélépipède rectangle de

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans

Plus en détail

Introduction à l approche bootstrap

Introduction à l approche bootstrap Introduction à l approche bootstrap Irène Buvat U494 INSERM buvat@imedjussieufr 25 septembre 2000 Introduction à l approche bootstrap - Irène Buvat - 21/9/00-1 Plan du cours Qu est-ce que le bootstrap?

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue

Plus en détail

Statistique : Résumé de cours et méthodes

Statistique : Résumé de cours et méthodes Statistique : Résumé de cours et méthodes 1 Vocabulaire : Population : c est l ensemble étudié. Individu : c est un élément de la population. Effectif total : c est le nombre total d individus. Caractère

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

IFT3245. Simulation et modèles

IFT3245. Simulation et modèles IFT 3245 Simulation et modèles DIRO Université de Montréal Automne 2012 Tests statistiques L étude des propriétés théoriques d un générateur ne suffit; il estindispensable de recourir à des tests statistiques

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Probabilités sur un univers fini

Probabilités sur un univers fini [http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur

Plus en détail

LES DECIMALES DE π BERNARD EGGER

LES DECIMALES DE π BERNARD EGGER LES DECIMALES DE π BERNARD EGGER La génération de suites de nombres pseudo aléatoires est un enjeu essentiel pour la simulation. Si comme le dit B Ycard dans le cours écrit pour le logiciel SEL, «Paradoxalement,

Plus en détail

Cours 7 : Utilisation de modules sous python

Cours 7 : Utilisation de modules sous python Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est

Plus en détail

Soutenance de stage Laboratoire des Signaux et Systèmes

Soutenance de stage Laboratoire des Signaux et Systèmes Soutenance de stage Laboratoire des Signaux et Systèmes Bornes inférieures bayésiennes de l'erreur quadratique moyenne. Application à la localisation de points de rupture. M2R ATSI Université Paris-Sud

Plus en détail

Hela Boukef. To cite this version: HAL Id: tel-00577101 https://tel.archives-ouvertes.fr/tel-00577101

Hela Boukef. To cite this version: HAL Id: tel-00577101 https://tel.archives-ouvertes.fr/tel-00577101 Sur l ordonnancement d ateliers job-shop flexibles et flow-shop en industries pharmaceutiques : optimisation par algorithmes génétiques et essaims particulaires Hela Boukef To cite this version: Hela Boukef.

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème... TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI 1 Déroulement d un projet en DATA MINING, préparation et analyse des données Walid AYADI 2 Les étapes d un projet Choix du sujet - Définition des objectifs Inventaire des données existantes Collecte, nettoyage

Plus en détail

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

Laboratoire d Automatique et Productique Université de Batna, Algérie Anale. Seria Informatică. Vol. IX fasc. 2 Annals. Computer Science Series. 9 th Tome st Fasc. 2 La sélection de paramètres d un système industriel par les colonies de fourmis Ouahab Kadri, L. Hayet Mouss,

Plus en détail

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

Calculer avec Sage. Revision : 417 du 1 er juillet 2010 Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1

Plus en détail

Calculs de probabilités conditionelles

Calculs de probabilités conditionelles Calculs de probabilités conditionelles Mathématiques Générales B Université de Genève Sylvain Sardy 20 mars 2008 1. Indépendance 1 Exemple : On lance deux pièces. Soit A l évènement la première est Pile

Plus en détail

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery.

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery. Cours de Recherche Opérationnelle IUT d Orsay Nicolas M. THIÉRY E-mail address: Nicolas.Thiery@u-psud.fr URL: http://nicolas.thiery.name/ CHAPTER 1 Introduction à l optimisation 1.1. TD: Ordonnancement

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

4.2 Unités d enseignement du M1

4.2 Unités d enseignement du M1 88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter

Plus en détail