La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.

Présentations similaires


Présentation au sujet: "Optimisation en nombres entiers Recherche Opérationnelle GC-SIE."— Transcription de la présentation:

1 Optimisation en nombres entiers Recherche Opérationnelle GC-SIE

2 Approximation Heuristiques

3 HeuristiquesMichel Bierlaire3 Approximation Idée : trouver une solution sous-optimale rapidement et mesurer sa qualité Définition : Un algorithme H est une -approximation pour le problème de minimisation P avec coût optimal Z* si, pour toute instance de P, lalgorithme fonctionne en temps polynomial et identifie une solution admissible de coût Z H telle que Z H (1+ )Z*

4 HeuristiquesMichel Bierlaire4 Approximation Exemple : couverture minimale Soit un graphe G=(V,E) V est lensemble des nœuds E est lensemble des arêtes Trouver le plus petit ensemble de nœuds C V tel que chaque arête du graphe ait au moins une extrémité dans C. On dit que C couvre les arêtes. Problème très difficile (NP-complet) Application : installation de caméras de surveillance

5 HeuristiquesMichel Bierlaire5 Approximation Algorithme simple C = Tant que E – Choisir une arête (u,v) de E – Ajouter u et v à C – Supprimer u et v ainsi que les arêtes incidentes

6 HeuristiquesMichel Bierlaire6 Approximation

7 HeuristiquesMichel Bierlaire7 Approximation

8 HeuristiquesMichel Bierlaire8 Approximation

9 HeuristiquesMichel Bierlaire9 Approximation

10 HeuristiquesMichel Bierlaire10 Approximation

11 HeuristiquesMichel Bierlaire11 Approximation

12 HeuristiquesMichel Bierlaire12 Approximation

13 HeuristiquesMichel Bierlaire13 Approximation

14 HeuristiquesMichel Bierlaire14 Approximation Analyse de lalgorithme Z H = #nœuds(solution) = 2 #Arêtes sélectionnées Dans la solution optimale, chaque arêtes sélectionnées doit être couverte Donc, Z*=#nœuds(optimum) #Arêtes sélectionnées On a donc Z H 2 Z* = (1+1)Z* Il sagit dune 1-approximation

15 HeuristiquesMichel Bierlaire15 Approximation Cet algorithme va trouver un ensemble de nœuds couvrant toutes les arêtes Chaque arête choisie par lalgorithme sera couverte par un nœud différent de C Ces arêtes nont aucun nœud en commun Si on prend une couverture quelconque, elle devra contenir au moins un nœud de chaque arête choisie. La couverture optimale ne peut donc pas être plus petite que la moitié de C. Il sagit dune 1-approximation

16 HeuristiquesMichel Bierlaire16 Approximation Pire des cas : Solution de lalgorithme : 8 nœuds (C=V) Solution optimale : 4 nœuds Solution optimale

17 HeuristiquesMichel Bierlaire17 Heuristiques Définition Une heuristique est une technique qui cherche une bonne solution (i.e. presque optimale) en un temps de calcul raisonnable sans être capable de garantir ni loptimalité ni ladmissibilité.

18 HeuristiquesMichel Bierlaire18 La plupart des heuristiques sont basées sur la notion de voisinage. Un voisinage est lensemble des solutions obtenues à partir dune solution donnée en effectuant un petit nombre de transformations simples. La définition de voisinage dépend du problème. Heuristiques

19 Michel Bierlaire19 Heuristiques Exemple Pour un programme linéaire en variables 0/1, le voisinage dune solution (x 1,…,x n ) est lensemble des (y 1,…,y n ) telles que – y i = x i si i k – y k = 1-x k pour un k donné.

20 HeuristiquesMichel Bierlaire20 Heuristiques Optimisation locale Soit une solution x c Répéter – Choisir x voisin de x c tel que f(x) < f(x c ) – Remplacer x c par x Jusquà ce que f(x) > f(x c ) pour tout x voisin de x c.

21 HeuristiquesMichel Bierlaire21 Heuristiques Notes : Facile à implémenter Potentiellement lent Trouve un minimum local

