PRIKAZ BALASOVOG ALGORITMA ZA 0-1 PROGRAMIRANJE

Similar documents
TEORIJA SKUPOVA Zadaci

Projektovanje paralelnih algoritama II

Algoritam za množenje ulančanih matrica. Alen Kosanović Prirodoslovno-matematički fakultet Matematički odsjek

ZANIMLJIV NAČIN IZRAČUNAVANJA NEKIH GRANIČNIH VRIJEDNOSTI FUNKCIJA. Šefket Arslanagić, Sarajevo, BiH

Mathcad sa algoritmima

Uvod u relacione baze podataka

PRIPADNOST RJEŠENJA KVADRATNE JEDNAČINE DANOM INTERVALU

Quasi-Newtonove metode

Geometrijski smisao rješenja sustava od tri linearne jednadžbe s tri nepoznanice

Metode izračunavanja determinanti matrica n-tog reda

Red veze za benzen. Slika 1.

Fajl koji je korišćen može se naći na

Linearno programiranje i primjene

KLASIFIKACIJA NAIVNI BAJES. NIKOLA MILIKIĆ URL:

KVADRATNE INTERPOLACIJSKE METODE ZA JEDNODIMENZIONALNU BEZUVJETNU LOKALNU OPTIMIZACIJU 1

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku

Slika 1. Slika 2. Da ne bismo stalno izbacivali elemente iz skupa, mi ćemo napraviti još jedan niz markirano, gde će

Ivan Soldo. Sažetak. U članku se analiziraju različiti načini množenja matrica. Svaki od njih ilustriran je primjerom.

RJEsAVANJE PROBLEMA CJELOBROJNOG PROGRAMIRA~JA PREVODENJEM U PROBLEM 0-1 LINEARNOG PROGRAMIRANJA

Osobine metode rezolucije: zaustavlja se, pouzdanost i kompletnost. Iskazna logika 4

ALGORITAM FAKTORIZACIJE GNFS

Linearni operatori u ravnini

Metode praćenja planova

Strojno učenje. Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc

Zadatci sa ciklusima. Zadatak1: Sastaviti progra koji određuje z ir prvih prirod ih rojeva.

Strojno učenje. Metoda potpornih vektora (SVM Support Vector Machines) Tomislav Šmuc

Šime Šuljić. Funkcije. Zadavanje funkcije i područje definicije. š2004š 1

FIZIKALNA KOZMOLOGIJA VII. VRLO RANI SVEMIR & INFLACIJA

Funkcijske jednadºbe

Nelder Meadova metoda: lokalna metoda direktne bezuvjetne optimizacije

NIZOVI I REDOVI FUNKCIJA

P a g e 5 1 of R e p o r t P B 4 / 0 9

A L A BA M A L A W R E V IE W

pretraživanje teksta Knuth-Morris-Pratt algoritam

Rešenja zadataka za vežbu na relacionoj algebri i relacionom računu

Maja Antolović Algoritmi u teoriji brojeva

Iskazna logika 1. Matematička logika u računarstvu. oktobar 2012

An Algorithm for Computation of Bond Contributions of the Wiener Index

ALGORITMI PODIJELI PA VLADAJ

Metode rješavanja kvadratičnog problema pridruživanja

DISKRETNI LOGARITAM. 1 Uvod. MAT-KOL (Banja Luka) ISSN (p), ISSN (o) Vol. XVII (2)(2011), 43-52

Simetrične matrice, kvadratne forme i matrične norme

PRIMJENA LINEARNOGA PROGRAMIRANJA NA PROBLEME PROMIDŽBE. Diplomski rad

O aksiomu izbora, cipelama i čarapama

KRITERIJI KOMPLEKSNOSTI ZA K-MEANS ALGORITAM

Nilpotentni operatori i matrice

Ariana Trstenjak Kvadratne forme

LINEARNI MODELI STATISTIČKI PRAKTIKUM 2 2. VJEŽBE

Sveučilište Josipa Jurja Strossmayera u Osijeku Odjel za matematiku

Mirela Nogolica Norme Završni rad

Krivulja središta i krivulja fokusa u pramenu konika. konika zadanom pomoću dviju dvostrukih točaka u izotropnoj ravnini

Fibonaccijev brojevni sustav

Hornerov algoritam i primjene

Software Process Models there are many process model s in th e li t e ra t u re, s om e a r e prescriptions and some are descriptions you need to mode

Uvod u numericku matematiku

The Prediction of. Key words: LD converter, slopping, acoustic pressure, Fourier transformation, prediction, evaluation

DISTRIBUIRANI ALGORITMI I SISTEMI

EXPERIMENTAL ANALYSIS OF THE STRENGTH OF A POLYMER PRODUCED FROM RECYCLED MATERIAL

Karakteri konačnih Abelovih grupa

OPTIMIRANJE POSLOVNOG PROCESA U PEKARSKOJ PROIZVODNJI

QUARRY STABILITY ANALYSIS FOR COMPLEX SLIP SURFACES USING THE MATHSLOPE METHOD

Metoda parcijalnih najmanjih kvadrata: Regresijski model

T h e C S E T I P r o j e c t

Teorem o reziduumima i primjene. Završni rad

Mostovi Kaliningrada nekad i sada

Dr. Željko Jurić: Matematička logika i teorija izračunljivosti Radna skripta za istoimeni kurs na Elektrotehničkom fakultetu u Sarajevu.

Matrične dekompozicije i primjene

Kvaternioni i kvaternionsko rješenje kvadratne jednadžbe

U člnaku se nastoji na jednostavan i sažet način bez ulaženja u egzaktne i formalizirane dokaze postići slijedeće:

OH BOY! Story. N a r r a t iv e a n d o bj e c t s th ea t e r Fo r a l l a g e s, fr o m th e a ge of 9

ODREĐIVANJE DINAMIČKOG ODZIVA MEHANIČKOG SUSTAVA METODOM RUNGE-KUTTA

Problemi transporta i analiza osetljivosti

Prsten cijelih brojeva

Keywords: anticline, numerical integration, trapezoidal rule, Simpson s rule

Lower Austria. The Big Travel Map. Big Travel Map of Lower Austria.

SITO POLJA BROJEVA. Dario Maltarski PRIRODOSLOVNO MATEMATIČKI FAKULTET MATEMATIČKI ODSJEK. Diplomski rad. Voditelj rada: Doc. dr. sc.

Diferencijska evolucija

ALGORITMI ZA ISPITIVANJE DJELJIVOSTI

SINTAKSNA I ALGORITAMSKA NOTACIJA

THIS PAGE DECLASSIFIED IAW E

Položaj nultočaka polinoma

Pitagorine trojke. Uvod

Uvod u analizu (M3-02) 05., 07. i 12. XI dr Nenad Teofanov. principle) ili Dirihleov princip (engl. Dirichlet box principle).

ANALYSIS OF THE RELIABILITY OF THE "ALTERNATOR- ALTERNATOR BELT" SYSTEM

