Vous êtes sur la page 1sur 10

Problème du sac à dos

Définition « sac à dos »


▪ L’énoncé de ce problème fameux est simple :
« Étant donné plusieurs objets xi possédant
chacun un poids ai et une valeur ci et étant
donné un poids maximum d pour le sac.(i=1…..n)

▪ 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 ? »

2
Présentation du problème
Problème : choisir un sous ensemble d’objet de valeur
maximale à placer dans un sac tel que la capacité
du sac soit respectée.
Données:
• xi : ensemble de n objets
• ci : La valeur pour chaque objet
• ai :chaque objet a un poids
• d : capacité maximale du sac

3
Présentation du problème

∑ ci * xi
–n

Max Z=
–i=0

∑ ai * xi ≤d
–n

–i=0

xi є {0,1}
4
Méthodes de Résolution
▪ 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:


permettent d’obtenir une solution approchée mais
pas nécessairement optimale.

5
La méthode de Branch and
Bound

▪ 1. Recherche de solution initiale:

▪ En commençant par le premier objet, on


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

6
Suit…
▪ 2.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.
7
Suit…
▪ 3. Evaluation:
▪ 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 Objectif du
problème initial,
▪ - une borne supérieure de la fonction Objectif.
▪ 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.
8
Suit…
▪ Condition d’arrêt:
▪ La procédure de séparation d’un ensemble
s’arrête lorsqu’une des conditions suivantes
▪ est vérifiée :
▪ - Connaître la meilleure solution de
l’ensemble .
▪ - Connaître une meilleure solution que toutes
celles de l’ensemble .
▪ - on sait que l’ensemble ne contient aucune
solution admissible .
9
Conclusion
▪ Le problème du sac à dos et ses dérivés
sont encore beaucoup étudiés. Il 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.
10

Vous aimerez peut-être aussi