22 HeuristiquesMichel Bierlaire22 Heuristiques Recuit simulé Motivation thermodynamique La structure dun solide refroidi dépend de la vitesse de refroidissement A température T, la probabilité dune augmentation dénergie damplitude E est donnée par Prob(E) = exp(-E/kT) où k est la constante de Boltzmann k=1,380 662 10 -23 joules/degré absolu

23 HeuristiquesMichel Bierlaire23 Heuristiques Algorithme de recuit simulé Soit une solution initiale x c Soit une température initiale T 0 Soit une fonction de réduction de température Répéter – Répéter k fois Choisir au hasard un voisin x de x c = f(x) – f(x c ) Si < 0 alors x c = x Sinon – choisir r aléatoirement entre 0 et 1 – Si r < exp(- /T) alors x c = x – T = (T)

24 HeuristiquesMichel Bierlaire24 Heuristiques Notes : Algorithme aléatoire Chaque exécution peut produire une solution différente Exemple : f(x)= 4 - 19.0167x + 36.39167x 2 - 25.2917x 3 + 8.041667x 4 - 1.19167x 5 + 0.066667x 6

25 (0.4052,0.7909) (5.5541,-1.1628) (3.1045,1.9741)

26 HeuristiquesMichel Bierlaire26 Heuristiques Paramètres utilisés : x c = 3 T 0 = 10000 (T) = T / tred k = 100 Définition du voisinage de x : {x-0.1,x+0.1} Résultats obtenus sur 100 exécutions

27 0.4 3.15.6

28 0.4 3.15.6

29 0.4 3.15.6

30 0.4 3.15.6

31 HeuristiquesMichel Bierlaire31 Heuristiques Notes : Plus la température est diminuée lentement, plus la probabilité de trouver le minimum global augmente. Les paramètres présentés ici sont loin dêtre optimaux. La méthode peut requérir énormément de temps calcul.

32 HeuristiquesMichel Bierlaire32 Heuristiques Algorithme génétique Utilise, à chaque itération, un ensemble de solutions, appelé population. Chaque individu de cette population est codé en un ensemble de symboles, appelé chromosome. Exemple : notation binaire Individu = 19 Chromosome = 10011 Pour chaque chromosome x, on peut calculer son « aptitude », son « niveau de qualité » f(x)

33 HeuristiquesMichel Bierlaire33 Heuristiques Algorithme génétique : Initialisation : définir une population initiale P(0) A chaque itération k : – Sélection – Evolution – Mutation

34 HeuristiquesMichel Bierlaire34 Heuristiques Sélection Pour chaque chromosome x i P(k), on définit p i = f(x i )/ y P(k) f(y) Cela définit une loi de probabilité sur la population. Choisir les individus reproducteurs aléatoirement selon cette loi de probabilité.

35 HeuristiquesMichel Bierlaire35 Heuristiques Sélection (exemple) maximiser f(x)=x 3 -60x 2 +900x+100 iChrom.IndividuAptitudepipi Cumulatif 1100111923990.206 200101532250.2770.484 311010265160.0440.528 4101012118010.1550.683 5011101436840.3171.000 11625

36 HeuristiquesMichel Bierlaire36 Heuristiques Sélection (exemple) r(0,1) Individus reproducteurs Chromosomes 0.627410101 0.140110011 0.141110011 0.934501110 0.444200101

37 HeuristiquesMichel Bierlaire37 Heuristiques Evolution Deux parents sont choisis aléatoirement On effectue un croisement : – On sélectionne aléatoirement un emplacement i entre 1 et – On échanges les « gênes » des deux parents situés après lemplacement i On remplace les parents par les « enfants »

38 HeuristiquesMichel Bierlaire38 Heuristiques Evolution (exemple) Parents : 4 et 1 (21)1010110111 (23) (19)1001110001 (17)

39 HeuristiquesMichel Bierlaire39 Heuristiques Mutation On change les symboles de chaque chromosome avec une probabilité p m (souvent très petite)

40 HeuristiquesMichel Bierlaire40 Heuristiques Mutation (exemple) p m =0.1

41 HeuristiquesMichel Bierlaire41 Heuristiques Notes : Énormément de variantes possibles Il faut adapter les processus de sélection, dévolution et de mutation à chaque problème spécifique


Télécharger ppt "Optimisation en nombres entiers Recherche Opérationnelle GC-SIE."

Présentations similaires


Annonces Google