5 LP tehtävän duaalitehtävä Annettuun LP-tehtävään liittyy duaalinen tehtävä, jolla on usein käytännön sovellutuksissa hyödyllinen (taloudellinen) tulkinta ja jota voidaan käyttää simplex menetelmän yhteydessä (tarkentamisessa). Molemmat tehtävät muodostetaan samoista kustannus- ja rajoitekertoimista. Jos toinen tehtävä on minimointitehtävä, niin toinen on maksimointitehtävä ja päinvastoin. Molempien tehtävien optimiarvot ovat samat (mikäli olemassa). Duaalitehtävän muuttujat voidaan ajatella alkuperäisen ongelman rajoitteiden hintoina (ns. varjohinta), mitkä kertovat kuinka paljon optimiarvo paranee jos rajoitetta lievennetään yhdellä. Ts., jos jokin varjohinta on nolla, niin rajoite ei rajoita ratkaisua ja se voidaan jättää pois. Duaalitehtävän muuttujat ovat myös suorassa yhteydessä suhteellisien kustannuskertoimien laskentaan Simlex-menetelmässä ja se mahdollistaa vaihtoehtoisten ratkaisumenetelmien kehittämisen. Samanaikaisella primaali- ja duaalitehtävän käsittelyllä saavutetaan myös LP-tehtävän ratkaisussa laskennallista etua. Lähdetään epäyhtälö-muotoisesta formuloinnista. Perustehtävä (primääri tehtävä, primal problem) c T x = min! Ax b (5.1) x 0 Duaalinen tehtävä λ T b = max! λ T A c T (5.2) λ 0 A R m n, x, c R n ja λ, b R m Muoto (5.1), (5.2) on duaalitehtävän von Neumann symmetrinen muoto. Huomautus. Von Neuman asetti, mutta ei todistanut, Dualisuus Lauseen: Jos perustehtävällä (5.1) ja sen duaalilla (5.2) on käyvät ratkaisut, niin niillä on myös optimaaliset käyvät ratkaisut joiden arvot ovat samat. Huomautus. Itse asiassa Neumann symmetrinen muoto on vinosymmetrinen, koska yhtälöistä muodostettu ryhmä on muotoa: 0 A b λ 0 A T 0 c x 0 b c 0 1 0 Huomautus. Mielivaltainen LP-tehtävä voidaan antaa yllä olevan perustehtävän muodossa. Tällöin saadaan käyttämällä ylläolevaa myös vastaava duaalitehtävä. Esimerkki 5.1. Esimerkiksi standardimuotoiselle tehtävälle muodostetaan duaali- 52
tehtävä seuraavasti: c T x = min! Ax = b x 0 c T x = min! Ax b (primal) Ax b x 0 [ ] b R b ja asetetaan suureet [ ] A Merkitään nyt à = R A 2m n ja b = [ ] λ1 λ = R 2m, niin saadaan vastaavaksi duaalitehtäväksi: λ 2 (5.3) λ T b = max! λ T à c T λ 1, λ 2 0 (λ T 1 λ T 2 )b = max! (λ T 1 λ T 2 )A c T λ 1, λ 2 0 Asetetaan λ := λ 1 λ 2 duaalitehtävä on { λ T b = max! λ T A c T. (5.4) Yhtälö (5.4) on duaalitehtävän epäsymmetrinen muoto. Tässä muodossa ei muuttujalla λ ole rajoitetta. Lause 5.1. Duaalitehtävän (5.2) duaali on perustehtävä (5.1). Todistus. Harj. Huomautus. Edellisen nojalla mikä tahansa LP-tehtävä voidaan ajatella paitsi perustehtäväksi, myös toisen tehtävän (oman duaalinsa) duaaliksi. 5.1 Duaalisuus käytännön optimointitehtävisä Duaalitehtävän tarkastelusta on hyötyä, sillä siinä päästään hyödyllisellä tavalla tutkimaan optimaalisuutta. Esimerkki 5.2. Ravintoaine ongelman duaaliongelma. Tarkastellaan syntyvää duaalitehtävää ravintoaine-esimerkin 4.1 tapauksessa. Ravintoaineongelma (4.16) on samaa muotoa kuin symmetrinen perusongelma: c T x min! Ax b x 0. 53
Annetaan tulkinta sen duaalille: Kuvitellaan, että lääkeyhtiö tuottaa pillereinä kaikkia henkilön tarvitsemia ravintoaineita ja haluaa mielummin syöttää ne pillerien muodossa ihmisille kuin eri ruuissa. Lääkeyhtiön ongelmana on siis määritellä positiivinen yksikköhinta λ 1, λ 2, λ m ravintoaineille siten, että he maksimoivat oman liikevaihtonsa ja ovat samaan aikaan kilpailukykyisiä tavallisen ruuan kanssa. Ollakseen kilpailukykyinen, niin ruuan i keinotekoinen tekeminen lääkeyhtiöltä ostetuista ravintoaineista (pilleristä) ei saa maksaa enempää kuin c i, mikä on i:nen tavallisen ruuan markkinahinta. Merkitsemällä A i :llä ruuan i ravintoainekoostumusta täytyy lääkeyhtiön määrittelemien hintojen toteuttaa ehto λ T A i c i kaikille i. Matriisimuodossa saadaan: λ T A c T Koska henkilön täytyy hankkia b j yksikköä ravintoainetta j, niin lääkeyhtiön ongelmana on alkuperäisen ongelman (4.16) duaaliongelma: λ T b max! λ T A c T λ 0 (5.5) Esimerkki 5.3. Resurssien optimaalinen allokointi. Tehdas valmistaa useita eri tuotteita, joiden valmistamiseen tarvitaan eri raaka-aineita. Tuotantopäällikkö haluaa käyttää saatavilla olevat raaka-aineet siten, että tuotteista saatava voitto maksimoituu. Ongelma on käytännössä dynaaminen, mutta tarkastellaan sitä tietyllä ajanhetkellä, jolloin ongelman parametrien (yksikköhinnat, raakaainemäärät) arvot tunnetaan. Oletetaan, että Tehdas valmistaa n:ää tuotetta: j = 1, 2,..., n. Tuotteisiin tarvitaan m:ää raaka-aineita: i = 1, 2,..., m. yksi yksikkö tuotetta j vaatii raaka-ainetta i a ij yksikköä Lisäksi raaka-aineen i, i = 1,... m, maksimimäärä on b i. raaka-aineen i, i = 1,... m, markkinahinta on ρ i AC/yks. tuotteen j, j = 1, 2,..., n, myyntihinta on σ j AC/yks. 54
raaka-aineen kustannus tuotettaessa yksi yksikkö tuotetta j on m i=1 ρ ia ij. Tällöin tuotteesta j saatava voitto/yks on c j = σ j m ρ i a ij, i=1 j = 1, 2,..., n Tuotettaessa x j yksikköä tuotetta j, niin siitä saatava voitto on c j x j ja koko tuotannosta saatava voitto on n c j x j j=1 Tuotannon tekemiseen käytetyn i:nen raaka-aineen määrä on n j=1 a ijx j, ja sille on voimassa rajoite n a ij x j b i, i = 1, 2,..., m. j=1 Tuotantomäärien x j täytyy olla ei-negatiivisia, joten tuotantopäällikön tehtävänä on ratkaista tehtävä: n c j x j max! j=1 rajoittein { n j=1 a ijx j b i, i = 1, 2,..., m x j 0, j = 1, 2,..., n c T x max! rajoittein { Ax b, x 0. (Primal) Toisaalta, tehtaan talouspäällikön tehtävänä on määrätä varastossa olevien raakaaineiden hinnat (esim. varaston inventaarion tekemiseksi). Pääsääntönä hänellä on, että yrityksen pitäisi olla valmis myymään raaka-ainetta ulkopuoliselle hänen määräämällä hinnalla. Oletetaan, että w i, i = 1,..., m on talouspäällikön määräämä yksikköhinta i:lle raaka-aineelle. Menetetty myyntitulo (lost opportunity cost), kun pidetään itsellä b i yksikköä raakaainetta i on silloin b i w i ja koko varaston menetetty myyntitulo on m b i w i. i=1 Talouspäällikön tavoitteena on minimoida varaston menetetty myyntitulo, mutta minimoinnille täytyy asettaa kuitenkin seuraavia rajoitteita: Raaka-aineiden varastohinnat täytyy olla suurempia kuin niiden markkinahinnat (miksi?), ts. w i ρ i, i = 1, 2,..., m; 55
ja varastohinnalla valmistettuna tuoteen j hinnaksi täytyy tulla suurempi kuin sen markkinahinta, ts. m w i a ij σ j, j = 1, 2,..., n. i=1 Merkitsemällä y i = w i ρ i, i = 1, 2,..., m, niin talouspäällikön ongelmaksi saadaan seuraava lineaarinen optimointiongelma: m b i y i + i=1 m b i ρ i min! i=1 rajoittein { m i=1 y ia ij c j, j = 1, 2,..., n y i 0, i = 1, 2,..., m. b T y min! rajoittein { y T A c, y 0. (Dual) Luku y i on yrityksen haluama voittomarginaali, jos se toimii vain raaka-aineen jälleenmyyjänä. Yllä 2. termi kustannusfunktiossa voitiin jättää pois, miksi? 5.2 Duaalitehtävän yhteys primääritehtävään. Duaalisuuden päälause. Lause 5.2 (heikko duaalilause). Olkoon x, λ tehtävien (5.3), (5.4) käypiä ratkaisuja. Tällöin pätee c T x λ T b (5.6) Todistus. λ T b = λ T Ax = = j=1 = c T x. m λ i (Ax) i = i=1 n m ( λ i a ij )x j = i=1 m i=1 λ i n a ij x j j=1 n λ T A j x }{{}}{{} j j=1 c j 0 n c j x j j=1 [ tai suoraan matriisimuodosta: λ T b = λ}{{} T A }{{} x c T 0 ] c T x.. 56
Kuva 1: Graafinen esimerkki duaalireiästä. Lause 5.3. Olkoon x 0, λ 0 tehtävien (5.3), (5.4) käypiä ratkaisuja siten, että Tällöin x 0 ja λ 0 ovat optimaalisia ratkaisuja. Todistus. Olkoon x, λ mv. (5.3), (5.4):n käypiä ratkaisuja c T x 0 = λ T 0 b. (5.7) c T x (5.6) λ T (5.7) 0 b = c T x 0 eli x 0 on minimi. λ T (5.6) b c T (5.7) x 0 = λ T 0 b eli λ 0 on maksimi. Huomautus. Duaalisuuden päälause antaa edellisen tuloksen toiseen suuntaan. Ts., jos primääri- ja duaali-tehtävällä on optimaaliset käyvät ratkaisut, niin duaalireikä on nolla. Lauseen todistusta varten tarvitaan seuraavaa määritelmää. Määritelmä 5.1. Joukko K R n on kartio, jos kaikille x K, α > 0 pätee αx K. Lause 5.4 (vahva duaalilause). (i) Jos duaaliparin (5.3) ja (5.4) toisella tehtävällä on äärellinen optimaalinen ratkaisu, niin se on myös toisella ja objektifunktion arvot ovat samoja. (ii) Jos jommalla kummalla tehtävistä objektifunktion arvo on rajoittamaton, niin toisella tehtävällä ei ole käypää ratkaisua. 57
Todistus. (ii) Tarkastellaan ensin lauseen toista osaa. Olkoon primääritehtävän objektifunktion arvo rajoittamaton. Jos λ on duaalitehtävän käypä ratkaisu niin Lauseen 5.2 mukaan λ T b M mv. suurelle M > 0, mikä on mahdotonta. (i) Tarkastellaan lauseen ensimmäistä osaa. Riittää lähteä perustehtävästä ja olettaa, että se on standardimuodossa (5.3). Oletetaan, että (5.3):lla on optimaalinen ratkaisu ja optimiarvo z 0. Asetetaan K = {(tz 0 c T x, tb Ax) x 0, t 0} R m+1 = R R m on suljettu konveksi kartio. (Harj) Osoitetaan, että piste (1, 0) on K:n ulkopuolinen piste. Merkitään Jos w = tb Ax = 0, t > 0, x 0, niin r := tz 0 c T x, w := tb Ax Ax = tb Siis x on (5.3):n käypä ratkaisu ja siten Ax = b, x = x t, x 0 c T x z 0 eli 1 t ct x z 0, c T x tz 0 r 0. Niinpä millään arvolla t > 0 ei ole (r, w) = (1, 0). Onko t = 0 mahdollinen?: Ax = 0, x 0 c T x = 1 Jos x on mikä tahansa (5.3):n käypä ratkaisu, niin x = x + αx on myös sen käypä ratkaisu kaikille α 0. Koska z 0 on minimi, niin tulee ristiriita z 0 c T x = c T x α, α 0. Siis (1, 0) / K. Nyt Lauseesta?? on olemassa R m+1 :n hypertaso H = {(r, w) sr + a T w = (s, a T ) siten, että ȳ = (1, 0) H ja K H +. [ ] r w = s} Edelleen, lauseeseen liittyvän seurauksen (??) nojalla [ ] 1 c := inf sr + (r,w) K at w > (s, a T ) = s ( ) 0 58
Nyt c 0, sillä (0, 0) K (valitse t = 0, x = 0 r = 0, w = 0). Välttämättä on c = 0, sillä kaikille (r, w) K on sr + a T w 0 c 0: VO: Jos olisi sr + a T w < 0, niin parille (αr, αw) = (r, w ) K olisi sr + a T w = α(sr + a T w), α > 0, α, mikä on mahdotonta koska ( ):n nojalla on sr + a T w > s. Koska c = 0, niin s < 0 ja edelleen sr + a T w c = 0, (r, w) K r + λ T w 0, (r, w) K, λ := 1 s Nyt r = tz 0 c T x, w = tb Ax c T x tz 0 + tλ T b λ T Ax 0 (c T λ T A)x tz 0 + tλ T b 0, x 0, t 0 Asettamalla t = 0 λ T Ax c T x, x 0 λ T A c T λ käypä. Asettamalla t = 1, x = 0 z 0 λ T b. Olkoon x (5.3):n optimi, niin c T x = z 0 λ T b. Lause 5.2 c T x λ T b c T x = λ T b Lause 5.3 myös λ on optimi. 5.3 Duaalitehtävä yhteys Simplex menetelmään Tarkastellaan duaalisuuden päälausetta Simplex menetelmän yhteydessä. Tarkastelussa osoitetaan, että kunhan primaali-ongelma on ratkaistu niin duaaliongelman ratkaisukin on tiedossa. Oletetaan, että x = (x B, 0) on LP-ongelman c T x min Ax = b (5.8) x 0 optimaalinen kantaratkaisu kannassa B. Nyt haluamme määrätä vataavan duaaliongelman b T λ max λ T A c T (5.9) 59
ratkaisun B suhteen. Ositetaan matriisi A = [B, N] ja vektorit x = (x B, x N ), c = (c B, c N ). Koska käypä perusratkaisu x B = B 1 b on optimaalinen, niin suhteellisen kustannusvektorin täytyy olla ei-negatiivinen ja siten c T BB 1 N c T N. r N = c T N c T BB 1 N (5.10) Osoitetaan, että λ, mille λ T = c T B B 1 on duaaliongelman ratkaisu. Nyt λ T A = [λ T B, λ T N] = [c T B, c T BB 1 N] [c T B, c T N] = c T (5.11) Koska λ T A c T, niin se on käypä ratkaisu duaalitehtävälle. Toisaalta, λ T b = c T BB 1 b = c T Bx B, (5.12) joten duaalitehtävän optimiarvo ratkaisulle λ on sama kuin perustehtävän optimiarvo. Lause 5.3 sanoo, että λ on optimiratkaisu. Nyt duaalisuuden päälause voidaan kirjoittaa hieman eri muotoon: Lause 5.5. Jos LP-ongelmalla (5.8) on optimaalinen käypä perusratkaisu kannassa B, niin λ T = c T B B 1 on duaaliongelman (5.9) optimiratkaisu. Molempien ongelmien optimiarvot ovat yhtäsuuret. Esimerkki 5.4. Duaalitehtävä ratkaisu Simplex taulusta. Duaalitehtävän ratkaisu nähdään suoraan simplex taulukosta, kun perustehtävä on ratkaistu. Lopullisessa taulukossa matriisi B 1 on niissä sarakkeissa, missä yksikkömatriisi oli aloitustaulukossa. Lisäksi viimeisellä rivillä, aloitustaulukon yksikkömatriisin alapuolella, on arvot c T I ct B B 1, missä c I :ssä on alkuperäisen yksikkömatriisin sarakkeita vastaavien muuttujien kustannuskertoimet. Mikäli alkuperäinen yksikkömatriisi vastaa puutemuuttujia, niin c I = 0. Vähentämällä c T I viimeisestä rivistä, niin saadaan viimeiseltä riviltä duaalitehtävän ratkaisun λ T = c T B B 1 vastaluku. Tarkastellaan esimerkkiä: x 1 4x 2 3x 3 min! 2x 1 + 2x 2 + x 3 4 x 1 + 2x 2 + 2x 3 6 x 1 0, x 3 0, x 3 0. Ratkaistaan tehtävä lisäämällä puutemuuttujat ja käyttämällä simplex menetelmää. Alkuperäinen taulukko on: 60
A 1 A 2 A 3 A 4 A 5 b 2 2 1 1 0 4 1 2 2 0 1 6 r T : 1 4 3 0 0 0 Vaihe 2: 1 1 1/2 1/2 0 2 1 0 1 1 1 2 3 0 1 2 0 8 Vaihe 3: 3/2 1 0 1 1/2 1 1 0 1 1 1 2 2 0 0 1 1 10 Optimiratkaisu on x 1 = 0, x 2 = 1, x 3 = 2. Optimiarvo on -10. Vastaava duaalitehtävä on: 4λ 1 + 6λ 2 max 2λ 1 + λ 2 1 2λ 1 + 2λ 2 4 λ 1 + 2λ 2 3 λ 1 0, λ 2 0. Duaalitehtävän optimiratkaisu saadaan simplex taulukon viimeisestä rivistä, niiden sarakkeiden kohdalta missä yksikkömatriisi sijaitsi alkuperäisessä taulukossa. Ts., ratkaisu on λ 1 = 1, λ 2 = 1. Objektifunktion arvo tässä pisteessä on -10, kuten pitääkin. Huomautus 1. Vektoria λ T = c T B B 1 kutsutaan myös simplex kertoimeksi (simplex multiplier) ja sen avulla voidaan laskea suhteelliset kustannuskertoimet kannan B suhteen jokaisella simplex iteraatiolla. Siis alkio λ j tarkkoittaa yksikkövektorin e j keinotekoista hintaa kun taas λ T A j tarkoittaa vektorin A j keinotekoista hintaa kannassa B (ts. paljonko A j :n tuottaminen maksaa kannan B avulla). 61
2. Perustehtävän optimi vastaa tilannetta, missä jokainen vektori A 1, A 2,..., A n on halvempi kun se konstruoidaan kantavektorien avulla kuin, että se hankittaisiin suoraan sen omalla hinnalla. Ts., λ T A i c i, i = 1, 2,..., n tai λ T A c. 6 LP-tehtävän herkkyys ja pelivaran komplementtiperiaate Kuten näimme, voimme ajatella duaalitehtävän optimiratkaisun hintana. Tarkastellaa asiaa hieman tarkemmin. 6.1 LP-tehtävän herkkyys Oletetaan, että LP-tehtävän c T x min! Ax = b x 0. optimikanta on B, mitä vastaava ratkaisu on (x B, 0), missä x B = B 1 b. Vastaavan duaalitehtävän ratkaisu on λ T = c T B B 1. Oletetaan, että x B surkastumaton jolloin pieni muutos vektorissa b ei aiheuta optimaalisen kannan vaihtumista. Ts., vektoria b + b vastaava optimiratkaisu on x = (x B + x B, 0), (6.1) missä x B = B 1 b. Lisäys kustannusfunktion arvossa on: z = c T B x B = λ T b. (6.2) Vektori λ kertoo siten herkkyydestä, kuinka kustannusfunktion arvo muuttuu kun vektoria b muutetaan hieman. Tulkinta liittyy myös simplex kertoimiin. Koska λ j on yksikkövektorin e j hinta kannassa B, niin se mittaa suoraan kustannusfunktion arvon muutosta kun muutetaan vektorin b alkion b j arvoa. Alkion λ j voidaan ajatella olevan alkion b j varjohinta (marginal price), mikä kertoo kuinka paljon optimiarvo muuttuu kun rajoite muuttuu b j :stä b j + b j :n. Jos on siis mahdollista lieventää jotain rajoitetta, niin kannattaa lieventää sitä minkä varjohinta on kaikista suurin. Jos rajoitteen varjohinta on 0, niin rajoitteella ei ole merkitystä optimoinnin lopputulokseen. Esimerkiksi ruokavaliotehtävässä (5.5) λ j tarkoittaa yksikköhintaa, minkä henkilön kannattaa enintään maksaa pienestä määrästä j:ttä puhdasta ravintoainetta, koska ruuan mukana ostettuna sama määrä tulisi maksamaan λ j verran. 62
6.2 Karush-Kuhn-Tucker (KKT) ehdot LP-tehtävälle Tarkastellaan tehtävää c T x min! Ax b x 0. Olkoon x tehtävän mv. käypä ratkaisu. Merkitään Gx g on niiden epäyhtälöiden Ax b, x 0 joukkoa, mitkä ovat sidottuja (aktiivisia) pisteessä x. Mikäli x on optimi, niin siinä ei ole olemassa käypää suuntaa d. Ts. ei ole suuntaa d siten, että cd < 0 ja Gd 0. [Jos sellainen suunta olisi, niin siirtymällä siihen suuntaan pisteestä x kustannusfunktion arvo pienenisi, koska cd < 0 ja uudet pisteet säilyisivät käypinä ehdolle Gx 0, koska G( x + λd) = G x + λgd) g, λ 0. Edelleen, jollekin λ > 0 piste säilyisi käypänä myös ehdolle, mikä ei ole sidottu x:ssa.] Kokska systeemillä cd < 0 ja Gd 0 ei ole ratkaisua, niin Farkasin lemman nojalla on olemassa u 0 siten, että ug = c. Määritellään, indeksijoukot I = {i A i x = b i } ja J = {j x j = 0} ovat epäyhtälöiden Ax b ja x 0 pisteessä x sidottujen yhtälöiden indeksijoukot. Nyt, u = (w i, v j ), i I, j J ja e j on j:s yksikkövektori. Ehto ug = c, u 0, voidaan kirjoittaa muotoon: w i A i + v j e j = c (6.3) i I j J w i 0, kun i I, ja v j 0, kun j J. (6.4) Ehdot (6.3) ja (6.4) ovat LP-tehtävän KKT-ehdot pisteessä x. Edellinen analyysi osoitti, että KKT-ehdot ovat välttämättä voimassa jos x on optimi. Olkoon sitten ehdot (6.3) ja (6.4) voimassa jossain käyvässä pisteessä x. Olkoon ˆx mv. käypä piste. Kertomalla yhtälö (6.3) puolittain luvulla (ˆx x) ja huomioimalla, että A i x = b i, i I ja e j x = 0, j J, saadaan cˆx c x = i I w i (A iˆx b i ) + j J v j e j ˆx 0, koska A iˆx b i i I, e j ˆx 0 j J ja yhtälö (6.4) pätee. Nyt cˆx c x ˆx, ja x on optimi. Saadaan seuraava tulos: Lause 6.1. Käypä ratkaisu x on optimi, jos ja vain jos yhtälöt (6.3) ja (6.4) pätevät. Määritellään w = (w 1,, w m ) 0 ja v = (v 1,, v n ) 0, missä w i = 0 ja v j = 0 vastaaville ei-sidotuille rajoitteille. Yhtälö (6.3) voidaan nyt kirjoittaa wa + v = c ja KKT ehdot ratkaisulle (x, w, v) voidaan kirjoittaa muotoon: Ax b, x 0 (6.5) wa + v = c, w 0, v 0 (6.6) w(ax b) = 0, vx = 0. (6.7) 63
Ehto (6.5) tarkoittaa primääriratkaisun käypyyttä, ehto (6.6) tarkoittaa duaaliratkaisun käypyyttä ja ehto (6.7) on pelivaran komplementaarisuusehto. Vektorit w ja v ovat ns. Lagrangen kertoimia (duaalimuuttujia). Koska w 0 ja Ax b, niin w(ax b) = 0 w i = 0 tai i:s rajoite on sidottu. Vastaavasti wx = 0 x j = 0 tai v j = 0. Esimerkki 6.1. Tutki KKT-lauseen nojalla onko piste (0, 0) tai ( 4, 8 ) optimi tehtävälle: 3 3 Ratkaisu: x 1 + 3x 2 min!, (6.8) x 1 2x 2 4, (6.9) x 1 x 2 4, (6.10) x 1, x 2 0 (6.11) Kuva 2: KKT-ehtojen toteaminen Oletetaan, että optimi olisi piste (0, 0). Geometrisesti tarkasteltuna (kuva) nähdään helposti, että piste (0, 0) ei ole optimi. Ensin, (6.5) pätee ja piste on käypä piste. Koska kumpikaan ehdoista ei ole sidottuja niin w 1 = 0 ja w 2 = 0 ehdossa (6.7). Koska w = 0, niin ehdosta (6.6) seuraa, että c = v, ts. v = ( 1, 3), mikä on ristiriita v:n ei-negatiivisuudelle. Siksi, piste (0, 0) ei voi olla optimi. Oletetaan sitten, että piste ( 4 3, 8 3 ) olisi minimi. Koska x 1, x 2 > 0, niin v 1 = v 2 = 0 pelivaran komplementaarisuusehdossa. Ehdon (6.6) nojalla täytyy olla c wa = 0, ts. w 1 w 2 = 1, 2w 1 w 2 = 3, 64
ja saadaan w 1 = 2, w 3 2 = 5. Nyt, w 0 ja Ax = b, joten w(ax b) = 0. Kaikki ehtot 3 (6.5)-(6.7) ovat voimassa ja piste ( 4, 8 ) on optimi. 3 3 6.3 Pelivaran komplementtiperiaate (Complementarity Slackness) Dualilauseesta seuraa perus- ja duaalitehtävän välille yhteys, mikä tunnetaan ns. pelivaran komplementaarisuutena. Sanotaan, että rajoitteessa on pelivaraa, mikäli se ei ole sidottu (ts. yhtäsuuruus voimassa). Epäyhtälörajoitteelle rajoitteella on pelivaraa, mikäli pelivaramuuttuja on positiivinen. Samoin sanotaan, että muuttujalla x i 0 on pelivaraa, mikäli se on positiivinen. Pelivaran komplementaarisuusperiaate liittyy perustehtävän rajoitteen pelivaran ja vastaavan duaalimuuttujan pelivaran väliseen suhteeseen. Alla annetaan relaatio erikseen ei-symmetriselle ja symmetriselle tehtäväparille. Lause 6.2 (ei-symmetrinen muoto). Olkoon x ja λ perus- ja duaalitehtävän käyvät ratkaisut tehtäväparissa (5.3), (5.4). Välttämätön ja riittävä ehto sille, että molemmat ovat optimiratkaisuja on, että kaikille i pätee: i) x i > 0 λ T A i = c i ii) x i = 0 λ T A i < c i Todistus. Oletetaan, että ehdot i ii ovat voimassa. Silloin (λ T A c T )x = 0., ts. λ T b = c T x ja Lauseen 5.3 mukaan ratkaisut ovat optimaalisia. Kääntäen, mikäli ratkaisut ovat optimaalisia niin Duaalisuuden päälauseen mukaan λ T b = c T x ja siten (λ T A c T )x = 0. Koska x 0 ja c T λ T A 0 niin ehdot i-ii pätevät. Lause 6.3 (symmetrinen muoto). Olkoon x ja λ perus- ja duaalitehtävän käyvät ratkaisut tehtäväparissa (5.1), (5.2). Välttämätön ja riittävä ehto sille, että molemmat ovat optimiratkaisuja on, että kaikille i, j pätee: i) x i > 0 λ T A i = c i ii) x i = 0 λ T A i < c i iii) λ j > 0 a j x = b j iv) λ j = 0 a j x > b j (a j on matriisin A j:s rivi) Todistus. vert. edellinen lause 65
Pelivaran komplementaarisuus periaatteella on jälleen taloudellinen tulkinta: Esim. jos oletetaan että ruokavaliotehtävässä (symmetrinen pari) optimaalinen (sallittu) ruokavalio sisältää enemmän kuin b j yksikköä ravintoainetta j niin henkilö ei ole valmis maksamaan pienistä määristä ko. ravintoainetta mitään, koska sen lisäys ei alentaisi ruokavalion kustannusta. Kun tulkitaan λ j :tä varjohintana niin edellä sanotusta seuraa, että λ j = 0, mikä vastaa Lauseen 6.3 kohtaa iv. Esimerkki 6.2. Ratkaise 2x 1 + 3x 2 + 5x 3 + 2x 4 + 3x 5 min! siten, että x 1 + x 2 + 2x 3 + x 4 + 3x 5 4 2x 1 2x 2 + 3x 3 + x 4 + x 5 3 x 1, x 2, x 3, x 4, x 5 0. Ratkaisu: Koska duaalitehtävässä on vain 2 muuttujaa, niin muodostetaan se ja ratkaistaan graafisesti. Duaalitehtävä on 4w 1 + 3w 2 max! siten, että w 1 + 2w 2 2 w 1 2w 2 3 2w 1 + 3w 2 5 w 1 + w 2 2 3w 1 + 2w 2 3 w 1, w 2 0 Ratkaisu on w 1 = 4 5, w 2 = 3 5 ja objektifunktion arvo on 5. Nyt tiedetään, että z = 5. Komplementaarisuuslauseen nojalla tiedetään, että x 2 = x 3 = x 4 = 0, koska vastaavissa rajoitteissa on pelivaraa. Koska w 1, w 2 > 0, niin x 1 + 3x 5 = 4 ja 2x 1 + x 5 = 3. Nyt x 1 = 1 ja x 5 = 1 ja optimi on löydetty. 6.4 Duaalisuuden geometria Huomautus 6.1. Geometrisesti Lause 6.1 tarkoittaa että x on optimi kustannusfunktion gradientti c on pisteessä x sidottujen rajoitteiden gradienttien määräämässä kartiossa. Tarkastellaan LP tehtävää 3x 1 + x 2 min! x 1 + 2x 2 4 3x 1 x 2 3 x 1 0, x 2 0. 66
Kuva 3: Grafinen ratkaisu Ratkaisu on x = (2, 3). Vektorit n 1 = ( 1, 2) ja n 2 = (3, 1) ovat vastaavasti hypertasojen x 1 + 2x 2 = 4 ja 3x 1 x 2 = 3 normaalit, sekä c = (3, 1) on kustannusfunktion normaali. Geometrisesti vektori c on vektoreiden n 1 ja n 2 välissä, joten se voidaan esittää niiden lineaarisena kombinaationa. Ts. on olemassa y 1 0, y 2 0 siten, että c = y 1 n 1 + y 2 n 2, tai. ( ) 3 1 ( ) ( ) [ 1 3 1 3 = y 1 + y 2 2 = 1 2 1 ] [ ] y1 Ratkaisemalla saadaan (y 1, y 2 ) = (6/5, 7/5), mikä on duaalitehtävän optimiratkaisu! Päätelmä seuraa suoraan pelivaran komplementaarisuuslauseesta. Lause 6.4. (Geometrinen dualisuuslause) Käsitellään LP-tehtävää: y 2 max c T x Ax b, x 0, (P) 67
missä A on m n matriisi. Olkoon piste x on tehtävän (P) käypä piste. Määritellään joukot Z( x) = {j {1, 2,, n} : x j = 0} ja ε( x) = {i {1, 2,, m} : n a ij x j = b i } j=1 aktiivisten indeksien joukkoina pisteessä x, mitkä vastaavat aktiivisia hypertasoja pisteessä x. Piste x on tehtävän (P) ratkaisu jos ja vain jos on olemassa skalaarit r j 0, j Z( x) ja y i 0, i ε( x) siten, että c = r j e j + y i a i (6.12) j Z( x) i ε( x) missä a i = (a i1, a i2,, a in ) T, i = 1,, m on matriisin A T i:s sarake ja vektori e j, j = 1,, n on j:s yksikkö koordinaattivektori. Edelleen, vektori ȳ R m, missä { y i, i ε( x) ȳ i = (6.13) 0 muuten ratkaisee duaalitehtävän max b T x A T y c, y 0. (D) Todistus. Oletetaan, että x ratkaisee tehtävän (P). Vahvan duaalisuus lauseen nojalla on olemassa ȳ R n, mikä ratkaisee duaalitehtävän (D) siten, että c T x = ȳa x = b T ȳ. Osoitetaan nyt, että on olemassa r j, j Z( x) siten, että yhtälöt (6.12) ja (6.13) pätevät. Komplementaarisuus lauseen nojalla ja ȳ i = 0, kun i {1, 2,, m} \ ε( x) (6.14) m ȳ i a ij = c j, kun j {1, 2, n} \ Z( x). (6.15) i=1 Yhtälöstä (6.14) seuraa, että ȳ toteuttaa yhtälön (6.13). Määritelään r = A T ȳ c. Koska ȳ on duaalikäypä, niin sekä r 0, että ȳ 0. Edelleen, yhtälön (6.15) nojalla r j = 0, kun j {1, 2, n} \ Z( x), kun taas r j = m ȳ i a ij c j 0, kun j Z( x), i=1 tai yhtäpitävästi c j = r j + m ȳ i a ij, kun j Z( x), (6.16) i=1 68
Yhdistämällä yhtälö (6.16), yhtälöiden (6.15) ja (6.14) kanssa, saadaan c = r j e j + A T ȳ = r j e j + y i a i j Z( x) j Z( x) i ε( x) joten yhtälöt (6.12) ja (6.13) pätevät ja ȳ on duaalitehtävän (D) ratkaisu. Oletetaan seuraavaksi, että x on tehtävän (P) käypä ratkaisu site, että r j, j Z( x) ja ȳ i, i ε( x) ovat ei-negatiivisia ja toteuttavat yhtälön (6.12). Osoitetaan, että x ratkaisee tehtävän (P) ja ȳ ratkaisee tehtävän (D). Olkoon ȳ R m siten, että sen komponentit ovat ȳ i, kun i ε( x) ja yhtälön (6.13) mukaiset, muuten. Koska r j :t ovat ei-negatiivisia yhtälössä (6.12), saadaan: A T ȳ = ȳ i a i r j e j + y i a i = c, i ε( x) j Z( x) j Z( x) i ε( x) i ε( x) joten ȳ on käypä tehtävälle (D). Edelleen, c T x = r j e T j x + y i a T i x = ȳ T A x = ȳ T b, missä viimeinen yhtälö seuraa vektorin ȳ ja indeksijoukon ε( x) määrittelystä. Siten, heikon duaalisuuslauseen nojalla, x ja ȳ ovat vastaavasti tehtävien (P) ja (D) ratkaisut. Huomautus 6.2. Geometrinen duaalilause on lähes sama kuin pelivaran komplementaarisuuslause, vakkakin se tarjoaa aivan erilaisen tavan testata optimaalisuutta. Esimerkki 6.3. Tarkastellaan LP tehtävää: max x 1 +x 2 x 3 + 2x 4 s.e. x 1 +3x 2 2x 3 + 4x 4 3 4x 2 2x 3 + 3x 4 1 x 2 + x 3 x 4 2 x 1 x 2 + 2x 3 x 4 4 (6.17) 0 x 1, x 2, x 3, x 4 Onko vektori x = (1, 0, 2, 0) T tehtävän ratkaisu? Jos se on, niin Lauseen 6.4 nojalla täytyy pystyä muodostamaan tehtävän (6.17) duaalin ratkaisu esittämällä kustannusvektori c = (1, 1, 1, 2) T aktiivisten hypertasojen ulkoisten normaaleiden pisteessä x ei-negatiivisena lineaariyhdisteenä. Koska aktiiviset hypertasot ovat: x 1 +3x 2 2x 3 + 4x 4 = 3 x 2 + x 3 x 4 = 2 x 2 = 0 x 4 = 0 69
niin y 2 = y 4 = 0 ja y 1 ja y 3 saadaan yhtälöryhmästä 1 0 0 0 y 1 3 1 1 0 y 3 2 1 0 0 r 2 = 4 1 0 1 r 4 Saadaan, y 1 = 1, y 3 = 1. Tarkistetaan, että vektori ȳ = (1, 0, 1, 0) todella ratkaisee thetävän (6.17) duaalin: 1 1 1 2 min 3y 1 +y 2 + 2y 3 + 4y 4 s.e. y 1 y 4 1 3y 1 + 4y 2 y 3 y 4 1 2y 1 2y 2 + y 3 + 2y 4 1 4y 1 + 3y 2 y 3 y 4 2 (6.18) 0 y 1, y 2, y 3, y 4 Selvästi ȳ on käypä ratkaisu duaalitehtävälle (6.18). Lisäksi b T ȳ = 1 = c T x. Heikon duaalilauseen nojalla ȳ ja x ovat yhtälöiden (6.18) ja (6.17) ratkaisut. 6.5 Duaalinen simplex menetelmä Usein on LP-tehtävälle löydettävissä ei-sallittu perusratkaisu, mutta simplex kertoimet ovat sallittuja duaalitehtävälle. Tilanne vastaa simplex taulukkoa, missä on einegatiivisia alkioita viimeisellä rivillä, mutta kantaratkaisu ei ole sallittu. Tilanne syntyy, jos esim. lasketaan LP-tehtävän ratkaisu ja sitten konstruoidaan uusi tehtävä muuttamalla vektoria b. Tässä tapauksessa on käypä ratkaisu duaalille olemassa, joten on järkevää pivotoida siten, että optimoidaan duaalia. Ei kuitenkaan muodosteta duaalista omaa taulukkoa, vaan toimitaan perustehtävän taulukon duaalimuodon kanssa. Tekniikkaa kutsutaan duaaliseksi simplex menetelmäksi. Perustehtävän kannalta menetelmä toimii säilyttäen optimaalisuuden ja edeten kohti ratkaisun sallittavuutta. Duaalitehtävän kannalta menetelmä säilyttää ratkaisun sallittavuuden ja etenee kohti optimaalisuutta. Olkoon LP-tehtävä: c T x min Ax = b x 0 millä on kanta B siten, että λ = c T B B 1 on käypä ratkaisu duaalitehtävälle. Sanomme, että vastaava primaalitehtävän perusratkaisu x B = B 1 b on duaalisallittu, (dual feasible). Jos x B 0, niin ratkaisu on sallittu myös perustehtävälle ja siten optimaalinen. 70
Olkoon λ sallittu duaalille ja siten λ T A j c j, j = 1,..., n. Olettamalla taas että kannan muodostaa m ensimmäistä yhtälöä, saadaan: λ T A j = c j, j = 1,..., m (6.19) ja (jos oletetaan, että duaali ei ole degeneroitunut) λ T A j < c j, j = m + 1,..., n (6.20) Duaalisen simplex menetelmän askel muodostuu uuden ratkaisun λ muodostamisesta siten, että yhdestä yhtälörajoitteesta tulee epäyhtälörajoite ja päinvastoin ja duaalitehtävän kustannusfunktion arvo kasvaa. Uuden ratkaisun m yhtälöä määräävät uuden kannan. Merkitään matriisin B 1 i:ttä riviä u i. Silloin vektorille λ T = λ T εu i, (6.21) pätee λ T A j = λ T A j εu i A j. Edelleen, koska z j = λ T A j ja u i A j = y i,j saadaan λ T A j = c j j = 1,, m, i j λ T A i = c i ε < c i λ T A j = z j εy i,j, j = m + 1,, n. Myös λ T b = λ T b ε(x B ) i. (6.22) Duaalinen simplex algoritmi Askel 1. x B on duaalisallittu ratkaisu. Jos x B 0, niin ratkaisu on optimaalinen. Muutoin valitse indeksi i siten, että (x B ) i < 0. Askel 2. Jos y i,j 0, j = 1,..., n, niin duaalitehtävällä ei ole maksimia ( λ on sallittu kaikille ε > 0). Jos y i,j < 0 jollekin j, niin asetetaan ε 0 = z k c k y i,k { zj c } j = min ; y i,j < 0. j y i,j Askel 3. Muodosta uusi kanta B korvaamalla vektori A i vektorilla A k :lla. Muodosta uusi duaalisallittu perusratkaisu x B ja mene asleleeseen 1. Duaaliselle simplex-algoritmille sopivia tehtäväkandidaatteja ovat tehtävät, missä on minimoitava positiivisilla kertoimilla oleva kustannusfunktio ja tehtävällä on rajoitteet positiivisilla kertoimilla (esim. ruokavaliotehtävä). 71
Esimerkki 6.4. Esimerkki 3x 1 + 4x 2 + 5x 3 min! x 1 + 2x 2 + 3x 3 5 2x 1 + 2x 2 + x 3 6 x 1 0, x 3 0, x 3 0. Muuttamalla epäyhtälöiden suunta (kerrotaan -1:llä) ja lisäämällä puutemuuttujat saadaan taulukko: 1 2 3 1 0 5 2 2 1 0 1 6 3 4 5 0 0 0 Kanta vastaa duaalisallittua ratkaisua, koska kaikki c j z j 0. Valitaan (x B ) i < 0, esim. x 5 = 6 poistettavaksi kannasta. Tukialkio määrätään toiselta riviltä laskemalla osamäärät (z j c j )/y 2,j ja valitsemalla niistä minimi positiivinen. Tämä johtaa tukialkioon y 2,1 = 2 ja lasketaan uusi taulukko kaavalla (??). Saadaan 0 1 5/2 1 1/2 2 1 1 1/2 0 1/2 3 0 1 7/2 0 3/2 9 ja edelleen 0 1 5/2 1 1/2 2 1 0 2 1 1 1 0 0 1 1 1 11 Taulukosta saadaan perustehtävän sallittu ratkaisu x 1 = 1, x 2 = 2, x 3 = 0, mikä on myös optimi. 6.6 Primal-Dual algoritmi Alunperin primal-dual menetelmä kehitettiin ratkaisemaan LP-tehtäviä, jotka muodostuvat reitinhaku- (shortest path, Dijkstra s algorithm)ja virtausongelmista (maximal flow) ja se on edelleen tehokas menetelmä sen tyyppisiin tehtäviin. Menetelmässä 72
työskennellään yhtä aikaa primal- ja duaalitehtävän kanssa. Menetelmässä aloitetaan duaalitehtävän sallitusta ratkaisusta ja sitä parannetaan iteratiivisesti optimoimalla siihen liittyvää rajoitettua primääritehtävää. Menetelmän edetessä pyritään saattamaan voimaan pelivaran komplementisuusehdot optimiratkaisulle. Käsitellään tehtävää ja vastaavaa duaalitehtävää c T x min Ax = b x 0 λ T b max (6.23) λ T A c T. Olkoon λ duaalitehtävän sallittu ratkaisu. Määritellään joukko P = {i {1, 2,..., n} λa i = c i }. Koska λ on sallittu, niin kaikilla i / P on voimassa λ T A i < c i. Määritellään nyt joukkoa P vastaava rajoitettu pimääritehtävä (restricted primal problem): 1 T y min Ax + y = b x 0, y 0 ( j P ( j P x i = 0 kaikille i / P ) 0 x j + 1 T y min ) A j x j + Iy = b (6.24) missä 1=(1,1,...,1) m-ulotteinen vektori. Tehtävä on sama, kuin edellä esiintynyt Vaiheen I tehtävä. Rajoitetun pimääritehtävän duaali on siihen liittyvä rajoitettu duaalitehtävä (restricted dual problem) u T b max u T A i 0, i P (6.25) u 1. Primal-Dual menetelmän optimaalisuusehdot on annettu seuraavassa lauseessa. Lause 6.5 (Primal-Dual optimaalisuuslause). Olkoon λ duaalitehtävän sallittu ratkaisu ja x ja y = 0 ovat siihen liittyvän rajoitetun primääritehtävän sallittu (siis, myös optimaalinen) ratkaisu. Silloin x ja λ ovat optimaalisia alkuperäisille primääri- ja duaalitehtäville. 73
Todistus. Selvästi x on sallittu primääritehtävälle. Lisäksi, koska λ T A = c T niille alkioille, mitkä vastaavat nollasta eroavia x:n arvoja, niin c T x = λ T Ax = λ T b ja optimaalisuus seuraa Lauseesta 5.3. Primal-Dual-algoritmi Askel 1. λ 0 on tehtävän (6.23) sallittu ratkaisu. Muodosta siihen liittyvän rajoitettu primaalitehtävä (6.24). Askel 2. Optimoi rajoitettu primaalitehtävä. Jos sen minimi on 0, niin vastaava ratkaisu on optimaalinen alkuperäiselle primaalitehtävälle Lauseen 6.5 mukaan. Askel 3. Jos rajoitetun primaalitehtävän minimi on aidosti positiivinen, niin poimi rajoitetun tehtävän simplex-taulukosta vastaavan rajoitetun duaalitehtävän (6.25) ratkaisu u 0. Jos ei ole indeksiä j, mille u 0 A j > 0, niin primaali tehtävällä ei ole sallittua ratkaisua. Jos jollekin j, u 0 A j > 0, niin laske uusi sallittu vektori missä ε 0 = c k λ 0 A k u 0 A k Mene Askeleeseen 1 ja käytä uutta λ:n arvoa. λ = λ 0 + ε 0 u 0 (6.26) { cj λ 0 A } j = min ; u 0 A j u 0 j > 0. (6.27) A j Esimerkki 6.5. Sovelletaan primal-dual menetelmää tehtävään: 2x 1 + x 2 + 4x 3 = max! s.e. x 1 + x 2 + 3x 3 = 3 2x 1 + x 2 + 3x 3 = 5 x 1, x 2, x 3 0 Koska kaikki kustannusfunktion kertoimet ovat ei-negatiivisia, niin duaalitehtävällä on käypä ratkaisu λ = (0, 0). Muodostetaan rajoitetulle tehtävälle simplex-taulu: A 1 A 2 A 3 b 1 1 2 1 0 3 2 1 3 0 1 5 r T : 3 2 5 0 0 8 c i λa i : 2 1 4 Kolmas rivi on suhteelliset kustannuskertoimet (kuten Vaihe I). Koska viimeisellä rivillä ei ole nollia (komplementaarisuusehto!), niin ratkaisu x 1 = x 2 = x 3 = 0, y 1 = 74
3, y 2 = 5 on optimaalinen tälle λ = (0, 0). Vastaavan rajoitetun duaalitehtävän (6.25) ratkaisu on u 0 = (1, 1) (komplementaarisuus) ja luvut u 0 A i, i = 1, 2, 3 ovat 3. rivin 3 ensimmäistä lukua. Lasketaan osamäärät 2, 1, 4, joista saadaan 3 2 5 ε0 = 1. Alimman 2 rivin uudet luvut saadaan lisäämällä ε 0 kertaa kolmas rivi (3 ensimmäistä) alimpaan riviin, saadaan: A 1 A 2 A 3 b 1 1 2 1 0 3 2 1 3 0 1 5 r T : 3 2 5 0 0 8 c i λa i : 1/2 0 3/21 Pivotoimalla uusi rajoitettu primääritehtävä alkiolla y 12 saadaan: A 1 A 2 A 3 b 1 1 2 1 0 3 1 0 1 1 1 2 r T : 1 0 1 2 0 2 c i λa i : 1/2 0 3/2 Lasketaan taas suhdeluvut 1, 3 ja saadaan 2 2 ε0 = 1. Lisätään alimmaiseen riviin ɛ0 2 kertaa kolmas rivi, saadaan: A 1 A 2 A 3 b 1 1 2 1 0 3 1 0 1 1 1 2 r T : 1 0 1 2 0 2 c i λa i : 0 0 1 Pivotoidaan alkiolla y 21 ja saadaan: A 1 A 2 A 3 b 1 1 2 1 0 3 1 0 1 1 1 2 r T : 0 0 0 1 1 0 c i λa i : 0 0 1 Taulu osoittaa primäärin käypyyttä ja, siis, myös optimaalisuutta: x 1 = 2, x 2 = 1, x 3 = 0. 75
Partial penalty method for flow optimization in wireless networks I.V. Konnov 1, O.A. Kashina 2, and E. Laitinen 3 Abstract. We consider a general problem of optimal assignment of users to providers of wireless telecommunication networks, which minimizes the total expenses and has certain resource allocation restrictions. We show that it can be formulated as an extended transportation problem. Due to variability of demand and inexactness of data we suggest to solve this problem by a suitable penalty method. We consider both full and partial versions of this method and show that the latter has certain preferences. The computational experiments confirm these conclusions. Key words. Resource allocation, wireless networks, assignment of users, transportation problem, partial penalty method. 1 Department of System Analysis and Information Technologies, Kazan University, ul. Kremlevskaya, 18, Kazan 420008, Russia. E-mail: konn-igor@ya.ru 2 Department of Data Analysis and Operations Research, Kazan University, ul. Kremlevskaya, 18, Kazan 420008, Russia. E-mail: olga.kashina@mail.ru 3 Department of Mathematical Sciences, University of Oulu, Oulu, Finland. E-mail: erkki.laitinen@oulu.fi
7 Introduction The current trends in development of information technologies imply radical worldwide modernization of industry and economy with ubiquitous implementation of wireless networks endowed with sensors, electronics, and software that communicate and interact with each other and with the environment in collecting, storing, exchanging, and processing data. This gives actually new possibilities for the development of artificial intelligence, robotics, 3D printing, nanotechnology, biotechnology, quantum computing and other breakthrough technologies. At the same time, increasing and variable demand of information services and users movement lead to serious congestion effects, whereas significant network resources may be utilized inefficiently, especially in the case when fixed allocation mechanisms are implemented. This situation forces us to apply more flexible and dynamical allocation mechanisms; see e.g. [1, 2]. For this reason, it seems more suitable to find an approximate solution of a proper resource allocation problem, which does not require high accuracy, within an acceptable time interval rather than to calculate the exact one. Usually, the resource allocation problems are based on the utility maximization approach; see e.g. [3, 4, 5]. In this paper, we consider a general problem of optimal assignment of users to providers of wireless telecommunication networks, which minimizes the total expenses and has certain resource allocation restrictions. That is, providers have different coverage areas with the required level of service quality for each connection within such an area, whereas users have lower bounds for their volume of the resource and their desired prices. We should also take into account expenses of providers for maintaining the required volume of service. We show that the problem allows the statement in the form of the transportation problem (TP for short) with bilateral constraints on variables. We propose a technique that implies the use of penalty functions but only for certain constraints, whereas the rest constraints form a set of points having a special structure. It is used as a feasible set for an auxiliary problem. The key moment is that in spite of the presence of binding constraints, the suggested auxiliary problem is solvable by a simple finite algorithm. We have performed extensive numerical experiments that confirmed the advantage of the proposed method in comparison with the custom one involving penalization of all the constraints. 8 The problem formulation Within certain fixed planning time period, we consider a region (territory) where wireless network services of several providers are used by mobile devices owners. Each of these users can be either a transmitter or a receiver of a signal. Denote by m the number of providers; let us numerate providers using the index i (i = 1,..., m). Within the given time period there arise connections (signal transmissions) between certain users. 1
Denote by n the number of (pair) connections; let us numerate connections using the index j (j = 1,..., n). Signal transmissions require certain expenditures of providers resources (say, the bandwidth or power of the wireless channel). It is natural to assume that the resource amount possessed by each provider i is bounded by some value γ i. Let the symbol x i,j stand for the unknown amount of the resource allotted by provider i for pair connection j (below for brevity we just say flow (i, j) ). Denote by α i,j the upper bound for flow (i, j) and by β j the lower bound for the total flow for connection j. Let b j be the price (willingness to pay) proposed by pair j and let a i,j be expenses per unit for connection j incurred by provider i. Then the pure total expenses are given by the expression ( m n n m ) a i,j x i,j b j x i,j i=1 j=1 j=1 i=1 m n c i,j x i,j, i=1 j=1 where c i,j a i,j b j. The goal is to minimize the pure total expenses due to a proper distribution of the load upon network providers. Note that any connection can be supported and accomplished at the proper service level only by selected providers in accordance with their quality service coverage areas. That is, each connection j can be accomplished by selected providers whose indices belong to the set P j. However, for all i / P j we can set α i,j = 0, which implies x i,j = 0. Therefore, without loss of generality we can consider only the case where P j = {1,..., m} for each j {1,..., n}. The problem takes the form min m n c i,j x i,j, (8.1) i=1 j=1 subject to m x i,j β j, j = 1,..., n, (8.2) i=1 n x i,j γ i, i = 1,..., m, (8.3) j=1 0 x i,j α i,j, i = 1,..., m, j = 1,..., n. (8.4) Problem (8.1) (8.4) is nothing but the so-called open transportation problem with bilateral constraints on variables. It becomes the classical transportation problem in the case when α i,j = + for all i, j; see [6] for more details and references. In spite of the existence of finite solution methods for the TP (see, for example, [6]), we intend to apply some other iterative methods for this problem. The most influential factor that affects the applicability of exact methods for solving the TP, evidently, is the fast growth of the problem dimension, which, in turn, leads to the accumulation of computation errors and poor conditionality of the constraint coefficient matrix. Moreover, in practice, the feasible set of the open TP is not necessarily nonempty. In such 2
cases one can find a solution close to the optimal (feasible) one only by approximate methods. Another factor that contributes to the relevance of the development of approximate solution methods for the TP is the appearance of new applications of the transportation model; for example, along with classical applications in the optimization of production, transportation, and sales of some commodity, this model appears to be applicable in the optimization of the performance of mobile networks. Such a problem usually has a large dimensionality, and its initial data are inexact and nonstationary. Moreover, in practice, problem (8.1) (8.4) are often being solved in order to estimate certain characteristics of the network performance; in this case it is more important to find an appropriate solution of the problem within an acceptable time frame rather than to obtain a high accuracy solution. In this paper we propose an approximate solution method for problem (8.1) (8.4) which is based on application of penalty functions. 9 The partial penalty method As distinct from the custom penalty method, in the partial penalty method (PPM for short) we impose penalties only on selected constraints. The set formed by the rest constraints has a special structure which allows us to solve the corresponding auxiliary problem by a simple finite algorithm. Thus we intend to attain higher quality of solutions. First we introduce the so-called cut function [t] + = max{0, t}, and then define the penalty function for the constraints in (8.3): Φ(X) [ m n ] 2 x i,j γ i. (9.1) We take a positive penalty parameter τ and define the auxiliary function i=1 j=1 + Ψ(X, τ) = C, X + τφ(x). (9.2) Hereinafter C and X are m n-matrices and the denotation C, X stands for the double sum m n C, X c i,j x i,j. (9.3) i=1 We treat the matrix X as a point (in the space of m n-matrices). Denote the sets of points satisfying the inequalities in (8.4) and (8.2) by A and B, respectively, and set j=1 X (τ) arg min Ψ(X, τ). (9.4) X A B 3
Note that the function in (9.2) is continuous by definition and the set A B is closed and bounded, hence the point in (9.4) exists for any τ. Let us construct an iteration sequence {X k (τ k)}, where k is the iteration number, such that the sequence {τ k } is positive, increasing, and tending to + as k, while each point X k (τ k) obeys formula (9.4) with τ = τ k. Since the set A B is bounded, so is the sequence {X k (τ k)}, which means that it has limit points as k and all these limit points X are solutions of problem (8.1) (8.4) (see, for example, [7], Section 7.1). Moreover, this is the case for some approximations of points x k (τ k), k = 0, 1,... Let us now consider the technique for finding the points X k (τ k), k = 0, 1,... 10 Solution of the auxiliary problems Assume that certain real numbers d i,j, i = 1,..., m; j = 1,..., n, are given (we concretize them below). Denote the corresponding m n-matrix by D. Let us use the denotation D, X in the sense of formula (9.3) with the symbol D in place of C. Let us describe an algorithm which solves the problem min D, X. (10.1) X A B Let us show that in spite of the existence of constraints (8.2) which bound the problem variables, problem (10.1) falls into n independent problems which are solvable explicitly. Fix some connection p {1,... n} and describe the algorithm for finding components x i,p, i = 1,..., m, of a solution x to problem (10.1). Since this algorithm solves the auxiliary problem, we call it Algorithm A, for short. Algorithm A. Step 0. Given p, number providers in ascending order of d i,p and thus get a set of numbers I {i 1,..., i m }. Introduce a new variable s and put s := 1. Step 1. If i s i=i 1 α i,p < β p, then put x is,p := α is,p and go to Step 2; otherwise put x is,p := β p i s 1 i=i 1 α i,p, do x iv,p := 0 for v = s + 1,..., m, and Algorithm A stops. Step 2. If s < m, then put s := s + 1 and go to Step 1; otherwise Algorithm A stops. Evidently, sequentially applying Algorithm A for p = 1,..., n, in n steps we get a point X(D), whose feasibility and optimality for problem (10.1) is evident, provided that A B (in what follows we assume that this condition is fulfilled). 4
Let us now consider the basic problem min Ψ(X, τ) (10.2) X A B for finding a point satisfying (9.4) with some fixed τ > 0. We can solve problem (10.2) by the well-known conditional gradient method (CGM for short) (see, for example, [8]). Let us fix arbitrary indices i 0 {1,..., m}, j 0 {1,..., n}, and a number τ > 0 and write the partial derivative of the function in (9.2) at a point X with respect to the variable x i0,j 0 : Ψ(X, τ) x i0,j 0 [ n ] = c i0,j 0 + 2τ x i0,j γ i0 j=1 +. (10.3) Denote by Ψ (X, τ) the m n-matrix composed of elements (10.3) and treat it as the gradient of the function Ψ(X, τ) at the point X with fixed τ. Let us now describe CGM applied to problem (10.2). (CGM). Step 0. Given τ > 0, choose a point X 0 A B. Assume that a point X l is known already; l = 0, 1,... Let us describe the way to find the next point X l+1. Step 1. Find a solution Z l to the linear programming problem and go to Step 2. Step 2. Calculate min X A B Ψ (X l, τ), X, (10.4) λ l := arg min λ [0,1] Ψ(λXl + (1 λ)z l, τ) (10.5) and put X l+1 := λ l X l + (1 λ l )Z l, l := l + 1 and go to Step 1. For each l = 0, 1,... by putting D := Ψ (X l, τ) we get problem (10.1) in (10.4) and solve it by Algorithm A. Problem (10.5) can be solved by any one-dimensional minimization method (see, for example, [7], Section 3.7). In numerical experiments we used the well-known golden section method (see, for example, [7], p. 84). 11 The usual penalty method As distinct from the PPM, where the penalty function is introduced only for constraints in (8.3). In the usual (or full) penalty method (FPM for short) we define penalty functions for both groups of constraints, namely, for those in (8.3) and (8.2): [ m n ] 2 [ ] 2 n m Φ(X) x i,j γ i + β j x i,j, i=1 j=1 j=1 i=1 + 5 +
and Ψ(X, τ) C, X + τ Φ(X), (11.1) where τ is a positive penalty parameter. We now outline the main differences from the PPM. The auxiliary problem which is solved at each step k of the FPM consists in finding the point X (τ k ) arg min Ψ(X, τ k ) X A for k = 0, 1,... Analogously, we can solve this auxiliary problem by the conditional gradient method (CGM). Its each iteration involves a solution to the linear programming problem min Ψ (X l, τ), X (11.2) X A with τ = τ k. The components of the gradient Ψ (X, τ) in view of (11.1) obey the formula [ n ] [ ] Φ(X, τ) m = c i0,j x 0 + 2τ x i0,j γ i0 2τ β j0 x i,j0. i0,j 0 j=1 Since its feasible set A represents a rectangle, problem (11.2) falls into m n independent one-dimensional problems, each of them is solved explicitly. The other parts are implemented similarly. + i=1 + 12 Results of numerical experiments We have numerically tested the described methods via the package Wolfram Research Mathematica 9.0.1.0 by using a computer with Processor Intel R Core T M i5-430m (4M Cache, 2.26 GHz). In order to prove the efficiency of the new method (PPM) we compared the results of solving problem (8.1) (8.4) with those of (FPM). We used the same rule for decreasing values of accuracy of inner problems. For changing the penalty parameter we used the rule τ k+1 := 2τ k. We modeled the initial data of the problem so as to know its optimum point (and, correspondingly, the exact optimal value of the objective function F ). We stopped the process when either the absolute value of the relative deviation of the current approximation to the optimal value of the objective function from F opt was not greater than 10% or the norm of the difference of neighboring points was less than some predefined value ε (we put ε := 0.001). For each concrete problem (i.e. concrete collection of initial data) we performed 10 tests for both methods, randomly choosing an initial point. In what follows the subscript h stands for the test number (within a series of 10 tests); symbols F h(f P M) and F h(p P M) denote, respectively, approximate values of the objective function of problem (8.1) (8.4) calculated by F P M and P P M at test 6
number h; symbols F P P M and F P P M stand, respectively, for average values of F h(f P M) and F h(p P M) in each series of 10 tests, i.e. F F P M = 10 F h(f P M) h=1 10 the relative approximation errors and F P P M = 10 F h(p P M) h=1 10 ; F F P M F opt F opt and F P P M F opt F opt ; and values t F P M and t P P M are average time consumptions in a series of 10 tests. These values are given in Table 1. According to results shown in Table 1, with small m (not greater than 20) PPM attains the given accuracy with respect to the value of the objective function (in our tests the allowed error was 10%) much faster than FPM. Moreover, the actual error introduced by PPM has never exceeded 2.17%; mainly it was even less than 0.5%, whereas the the actual error introduced by PPM was mostly greater than 3%, sometimes approaching (or even attaing) the limit admissible value of 10%. We also calculated the ratios F max(f P M) F min(f P M) F (F P M) and F max(p P M) F min(p P M) F (P P M) (after performing a series of 10 tests) in order to study the sensitivity of these methods to the choice of the initial point. As appeared, both methods are insensitive to the choice of an initial point (not necessarily a feasible one), since these characteristics always equaled zero. It is evident that PPM gives better results both with respect to time and to the solution accuracy (which was much less than the allowed value of 10%). As expected, the advantage of P P M over F P M was more evident when m is small (not greater than 3) and n is very large (up to 3000), whereas the growth of m (with fixed n) impairs the performance of both methods at approximately the same rate. In certain cases time consumption of P P M was even greater than that of F P M. For example, the case when m = 2 and n = 2000 (i.e., the number of variables equals 4000) the time consumption equals 9.89 and 2.63 sec. for F P M and P P M, respectively, (see row 16 in Table 1). There were some examples with m = 20 and n = 20, where P P M showed better performance. In general, P P M appeared more efficient than F P M in most examples and is suitable for calculations. Nevertheless, due to the necessity of tuning several parameters, its convergence needs further investigations. 13 Conclusions We considered a general problem of optimal assignment of users to providers of wireless telecommunication networks and showed that it can be formulated as an extended transportation problem. We suggested to solve this problem by a suitable penalty 7