Vektori u ravnini i prostoru. Rudolf Scitovski, Ivan Vazler. 10. svibnja Uvod 1

Oracle Spatial Koordinatni sustavi, projekcije i transformacije. Dalibor Kušić, mag. ing. listopad 2010.

Matematika i statistika

HRVATSKA MATEMATIČKA OLIMPIJADA

ANALYTICAL AND NUMERICAL PREDICTION OF SPRINGBACK IN SHEET METAL BENDING

Vedska matematika. Marija Miloloža

176 5 t h Fl oo r. 337 P o ly me r Ma te ri al s

necessita d'interrogare il cielo

Sveučilište J.J.Strossmayera u Osijeku Odjel za matematiku. Sveučilišni preddiplomski studij matematike

Some Observations on the Topological Resonance Energy of Benzenoid Hydrocarbons*

Sortiranje podataka. Ključne riječi: algoritmi za sortiranje, merge-sort, rekurzivni algoritmi. Data sorting

Kvantitativne metode za poslovno odlučivanje IV. Linearno programiranje

Sveučilište u Zagrebu Prirodoslovno matematički fakultet

Sveučilište J. J. Strossmayera u Osijeku Odjel za matematiku DIOFANTSKE JEDNADŽBE

NAPREDNI FIZIČKI PRAKTIKUM 1 studij Matematika i fizika; smjer nastavnički MJERENJE MALIH OTPORA

Transcription:

Tihomir^Hunjak U D K : $, Fakultet organizacije i informatike Stručni rad V a r a ž d i n PRIKAZ BALASOVOG ALGORITMA ZA - 1 PROGRAMIRANE U uvodnom dijelu rada govori e o cjelobrojnom i nula-jedan pro gramiranju. Daljnji tekt adrži prikaz Balaovog algoritma za nula-jedan programiranje (poznatog još pod nazivom metoda djelomičnog nabrajanja). Rješavanje zadataka pomoću navedenog algoritma prikazano je detaljno na jednom primjeru, a za drugi u pregledno navedeni algoritamki koraci koji e primjenjuju tokom rješavanja zadatka. 1. UVOD Poznato je da e velik broj ekonomkih (i ne amo ekonomkih) problema može prikazati matematičkim modelima koji e rješavaju metodama poznatim pod zajedničkim nazivom linearno, odnono nelinearno programiranje. Oim mnogo upotrebi javan ih metoda oj) čeg karaktera,kojima e može rješavati velik broj problema linearnog programiranja (takva je npr. dobro poznata implek me toda), ponekad e pokaže potreba za algoritmima pecijalne namjene, ovino o pecifičnotima problema koji e rješava.efi ka not tih algoritama ima i voju cijenu - oni obično niu primjenjivi na veći broj problema. Takav je lučaj i problemima nula-jedan programiranja i njihovim rješavanjem. Pod problemima -1 programiranja podrazumijevaju e problemi programiranja u kojima varijable uzimaju vrijednoti ili 1. Velik broj realnih problema, za koje je moguće formirati matematičke modele -1 varijablama, bio je razlogom za izdvajanje ove klae problema iz šire klae problema cjelobrojnog programi_ ranja. Takvi u problemi na primjer: - problem trgovačkog putnika - problem dotave - problem ranca - višetruki problem ranca - problem ravnoteže tekuće vrpce - problem raporeda polova - problem inveticijkog odlučivanja. Izdvajanje -1 programiranja kao poebne grane programiranja bilo je omogućeno i pronalaženjem poebnih metoda za rješavanje 179

Hunjak T. Balaov algoritam Zbornik radova(198), k tih problema. Te metode i algoritmi razlikuju e prema pritupu u rješavanju problema. Tako e razlikuju:^) - algebarki pritup - kombinatorni pritup - nabrajanje - heuritički pritup. Neki problemi cjelobrojnog lineranog programiranja mogu e uz tanovite uvjete2), preveti u probleme -1 programiranja i na taj način e kod njihovog rješavanja mogu korititi odgovarajuće metode koje imaju odredjenih prednoti 3) pred metodama cjelobrojnog programiranja. Ito vrijedi i za odredjenu klau problema linearnog programiranja varijablama dikretnih vrijednoti (ne nužno cjelobrojnim). U ovom članku prikazan je Balaov adi tivni algoritam za rješavanje problema -1 linearnog programiranja, u kojem e koriti metoda djelomičnog nabrajanja. Ovaj algoritam objavljen je 4) 1965. godine, a ovdje je dan prikaz prema originalu, pogodan za ručno rješavanje problema. U članku je u potpunoti prikazan tok rješavanja jednog primjera tom metodom. Kako je rješavanje problema većih dimenzija teško zamilivo bez pomoći elektronkog računkog troja, za ovaj algoritam načinjen je i program za item B-1714. Taj program adrži i odredjene modifikacije originalnog algoritma, a bit će prikazan u poebnom članku. 2. IDEA BALASOVOG ADITIVNOG ALGORITMA Opći oblik linearnog programa -1 varijablama može e formulirati na lijedeći način: odrediti x' koji minimizira (makimizira) c*x- (1) uz ograničenja A'x"~b' (2) x: = in i, r j E N (3) 1) S.Ahour i A.R.Char: "Computational Experience on Zero-One Programming Approach to veriou Combinatorial Problem, ournal of the Operation Reearch Societ of apan, Vol.13, No.2, 197, tr.78-18. 2) Lj.Martič, "Matematičke metode za ekonomke analize II,Narodne novine, Zagreb, 1972, tr. 256-257. 3) S.Ahour i A.R.Char, op.cit. 4) E.Bala, "An Additive Algorithm for Solving Linear Program with Zero-One Variable", Operation Reearch,Vol.l3, 1965, tr. 517-546. 18

