• Nie Znaleziono Wyników

Implementacja metody podziału i ograniczeń dla pewnego uogólnienia zadania plecaka

N/A
N/A
Protected

Academic year: 2022

Share "Implementacja metody podziału i ograniczeń dla pewnego uogólnienia zadania plecaka"

Copied!
8
0
0

Pełen tekst

(1)

ZESZyTy NAUKOWE POLITECHNIKI ŚLĄSKIEJ

1988

S e r i aiAUTOMATTKA z.94

Sr kol.970

Stanisław Berka

%

Eugeniusz Toczyłowski Politechnika Warsz aw sk a

IMPLEMENTACJA METODy PODZIAŁU I OGRANICZEŃ DLA PEWNEGO UOGÓLNIENIA ZADANIA PLECAKA

Streszczenie. W pracy przedstawiono Implementację algorytmu roz­

wiąz uj ą ce go zadanie załadunku ze stałą dopłatą w funkcji celu l funk­

cji w ograniczeniu. Ponieważ zadanie jest NP-trudne, a lgorytm jest realizacją m et od y podziału i ograniczeń wykorzystującą szczególne w ł a ­ ściwości tego zadania. W szczególności bardzo efektywnie wyznaczane jest oszacowanie od dołu. Opisany został efektywny sposób implementa­

cji algorytmu oraz wyniki jego testowania. A l g o r y t m umożliwia do kład­

ne rozwiązywanie zadań na IBM PC z liczbą zmiennych rzędu 40 w czasie rzędu 100 s. Dla liczby zmiennych rzędu 200 rozwiązanie przybliżone o dokładności 8% otrzymywane jest w czasie rzędu 4 s, a z dokładnością C',08% w czasie rzędu 80 s.

1. Wpr ow ad ze n ie

Zadanie plecakowe ze stałą dopłatą zarówno w funkcji celu,jak i funkcji w ograniczeniu, zwane dalej u og ól n i o n y m zadaniem plecaka, powstaje jako zad a­

nie lokalne przy dekompozycji (uzyskanej poprzez relaksację jednej z grupy ograniczeń) zadania rozdziału zadań w gnieźdzle pro du k cy jn ym z maszynami równoległymi przy obecności kosz tó w I czasów w znowień produkcji (opisane w [4], patrz także C3J). Zadanie zostało sformułowane w d r ug im paragrafie artykułu. Jest to zadanie NP-trudne, gdyż binarne zadanie plecaka jest szczeg ól n ym p r zy pa d k i e m uogólnionego zadania plecaka (patrz [1]). W trzecim paragrafie została w o g ó l ny m zarysie przedstawiona meto d a podziału I o g r a ­ niczeń dla tego zadania. Szczegółowo alg or y tm jest opisany w T3] . Czwarty paragraf opisuje mody fi ka cj e algorytmu, które są potrzebne, aby można było rozwiązywać zadanie z o g r a ni c ze ni em równościowym. Główne elementy e f ek ty w ­ nej implementacji pr zedstawiono w pi ątym paragrafie, a w szóstym - wyniki

jego testowania.

2. Sformułowanie zadania

U o g ó l n i o n y m za daniem p le c ak ow ym będziemy nazywać następujące zadanie pro-' g ramowania liniowego mieszanego!

