Problema Rucsac PDF
Problema Rucsac PDF
Problema rucsacului
Având în vedere:
Mai multe obiecte, fiecare având o greutate ș i o valoare
O greutate maximă pentru geantă,
Obiectiv:
Ce obiecte trebuie puse în sac pentru a maximiza
valoare totală fără a depăș i greutatea maximă permisă pentru sac?
Exemple 1: Exemple 2 :
n = 4; P = 30 KG, n = 5; P = 11 KG
Obiecte 1 2 3 4 5
1 6 18 22 28
1 2 5 67
Modélisation du problème :sac à dos en variables binaires
1 ′
=
0
Funcț ia obiectiv:
maximizarea valorii totale a obiectelor din sac:
=
=1
Constrângeri :
suma greutăț ii tuturor obiectelor din rucsac trebuie să fie mai mică sau egală cu greutatea
capacitatea maximă a rucsacului:
≤
1
Modelarea problemei
Exemple 1:
n = 4; P = 30 KG
Constrângeri :
suma greutăț ilor tuturor obiectelor din sac trebuie să fie mai mică sau egală cu greutatea
maximal al rucsacului
≤
=1
Soluț ia este :
1 = 1, 2 = 1, 3= 0 et 4= 0
1 2 5 67
Soluț ia este :
1 = 1, 2 = 1, 3= 1, 4= 0ș i 5= 0
Soluț ia este :
1 = 1, 2 = 0, 3= 1ș i 4= 0
28 22 18 6 1 1 2 5 67
7 6 5 2 1
/ 4 3,66 3,6 3 1
Soluț ia este :
1 = 1, 2 = 1, 3= 0, 4= 0 et 5= 1
=
=1
= 0,1 ∀ = 1… , 4
Rezolvarea problemei
Metodă exactă (soluț ie optimă):
Solver Excel Exemple 2
Obiecte 1 2 3 4 5
1 6 18 22 28
1 2 5 67
=
=1
≤
=1
= 0,1 ∀ = 1,… , 4
Rezolvarea problemei
Metoda exactă (soluț ie optimă):
Procedura prin separare ș i evaluare (PSE)"ramură ș i limitare";
Programare dinamică: concepte de bază
Patru entităț i de identificat
de o etapă;
iii) Ansamblul ac ț iunilor (activită ț ilor) care se oferă agentului de decizie
(variabile de decizie);
iv) La formula de recuren ț ă
Programare dinamică : notare
N= numărul etapelor;
n= indice al etapei curente;
= stare la începutul etapei;
= variabilă de decizie asociată etapei;
( , )= contribuț ia etapelor n, n+1,…, N la valoarea obiectivului
când ne aflăm în stare la începutul etapei, că decizia este
, ș i că deciziile optime sunt luate ulterior;
∗ = soluț ie optimă la etapă;
fn∗ (sn ) va reprezenta valoarea maximă pentru un rucsac cu capacitatesn à asistenț a desn
primele obiecte.
[Link]ă un obiect lene ș apar ț ine solu ț iei optime, aceasta înseamnă că solu ț
optimală privată a celui de al n-lea obiect este de asemenea o soluț ie optimă cu un rucsac de
capacitatesn −pn.
fn∗ (sn ) =fn∗−1 (sn −pn) +vn ;
Obiecte 1 2 3 4 5
Exemple 2 : 1 6 18 22 28
1 2 5 67
Programare dinamică: Rucsac
∗ ( = max{ ∗ ( ), ∗ ( −pn) + }
− −
Valoarea maximă este obț inută pentru ∗ ( )et este egal cu 40; Obiecte 1 2 3 4 5
1 6 18 22 28
∗( )= ∗ ( ceea ce corespunde cu a lua =0;
1 2 5 67
∗( )= ∗ ( − ) + 22 ceea ce corespunde cu a lua =1;
∗ ( )= ∗ (5− + 18 ceea ce corespunde cu a lua =1;
∗ ( )= ∗ (0) = ∗ (0)ceea ce corespunde cu a lua =0 et =0 ;