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

Foued Mnasri Weal Rekik

Présentations similaires


Présentation au sujet: "Foued Mnasri Weal Rekik"— Transcription de la présentation:

1 Foued Mnasri Weal Rekik
Problème de sac à dos Foued Mnasri Weal Rekik

2 Définition « sac à dos » L’énoncé de ce problème fameux est simple : « Étant donné plusieurs objets possédant chacun un poids et une valeur et étant donné un poids maximum pour le sac, quels objets faut-il mettre dans le sac de manière à maximiser la valeur totale sans dépasser le poids maximal autorisé pour le sac ?

3 Présentation du problème
Le problème du Sac à Dos aussi noté KP(Knapsack Problem en anglais) représente une situation dans laquelle une personne dispose de n objets (d'utilité ui ⋲ N\{0} et d'un poids pi ⋲ N\{0} pour i ⋲ N\{1,…,n} ) et d'un sac (ayant une capacité maximale C ⋲ N). Le problème est de trouver un ensemble d'objets dont la somme des utilités est maximale. Il faut donc trouver un sous-ensemble d'objets X tel que ∑x ⋲ X Px≤ C et qui maximise Ux

4 Suite… Le problème du Sac à Dos peut donc se résumer comme ceci :
Données : 2n entiers { Ui | Ui > 0 i = 1,…..,n }{ Pi | Pi > 0 i = 1,…..,n }et un entier C > 0. Question : Trouver un sous-ensemble X de {1,….,n} tel que ∑x ⋲ x Px≤ C et qui maximise ∑x ⋲ x Ux

5 On distingue 3 types d’algorithmes Algorithmes exacts
Ils trouvent la solution optimale Ils peuvent prendre un nombre exponentiel d’itérations Algorithmes d’approximation Ils produisent une solution sous-optimale. Ils produisent une mesure de qualité de la solution. Ils ne prennent pas un nombre exponentiel d’itérations.

6 Méthodes de résolution des problèmes
Il existe deux grandes catégories de méthodes de résolution de problèmes : les méthodes exactes les méthodes approchées Méthode approchée Une méthode approchée a pour but de trouver une solution avec un bon compromis entre la qualité de la solution et le temps de calcul.

7 Methode de résolution La programmation dynamique
Le principe de la programmation dynamique est de résoudre un problème en combinant les solutions de sous-problèmes. La programmation dynamique est utilisée lorsque les sous-problèmes ne sont pas indépendants. Branch & bound Michel Bierlaire

8 Suite…. Un algorithme de programmation dynamique résout les sous-problèmes et sauve le résultat dans un tableau, ce qui permet de ne pas le résoudre à chaque fois qu'on le rencontre de nouveau.

9 Enoncé du problème On considère le problème d’un alpiniste qui doit choisir les produits à prendre dans son sac pour une expédition. Au total il ne peut pas prendre plus que 8 kilos. Il ya trois produits possibles et il doit décider du nombre d’unités à prendre de chacun d’eux. Les poids unitaires (pi) pour chaque produit et leur valeur unitaire (vi) qui traduit leur importance pour l’alpiniste sont comme suit ²

10 Suite… Produit Poids unitaire Valeur unitaire i Pi Vi 1 2 20 4 55 3 40 On cherche à trouver le nombre d’unités à prendre de chaque produit qui permet d’avoir le maximum de valeur pour l’alpiniste.

11 Résolution du problème
On définit : phases : k =1 décision concernant le produit 1 k =2 décision concernant le produit 2 k =3 décision concernant le produit 3 variable d’état : s=poids qui n’a pas été pourvu pour les phases précédentes et qui reste à allouer 0≤ s ≤ 8

12 Variable de décision : Xj : prendre j unité de produit. Les politiques possibles sontles suivantes : Phase1 : (produit 1) : 0≤ Xj ≤ 4 Phase2 : (produit 2) : 0≤ Xj ≤ 2 Phase3 : (produit 1) : 0≤ Xj ≤ 2 En tenant compte du poids total disponible et des poids unitaires de chaque produit.

13 Résolution du problème
Phase1 (Produit 1): s F1(s,xj)=20xj Politiques Optimales 1 2 3 4 xj f1(s,xj*) - 20 40 5 6 60 7 8 80

14 F2(s,xj)=55xj + f1 (s – 4xj,xj*)
Suite… Phase 2(Produit2): s F2(s,xj)=55xj + f1 (s – 4xj,xj*) Politiques Optimales 1 2 xj f1(s,xj*) 0 + 0 - 0 + 20 20 3 4 0 + 40 55 + 0 55 5 6 0 + 60 75 7 8 0 + 80 110

15 F2(s,xj)=55xj + f1 (s – 4xj,xj*)
Suite… Phase 3(Produit3): s F2(s,xj)=55xj + f1 (s – 4xj,xj*) Politiques Optimales 1 2 xj f1(s,xj*) - 20 3 40 4 55 40+0 5 40+20 60 6 75 80 + 0 80 7 8 110


Télécharger ppt "Foued Mnasri Weal Rekik"

Présentations similaires


Annonces Google