Hunjak T. Balaov algoritam Zbornik radova(198),h pri čemu je x*n komponentni tupac vektor, c' je dani n komponentni redak vektor, A' = ( a jj) e matrica tipa q xn i b' je tupac vektor od q komponenata. Skup {1,2,.,q} označi t će e _, a kup 11,2,...,n) N. Da bi e ovako formulirani problem mogao riješiti pomoću aditivnog algoritma, on e prevodi u nešto drugačiji oblik koji zadovoljava zahtjeve: - va ograničenja moraju biti tipa < - koeficijenti funkcije cilja moraju biti nenegativni. Ako problem (1*), 2'), (3') ne ipunjava ove zahtjeve, on e na željeni oblik može doveti lijedećim tranformacijama: a) ve jednadžbe e zamijene dvije nejednadžbe b) ve nejednadžbe tipa > množe e -1 c) ovino o predznaku koeficijenta varijable u funkciji cilja i o tome da li e rješava problem makimuma ili problem minimuma uvode e nove varijable prema lijedećoj hemi: za max za mi n i x'. kada je c'. < kada je c' > l-xt kada je c'. > kada je ct < Uz ove tranformacije i uz uvodjenje m-komponentnog nenegativnog olabljenog vektora problem prelazi u oblik: pronaći x takav da vrijedi z = cx = min (1) uz uvjete Ax + = b (2) x. = ili 1 (j e N) (3) "> (k) gdje je c > i x, c, A i b u dobiveni iz x^ c', A*, b'. Aditivni algoritam je načinjen tako da bez obzira na zadani problem tranformirani problem je problem minimuma. Dimenzija od x i c otaje n. Dimenzija od b e u odnou na dimenziju od b' može promijeniti pa e nju označi m i uvodi oznaka M za kup {l,2,...,m}. Očito vrijedi m>q. Problem (1), (2), (3), (4) e označi P. S a^ označi e j-ti tupac matrice A. 181

Hunjak T. Balaov algoritam Zbornik radova(198),k (n+m) dimenzionalni vektor u(x,) će e zvati rješenje ako zadovoljava (2) i (3), moguće rješenje ako zadovoljava (2), (3) i,a optimalno (moguće) rješenje ako zadovoljava (1), (2), (3) i (A). Neka je P oznaka za linearni program definiran (l), (2), i ograničenjima Xj > (je N) (3a). Xj = 1 (je ) (3b ) gdje je podkup od N (kada je =o to je problem P dan (1), (2), S (3a) i 4). Kod rješavanja algoritam počinje linearnim programom P vektorom (u =(x,* ) = (,b) koji je očito dualno moguće rješenje za P (zbog c > ). Odgovarajuća baza atoji e od jedinične matrice I ( m ) = (e.) (i=1,,m). Za one i koji imaju vojtvo? <, bira e, u kladu odredjenim pravilom (va pravila koja e pominju u ovom pregledu aditivnog algoritma bit će precizno formulirana u prikazu algoritma po koracima) vektor a^ takav da je a.j <, i uvodi ga e u bazu. No, umjeto uvodjenja vektora a.j^ u bazu na mje_ to vektora e., kao što je to lučaj kod dual ne implek metode, dodaje e 1 problemu P novi uvjet x. = 1 u malo promijenjenom ob1 i ku -x. + Y. = -1 j m+1 pri čemu je Y j artificijelna varijabla. Time e dolazi do problema p 1 ^ ={ 1 >koji obuhvaća (1), (2), (3a) i (k) dodatnim ograničenjem Xj = 1 (3b 1 ). Lako e vidi da je kup x. = (j & N), i == bi (i e M)»Y m+1 = = -l dualno moguće rješenje za problem P. U proširenoj bazi I( m + j) 85 ( e j) ( i = 1»» m+1 )» (m+1). jedinični vektor e^^ odgovara vektoru Y m+ j e n a mjetu jediničnog vektora e pa e zbog toga uvodi u bazu vektor a., rn+1 j 182

Hunjak T. Balaov algoritam Zbornik radova (198), k odnono varijabla x. poprima vrijednot 1 u novom rješenju problema P* koje je^očito dual no moguće. Budući da artificijelna varijabla ^+j dobiva vrijednot i ubuduće ne igra nikakvu ulogu u algoritmu, može biti ipuštena i novo rješenje može e zbog toga piati u obliku 1 / 1 U, 1 1 1 K u = (x, ) = (Xj,,x n, j,, m ). Zbog toga je novo dualno moguće rješenje problema P* vektor u (x\^) čije u komponente r i (j = v x. -1! = b. - a.. (IeM). '1 1 1 j [ (jen-'u,}) Vidi e da e u formiranju novih rješenja korite operacije zbrajanja i odbijanja pa je to bio razlog da e algoritmu dalo ime aditivni algoritam. Ako vektor-rješenje u^ još uvijek ima negativne komponente,tada e u kladu gore navedenim pravilom izabere drugi vektor a^ za uvodjenje u bazu, a problemu P^ dodaje novo ograničenje xj 2 = 1, u ob 1 i ku gdje je x j2 + W = _ 1 j druga artif ici jelna vari jabla. 2 To dovodi do problema P atavljenog od (1), (2), (3a) i (4) i dodatnog kupa ograničenja (3b) ačinjenog od x^=1, Xjj=l Skup X j l - 1, X j= I je(n-{ 1 >) I,.=b.-a. j i (i G M), v ^ = -1 2 je dualno moguće rješenje od P. Vektor a._ uveden je umjeto * 2 e m+2* 3 x j2 u z ' m a vrijednot 1 u novom rješenju za P, što o čigledno znači da je ono dualno - moguće. Kako varijabla Y m+ 2 n e < ^ e ubuduće igrati nikakvu ulogu u algoritmu (jer cijelo vrijeme ima vrijednot ), može e iputiti 183

Hunjak T. Balaov algoritam Zbornik radova (198),4 (kao što je to bio lučaj varijablom,) i novo dualno mo- 2 2 2 z guče rješenje za problem P je u = (x, ), 9dje je je<m-{ 1, 2 }) 2 1. =. - a.. 7 ' i 2 Taj potupak e ponavlja tako dugo dok e ne dodje do rješenja u kojem u ve komponente nenegativne, ili dok e ne pokaže da takvo rješenje za grob^em P ne potoji. Ako e dodje do nenegativnog vektora u =(x, ), on je optimalno rješenje za problem P. Takvo rješenje je ujedno i moguće rješenje problema P, ali ne mora biti i njegovo optimalno rješenje. Potupak traženja optimalnog rješenja za problem P počinje u tom lučaju od nekog rješenja u^(p < ), izabranog u kladu odredjenim pravilom, time da druga pravila odredjuju izbor vektora koji e uvodi u bazu. Taj potupak traje tako dugo dok e ne dobije drugo moguće rješenje u* a vojtvom da je z^ < z g (z^ je oz.. naka za vrijednot funkcije cilja z za vektor up, p =,1,...) ili e evidentno utanovi nedoputivot takvog rješenja. Niz u^, q =,1,..., konvergira prema optimalnom rješenju. Taj potupak mogao bi e nazvati i peudo-dualnim algoritmom, jer, kao i u dualnoj implek metodi, tarta dualnim mogućim rješenjem i potepeno e približava primal - mogućem području, čuvajući cijelo vrijeme vojtvo dualnog mogućeg rješenja.medjutim, tvarna dual na implek iteracija e ne provodi, ne u potrebljava e ni dualni implek kriterij za izbor vektora ko ji ulazi u bazu, a takodjer ni jedan od vektora e. i = 1,...,m nije eliminiran iz baze u milu da je nadomješten nekim drugim vektorom. Do promjene baze dolazi dodavanjem novog jediničnog retka ili jediničnog tupca, odnono njihovim ipuštanjem i,što je najvažnije, koeficijentimatrice A otaju nepromijenjen i.kako novi jedinični reci i jedinični tupci uvedeni u vakoj iteraciji ne igraju, nikakvu ulogu u lijedećoj iteraciji, nije potrebno ni jedne ni druge ačuvati ni izričito ipiati. Djelovanje aditivnog algoritma može e lakše hvatiti ako e uporedi rješavanjem zadanog problema putem tetiranja kupa vih mogućih rješenja. Kako varijable, koje e javljaju u problemu P, mogu poprimiti amo dvije vrijednoti - ili 1, kup U = {u} vih rješenja od (2) i (3) je konačan i broj elemenata 184

Hunjak T. Balaov algoritam Zbornik radova (198), 4 tog kupa je 2, gdje je n broj varijabli koje e javljaju u problemu P. Potupak promatranja vih 2 mogućih varijacija ponavljanjem od dva elementa prikazan je na lici 1 za problem u kojem e javlja 5 varijabli.5) Slika 1. 5) Na lici 1 može e pratiti tok rješavanja primjera 1 koji je dan nakon ovog prikaza aditivnog algoritma. Grane na tici, koje u izvučene debtjom linijom, upravo ilutriraju tok rješavanja primjera 1. I85

