problem plecakowy

background image

Prowadzący:
dr inż. Ryszard Klempous

background image

Plan prezentacji:

• prezentacja grupy
• przedstawienie problemu
• możliwe sposoby rozwiązania
• omówienie wykorzystanego algorytmu

programu

• literatura
• wykres Gantt’a (przebieg pracy)
• demonstracja programu

background image

Skład
grupy:

Lp

imię i nazwisko

nr

albumu

funkcja w

grupie

1

Grzegorz

Wrębiak

133189

szef grupy

2

Wojciech Jarosz

133097

prezentacja wyników

(marketing)

3

Artur Czupryna

133067

sekretariat

+archiwizacja

4

Sławomir

Tajnert

133174

osoba

merytoryczna

background image

Temat seminarium:

(0-1 knapsack problem)

„Dyskretny problem plecakowy”

background image

Tematyka problemu:

sklep

plecak

złodzieja o

wytrzymałości
W-kilogramów

3

n

4 5

1 2

p

1

w

1

p

2

w

2

p

3

w

3

p

4

w

4

p

5

w

5

p

n

w

n

p

i

= wartość przedmiotu i-tego

w

i

= masa przedmiotu i-tego

Pytanie brzmi:

Jakie przedmioty z puli n znalezionych przedmiotów powinien

zapakować złodziej do plecaka, aby zabrać najbardziej

wartościowy łup???

background image

Przykładowe praktyczne zastosowania:

- pakowanie walizek, paczek

- załadunek statków, pociągów, samolotów

- obsługa magazynów

- itp.

background image

Problem w ujęciu

analitycznym

Niech

w

i

będzie masą i-tego przedmiotu

p

i

wartością i-tego przedmiotu

a

W

to pojemność plecaka

Ponadto przyjmijmy, że:

zabrany

jest

nie

przedmiot

ty

i

gdy

plecaka

do

zabrany

jest

przedmiot

ty

i

gdy

x

i

,

0

,

1

background image

Możemy zatem określić naszą funkcję celu:

n

i

i

i

x

p

1

max

przy ograniczeniu:

n

i

i

i

W

x

w

1

background image

Jak zatem rozwiązać problem plecakowy?

1) Przegląd siłowy (

bruteforce

) - polega na sprawdzeniu

wszystkich możliwych kombinacji.

Zdecydowanie

najgorszy sposób, złożoność obliczeniowa algorytmu

Θ(2

n

)

, co znacznie zawyża czas działania dla dużych

n

.

Zapewnia

100%

skuteczność.

2) Algorytmy przybliżone (zachłanne) – ustalamy pewne

kryteria kolejności wkładania przedmiotów do plecaka.

 kryterium wartości

- maksymalizujemy wartość

plecaka wkładając jako pierwsze najbardziej
wartościowe przedmioty

 kryterium masy

- maksymalizujemy wartość

plecaka wkładając tak dużo przedmiotów jak to
możliwe

 kryterium wskaźnika wartości

- maksymalizujemy

wartość plecaka wkładając przedmioty których
stosunek

p

i

/w

i

jest jak największy

background image

Czy ten algorytm jest optymalny?? Sprawdźmy na krótkim
przykładzie:

W = 100

i w

i

p

i

p

i

/w

i

1 100 40
0,4

2 50 35
0,7

3 45 18
0,4

4 20 4
0,2

5 10 10
1,0
6 5 2
0,4

kryterium

1

0

0

0

0

0

całkowita masa:

całkowita wartość:

0

0

1

1

1

1

100

40

80

34

0

1

0

1

1

1

85

51

0

1

1

0

0

1

100

55

rozw.

optymaln

e

wartość waga wsk.
wart

background image

Wadą tej metody jest niepewność co do optymalności

otrzymanego upakowania, co widać na przykładzie.

3)

Programowanie dynamiczne

– rozwiązywany problem

dzielony jest na szereg prostych do rozwiązania
podproblemów, ale z uwzględnieniem dodatkowego warunku,
że wyniki każdego wcześniej rozwiązywanego podproblemu
mogą zostać wykorzystane do późniejszego rozwiązania
innych podproblemów. Technika ta często łączona jest z
metodą

