Problème De Sac à Dos

25
Projet R-O Complexité: Problème De Sac à Dos

Transcript of Problème De Sac à Dos

Page 1: Problème De Sac à Dos

Projet R-O Complexité:Problème De Sac à Dos

Page 2: Problème De Sac à Dos

2

Plan

• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion

Page 3: Problème De Sac à Dos

3

Plan

• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion

Page 4: Problème De Sac à Dos

4

Mise en contexte

Mise en contexte

Problématique Enoncé

MathématiqueSolutions Proposées Conclusion

• Article Reducibility Among Combinatorial Problems de Richard Karp en 1972 .

• Les 21 problèmes NP-complets de Karp ont marqué une étape importante de l'histoire de la théorie de la complexité des algorithmes.

Page 5: Problème De Sac à Dos

5

Plan

• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion

Page 6: Problème De Sac à Dos

6

Problématique 1|2

Histoire du problème

Mise en

contexte Domaines concernés

Enoncé mathématique Variantes Conclusion et

perspective

Sac du cambrioleur

Capacité est limitée

Chaque objet possède un poids et une

valeur

Le voleur doit optimiser la valeur Totale

des objets

Mise en contexte

Problématique

Enoncé Mathématique

Solutions Proposées Conclusion

Page 7: Problème De Sac à Dos

Question qui se pose?

Quels sont les objets que l’on doit prendre pour maximiser le coût transporté tout en respectant la contrainte de poids du sac?

Mise en contexte

Problématique

Enoncé Mathématique

Solutions Proposées Conclusion

Page 8: Problème De Sac à Dos

8

Plan

• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion

Page 9: Problème De Sac à Dos

Formulation mathématique

• Toute formulation commence par un énoncé des données:

Problème: choisir un sous ensemble d’objet d’utilité maximale à placer dans un sac tel la capacité du sac soit respectée.

Données:

• W : capacité maximale du sac

• I : ensemble de n objets

• Pi: pour chaque objet i € I , pi représente son utilité

• wi : chaque objet i a un poids w

Mise en contexte Problématique

Enoncé Mathématiqu

eSolutions Proposées Conclusion

Page 10: Problème De Sac à Dos

Pour quatre objets (n = 4) et un sac à dos d'un poids maximal de 30 kg (W = 30), nous avons par exemple les données suivantes:

• Ensuite, il nous faut définir les variables qui représentent en quelque sorte les actions ou les décisions qui amèneront à trouver une solution:

•  xi: une variable associée à un objet i de la façon suivante :

 xi = 1 si l’objet i est mis dans le sac

  xi = 0 si l’objet i n’est pas mis dans le sac

Objets 1 2 3 4

pi 7 4 3 3

wi 13 12 8 10

Mise en contexte Problématique

Enoncé Mathématiqu

eSolutions Proposées Conclusion

Page 11: Problème De Sac à Dos

• Une solution possible au problème ?

x1 = 0, x2 = 1, x3 = 1, et x4 = 1• La contrainte est elle respectée?

x1.w1 + x2.w2 + x3.w3 + x4.w4 ≤ W

il suffit de calculer cette somme : 0 × 13 + 1 × 12 + 1 × 8 + 1 ×10 = 30, ce qui est bien inférieur ou égal à 30.

Nous parlons alors de solution réalisable. Mais ce n’est pas nécessairement la meilleure solution.

Mise en contexte Problématique

Enoncé Mathématiqu

eSolutions Proposées Conclusion

Page 12: Problème De Sac à Dos

la fonction qui traduit notre objectif : maximiser la valeur totale des objets dans le sac.

• Pour n objets, cela s’écrit:

Mise en contexte Problématique

Enoncé Mathématiqu

eSolutions Proposées Conclusion

Page 13: Problème De Sac à Dos

13

Plan

• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion

Page 14: Problème De Sac à Dos

• Il existe deux grandes catégories de méthodes de résolution de problèmes d’optimisation combinatoire :

les méthodes exactes: permettent d’obtenir la solution optimale à chaque fois, mais le temps de calcul peut être long si le problème est compliqué à résoudre

les méthodes approchées: - encore appelées heuristiques, permettent d’obtenir rapidement une solution approchée, donc pas nécessairement optimale. - a pour but de trouver une solution avec un bon compromis entre la qualité de la solution et le temps de calcul

Méthode d Résolution

Mise en contexte Problématique Enoncé

MathématiqueSolutions Proposées Conclusion

Page 15: Problème De Sac à Dos