Hunjak T. Balaov algoritam Zbornik radova (198), k Shema na lici 1 ima pet nivoa. Točci iz koje e počinje crtati hema pridruženo je rješenje za koje ve varijable imaju vrijednot nula. Dolakom na prvi nivo moguća u dva rješenja koja e razlikuju u vrijednoti varijable x^. Točka u koju e dodje iz početne točke puštanjem po denoj grani pridružena je rješenju a točka u koju e dodje puštanjem po lijevoj grani pridružena je rješenju Iti princip formiranja novog kupa rješenja zadržava e i kod prelaka na idući nivo. Sve točke u koje e dolazi puštanjem gornjeg nivoa po lijevoj grani pridružene u itom rješenju kome je pridružena i ihodišna točka gornjeg nivoa, a ako e u neku točku dodje puštanjem po denoj grani, to znači da e rješenje koje joj je pridruženo razlikuje od rješenja pridruže_ nog ihodišnoj točki neporedno prethodnog gornjeg nivoa po tome što varijabla rednim brojem nivoa dobiva vrijednot 1^ Za zadani kup od pet varijabli taj potupak provodi e do popunjavanja petog nivoa na kojem e nalazi kup od 32 točke - vaka je pridružena jednoj varijaciji ponavljanjem petog razreda od dva elementa. Pomoću heme a like 1 može e objaniti djelovanje aditivnog algoritma. To je u tvari kup pravila u kladu kojima e potiže optimalno rješenje (ako takvo potoji), ali lijedeći amo neke grane na hemi, dok e druge grane zanemaruju. Startajući iz ituacije u kojoj je vrijednot vih n varijabli, algoritam itematki dodjeljuje nekim varijablama vrijednot 1, tako da nakon provjere malog broja od kupa vih mogućih varijacija vrijednoti varijabli, pronalazi optimalno rješenje ili e pokaže da takvo rješenje ne potoji. U tvari to e potiže kroz kup pravila koja e primjenjuju u vakoj iteracij'r, a grubo e potupak može podijeliti u dva di- jela: a) odredjuje e podkup varijabli koje kandidiraju za dodjelu vrijednoti 1 h) izmedju tih varijabli izaberu e one kojima e dodjeljuje vrijednot 1. 186

Hunjak T. Balaov algoritam Zbornik radova (198), k Nakon odredjenog broja iteracija potaje jano da je optimalno rješenje potignuto ili da u optimalnom rješenju nemaju vrijednot 1 ve one varijable kojima je ta vrijednot dodijeljena tokom potupka. Potupak e tada zautavlja i ponovo e kreće iz prethodne e tape. Drugim riječima, pravila algoritma omogućuju da e iden tificiraju one grane tabla rješenja koje ne vode k rješenju boljem od već potignutog, i koje e zbog toga mogu naputiti. Efikanot algoritma u znatnoj mjeri ovii o efikanoti potupka kojim e utvrdjuje da neko rješenje nije bolje od već potignutog rješenja, odnono o reduciranju što većeg broja grana koje nije potrebno lijediti. Neke definicije i oznake Promatra e problem P. Budući da vako ograničenje kupa (2) adrži točno jednu komponentu vektora, rješenje u p =(x p, P ) je jedintveno odredjeno kupom = U I en, x P =1} zbog x P -f 1 e p (5) IO j e N \ P P = b.-.. a.. lem (6) 1 1 j e 1 1 P Kao što je pokazano, aditivni algoritam generira niz rješenja. S-ti član tog niza e označi u S = u(jj, r ) = (x S, ) (7) gdje je {j 1,j p } = ={j jen, x!*l} (8) dok će z g biti oznaka za vrijednot forme (1) za u S. Niz ovih rješenja počinje u i za to rješenje je =, x =, =b i Z q =. Naravno, Q C p z a vaki p ^. Skup vrijednoti koje ite- poprima funkcija cilja za moguća rješenja dobivena do -te racije označi e a Z = {z p I p <, u P > } (9) 187

Hunjak T. Balaov algoritam Zbornik radova (198), h Ako taj kup nije prazan, njegov najmanji element će e zvati plafon za u. Ako pak je taj kup prazan, ulogu plafona preuzeti će. Plafon za u bit će označen a» ako je Z = (1) min z ako je Z 4 7 P p Za vaku i teraci ju +1 novi vektor koji e uvodi u bazu bit će izabran iz podkupa kupa {a. jen}, koji e zove kup pobolj^ ) c avajućih vektora za rješenje u. Odgovarajući kup indeka j označi e N (naravno, N C N), a u daljnjem tektu će e definirati preciznije. Nadalje treba definirati neke vrijednoti koje će e korititi kao kriterij za izbor vektora koji e uvodi u bazu. Za vako rješenje u i vaki jen definiraju e vrijednoti iemj" ( -fjj) EN ; H S ~* (11) V. 1 jen ; M S T= ' gdje je M^V {\ \ * - a.. < } (12) Značenje tih vrijednoti je očito; vt, je uma negativnih kom+1 ponenata vektora rješenja u, koji e dobije iz vektora rješenja u povećanjem kupa g na g+^ = l-(j"}. Kao što je po menuto, vrijednot v^ luži za izbor novog vektora koji e gvo di u bazu, a\ko je utanovljeno da je to efikaan kriterij, potrebno je itaći da je on empirički i da nije bitan za funkcioniranje aditivnog algoritma - on može dobro raditi i primjenom nekog drugog kriterija. Izbor kriterija za uvodjenje novog vektora u bazu utiče na efikanot algoritma, ali nema utjecaj na njegovu konačnot. U kladu aditivnim a Igori trnom vrijednot i Vj pridodate vakom rješenju u** potepeno e brišu u idućim i teraci jama u kladu ulogom koju igraju. k k Skup takvih j, za koje u vrijednoti v. pridodate rješenju u briane prije nego je dobiveno rješenje u, označi e C. (k<). k (C, = po definiciji). 188