backtrakingu

.

background image

Algorytm działania programu na przykładzie:

Dane:

pojemność plecaka – 21
liczba znalezionych elementów – 4
masy elementów – v = [10, 7, 5, 5]

wartości elementów – w = [20, 15, 11, 12]

Program tworzy następującą tablicę D:

0

-1 -1 -1 -1 -1 -1

15

-1 -1

20

-1 -1 -1 -1 -1 -1

35

-1 -1 -1 -1

0

-1 -1 -1 -1

11

-1

15

-1 -1

20

-1

26

-1 -1

31

-1

35

-1 -1 -1 -1

0

-1 -1 -1 -1

12

-1

15

-1 -1

23

-1

27

-1 -1

31

-1

38

-1 -1

43

-1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

el 1 10

el 2 7
el 3 5

el 4 5

masa

0

-1 -1 -1 -1 -1 -1 -1 -1 -1

20

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

for (i=1; i<=n;i++)
for (j=0; j<=b; j++)
{
D[i][j]=D[i-1][j];
if (j>=v[i-1])
if ((D[i-1][j-v[i-1]]!=-1)&&(D[i-1][j-v[i-1]]+w[i-1]>D[i][j]))
D[i][j]=D[i-1][j-v[i-1]]+w[i-1];
}

0

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

for(j=1; j<=b; j+
+)
{
D[0][j]=-1;
}

background image

backtracking

- odnalezienie elementów należących do optymalnego rozwiązania

43

20

-12

- 5

-11

- 5

masy elementów – v = [10, 7, 5, 5]
wartości elementów – w = [20, 15, 11, 12]

A więc optymalne elementy to: el1, el3 i el4

Ze zbudowanej tablicy łatwo odczytać że:
maksymalna wartość załadunku plecaka – 43
masa optymalnego załadunku – 20

Lecz nie widzimy bezpośrednio, które elementy należą

do optymalnego załadunku ???

0

-1 -1 -1 -1 -1 -1

15

-1 -1

20

-1 -1 -1 -1 -1 -1

35

-1 -1 -1 -1

0

-1 -1 -1 -1

11

-1

15

-1 -1

20

-1

26

-1 -1

31

-1

35

-1 -1 -1 -1

0

-1 -1 -1 -1

12

-1

15

-1 -1

23

-1

27

-1 -1

31

-1

38

-1 -1

43

-1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

el 1 10

el 2 7
el 3 5

el 4 5

masa

0

-1 -1 -1 -1 -1 -1 -1 -1 -1

20

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

0

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1

-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

-20 = 0

-10 = 0

background image

Literatura:

M.M. Sysło, N. Deo i J.S. Kowalik, Discrete Optimization

Algorithms, Prentice-Hall, 1983 (polski przeklad pt. Algorytmy
optymalizacji dyskretnej
, PWN, 1991).

J. Cea, Optymalizacja: Teoria i algorytmy, PWN, Warszawa 1976.

E. Pollak, Metody obliczeniowe optymalizacji. MIR, 1974.

H. Kellerer, U. Pferschy, D. Pisinger , Knapsack Problems, Springer

Verlag

background image

Strony www:

• http://pascal.lo2.opole.pl/pakowanie_plecaka.html

• http://pl.wikipedia.org/wiki/Problem_plecakowy

• http://encyklopedia.korba.pl/wiki/Problem_plecakowy

• http://www.nist.gov/dads/HTML/knapsackProblem.html

• http://www.ifors.ms.unimelb.edu.au/tutorial/knapsack

• http://www-

cse.uta.edu/~holder/courses/cse2320/lectures/l15/node3.html

• http://magma.maths.usyd.edu.au/magma/Examples/node7.html

background image

O

p

ra

co

w

a

n

ie

p

ie

rw

sz

y

ch

sl

a

jd

ó

w

p

ro

je

k

tu

Pi

sa

n

ie

p

ro

g

ra

m

u

P

ra

ca

n

a

d

r

o

zw

za

n

ie

m

a

n

a

lit

y

cz

n

y

m

,

o

k

re

śl

e

n