Le Best Fit Decreasing (BFD) (meilleur remplissage par ordre décroissant):• Triant tous les objets par ordre décroissant de poids • Sélectionnant les objets un à un dans l’ordre du tri et en ajoutant l’objet sélectionné dans le sac le plus lourd tel que la contrainte de poids maximal reste respectée. Déroulons cet algorithme sur notre exemple :

Best Fit Decreasing Algorithme

Mise en contexte Problématique Enoncé

MathématiqueSolutions Proposées Conclusion

Page 16: Problème De Sac à Dos

Best Fit Decreasing Algorithme

Mise en contexte Problématique Enoncé

MathématiqueSolutions Proposées Conclusion

Première étape:

Objets

2 3 1 4 5 6 7

Pi 4 4 3 3 3 2 1

Objets

2 3 1 4 5 6 7

Pi 4 4 3 3 3 2 1Xi 1 1 2 2 2 1 2

Deuxième étape:

Page 17: Problème De Sac à Dos

Best Fit Decreasing Algorithme

Mise en contexte Problématique Enoncé

MathématiqueSolutions Proposées Conclusion

Objets

2 3 1 4 5 6

Pi 4 4 3 3 3 3Xi 1 1 2 2 2 3

Cette solution est optimale, mais cet algorithme est imparfait comme le montre le cas suivant :

=>La qualité de cet algorithme est de rester rapide même si le nombre d’objets augmente considérablement tout en approchant de moins d’un facteur 2 la solution optimale

Page 18: Problème De Sac à Dos

Best Fit Decreasing Algorithme

Mise en contexte Problématique Enoncé

MathématiqueSolutions Proposées Conclusion

• First Fit - FF : on place au fur et à mesure les objets dans le premier sac possible .• Worst Fit - WF : on place au fur et à mesure les objets dans le sac le plus léger possible .

• Best Fit – BF : on place, au fur et à mesure, les objets dans le sac le plus lourd possible .

• First Fit Decreasing et Worst Fit Decreasing – FFD et WFD : on trie les objets dans l’ordre des poids décroissant puis on applique FF / WF.

Page 19: Problème De Sac à Dos

La méthode de Branch and Bound 

Page 20: Problème De Sac à Dos

1. Recherche de solution initiale:

On va utiliser une approche glouton. En commençant par le premier objet, on met

des objets dans le sac à dos tant que la capacité le permet.

2. Principe d’évaluation:

Le principe d’évaluation a pour objectif de connaître la qualité des nœuds à traiter

La méthode de Branch and Bound utilise deux types de bornes:

- une borne inférieure de la fonction d’utilité du problème initial,

- une borne supérieure de la fonction d’utilité.

Page 21: Problème De Sac à Dos

- si pour un sous-problème la borne supérieure est plus petite que la borne

inférieure du problème, l’exploration du sous-ensemble correspondant est inutile

3. Le principe de séparation :

- Le principe de séparation consiste à diviser le problème en un certain nombre de

sous problèmes qui ont chacun leur ensemble de solutions réalisables. En

résolvant tous les sous problèmes et en prenant la meilleure solution trouvée, on

est assuré d'avoir résolu le problème initial. Ce principe de séparation est

appliqué de manière récursive à chacun des sous ensembles tant que celui-ci

contient plusieurs solutions

Page 22: Problème De Sac à Dos

. Condition d’arret:

La procédure de séparation d’un ensemble s’arrête lorsqu’une des conditions suivantes

est vérifiée :

- on connaît la meilleure solution de l’ensemble ;

- on connaît une solution meilleure que toutes celles de l’ensemble ;

- on sait que l’ensemble ne contient aucune solution admissible

4. Stratégie de parcours :

- La stratégie de parcours est la règle qui permet de choisir le prochain sommet à

séparer parmi l’ensemble des sommets de l’arborescence

Page 23: Problème De Sac à Dos

23

Plan

• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion

Page 24: Problème De Sac à Dos

Le Problème de sac à dos est un problème qui est toujours d’actualité. En effet, dans la recherche en informatique, le problème du sac à dos et ses dérivés sont encore beaucoup étudiés. Il en existe de nombreuses variantes : sac à dos multi-dimensions (plusieurs poids par objet), plusieurs fonctions objectif, etc. De nombreux algorithmes exacts et approchés sont proposés pour ce type de problèmes. Les chercheurs ne sont pas près de partir en vacances…

Conclusion

Mise en contexte Problématique Enoncé

MathématiqueSolutions Proposées Conclusion

Page 25: Problème De Sac à Dos

25

Merci Pour votre attention