Hunjak T. Balaov algoritam Zbornik radova (198), 4 Skup indeka j za koje u vrijednoti vp. pridodate vakom rjep -1 šenju u a vojtvom p < i C, briane prije potizanja P.. rješenja u oznaci e C S - C S U ' p p C p (13) Dalje e za rješenje u S definira kup takvih j e (N-C ) da, ako je a. uvedeno u bazu tako da je potignuto 5 + 1 - S U(} vrijednot funkcije cilja potigne plafon za u. Oznaka za taj kup je D = {j je(n-c ), c.>z x ( ) -z } (14) S Iz kupa indeka j e N-(C S U D & ) izdvojit će e u poeban kup oni j koji imaju vojtvo da, ako e pripadni a. uvede u tako da je - bazu + 1 = U(j}, nenegativan. porate. Skup takvih j označava e E ={j je N -(C\to )h j«na..>} (15) Sada e može dati prava definicija kupa poboljšavajućih vektora za rješenje u. To je kup takvih a^., za koje j pripada kupu N = N - (C S ( D U E ) (16) Očigledno, = za vako moguće rješenje u. Slično definira e par rješenja u S i u^ (k <, ) kup onih j e (N^'C^) za ko je, ako je a. uveden u bazu tako da je potignuto z + 1 potiže-'plafon za u = ^l/tj}«d k ={ j* e(n k " C k } ' C j > z X ( S ) _ z k } ( 1 7 ) 189

