Problème De Sac à Dos
-
Upload
chagra-bassem -
Category
Education
-
view
104 -
download
0
Transcript of Problème De Sac à Dos
Projet R-O Complexité:Problème De Sac à Dos
2
Plan
• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion
3
Plan
• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion
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.
5
Plan
• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion
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
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
8
Plan
• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion
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
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
• 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
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
13
Plan
• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion
• 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
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
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:
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
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.
La méthode de Branch and Bound
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é.
- 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
. 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
23
Plan
• Mise En contexte• Problématique• Enoncé mathématique• Solutions Proposées• Conclusion
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
25
Merci Pour votre attention