• Nie Znaleziono Wyników

Algorytm PD dla 1||

N/A
N/A
Protected

Academic year: 2021

Share "Algorytm PD dla 1||"

Copied!
9
0
0

Pełen tekst

(1)

Algorytm PD dla 1|| P (w i T i )

Mariusz Makuchowski

4 kwietnia 2019

(2)

Sformułowanie problemu: 1|| X w i T i

.

Mamy do wykonania n zadań na pojedynczej maszynie.

Jeśli dane zadanie jest spóźnione naliczana jest kara.

Szukamy uszeregowania o minimalnej sumie kara.

(3)

Sformułowanie problemu: 1|| X w i T i

.

Każde zadanie opisane jest trzema parametrami:

p

i

- czas trwania, w

i

- waga,

d

i

- porządany termin zakończenia.

Dla zadania i zakończonego w C

i

wyznaczane jest spóźnienie:

T

i

=

0 dla C

i

¬ d

i

C

i

− d

i

dla C

i

> d

i

Minimalizujemy sumę ważonych spóźnień:

X

i

w

i

T

i

(4)

Przykład:

Dane: n = 4

p

1

= 2 w

1

= 3 d

1

= 4 p

2

= 4 w

2

= 3 d

2

= 3 p

3

= 1 w

3

= 4 d

3

= 5 p

4

= 3 w

4

= 2 d

4

= 2

t M

1

C1= 2

2

C2= 6

3

C3= 7

4

C4= 10

X

i

w

i

T

i

= 3 · (0) + 3 · (6 − 3) + 4 · (7 − 5) + 2 · (10 − 2) = 33

(5)

Przykład: rozwiązanie optymalne

Dane: n = 4

p

1

= 2 w

1

= 3 d

1

= 4 p

2

= 4 w

2

= 3 d

2

= 3 p

3

= 1 w

3

= 4 d

3

= 5 p

4

= 3 w

4

= 2 d

4

= 2

t M

2

C2= 4

3

C3= 5

1

C1= 7

4

C4= 10

X

i

w

i

T

i

= 3 · (7 − 4) + 3 · (4 − 3) + 4 · (0) + 2 · (10 − 2) = 28

(6)

Algorytm PD

F (I) = min

k∈I

n F (I \ {k}) + K

k

(C (I)) o

I - zbiór zadań

F (I) - kara optymalnego uszerwgowania zadań I

K

k

(t) - kara zadania k zakończonego w czasie t

C (I) - długość uszeregowania zadań I

(7)

Algorytm PD

Dane: n = 4

p

1

= 2 w

1

= 3 d

1

= 4 p

2

= 4 w

2

= 3 d

2

= 3 p

3

= 1 w

3

= 4 d

3

= 5 p

4

= 3 w

4

= 2 d

4

= 2

F ({1, 2, 3, 4}) = min

 

 

 

 

 

 

F ({  A 1, 2, 3, 4}) + K

1

(c) F ({1, 2, 3, 4}) + K  A

2

(c) F ({1, 2,  A 3, 4}) + K

3

(c) F ({1, 2, 3, 4}) + K  A

4

(c) c = C ({1, 2, 3, 4})=10

K

1

(10) = 3 · (10 − 4) = 18 K

2

(10) = 3 · (10 − 3) = 21

K

3

(10) = 4 · (10 − 5) = 20 K

4

(10) = 2 · (10 − 2) = 16

(8)

Przykład obliczeń:

Dane: n = 4

p1= 2 w1= 3 d1= 4 p2= 4 w2= 3 d2= 3 p3= 1 w3= 4 d3= 5 p4= 3 w4= 2 d4= 2

F (0000) = 0 C (0001) = 2 F (0001) = 0 = min



F (0000) + K1(2) = 0 + 0 = 0 C (0010) = 4 F (0010) = 3 = min



F (0000) + K2(4) = 0 + 3 = 3

C (0011) = 6 F (0011) = 9 = min



F (0010) + K1(6) = 3 + 6 = 9 F (0001) + K2(6) = 0 + 9 = 9 C (0100) = 1 F (0100) = 0 = min



F (0000) + K3(1) = 0 + 0 = 0

C (0101) = 3 F (0101) = 0 = min



F (0100) + K1(3) = 0 + 0 = 0 F (0001) + K3(3) = 0 + 8 = 8

C (0110) = 5 F (0110) = 3 = min



F (0100) + K1(5) = 0 + 3 = 3 F (0010) + K3(5) = 12 + 0 = 12

C (0111) = 7 F (0111) = 12 = min

F (0110) + K1(7) = 3 + 9 = 12 F (0101) + K2(7) = 0 + 12 = 12 F (0011) + K3(7) = 9 + 8 = 17

(9)

Przykład obliczeń: ostatnia iteracja

Dane: n = 4

p1= 2 w1= 3 d1= 4 p2= 4 w2= 3 d2= 3 p3= 1 w3= 4 d3= 5 p4= 3 w4= 2 d4= 2

Optymalne rozwiązania podproblemów:

F (0111) = 12 F (1011) = 23 F (1101) = 8 F (1110) = 15

Kary ostatniego z zadań, kończącego się w czasie C (1111) = 10:

K1(10) = 3 · (10 − 4) = 18 K2(10) = 3 · (10 − 3) = 21 K3(10) = 4 · (10 − 5) = 20 K4(10) = 2 · (10 − 2) = 16

Minimalna kara problemu to:

F (1111) = min

 

 

F (1110) + K1(10) = 15 + 18 = 33 F (1101) + K2(10) = 8 + 21 = 29 F (1011) + K3(10) = 23 + 20 = 43 F (0111) + K4(10) = 12 + 16 = 28

= 28

Cytaty

Powiązane dokumenty

Niech OPT oznacza zbiór kraw¦dzi (odpowiednio skierowanych) dowolnego rozwi¡zania op- tymalnego naszego problemu, natomiast A 0 zbiór kraw¦dzi dowolnego rozwi¡zania, które

[r]

Dodatkowe szybkie LB dla powstających węzłów Zachłanna strategia przeglądania

Wybrać pozycję najlepszą, na właściwej maszynie (pozycja o najmniejszej długości najdłuższej ścieżki przechodzącej przez wkładaną operację)...

1969 język BCPL; Martin Richards z University Mathematical Laboratories w Cambridge; dla pierwszej instalacji systemu operacyjnego UNIX 1970 język B zdefiniowany dwa lata

• Języki wysokiego poziomu: ADA, Pascal, Fortran, C++, Lisp, B, SmallTalk, Java. "Podstawy informatyki", Tadeusz Wilusz

Pomysły na wejścia numeryczne: sa- moorganizacja grafu na płaszczyźnie lub w przestrzeni, krzywa wypełniająca figurę (por. krzywa Peano), powierzchnia wypełniająca

W stochastycz- nej wersji zadania wielkości popytu poszczególnych odbiorców na poszczególne dobra są zmiennymi losowymi, a celem jest minimalizacja sumy kosztów transportu i wartości