Hunjak T. Balaov algoritam Zbornik radova(198),4 k Konačno, za dani par rješenja u i u takav da je u =u(j r...,j r ), u k =u(j 1 j r _^(i t»*n k C $ ) k definira e kup poboljšavaj ućih vektora za rješenje u, preotalih nakon iteracije. To je kup takvih a. za koje j pripada kupu N k \ " < c k u D k» < l8 > Skupovi definirani (16) i (18) igraju centralnu ulogu u ovom algoritmu. Čim e dotigne neko rješenje u, za daljnje uvodjenje u bazu dolaze u obzir amo poboljšavajući vektori za to rješenje. Ako e utanovi da je kup poboljšavajućih vektora za rje_ šenje u prazan, to e interpretira kao "top ignal", što znači da ne potoji moguće rješenje u 1 - takvo da je C t i x() z t < z. U ta_kvom lučaju ponavlja e potupak za neko prethodno rješenje u, identificiranomu kladu odgovarajućim pravi_ lima, i za vako takvo rješenje u amo kup poboljšavajućih vektora preotalih nakon iteracije dolazi u obzir za uvddjenje u bazu. 3. PRIKAZ ADITIVNOG ALGORITMA U daljnjem tektu bit će aditivni algoritam prikazan po koracima. Starta e dualnim mogućim rješenjem u, za koje u x =, =b i z = (19) o ' o Neka je nakon -te iteracije dobiveno rješenje u S =u(j^,, r ) za koje je e (2) j e (N- ) Z z =. _. c. j ej j (21) Tada e dalje potupa na lijedeći način: Korak 1 : I pi ti vanje ^ (iem)., 1a. Ako je. > (icm), kup z = z Skup D. je definiran a (17) za vaki k<, brišu e vrijednoti v. za eu^» k< i prelazi na korak 5. Ako do ovog lučaja dodje za u,tada je u optimalno rješenje i algoritam je okončan. 19

Hunjak T. Balaov algoritam Zbornik radova(198), 4 lb. Ako potoji i- takav da je ^ <, prelazi e na '1 Korak 2 : Identificiranje poboljšavajućeg vektora za rješenje u S formiranjem kupa N kao što je to definirano a (16). 5 2a. Ako e =, tada ne potoji poboljšavajući vektor za u i prelazi e na korak 5. 2b. Ako je ć, prelazi e na Korak 3 : Ipitivanje relacije E a" < * (i/ * < ) (22) jen gdje u a.^ negativni elementi matrice A. 3a. Ako potoji takav i^ M za koji nejednakot (22) ne vrijedi, prelazi e na korak 5. 3b. Ako u ve relacije (22) zadovoljene kao troge neje_ dnakoti, treba izračunati vrijednoti v. prema defj_ nicionim izrazima (11) i (12) za vaki j e N i izabrati onaj j g +^ za koji je v. 1 = max v. /o->\6) (23) en izbriati v. i preći na korak 8. S+ 1 3c Ako ve relacije (22) vrijede, i potoji podkup M od M takav da u relacije (22) zadovoljene kao jednakoti za i e M, prelazi e na Korak 4 : Ipitivanje E j relacije xu) < Z " Z (24) F gdje je F g kup takvih jen, za koje je a..< za naj^ manje jedan iem.. 6)Ako jednakoti(2s)i(28)vrijede za više od jednog 3 ~ 3 & + i e biva tako da je o. =min o.(gdje je kup omn j za d +l 3 je m a X koje vrijedi taj lučaj). Ako ^a relacija takodjer vrijedi za više indeka j, tada e bira bilo koji od njih kao + j- 191

Hunjak T. Balaov algoritam Zbornik radova (198), 4 4a. Ako vrijedi (24), briše e v^ za ve j e F (bez izra_ čunavanja njihovih numeričkin vrijednoti)^ Skup + i= = \F izračunaju e vrijednoti funkcije cilja 5 S z ^1 = z +. E _ c. (25) +1 jrf j i olabljenih varijabli! + 1 =! -. Z c a.. (i e M) (26) 1 1 j ef 11,. ~. +1,.^ za novo rješenje u, 1 prelazi e na novu iteraciju (tarta e ponovo korakom 1) 4b Ako (24) ne toji, briše e vj za vaki j e N (bez izračunavanja numeričkih vrijednoti), i prelazi e na Korak 5 identificiranje poboljšavajućih vektora za rješenje (u (k/^cg) preotalih nakon interacije, ipitivanje kupova (k/^cg) definiranih (18) za opadajući redolijed brojeva k, tako dugo dok e ne pronadje k^ takav da vrijedi C g i 4 9 ili e utanovi da je kup prazan za vaki k a vojtvom ^C g. 5a. Ako je = za ve k takve da je ^Cg, tada ne potoje poboljšavajući vektori ni za jedan u k (k/,c. ) K S i algoritam je okončan. U tom lučaju, ako je Z g =, P nema moguće rješenje. Ako pak je Z =, tada je u'', za,... x(),. ^ x()... koji je z^ = z optimalno rješenje 1 z je minj_ mum što ga funkcija cilja potiže za to rješenje. 5b. Ako je 4 za k=k^,» preći na Korak 6: Ipitivanje relacije E a" * ) (i/ ) < ) (27) za k=k.j. 192

Hunjak T. Balaov algoritam Zbornik radova (198), k 6a. Ako i jedna od relacija (27) nije ipunjena za k=k^, briati v.^1 za vaki j e i ponoviti korak 5 za k< k^, pišući k_ umjeto k^ u koracima 5 i 6. Uvijek kada e korak 5 ponavlja za k< k a, treba piati k^ umjeto k u koracima 5 i 6. Ako relacije (27) niu zadovoljene za vaki k takav da je Nj* 4, algoritam je okončan, itim zaključcima kao u 5a. 6b. Ako u za k=k ve relacije (27) zadovoljene kao p troge nejednakoti, treba izabrati j. takav da je k v. = max v. 3 (28) +1 j e N k B 3 poništiti v. i preći na korak 8. +1 6c. Ako u za k = k ve relacije (27) zadovoljene, i potoji podkup M, od M takav da u relacije (27) B zadovoljene kao jednadžbe za ie Korak 7- Ipitivanje relacije 3, preći na l e Fr S 1 k * ( 2 9 > gdje je F, kup takvih j e N, B 6 najmanje jedan i e M,. P za koje je a.,< za ko 7a. Ako vrijedi (29), poni štit v &za vaki je j B Skup j = ( F^. Izračunati vrijednot funkcije 3 3 cilja z + l = Z k B + c ef k B j ( 3 ) 19

Hunjak T. Balaov algoritam Zbornik radova(198), 4 i olabljenih varijabli 7b. f + 1 = V z a (i e M) (31) I 'l.,-s I ef k. ~. +1.,.., za novo rješenje u 1 preci na novu iteraciju (tartati ponovo korakom 1). Ako ne vrijedi (29), poništiti vrijednoti v. k B za vaki j e i ponoviti korak 5 za vaki k < k^. Ako takav k < k^ ne potoji, npr. ako je k^ =, algoritam je okončan itim zaključcima kao u 5a. Korak 8: Skup j" + 1 = SU^ S +^* Izračunati vrijednoti funkcije cilja i olabljenih varijabli za novo rješenje +1 u kladu formulom Z +1 = Z p + c. '+1 = Z je +1 c. (32) +1 p. =T - a.. = b. - a.. (iem) (33) i 1 1 j +1 je +1 gdje je p definiran poljednjom izbrianom vrijednošću v?. Preći na iduću iteraciju (npr.tartati ponovo +^korakom 1). Algoritam pretaje kada je dobiveno rješenje u z za koje je (I) (II) dobivena ituacija 5a i 1 i dobivena ituacija 6a i (27) ne vrijedi ni za jedan k takav da je N* 4 ili (III) dobivena je ituacija 7b i k =. p Treba napomenuti da aditivni algoritam opiuje dobivanje jednog optimal 1 nog rješenja (ako takvo potoji). No, ako potoji više optimalnih rješenja za dani problem, ona e mogu potići uz modifikaciju izloženog algoritma u kojoj e u (14) i (17) tavlja znak > umjeto >, a u (24) i(29) < umjeto <. 194

Hunjak T. Balaov algoritam Zbornik radova (198), k Nadalje, moguće je reducirati broj rješenja koja e direktno i pituju tokom izvodjenja algoritma. Cijena za to je nešto loženija numerička procedura u vakoj iteraciji, a koja e zaniva na promjeni a 1 goritamkih koraka 3b, 3c, 6b, 6c kako lijed; 3b. Ako vrijedi (22) ipitati relacije E a7. - a7. <? (i/? < ) (22a)... ij ij i i jen x qdje je.. = max a... Ako ve relacije (22a) vrii j * i j x jen jede, izračunati vrijednoti v. za vaki jen,i za brati j, takav da je v. = max v. 5 + 1 S + 1 jen Poništiti v. i preći na korak 8. + 1 3c Ako vrijede relacije (22), i potoji podkup M od M takav da relacije korak k. (22a) ne vrijede za i e M S, preći na Odgovarajuće promjene treba u cijeloti učiniti i u koracima 6b i 6c. k. PRIMERI U ovom dijelu rada prikazano je rješavanje dvaju primjera izneenom metodom. Prvi problem, problem minimuma, je u potpunoti riješen uz navodjenje vih a 1 goritamkih koraka. Za drugi problem navedeni u amo algoritamki koraci kroz koje e prolazi tokom rješavanja, a čitalac može lako pratiti potupak rješavanja kombiniranjem ovog prethodnim zadatkom. Za problem makimuma nije dan primjer jer e on rješava jednotavnim vodjenjem na problem minimuma, kako je prikazano na početku iznošenja algoritma. 195

Hunjak T. Balaov algoritam Zbornik radova (198),4 Primjer 1: Odrediti minimalnu vrijednot funkcije i* = -2xj + + x 3 + 5x - 4x! uz uvjete zj" + 2x 2-4x^ + 4x + 3x^ž 4 2 x 1 " 3 x 2 " X 3 + 5 x 4 + 6 x 5-4x^ + x 2-3x^ - 2x^ < xj = i 1 i 1 za j = 1 5 Da bi e ovaj problem tranformirao u oblik na koji e može primi jeni ti aditivni algoritam (oblik koji odgovara problemu P iz prethodnog prikaza aditivnog algoritma), treba uradi ti i ijedeće: - prvu nejednadžbu pomnožiti -1 da bi e vela na oblik - izvršiti zamjenu varijabli kako lijedi 8 x. = x: za j = 2,4 1 -xj za j = 1, 3, 5 - uveti dopunke varijable Tranformirani problem u tom lučaju glai: Odrediti minimum funkcije z = 2x 1 + 3x 2 + x^ + 5x^ + 4x,- uz uvjete x 1-2x 2-4x^ - 4x^ + 3x 5 + ] = -4-2x 1-3x 2 + x^ + 5x^ - 6x^ + 2 = 1-4x 1 - x 2-3x^ + 2x,- + 3 = -2 x. = ili 1 za j = 1,..., 5 Rješavanje ovog zadatka može e pratiti kroz tabelu 1. U daljnjem tektu bit će navedeni algoritamki koraci koji e poduzimaju u vakoj iteraciji, uz prikaz izračunavanja pojedinih veličina i formiranja kupova indeka koji u potrebni za rad a 1 go r i trna. 196

Hunjak T. Balaov algoritam Zbornik radova (I98O), 4 Broj z reda 1 N i i V. c D 1 2 3 j -4 1-2 E F 2 Z ar. -1-7 3 1-5 -5 7 k 2 1 - a M V a i 2-2 -3-5 8 5 3 V a i 3-2 -2 1 6 7 1 3 1 8 1 a i" i4 1 î E a-. 1 N j 1 -A -4 6-2 3 2,5-7 9 1 11 2 3,1 3 1?. 13 14, 1 1.- a. -1 '1 1 1-1 2, 1 4 a V i4-5 -5* 2 î -1 2 2 3,1 5 I a-. cn 2 ' j -6, 2 2.- a.~ '1 12, 2 4 - - a.. -3 o 3-3 5 15 3 3,1,2 6 1 5 1 16 a:. 3, 17 at. U en 3-6 -7 18 4 3,1,2,4 11 i it 5 4 19 j -2 ^ Tabela 1 197

Hunjak T. Balaov algoritam Zbornik radova (198), 4 Algoritam počinje odredjivanjem vrijednoti =, q =, z = za početno rješenje u (, b). Za ovo početno rješenje u vrijednoti olabljenih varijabli ;, o 1 o I Iteracija: 1. korak:? < za i = 1, 3, prema lb prelazi e na 2. korak: Traženje poboljšavajućeg vektora za rješenje u, formiranjem kupa N = N - o (C \DU o v E ) o,, C =, D = (zbog Z = ->z o =<»-> ne potoj? j takav da bi vrijedilo x(o) C. Z V - 2 ) E = {5} (vidi 1. red tabele 1) N q = {1,2,3,4,5} - {5} = {1, 2, 3, 4} Zbog N Q ^ ovo je ituacija 2b, pa e prelazi na 3. korak: i pi ti vanje relacije (22) za i = 1,3 (2.red u, tabeli 1) o \ atj = a l2 + a T 3 + 314 = " 2 " 4 ^ = " 1 < 1 - - k S a31 jen o 34 ^ = a = ~ k " 3 = " 7 Y 3 = " 2 5 5 Kako u nejednakoti (22) trogo zadovoljene, ovo je lučaj 3b, pa e izračunavaju vrijednoti v. definirane (11) i (12) za j eh (to je pri kazano u 3., 4., 5. i 6. redu tabele 1): v 1 - E - L I > 1 emj E V2 = u " 1 em^ : V E V3 3 = i em -= 3» 198

Hunjak T. Balaov algoritam Zbornik radova (198),4 v -, ( -, 1. 1-5 - - I. Vidi e da je max v. = /, pa e prema 3b poništava v, (kako i 5 jen je algoritam važno kojim e redom poništavaju vrijednoti v., to e redolijed poništavanja tih vrijednoti bilježi doda- - * vanjem numeracije; npr. uz v^ = -2 doda e 1 (-21) - vidi 5- red tabele 1) i prelazi na 1 = U (3> = U (3) = o z 1 = z + c^ = 3 1 o = 1 1 - a 1 3 = - 4 + 4 = 1 o = 2 2 - a 2 3 = 1-1 = 1 o Y = 3 3 - a 3 3 - -2 - - -2 (ve ove vrijednoti upiane u u edmi red tab.l) Prelazi e na iduću iteraciju. i I Iteracija: 1. korak: 3 <, prema lb prelazi e na 2. korak: N ] = N - (c'ljd^e^ C 1 = {3}, D 1 =, E 1 = {2,5}, (vidi 7.red tab.l) N 1 = {1,2,3,4,5} - {{3}U (2,3,5}} = {1,4} Zbog ć, prema 2b prelazi e na 3. korak: Ipitivanje relacije (22) za i=3 (prikazano u 8. redu tabele 1) ^ jen = + "Š* = ^ "3 = "7 < Y 3 = -2 Kako je ovo lučaj 3b, treba izračunati vrijednoti v! za j = 1,4 (vidi 9.i 1.red tabele 1): A = V ( 1 * " " " } = - 1 = - 1 V i em 1 4 =. \ l M - a i4 } = ~ 5 = -5 um; 199

Hunjak T. Balaov algoritam Zbornik radova(198),4 Kako je vi = max vi, briše e vi i prelazi na jen 1 2~ Z 2 = 1 U {1} + Z1 c1 2 1 1 = 1 " a 11 2 1 2 = 2 " a 21 2 1 a = 3 3 31 (vidi 11. red {3,U 1+2=3 = - 1 = -1 = + 2 = 2 = -2 + 4=2 Prelazi e na novu iteraciju. I I I iteracija: 2 1. korak: ^ <, pa e prema lb prelazi na 2. korak: N = N -(C 2 UD UE / z z C 2 = {3,1}, D 2 =, E 2 = {5} (vidi 11.red tabele 1) N 2 = N-(c 2 U D 2 U E 2 )={1,2,3,4,5} -{{3,1}U{5}}={2,4} Zbog N 2 4 prelazi e, prema 2b,na 3. korak: Ipitivanje relacije (22) za i=1 (prikazano u 12. redu tabele i). \ a ij = a ~\2 + a" 4 = -2-4 = -6 < 2 = -1 Očito e radi o lučaju 3b, pa treba izračunati vrijednoti v? za j = 2,4 (vidi 13., 14., 15. red u tabeli 1 ) em 2 V4 =. Z M2- ( Y i " ^ = 2 " 5 = " 3 2 2 2 Vidi e da je v 2 = max v., pa e briše v 2 i prelazi na j E N 2 2

Hunjak T. Balaov algoritam Zbornik radova (198), 4 3 " 2 U {2} 2 2 Z + C 2 l " a l2 2 2 " a 22 Y 3 2 3 3 " a 32 = (vidi 15. red Prelazi e na (3,1,2} 3 + 3 = 6 = -1+2 = 1 = 2 + 3 = 5 = 5-1=4 IV Iteraciju: 3 1. korak: Kako je. > za ve i, ovo je lučaj 1a. Z = {z }, z x ( 3 ) = z = 6 3 3 3 Treba formirati kupove D q, D^ i D^: n o = / e(v C o)' c.*(6-) }= (jer je C j<6 V j) D 3 = {j/ je(n 1 -C 3 ), c.*(6-1)} N ] = {1,4}, C 3 = {1}=>D 3 = {4} D 3 = {]/ je(n 2 -C 3 ), C j>(6-3)} N 2 = {2,4}, C 3 = {2}* D 3 = {4} Dalje e, prema 1a, brišu v^ (zbog D^ = {4}) i v^ (zbog D 3 = {4} i prelazi e na 5. korak: Ipituje e da li potoji poboljšavajući vektor za 3 3 rješenje u, ipitivanjem kupova N (definiranih (18)) za k = 2,1,. N 3 = N 2 - (C 3 UD 3 ) N 2 = {2,4}, C 3 = {2}, D 3 = {4} + N 3 = N 3 = N 1 -(C 3 U D 3 ) N ] = {1,2,3,4}, C 3 = {1}, D 3 = {4} -> N 3 = {2,3} 21

Hunjak T. Balaov algoritam Zbornik radova (198), 4 3 Kako je ^, ovo je ituacija 5b, pa e prelazi na 6. korak: Ipituje e relacija (27) za k = 1, i=3 (jer je ^ < ) (vidi 16. red tabele 1) E a" = ^ \ = -2 1 1 Prema tome, ovo je lučaj 6a. Brišu e i v^ (već 5. korak: N 3 = N -(c 3 UD 3 ) u briani) i ponavlja e 5. korak za k=5. N Q = {1,2,3,4}, C 3 = {3}, D 3 = -* N 3 = {1,2,4} 3 Zbog /, prema 5a, prelazi e na 6. korak: Ipituje e relacija (27) za k =, 1=1,3 ^.; } - - 2 4 - -6 < - E a" = -4-3 = -7 < = -2. jeht 3 3 o Ovo je lučaj 6b. Kako je max v. = v^ poništi e v^ i prelazi na -i^o ^ 8. korak: = U {4} = {3, 1, 2, 4} = 6 + 5 = = 11 z 4 = z 3 + c 4 4 1 = A - l4 = 1+4 = 5 a 4 a 2 = A - 24 = 5-5 = 4 = 3 A - 34 = 1+3 = 4 a (vidi 18. red u tabeli I 1) prelazi e na V Iteraciju: 1. korak: Zbog ^ (I=1,2,3) ovo je lučaj 1a. Z, = {6,11} z x ( 1 = 6 4 ^ Formiraju e kupovi D fc za k =, 1, 2, 3; 22

Hunjak T. Balaov algoritam Zbornik radova (198), k D 4 = C j * 6} i- {}/ je(n 1 -c»>. C j * 5} N 1 = {1, 4}, = {1, 4} <- {j/j e (N 2 - c }, C j " N 2 = {2, 4}, = {2, 3} (zbog = ) Prelazi e na k 5. korak: = N 3 N 2 - (C3U D) = - (C^U u\) N 2 ' N 2 = {2, 4}, (cj N UD) 1 N 1 = {1, 4}, ' 2 4 ^ = N -<C*UD*) o N = {1,2,3,4}, Prema 5b prelazi e na 4 4 ) =+ N H o o 6. korak: Ipitivanje relacije (27) za k =, i = 1,3 o =. a Tj = " 2 < h = ~ k o Ovo je lučaj 6a, pa treba briati v^ i v^. Kako e relacija (27) dalje ne može ipitivati (ipitana je za ve vrijednoti indeka k), algoritam je okončan. 3 x(4) Prema 5a,optimal no je rješenje u jer je z^ = z =6. 23

Hunjak T. Balaov algoritam Zbornik radova (198),4 Prema tome, funkcija z iz problema P potiže minimum z=6 za vrijednoti varijabli x 1 = 1 ' x 2 = 1 ' X 3 = 1 ' X 4 = ' X 5 = * Odgovarajuće rješenje početnog zadatka je x 1 = ' x 2 = 1 x ' 3 = ' x 4 = ' x 5 = 1 a vrijednot funkcije cilja min z* = -1. U tabeli 2 pregledno je prikazana provedba aditivnog algoritma za primjer 1, po algoritamkim koracima. U tupcima tabele u redom napiani; iteracija, kup za odgovarajuću iteraciju, algoritamki koraci u vakoj iteraciji. Niz rješenja Algori tamki koraci lb, 2b, 3b, 8 1 3 1b, 2b, 3b, 8 2 3,1 1b, 2b, 3b, 8 3 3,1,2 1a, 5b, 6a, 5a, 6b, 8 4 3,1,2,4 la, 5b, 6a, 5a. Tabela 2. Na lici 1, danoj u klopu aditivnog algoritma, može e prati ti rješavanje primjera 1. Starta e rješenjem u za koje je x. = (j = 1,...,5). Potom e dobije rješenje 1... u ta koje je Xj 1 za j = 3 za j = 1,2,4,5 (na lici tom rješenju odgovara čvor T^). Iduće rješenje koje daje algoritam je 2 r1 za j = 1,3 za j = 2,4,5 Na lici e vidi kojom granom treba ići da bi e došlo u čvor T^ koji odgovara tom rješenju. 24

Hunjak T. Balaov algoritam Zbornik radova(198),4 Rješenje koje i i jedi je 3,.. fl za j = 1,2,3 u za koje je x. =< p za j = 4,5 'ako e na kraju pokaže da je ovo optimalno rješenje, prema algoritmu, potrebno je ipitati još i rješenje 4 / 1 za j = 1, 2, 3, 4 U 5 X. = < za j = 5 ali e utanovi da grana kroz pripadni čvor ne vodi do optimalnog rješenja, odnono da je optimalno rješenje već prije potignuto. Algoritam e zautavlja "dolakom" na poljednji, peti nivo u čvor T - taj čvor odgovara rješenju u3 jer e u njega dodje iz čvora puštanjem po lijevim granama. Primjer 2: Odrediti minimum funkcije z' = 4x - 3x 2 uz uvjete _ 12x^ + x + 8x^ -x^ + 2x* - 5x' - 4x + 6x^ < 2 4x* - 5x 2 - x^ + 4x^ - 8x^ > 5 2x^ - x 2 + ** x 3 " x ij + 2 x 5 - xj = ili 1 (j = 1 5) Da bi e mogao primijeniti Balaov algoritam na rješavanje ovog zadatka, potrebno je proveti lijedeće tranformacije: - drugu nejednadžbu pomnožiti -1 - zamijeniti varijable kako lijedi x.,f j " ^ X 1 1 - xj j = 2,3 Nakon toga zadani problem poprima oblik: Odrediti minimum funkcije z = 4xj + 3x 2 + 12x^ + 4x^ + 8x c 25

Hunjak T. Balaov algoritam Zbornik radova (198), 4 uz uvjete ~x 1-2x 2 + 5x 3 - kx h + 6x 5 + ] =5-4x r - 5x 2 - x^ - 4x i + 5x^ + 2 = -11 2x. + x 9-4x - x, + 2x c +, = -3 1 / 3 4 5 3 x. = ili 1 (j=l,...,5) Ovaj problem, pa toga i polazni, nema rješenje. Tok rješavanja tog problema, napi an po algori tamkim koracima, vidljiv je iz lijedeće tabele (tabela 3) : Niz rješenja Koraci X lb,2b,3b,8 1 4 lb,2b,3b,8 2 4,2 lb,2b,3b,8 3 4,2,3 lb,2b,3b,8 4 4,2,3,1 lb,2a,5b,6b 5 4,2,3,1 lb,2a,5b,6b 6 4,2,3,1 lb, 2a,5b,6a,5b,6a,5a Tabela 3 26

Hunjak T. Balao algoritam Zbornik radova (198), k L I T E R A TURA 1. Lj.Martić, Matematičke metode za ekonomke analize II, Narodne novine, Zagreb, 1972, tr.256-257. 2. Lj.Martić, Kvantitativne metode za financijke i računovodtvene analize, Ekonomki fakultet, Zagreb,1978. 3. E.Bala, An additive algorithm for olving linear program with zero-one variable, Operation Reearch, Vol. 13, 1965, tr.517-546. 4. S.Ahour and A.R.Char, Computational Experience on Zero-One Programming Approach to Veriou Combinatorial Problem, ournal of the Operation Reearch Societ of apan, Vol.13, No.2, 197, tr.78-18. Primljeno: 198-11-1 Hunjak T. A Decription of Bala' Algorithm for Zero-One Programming S U M M A R Y In thi paper the author preent an algorithm for olving linear program with zero-one variable. In the introductor part of the paper attention i called to the importance of zero-one programming problem. The paper itelf i divided into thre part: the firt part dicue the baic idea of the algorithm, the econd contain a decription of the algorithm, while the third provide the olution of two numerical example. 27