Académique Documents
Professionnel Documents
Culture Documents
Sac À Dos 1 Ok
Sac À Dos 1 Ok
2
CHAMP D’APPLICATION
• La logistique comme le chargement d’avions, de
bateaux ou de camions
• La gestion de portefeuille
• La découpe de matériaux
• La préparation de valise pour une randonnée ou un
voyage
3
PRÉSENTATION DU PROBLÈME
❖On dispose de n objets de poids positifs p1, p2, . . . ,
pn et de valeurs positives v1, v2, . . . , vn,
respectivement.
❖On a un sac à dos de capacité maximale en poids
de W.
Vi 7 4 3 3
Pi 13 12 8 10
7
ÈRE
1 ÉTAPE
Calculer l’efficacité I de chaque objet telle que : Ii = Vi/ Pi
Efficacité: Plus la valeur de l'objet est importante par
rapport à ce qu'il consomme, plus l'objet est efficace.
Objets O1 O2 O3 O4
8
ÈME
2 ÉTAPE
Trier les objets par ordre décroissant de son efficacité
Objets O1 O3 O2 O4
Vi 7 3 4 3
Pi 13 8 12 10
9
ÈME
3 ÉTAPE
Sélectionner les objets un à un dans l’ordre du tri et
ajouter l’objet sélectionné dans le sac tel que: ∑ Pi
≤W
• Objet 1: Dans le sac, 13 < 30 => OK
• Objet 3: Dans le sac, 13+8 = 21 < 30 => OK • Objet 2:
Dans le sac, 21+12 = 33 > 30 => On ne prend pas
l’objet 2
• Objet 4: Dans le sac, 21+10 = 31 > 30 => On ne prend
pas l’objet 4
=> Objets mis dans le sac: objets 1 et 3 avec une
valeur de 10.
10
EXEMPLE D’APPLICATION
Pour cinq (5) objets (n = 5) et un sac à dos d’un
poids maximal de 15 kg (W = 15), nous avons les
données suivantes :
Objet O1 O2 O3 O4 O5
s Vi 4 3 2 3 5
Pi 5 4 5 3 4
12
ARBRE DE RECHERCHE
⮚Enumérer intelligemment toutes les solution
possibles
⮚Usage d’un arbre de recherche
❖ Un nœuds/sommets : Etapes de construction de
la solution.
❖ Arcs : Indiquent les choix pour construire la
solution.
❖Attribuer à chaque arc une valeur Xi tel que si Xi= 1,
on prend l’objet dans le sac, et Xi= 0, on ne met pas
l’objet dans le sac.13
Obj O1 O2 O3 O Pi 5 4 5 3X1,2,3,5 X1,2,3
ets
17 18 14
4 3 2 3
Vi X1,2,3,4 12
X4=1
X1,2,3,4 149
X4=1
X1,2,3
X3=1 X3=0 X1,2,3 X4=0 10
16
X1,2 X1,2,4,5 X1,2,4
12
12
X2=1
X1,2,5
13
X1,2,4 15
X1=1
X1=0
X10
X2= 0
X2=1 X2= 0
X1 X2 0
X3=1 X3=0
X3=1 X3=0
X3=1
X1,2 X1,3 X1
X2,3
X2
X3
X4=0
X4=1
X4=0
X4=1
X4=0
X4=1
X4=0
X4=1
X4=0
X4=1
X4=0
X1,2
X1,3,4 X1,3
X1,4
X1
X2,3,4 X2,3
X2,4 X2
X3,4
X1,2
X1,3,4,5 X1,3,4 X1,3,5 X1,3
X1,4,5 X1,4
X1,5
X1
X2,3,4,5 X2,3,4 X2,3,5 X2,3
X2,4,5 X2,4
X2,5
X2
X3,4,5
9
17
14
14
10
12
8
9
5
16
12
13
9
11
7
8
4
12
7
14
9
11
6
12
7
9
4
13
8
10
5
11
6
8
3
10
Solution optimale: O1+O2+O5 ΣP1,P2,P3= 13 ΣV1,V2,V5= 12
X3 X4 X3,5 X3 3 14
X3=0 X4,5 X4
5
0 8 7
X4=1 95 2
X3,4 83
7
CONSTRUCTION D’UN
TABLEAU
⮚Nombre de lignes (noté i) = Nombre d’objets
⮚Nombre de colonnes (noté p) = Le poids que peut
supporter le sac à dos allant de 0 à W
⮚Chaque case est notée B(i;p)
p
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
i
1
2
3
4
5 16
REMPLISSAGE DU TABLEAU
⮚Pour la première ligne (i = 1)
Pour p < P1, B (1;p) = 0
Pour p ≥ P1, B (1;p) = V1
⮚Pour les autres lignes (i > 1)
Pour p < Pi, B (i;p) = B (i – 1;p)
Pour p ≥ Pi, B (i;p) = Max [B (i – 1;p) ; B (i – 1;p – Pi) + Vi]
17
p
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
i
1 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
2 0 0 0 0 3 4 4 4 4 7 7 7 7 7 7 7
3 0 0 0 0 3 4 4 4 4 7 7 7 7 7 9 9
4 0 0 0 3 3 4 4 6 7 7 7 7 1 1 1 1
0 0 0 0
5 0 0 0 3 5 5 5 8 8 9 9 11 1 1 1 12
2 2 2
18
B(1;7) S* B(4;10) S*
W = 15
3 0 0 0 0 3 4 4 4 4
1 0 1 2 3 4 5 6 7 4 0 0 0 3 3 4 4 6 7
0 0 0 0 0 4 4 4
5 0 0 0 3 5 5 5 8 8
2 0 0 0 0 3 4 4 4
4≠7
10≠12 12<15
7≠4
7=7
7=7
On prend 1
On prend 5
Solution On prend pas 4
optimale: ∑ V1,
V2, V5 = 12 ∑ P1, 21
On prend pas 3
P2, P3 = 13 < 15
On prend 2
Avantages Limites
Algorithme Glouton Rapidité du temps Solution pas
de calcul car ne nécessairement
remet optimale
jamais en cause la
décision prise
auparavant
Procédure par - Temps de calcul La taille de l’arbre
séparation et raisonnable de recherche est
évaluation - Solution fiable exponentielle en le
nombre d’objets
- Élimine à l’avance
les solutions
impossibles
Programmation Méthode exacte 🡪 La capacité du sac ne
dynamique solution optimale doit pas être trop
grande sinon le travail
sera long et fastidieux
22