( x . v i e x min-

i-i

(la

* obecnie IBS P A N

(2)

przy ograniczeniu

2 1 (e .v .+ p . x . ) < Q (1b)

¡*1

gdzie x , v £ R n , a X określony jest następująco:

X (x,v) I V, I 0 < X i < M jV! i * 1, . . . , n ^ (1c) a s . , c . , e . , p | , M. , 0 są danymi liczbami nieujemnymi.

Zadanie można interpretować jako wybćr spośród zamówień produktów do p r o ­ dukcji. Wtedy Sj i e. oznaczają odpowiednio koszt i czas przezbrojenia do produkcji wyrobu i-tego typu; c. i Pj oznaczają odpowiednio zysk i czas przy produkcji pewnej jednostki wyrobu i-tego typu; Mj jest wielkością z a ­ mówienia na wyrób i-tego typu, a 0 - m a ks ym a l n y m c zasem pracy linii p r o d uk ­ cyjnej.

3. A l g o r y t m p o d z i a ł u i o g r a n i c z e ń

W rozdziale tym przedstawiono krótki opis algorytmu, podanego w T3l. T am też znajduje się dowód poprawności algorytmu. Al go r y t m jest prostą metodą pofziału i ograniczeń działającą na drzewie b i n a rn ym i znajdującą r ozwiąza­

nie Ł-dokladne z zadaną dokładnością

£ .

Drzewo pr zeszukiwane j e s t w g ł ą b . W każdym wierzchołku znajdowane jest oszacowanie od dołu wartości funkcji celu s tanowęt górne oszacowanie problemu. Gałąź wychodząca z danego w i e r z ­ chołka jest zamykana, gdy błąd względny aktualnie najlepszego znalezionego rozwiązania liczony wz ględem dolnego oszacowanie jest nie większy niż zad a ­ ne i .

Znalezienie dolnego oszacowania w ka żdym wierzchołku drzewa polega na rozwiązaniu zadania relaksacji Lagrange'a powstałego po relaksacji o g ra ni ­ czenia ( Tb ) . Zadanie to rozwiązywane jest szczególnie efektywnie dzięki wykorzystaniu specjalnych właściwości zadania (1)v Mo żn a pokazać T 3 ] , że rozwiązanie zadania relaksacji Lagrange a sprowadza się do "załadowania plecaka" produktami w kolejności uszeregowanych nierosnąco ws pó łczynników

określonych wzorem

Ti 7 -s.+c.M.

"Tl ■ v p |m| U l

aż do wypełnienia (ewentualnie przepełnienia) plecaka dla pewnego i=l*.

Powyższa metoda znajdowania oszacowania dolnego jest bardzo efektywna;

wymaga tylko 0(n) operacji. Dla porównania zauważmy, że relaksacja liniowa zadania (1) jest zadaniem programowania liniowego o specjalnej strukturze z (n * 1) ograniczeniami I jej obliczenie jest kosztowniejsze.

Heurystyka znajdująca rozwiązanie dopuszczalne jest oparta, na algorytmie zachłannym. Produkty uporządkowane tak, żei " ^ Y n tładowane są podczas rozwiązywania zadania relaksacji L agrange'a do plecaka aż do

(3)

Implementacja metody

23

przepełnienia go. Następnie włożone produkty są przeglądane I wyrzucany z plecaka jest ten produkt, który ma najmniejszy udział w wartości funkcji celu. 0 Ile plecak jest nadal przepełniony, powtarza się operację. Jeśli plecak wskutek wyrzucenia z niego produktu jest niepełny, to sprawdzany jest zbiór nie włożonych produktów, aby ewentualnie wybrać najlepszy do włożenia, nie przepełniając Jednak plecaka.

Podział problemu na podproblemy jest dokonywany przez ustalenie zmiennej v. pewnego produktu na 0 lub 1. Pr o du kt em t ym jest l=l*, który przepełni plecak przy rozwiązywaniu zadania relaksacji Lagrange'a. W C3J pokazano, źe dzięki wyborowi właśnie tego produktu do podziałui dolne oszacowania w obu podprobIemach mogą wzrosnąć, podczas gdy wybór jakiegokolwiek innego w y k lu ­ cza wzrost oszacowań w obu p o d p r o b I e m a c h .

U.

Modyfikacja algorytmu dla wypadku ograniczenia równościowego

P rzedstawiony w rozdziale trzecim a l g o ry t m moż e po niewielkich m o d y f i k a ­ cjach służyć do rozwiązywania zadania (1) ze znakiem w ograniczeniu

( T b ) . P rz ed stawimy obecnie konieczne modyfikacje. O Ile w zadaniu z o g r a ­ ni c ze ni em nierów no ś cI ow ym można z rozwiązania z góry odrzucić produkty spel niające warunek, że s . - c . M . ^ 0 (x.=0 dla tych produktów), to dla wersji równościowej algorytmu produktów tych nie można odrzucić.

W wersji równościowej nie w każd ym wierzchołku drzewa podziału I o g r a ­ niczeń daje się znaleźć rozwiązanie dopuszczalne ,za pomocą za st osowa­

nego algorytmu. Metoda podziału I ograniczeń działa jednak poprawnie - do m omentu znalezienia pierwszego rozwiązania dopuszcza Inego (wartość górnego oszacowania wynosi °°).

Rozwiązanie optymalne zadania w syersjl n I erównośc i owe j spełnia warunek:

rrij

£

x. $ ^ j v j <ólbo x. = 0 dla 1= 1, ...,n, (3)

gdz I e Pij - — j pon I^ i eważ dla 0 < x . ^ m. I-ty składnik f unkc j ¡ c e l u 1a jest dodatni, a dli x.* 0 jest równy zeru.

Dla wersji równościowej taki warunek nie jest prawdziwy (x. może p r z y j ­ mować wartości z £ o ; M . J ), jest to uwzględniane podczas wyboru produktu do wyrzucenia (wrzucenia) w algorytmie poszukiwania rozwiązania dopuszczalnego Przy obliczaniu dolnego oszacowania przeglądane są w wersji równościowej zarówno dod at n le ( jak i ujemne wartości m nożnika (ponieważ rozwiązanie zadania dualnego powstałego przez relaksację ograniczenia równościowego wymaga znalezienia max dla Njrfe R) .

(4)

5. ImpIementacja algorytmu

Struktura danych drzewa podziału 1 o g r a n 1c z e ń . z o r g a n !zowana jest w n a ­ stępujący sposób. Każdy wierzchołek drzewa jest rekordem, który zawiera:

wskaźniki na wierzchołki synów,Jak też na ojca oraz wszelkie Informacje, które wraz z Informacjami zawartymi w opisanej poniżej M i c i e produktów, wystarczają zarówno do rozwiązania problemu 1 / Iub z amknięcia w i e r z c h o ł k a (

jak też do przywrócenia llicle produktów stanu pierwotnego, co Jest p o t r z e ­ bne do powrotu I rozwiązania pominiętych przy schodzeniu w głąb podproblemó:

W każdej chwil 1 d z 1 ałan i a programu w pamięci Istnieją jedynIe rekordy odpowiadające w i e r zc ho łk o m tworzącym icieżkę od korzenia do sondowanego wierzchołka. Iloić pamięci potrzebna do realizacji drzewa jest 0(n), gdyż głębokoió drzew.a nigdy nie przekracza n ze wzglądu na sposób podziału na podproblemy przyjęty w algorytmie.

Do wszystkich operacji na produktach w wykonanej implementacji służy jedna dwukierunkowa lista pr od uktów (na tych samych rekordach tworzących listę tworzone są okresowo dwie rozłączne listy pr oduktów wł oż o ny ch i nie- włożonych do plecaka - wystarcza m a to 4n d od atkowych komórek pamięci).

Każdy element tej listy odpowiada Jednemu produktowi i zawiera wszystkie dane dotyczące tego produktu (s., Cj, e., p,, Mj , ) . Lista jest na p o c z ą ­ tku uporządkowana nlerosnąco według y . • ten porządek jest utrzymany przez cały czas. W ka żdym wierzchołku m o d y fi ko wa n e jest y . tylko dla jednego

1(w związku z u s ta le ni e m v. na 1 lub na 0), więc wy s ta rc zy przestawić ten jeden element, aby przywrócić porządek listy. M oż na to zrealizować n a s t ę p u ­ jąco.

1* Uporządkuj listę zgodnie z n ie m al e j ą c y m po r zą d k i e m (2).

2* Jeill rozwiązujesz p o d p r o b l e m z v,=0,to:

Pods t aw ■Łj' j = 0 (- po dla w e r s j i 3 ) oraz

Pr z es ta w element na koniec listy, aby nie był p r z e g I ą d a n y .

W pr ze c i w n y m razie:

c.

Podstaw v|r | »y, ( gdzie y , = — oraz w st a w element w takie miejsce listy, aby był zachowany porządek listy.

3* Przy powrocie wykonaj: przywróć M i c i e stan pierwotny.

Wszystkie operacje wykorzystujące a l g or yt m zachłanny (algorytm obliczania dolnego oszacowania I alg or yt m znajdujący rozwiązanie dopuszczalne) p r z e ­ twarzają kolejne elementy listy. Informacje niezbędne do przywrócenia poprzedniego stanu listy zawarte są w rekordzie wierzchołka.

Przy obliczaniu oszacować dla p od problemów tworzona jest czasowo kopia i-tego produktu. Wtedy każdy element M s t y odpowiddt punktowi w i e r z c h o ł k o ­ wemu funkcji L a g r a n g e a dla podproblemu. Przeglądając listę I obliczając nachylenie funkcji lp(y) znajdujemy w co najwyżej n»1 krokach y oraz

(5)

Implementacja metody

25

z A

,

L ^ ) , czy II dolne oszacowanie zadania.

O gółem dla pakietu potrzebne jest o k . 80n słów pamięci, ttość operacji związanych z so n dowaniem jednego wierzchołka jest 0(n+1). Al go ry t m został zaimplementowany w TURBO PASCALu na IBM PC.

5. Testowanie algorytmu

Dane dla zadań testowych były generowane losowo (rozkład jednostajny) z zadanych przedziałów. Testowanie było przeprowadzane na zadaniach o liczbie p ro duktów 10, 40, 100 dla dwóch klas podobieństwa produktów.

1. Parametry produktów losowane z przedziału n 0 ; 1 0 0 j - przykłady oznaczone rzymską cyfrą I.

2. pa ra m et ry pr oduktów losowane z przedziału [90;100]- przykłady oznaczone rzymską cyfrą II.

Porównywane były wyniki dla równościowej I nIerównoścIowej wersji zadania.

Badany był nakład obliczeń potrzebny do znalezienia f -d o kładnego rozwiąza­

nia dla różnych wartości

£

.

Nakład obliczeń oceniany był poprzez Ilość wierzchołków, które trzeba było p r z e b a d a ć (aby znaleźć rozwiązanie. Wyniki testowania zostały p r z e ds ta ­ wione w tabelach 1, 2, 3.

Liczby w kolumnach oznaczonych przez min, śr, max określają minimalną, średnią i m a k s y m a I ną i I ość wl erzchołków'- dla serii zadań różniących się losowo wy ge nerowaną w a rt ością prawej strony ograniczenia O z przedziału

£ m l n (e j +p ¡Mj) ; 2 ^ ^e ;+ p iM i^J

W kolumnie 1 przedstawiono liczby wier z ch oł kó w potrzebnych do rozwiązania całego zadania; w kolumnie 2 - aby znaleźć rozwiązanie optymalne. W k o l u m ­ nie 3 podano ilość w y so nd owanych w i e r z ch oł kó w potrzebnych do udowodnienia optymalności znalezionego rozwiązania.

Tabela 1.

Wyniki dla serii 10-20 zadań

t = 0 ogranicz ’ = ’

Pełny przebieg algorytmu

Znalezienie rozw.opt.

Dowód optymal­

ności rozw.

Przykład min śr max min śr max min sr max

’fVodukty o parametrach z [10,100]

(!) n=10 0 1 3 0 0 2 0 0 1

ProdUkty o parametrach [90,100]

(II) n=10 0 133 441 0 50 389 0 80 301

(6)

Tabela 2.

=0 oqranlcz.

Pełny przebieg alooryt mu

Znalezienie opt.

rozw. Dowód optymalności rozw. •

Przykład min śr max min śr max min śr max

(1) n=10 0 1 3 0 0 2 0 0 1

(1) n-40 0 5 29 0 4 26 ■ 0 1 3

(1) n=100 0 22 84 0 15 61 0 6 23

Tabela 3 .

Ogranicz. Pełny przebieg algorytmu

Znalezienie oot.

rozw. Dowód optymalności rozw.

Przykład min śr max min śr max min śr max

?= 0X 0 97 430 0 42 182 0 55 248

£= 3% 0 44 283 0. 24 212 0 20 96

£= 7% • 0 15 93 0 1 7 0 14 93

Tabela 1. zawiera porównanie nakładów obliczeń dla zadań o różnym stop­

niu podobieństwa. Porównując różnice w efektywności dla n=T0, I oraz II widać, że warto dokonać ag r eg ac ji 'produktów podobnych biorąc średnie w a r t o ­ ści parametrów dla całej grupy zawierającej produkty podobne.

W Tabeli 2 zostały porównane wyniki dla zadań o różnych rozmiarach.

Widać, że średnio liczba wierzchołków przeglądanych przez a lgorytm wzrasta szybciej niż ri..Tabela 3 zawiera porównanie nakładów obliczeń związanych ze znalezieniem f-dokładnego rozwiązania dla różnych wartości

£ .

Do w y ­ ników podanych w tej t a b e I I na Ieży dodać komentarz, że przy zwiększaniu czas obliczeń spada szybciej dla zadań ’ł a t w y c h ’ (o parametrach Istotnie różniących się między sobą) niż dla zadań ’t r u d n y c h ’.

Zadanie z klasy zadań trudnych z 40 j produktami (n=40) dla pewnej wartości 0 nie zostało rozwiązane pomimo wysondowania 3;A00 w i er zchołków przy £ = 0 * . To samo zadanie przy £ = 7 % zostało rozwiązane w 526 w i e r z ch o ł­

kach. Zadanie z o graniczeniem ’* ’ wymaga średnio o 80X większego czasu niż zadanie z o graniczeniem ’ < ’.

Dla zadań z klasy trudnych, rozwiązanie dokładne zadań o n ^ < 0 wydaje się niemożliwe tym a I gory tmem w akcepto wa ln ym czasie. Jednakże średnio metoda zachowuje się bardzo dobrze, gdy stosujemy ją jako heurystykę i z a ­ dowalamy się rozwiązaniem suboptyma Inym. Jeżeli przerwi emy, ob I i czen i a po w y ­ sondowaniu np. 3n wierzchołków, tow40 na 43 rozwiązanych zadań błąd r oz wi ą­

zania był nie większy niż 1% wartości funkcji celu. Wyniki dotyczące takich rozważań zebrano w tabeli 4.

(7)

Implementacja metody ..

27

Tabela 4.

Przykład 3 II

4 o IB n=40 I n = 100

Ilość zadań w .serii 22 10 9 41

Ilość zadań z rozwiązaniem optym. znalezio­

nym w wierzch. 0-wym

12 2 1 15

Ilość zadań z rozwiązaniem optm. znalezio­

nym w n/3 wierzchołków

13 7 6 26

Ilość zadań, gdzie w 3n wierzchołkach zna­

leziono rozwiaz. o błędzie 1%

21 10 • 9 10

Ilość zadań o błędzie pierwszego rozwiąz.

dopuszczalnego nie większym niż 1%

19 8 7 34

Zaobserwowano, że jeżeli produkty są podobne, to najtrudniejsze do r oz­

wiązania są zadania, w których Q jest bliskie połowy n

0 = 57 (e . +p ) ma x i K I i

i=1

leżeli chodzi o czas obliczeń, to na IBM PC/XT sondowanie jednego w i e ­ rzchołka dla zadania z 40 zmiennymi trwało nie dłużej niż 3 s.

Ciekawa jest obserwacja, że zmiana O m oż e zmienić charakter rozwiązań oraz przebieg algorytmu.

7. Podsumowanie

W pracy przedstawiono a lgorytm rozwiązywania uogólnionego zadania p l e ­ caka, efektywną pod w z g lę de m czasu i pamięci implementację oraz szczegółowe wyniki testowania. Wyniki obliczeń wskazują na to, że opisany al gorytm może służyć do znajdowanta £ - dokładnych rozwiązań nawet stosunkowo dużych z a ­ dań tego typu (rzędu kilkuset zmiennych) oraz do znajdowania rozwiązań d o k ­ ładnych dla zadań z kilkudziesięcioma zmiennymi.

W opi s an ym a igorytmi e przypuszczalnie m ożna usprawnić heurystykę znajdur jącą rozwiązanie dopuszczalne, przepełniając plecak o pewną ilość produktów, a następnie wyrzucając je, jak to opi(sano w paragrafie 3. Inna możliwość p o ­ prawy leży w wyborze innego produktu do podziału problemu na podproblemy (można z astosować heurystyki p s e u d o k o s z t o w e ). Nieodzowne jest wyposażenie pakietu w m e c h a n i z m redukcji liczby zmiennych przed przystąpieniem do metody podziału i oszacowań.

P raca była częściowo finansowana w ramach programu badawczego R . P . I ,02 w temacie 5.3.

LITERATURA

T l] S. Berka; Algorytmy rozwiązywania wybranych zadań harmonogramowani a produkcji. Praca magisterska, Instytut Automatyki P W 1986.

[2] R. S. Garfinkel, G.L. Nemhausers Programowanie całkowitoI iczbowe. PWN, Warszawa 1978.

(8)

[35 E. Toczyłowski, S. Berka: Efektywna metoda podziału 1 ogràniczen dla uogólnionego zadania plecaka. W przygotowaniu.

[4] ■ E.- Toczyłowski: Two phase a lg or it h m for lot size scheduling in single stage production systems with parallel facilities. Biulletin of Polish Academy of Sciences - Technical Sciences, Vol. 35, 1987, No 1-2,

[5] S. Walukiewicz: Programowanie dyskretne. PWN,Wars za wa 1986.

RecenzentsDoc.dr hąb.inż.M.Zaborowski Wpłynęło do Redakcji do 1933-04— 30. .

METOItA PA35EM H OTPAHMEEHH JPH HEKOTOPO0 OBOE- BËHHOH PEK3AKA

P e 8 D M

0

B padoTe nasa HMinieMaHTanES aEropinaaa psnsaisiaro sanaqy sarpysKH o noQTaaHHHu jBMmaMZBaHHeu

k h k

ijiyHKUMB' qejia

h

orpaHHMBHHfi. T

ele

jtas aaqaRa

e k e e q t o h

P - TpysHOft , anropHTM peanzaoBaH no isesoqy pasqeaa

h

ropaHE—

neHHfl . 3ip|ieETHBHHM odpasoia naayveHa HHHimrw oneHKa . A

jttophtm

qa§T

b o s

- isoiiSoon» TozHoro pemeHas aajiaRE sa IBM — PC o

m b o e d m

nepesseHHHi nopanK&

40 bo Bpetia no 100 c. Jfea azcaa nepeiaaHHHX nopansa 200 nproizHBaHHoe pe­

a s ® » o

t o h h o o t e j d

S? noay^aeica sa npEHiapso 4 o a o

t o h h o o t b d

0,08 %

aa 80 o.

IMPLEMENTATION OP THE BRANCH-AND-BOURD ALGORITHM PCS? A (SHSRAEtZKD ENAPSACZ. PROBLEM

S u m m a r y . -

Aa algorithm for the generalised knapsack problem, in which the cost function and the constraints are in the fixed—change forms, is presented.

The problem is HP-hard, therefore the algorithm Is an implementation of the brancb-and—bound method which takes into account specific properties of the problem. It is based on a very efficient calculation of the Legrangean-retaxation lower bound.problems with 40 binary and 40 conti­

nuous variables are solved to optimality in 100 sec on IBM PC. Approximate

solutions of problems with 200 binary and 200 continuous variables are

computed with the eocuraoy 0,08% in 80 sec.

Cytaty

Powiązane dokumenty

Chcemy znaleźć maksymalne upakowanie plecaka (tzn. takie, do którego nie będzie można dołożyć żadnego przedmiotu) o największej sumie użyteczności zabranych przedmiotów

Napiszmy dowolną liczbę naturalną w dziesiątkowym układzie pozy- cyjnym i obliczmy sumę kwadratów cyfr tej liczby.. Niech n będzie daną

[r]

Zaimplementować funkcję regularized model selection dokonującą selekcji modelu dla zadanych wartości

Co roku ta suma najpierw wzrasta o 5%, ale od tych 5% musimy odprowadzić 19% podatku..

nie ma elementów nilpotentnych) wtedy i tylko wtedy, gdy ideaª I

Wygodnie jest umie ci rysunek rzutu uko nego w uk adzie wspó rz dnych, co u atwia orientacj w nazwach zmiennych i pozwala na wyprowadzenie równania toru.. Odleg o jak przebywa

W rytmie nagrania piosenki „Kosmos” , https://www.youtube.com/watch?v=ahkKIg8NVS0 dzieci, które są kosmitami, wykonują następujące zadania: − poruszają się, przenosząc