ie

m

o

żl

iw

y

ch

s

p

o

so

b

ó

w

ro

zw

za

n

ia

.

P

rz

y

k

ła

d

y

za

st

o

so

w

a

n

ia

p

ra

k

ty

cz

n

e

g

o

O

p

ra

co

w

a

n

ie

sl

a

jd

ó

w

d

o

ty

cz

ą

cy

ch

ro

zw

za

n

ia

p

ro

b

le

m

u

S

a

m

o

d

zi

e

ln

a

p

ra

ca

n

a

d

t

e

m

a

te

m

p

ro

je

k

tu

.

-n

ie

st

e

ty

b

e

z

e

fe

k

tu

I

sp

o

tk

a

n

ie

:

sp

re

cy

zo

w

a

n

ie

t

e

m

a

tu

p

ro

je

k

tu

.

C

o

p

o

w

in

n

m

y

u

m

ie

śc

?

R

o

zd

zi

e

le

n

ie

z

a

d

a

ń

p

o

sz

cz

e

g

ó

ln

y

m

o

so

b

o

m

.

II

I

sp

o

tk

a

n

ie

:

Z

e

b

ra

n

ie

p

rz

y

g

o

to

w

a

n

e

g

o

m

a

te

ri

a

łu

,

te

st

o

w

a

n

ie

p

ro

g

ra

m

u

,

d

y

sk

u

sj

e

o

r

ze

cz

y

w

is

ty

m

w

y

ko

rz

y

st

a

n

iu

p

ro

b

le

m

u

p

le

ca

ko

w

e

g

o

i

j

e

g

o

p

rz

y

d

a

tn

y

m

z

a

st

o

so

w

a

n

iu

.

IV

s

p

o

tk

a

n

ie

:

O

st

a

tn

ie

p

o

p

ra

w

k

i

d

o

p

ro

je

k

tu

,

p

rz

e

p

ro

w

a

d

ze

n

ie

p

b

n

e

j

p

re

ze

n

ta

cj

i

In

d

y

w

id

u

a

ln

e

p

o

sz

u

k

iw

a

n

ia

l

it

e

ra

tu

ry

i

s

tr

o

n

W

W

W

.

D

o

a

d

n

e

z

a

p

o

zn

a

n

ie

s

z

p

ro

b

le

m

e

m

i

s

p

o

so

b

a

m

i

je

g

o

r

o

zw

za

n

ia

.

II

s

p

o

tk

a

n

ie

:

b

u

rz

a

m

ó

zg

ó

w

,

w

y

m

ia

n

a

c

e

n

n

y

ch

i

n

fo

rm

a

cj

i,

o

p

ra

co

w

a

n

ie

p

la

n

u

p

ro

je

k

tu

.

O

p

ra

co

w

a

n

ie

o

st

a

tn

ic

h

sl

a

jd

ó

w

,

Po

łą

cz

e

n

ie

i

d

o

p

ra

co

w

a

n

i

e

c

a

łe

j

p

re

ze

n

ta

cj

i.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
20 21godz

G

rz

e

g

o

rz

W

b

ia

k

WYKRES GANTT’A

W

o

jc

ie

ch

J

a

ro

sz

S

ła

w

o

m

ir

T

a

jn

e

rt

A

rt

u

r

C

zu

p

ry

n

a


Document Outline


Wyszukiwarka

Podobne podstrony:
Problem plecak
T 3[1] METODY DIAGNOZOWANIA I ROZWIAZYWANIA PROBLEMOW
Problemy geriatryczne materiały
Problem nadmiernego jedzenia słodyczy prowadzący do otyłości dzieci
Problemy współczesnego świat
Czym zajmuje sie ekonomia podstawowe problemy ekonomiczne
Wyklad I Problemy etyczne Wstep
ROZWIĄZYWANIE PROBLEMÓW
(9) Naucz i ucz problemoweid 1209 ppt
Zastosowanie metody problemowej w nauczaniu
zasady i problemy koordynacji polityki regionalnej 6
011 problemy w praktyceid 3165 ppt
Rozwiazywanie problemów
Problemy spoleczne

więcej podobnych podstron