520 likes | 912 Vues
Problem asignacije. Specijalni problem linearnog programiranja. Jednostavan primjer.
E N D
Problem asignacije Specijalni problem linearnog programiranja
Jednostavan primjer Ivan, Marko, Luka i Juraj kandidati su za četiri posla. Svaki od njih treba određeno vrijeme da obavi poslove. Vrijeme potrebno osobama da obave poslove dano je u tablici. Potrebno je napraviti raspored osoba na poslove tako da je ukupna efikasnost optimalna.
Jedan mogući pristup: nađemo sve moguće rasporede osoba na poslove, izračunamo ukupno vrijeme rasporeda i izaberemo najmanje Nekoliko rasporeda Ukupno vrijeme 8+18+7+6=29 8+18+13+10=49 8+12+14+6=40 Vi dalje popunjavajte…
Ovo nisu svi rasporedi. Koliko ih ima?Ima ih 4!=1x2x3x4=24, koliko je permutacija od 4 broja. Ako je broj osoba i poslova 5, broj rasporeda je 5!=120. 20!=2432902008176640000. Malo previše za nabrajanje stoga mijenjamo pristup.
Mijenjamo pristup Svaka osoba je najbolja na nekom poslu. Svaki posao ima najboljeg radnika. Pogledajmo!
Svaki od kandidata najbolji je na nekom poslu i to smo napisali u zadnjem stupcu. Na svakom poslu je najbolji netko od kandidata i to piše u zadnjem retku
Označimo:u i=min broj u i-tom retku, i=1,2,3,4 Od svakog retka oduzmimo njegov najmanji element. Time dobivamo barem jednu 0 u svakom retku. Postupak slijedi…
Polje s nulom u retku? U prvom retku je Ivan i on je najbolji tamo gdje je 0 u prvom retku. A Marko? Tražim nule u drugom retku…
Pogled na poslove! Koji posao bi poželio neku od navedenih osoba? Označimo s v j minimalan broj u stupcu pa potom od svakog stupca oduzmimo njegov minimalni element. Time dobivamo barem jednu nulu u svakom stupcu. Postupak…
Sada od svakog stupca oduzimamo njegov minimalni element. Time dobivamo barem jednu nulu u svakom stupcu.
Prva reducirana matrica Dobili smo matricu u kojoj su svi elementi nenegativni. Također imamo barem jednu nulu u svakom retku i svakom stupcu. Polja s nulama su kandidati za pridruživanje osoba poslovima. Ako je neka osoba dobila određeni posao, izostavljamo redak osobe i stupac posla iz preostalog razmatranja. Preostale osobe i preostali poslovi se još trebaju pridružiti. Radi toga tražimo redak s jednom 0. Tu nulu asigniramo, preostale nule u stupcu prekrižimo. Postupak nastavljamo s preostalim recima. Analogan postupak primjenjiv je i na stupce. Ako u tom postupku nad nulama dobijemo kompletnu asignaciju, STOP, dobiveno rješenje je optimalno.
Optimalno rješenje Ivan dobiva prvi posao. Marko dobiva drugi posao. Luka dobiva treći posao. Juraj dobiva četvrti posao. Ukupno vrijeme od ovog rasporeda osoba na poslove je najmanje i jednako je 39.
Ovaj primjer je jednostavan i lako je dobiveno optimalno rješenje. Iz prve reducirane matrice odredili smo optimalno rješenje. Postoje primjeri u kojima treba naći drugu reduciranu matricu, treću ... Idemo na formuliranje općeg problema asignacije…
Osnovni elementi Imamonposlova i n osoba. Poznata je efikasnost osobe i na poslu j, označimo je Cij, i=1,…,n;j=1,…,n. Pretpostavke: Svaka osoba može biti dodijeljena na jedan posao Na svakom poslu je potreban samo jedan radnik.
Cilj Treba naći raspored osoba na poslove koji daje optimalnu ukupnu efikasnost. Varijabla odluke je xiji može imati samo dvije vrijednosti, 0 ili 1. Zovemo je binarnavarijabla. xij =1 ako osoba i je dodijeljena poslu j xij =0 inače
Ograničenja Svaka osoba može biti dodijeljena na jedan posao pa za svaku osobu imamo jedno ograničenje. Ograničenje za osobu i x i1+xi2+…+x in=1, i=1,2,…,n. Svakom poslu potreban je jedan radnik. Ograničenje za posao j x 1j+x2j+…+x nj=1, j=1,…,n Imamo n+n=2n ograničenja
Funkcija cilja Funkcija cilja je ukupna efikasnost od rasporeda… Slijedi matematički model
Komentar To je problem cjelobrojnog programiranja, varijable su binarne. Ako uvedemo relaksaciju na način da uvjet cjelobrojnosti varijabli zamijenimo s uvjetom nenegativnosti varijabli dobivamo slijedeći problem
Birkhoff je 1946 dokazao da su ova dva problema ekvivalentna… To znači da optimalno rješenje relaksiranog problema je također optimalno rješenje početnog problema. Radi toga rješavamo relaksirani problem. Uočimo da je to problem transporta u kojem je ponuda svakog ishodišta 1 i potražnja svakog odredišta 1.
Poteškoća Visok stupanj degeneracije. Naime problem ima 2n-1 bazičnu varijablu od kojih je n različito od 0 i jednako 1, a preostale bazične varijable imaju vrijednost 0. Radi toga razvijena je posebna metoda, MAĐARSKA METODA. Autor je H.W. Kuhn, prema radovima mađarskih matematičara: E. Egerváry i D. Kőnig
Mađarska metoda 1. Prva reducirana matrica 2. Asignacija maksimalnog broja 0 3. Ako je kompletna STOP Ako nije kompletna idi na 4. Drugu reduciranu matricu, ponovi 2…
Primjer 2 • Riješite problem dodjele osoba na poslove kao problem minimuma, ako je poznata matrica osobnih efikasnosti. • Koristite razvijeno mišljenje.
Primjer 3 • Riješite problem dodjele osoba na poslove kao problem minimuma,ako je poznata matrica osobnih efikasnosti. • Koristite razvijeno mišljenje.
Primjer 4 • U jednom pogonu potrebno je obaviti 4 posla. Svi poslovi osim posla 4 mogu se obaviti na svakom od ova 4 stroja. Uz pretpostavku da se svaki posao može obaviti na samo jednom stroju, te da se na jednom stroju može obaviti samo jedan od poslova, odredite raspored poslova na strojeve za koji je utrošeno vrijeme za obavljanje poslova najmanje. Vrijeme za obradu poslova na strojevima (u norma satima) je dano u tablici…
Otvoreni problem asignacije • U slučaju da broj osoba i broj poslova nisu jednaki, recimo više je osoba nego poslova, problem se zove otvoreni. • Tada dopisujemo fiktivne poslove, toliko njih koliko je potrebno da se problem zatvori. • Efikasnost osobe na fiktivnom poslu je 0.
Primjer 5 • U pogonu je potrebno obaviti 4 posla. Svi poslovi osim posla 1 mogu se obaviti na svakom od 6 strojeva. Posao 1 ne može se obaviti na stroju 3. Kako treba rasporediti poslove na strojeve da utrošeno vrijeme rasporeda bude najmanje. Vrijeme potrebno za obavljanje poslova na strojevima dano je u tablici. • Riješite također ovaj problem tako da stroj 3 bude iskorišten za obavljanje ovih poslova.
Ako je M=max {cij:i=1,…n;j=1,…,n} idij=M-cij imamo problem minimuma ekvivalentan problemu maksimuma
Problem asignacije i društveni teorem • Imamo n muškaraca i n žena. • cij je mjera (recimo brojevi od 1 do 10) obostranog zadovoljstva muškarca i i žene j u prosjeku za neku vremensku jedinicu (na primjer dan, godina,… ) koju su proveli zajedno • xij dio vremenske jedinice koju će muškarac i i žena j provesti zajedno.
Pretpostavimo da muškarci i žene ne rade ništa drugo već provode vrijeme (dan) zajedno. Riješite problem tako da ukupna sreća ove dvije skupine ljudi bude najveća. …
Interpretacija ograničenja Prva skupina- svaki muškarac će provesti dan u društvu žena. Druga skupina- svaki žena će provesti dan u društvu muškaraca. Problem Matematički model
Optimalno rješenje (Birkhoff) je xijε{0,1}. To znači svaki muškarac će provesti dan s jednom ženom i svaka žena će provesti dan s jednim muškarcem. Ovo je dokaz da je monogamija optimalan društveni angažman. …
Zamijenimo max s min. Optimalno rješenje je također xijε{0,1}. Ovo je dokaz da monogamija minimizira ukupnu sreću. Ali oprezno…