0% ont trouvé ce document utile (0 vote)
29 vues13 pages

Algorithmes de résolution en optimisation

Transféré par

Ikay Ikay
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues13 pages

Algorithmes de résolution en optimisation

Transféré par

Ikay Ikay
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Abou Bakr Belkaid

Faculté des Sciences


Département d’informatique

Algorithmique Avancée et Complexité

Chap6: Les méthodes de résolution exactes

RSD-GL 1
2014-2015

1
3)L’algorithme glouton(Résolution approchée)
• On appelle glouton un algorithme qui considère des objets
dans un certain ordre, décide de les retenir dans la solution
en tenant compte uniquement des contraintes et qui ne
revient pas sur cette décision par la suite.
• Pour ce qui concerne le sac à dos l’idée est de classer les objets
par ordre d’interêts décroissants, l’intérêt étant le quotient du
gain par le poids.
l'algorithme glouton ne fournit pas toujours la solution
optimale
C’est une méthode rapide et donne une solution optimale
Au problème de sac à dos fractionné.

2
L’algorithme glouton(Résolution approchée)
Exemple: Sac à dos
Objets 1 2 3 4

Poids 2 5 4 3

Bénéfices 5 8 7 6
Benif/poids 2.5 1.6 1.8 2
J'ai un sac à dos de capacité maximale k (poids). J'ai n objets de
poids et de valeurs diverses.
Je souhaite remplir le sac de façon à cumuler un maximum de
valeurs.

Quel est le bénéfice maximum que je peux avoir?


Dans cet exemple K=10
Et On cherche B_max?

1)Methode minimisant le poids 5+6+7=18

2)Methode maximisant le benifices 8+7=15

3) Maximisation Benifices/poids 5+7+6=18 3


Formulation du problème
Objets 1 2 3 4
Poids 2 5 4 3
Bénéfices 5 8 7 6

Max Z= 5x1+8x2+7x3+6x4
2X1+5x2+4x3+3x4 ≤ 10
Xi{0,1}, i=1..4

4
Sac à dos -programmation dynamique
Objets 1 2 3 4

Poids 2 5 4 3
Bénéfices 5 8 7 6

0 1 2 3 4 5 6 7 8 9 10
i j
Objet 1 0 0 5 5 5 5 5 5 5 5 5
Objet 2 0 0 5 5 5 8 8 13 13 13 13
Objet 3 0 0 5 5 7 8 8 13 14 15 15
Objet 4 0 0 5 6 7 11 11 13 14 15 19

Résultats: objets(4,2,1)
 bénifice=6+8+5=19

5
Sac à dos -programmation dynamique
• On note B(k, p) le bénéfice maximal réalisable avec des objets
1, 2, . . . , k et le poids maximal p
pour k = 1:

0 si p < p1
B(1,p)=
a1 si p > p1

Pour k > 1
B(k − 1, p) si p < pk
B(k,p)=
max(B(k − 1, p),B(k − 1, p − poidsObjet[k]) + valeurObjet[k] )
Si p >= poidsObjet[k]

Complexité  T(n) = Ө(k*p) 6


Sac à dos -programmation dynamique
Algorithme pour Récupérer la liste d'objets (sac à dos)

TANT QUE M[i][j] = M[i][j-1]


Début
j=j-1
Fin

TANT QUE j > 0


début
TANT QUE i > 0 ET M[i][j] = M[i-1][j]
début
i=i-1
fin

j = j - PoidsObjet[i]
Ajoute-objet ( Objet[i] )
i=i-1
fin

7
Programmation Dynamique
Plus court chemin


Algorithme de Floyd-Warshal
L'algorithme de Floyd-Warshall prend en entrée un graphe orienté et valué (V, E),
sous la forme d'une matrice d'adjacence donnant le poids d'un arc lorsqu'il existe
et la valeur ∞ sinon. Le poids d'un chemin entre deux sommets est la somme des
poids sur les arcs constituant ce chemin.

Ce problème n'ayant aucune signification métrique.

8
Programmation Dynamique
Algorithme de Floyd-Warshal

9
Programmation Dynamique
Algorithme de Floyd-Warshal
• Floyd-Warshall(W)
• D(0)W
• Pour k1 à n faire
Pour i1 à n faire
pour j1 à n faire
Di(,kj)  min( Di(,kj1) , Di(,kk1)  Dk( k, j1) )
Renvoyer D

10
La méthode séparation et
évaluation (Branch and Bound)
• Le branch-and-bound est basé sur trois axes
principaux :
– L’évaluation: permet de réduire l’espace de recherche en éliminant
quelques sous ensembles qui ne contiennent pas la solution optimale.
– La séparation: consiste à diviser le problème en sous-problèmes, en
résolvant tous les sous-problèmes et en gardant la meilleure solution
trouvée.
– La stratégie de parcours:
– largeur d’abord
– profondeur d’abord
– meilleur d’abord

11
La méthode séparation et
évaluation (Branch and Bound)

12
Algorithme de Djikstra

13

Vous aimerez peut-être aussi