Kaksinaisuus (optimointi)

Kaksinaisuus eli kaksinaisuuden periaate on periaate, jolla optimointiongelmia voidaan tarkastella kahdesta näkökulmasta, joko suorana ongelmana tai kaksoisongelmana . Kaksoistehtävän ratkaisu antaa suoran ongelman alarajan (minimoitaessa) [1] . Yleisessä tapauksessa suorien ja kaksoisongelmien optimaalisten ratkaisujen tavoitefunktioiden arvot eivät kuitenkaan välttämättä täsmää. Näiden arvojen eroa, jos se havaitaan, kutsutaan kaksinaisuusrakoksi . Konveksin ohjelmoinnin ongelmissa duaalisuusrako on yhtä suuri kuin nolla , kun rajoitusten säännöllisyyden ehdot täyttyvät .

Kaksoisongelma

Yleensä termi "kaksoisongelma" tarkoittaa Lagrangin kaksoisongelmaa , mutta käytetään myös muita kaksoisongelmia, kuten Wolfen kaksoisongelma ja Fenchelin kaksoisongelma . Kaksois-Lagrange-tehtävä saadaan generoimalla Lagrangen funktio, käyttämällä ei-negatiivisia Lagrangen kertoimia rajoitusten lisäämiseksi tavoitefunktioon ja minimoimalla Lagrangen tiettyjen suoran ongelman muuttujien suhteen. Tällainen ratkaisu antaa suoran ongelman muuttujat Lagrange-kertoimien funktioina, joita kutsutaan kaksoismuuttujiksi, niin että uudeksi ongelmaksi muodostuu tavoitefunktion maksimoimisen ongelma kaksoismuuttujien suhteen kaksoismuuttujien generoitujen rajoitusten alaisena ( ainakin ei-negatiivisuus).

Yleisesti ottaen, kun otetaan huomioon erotettavan paikallisen konveksin avaruuden ja funktion kaksoispari [2] , voimme määritellä suoran ongelman löydökseksi , joka toisin sanoen  on funktion infimum (tarkka alaraja). .

Jos rajoituksia on, ne voidaan rakentaa funktioon , jos laitamme , missä  on indikaattorifunktio . Olkoon nyt (toiselle kaksoisparille ) sellainen häiriöfunktio , että [3] .

Kaksinaisuusero  on ero epätasa-arvon oikean ja vasemman puolen välillä

missä  on molempien muuttujien konjugaattifunktio ja tarkoittaa supremumia (tarkka yläraja) [3] [4] [5] .

Duality Gap

Kaksinaisuusaukko on ero kaikkien alkuperäisen ongelman ratkaisujen arvojen ja kaksoisongelman ratkaisujen arvojen välillä. Jos  on kaksoisongelman  optimaalinen arvo ja suoran ongelman optimaalinen arvo, kaksinaisuusero on . Tämä arvo on aina suurempi tai yhtä suuri kuin 0. Kaksinaisuusero on nolla, jos ja vain jos kaksinaisuus on vahvaa . Muuten epäjatkuvuus on ehdottomasti positiivinen ja tapahtuu heikkoa kaksinaisuutta [6] .

Numeerisissa optimointitehtävissä käytetään usein toista "kaksoisvälieroa", joka on yhtä suuri kuin minkä tahansa kaksoisratkaisun ja suoran ongelman hyväksyttävän, mutta ei paikallisesti optimaalisen iteraation arvon välinen ero. Vaihtoehtoinen "kaksoisero" ilmaisee eron alkuperäisen ongelman nykyisen mahdollisen, mutta ei paikallisesti optimaalisen ratkaisun arvon ja kaksoisongelman arvon välillä. Duaalitehtävän arvo on rajoitusten säännöllisyyden ehdolla yhtä suuri kuin suoran ongelman konveksin heikennyksen arvo , jossa konveksi heikkeneminen syntyy, kun ei-kupera toteutettavissa olevien ratkaisujen joukko korvataan suljetuilla ratkaisuilla. kupera runko ja ei-kupera funktio korvaamalla sen konveksilla sulkemisella , eli funktiolla, jonka epigrafi on suljettu konveksi, sulkemalla suoran ongelman alkuperäinen tavoitefunktio [7] [8] [9] [10] [11 ] [12] [13] [14] [15] [16] [17] .

Lineaarinen tapaus

Lineaariset ohjelmointiongelmat  ovat optimointiongelmia , joissa tavoitefunktio ja rajoitteet ovat lineaarisia. Suorassa tehtävässä tavoitefunktio on n muuttujan lineaarinen yhdistelmä . On m rajoitusta, joista jokainen rajoittaa n muuttujan lineaarista yhdistelmää ylhäältä. Tavoitteena on maksimoida tavoitefunktion arvo rajoituksin. Ratkaisu  on n arvon vektori (luettelo), joka antaa tavoitefunktion maksimiarvon.

Kaksoistehtävässä tavoitefunktio on lineaarinen yhdistelmä m arvoista, jotka ovat alkuongelman m rajoitteen oikeat puolet . On n kaksoisrajoitetta, joista jokainen rajoittaa m kaksoismuuttujan lineaarista yhdistelmää alhaalta.

Alku- ja kaksoisongelmien välinen suhde

Lineaarisessa tapauksessa suorassa ongelmassa paikallisen optimin jokaisesta pisteestä, joka täyttää kaikki rajoitukset, on suunta tai aliavaruus , ja liike tähän suuntaan lisää tavoitefunktiota. Liikkeen mihin tahansa sellaiseen suuntaan sanotaan vähentävän kuilua toteuttamiskelpoisen ratkaisun (tai toteuttamiskelpoisen suunnitelman ) ja yhden rajoitteen välillä. Virheellinen mahdollinen ratkaisu on ratkaisu, joka rikkoo yhtä tai useampaa rajoitusta.

Duaalitehtävässä duaalivektorin elementit kerrotaan sarakkeilla, jotka vastaavat alkutehtävän rajoituksia. Duaalivektorin häiriö duaalitehtävässä vastaa alkuongelman ylärajan tarkistamista. Duaalitehtävää ratkaistaessa etsitään pienintä ylärajaa, eli duaalivektori muuttuu siten, että se pienentää mahdollisen ratkaisun ja todellisen optimin välistä kuilua.

Lisätietoja primaalien ja kaksoisongelmien välisestä yhteydestä on artikkelissa " Lineaarisen ohjelmoinnin kaksoisongelmat ".

Taloudellinen tulkinta

Jos ymmärrämme primaarisen lineaarisen ohjelmoinnin ongelmamme klassisena "resurssien allokointi" -ongelmana, sen kaksoisongelma voidaan tulkita " resurssien estimointi " -ongelmaksi .

Epälineaarinen tapaus

Epälineaarisessa ohjelmoinnissa rajoitukset eivät välttämättä ole lineaarisia. Monet lineaarisen tapauksen periaatteet ovat kuitenkin voimassa.

Varmistaakseen, että epälineaarisen ongelman globaali maksimi voidaan määrittää helposti, ongelman kuvaus edellyttää usein, että funktiot ovat kuperia ja niillä on kompakteja alempia tasoja (eli joukkoja, joissa funktio saa arvon, joka on pienempi kuin jokin taso). .

Tämä on Karush-Kuhn-Tucker-ehto . Ne osoittivat tarvittavat ehdot epälineaaristen ongelmien paikallisen optimin määrittämiseksi. On olemassa lisäehtoja (rajoitusten säännöllisyysehto), jotka ovat välttämättömiä optimaalisen ratkaisun suunnan määrittämiseksi. Tässä optimaalinen ratkaisu on yksi paikallisista optimeista, joka ei välttämättä ole globaali.

Tiukka Lagrangen periaate: Lagrangen kaksinaisuus

Jos epälineaarinen ohjelmointitehtävä annetaan vakiomuodossa

minimoida
olosuhteissa

kun verkkotunnuksen sisäpuoli ei ole tyhjä, Lagrange-funktio määritellään seuraavasti

Vektoreita ja kutsutaan ongelmaan liittyviksi Lagrange-kertoimien kaksoismuuttujiksi tai vektoreiksi. Kaksois Lagrange -funktio määritellään seuraavasti

Duaalifunktio g on kovera, vaikka alkutehtävä ei olisi konveksi, koska se on affiinisten funktioiden pisteittäinen infimumi. Kaksoisfunktio antaa alemmat rajat alkuperäisen ongelman optimiarvolle . Kaikille ja kaikille, joita meillä on .

Jos rajoitteen säännönmukaisuusehdot , kuten Slaterin ehto , täyttyvät ja alkuperäinen tehtävä on kupera, niin meillä on tiukka kaksinaisuus , eli .

Kupera ongelmat

Kuperalle minimointiongelmalle, jossa on rajoituksia – epäyhtälöjä,

minimoida
olosuhteissa

Lagrangin kaksoisongelma on

maksimoida
olosuhteissa

jossa tavoitefunktio on kaksois-Lagrange-funktio. Jos funktioiden ja tiedetään olevan jatkuvasti differentioituvia, niin infimum on kohdissa, joissa gradientti on nolla. Tehtävä

maksimoida
olosuhteissa

kutsutaan dual Wolfe -ongelmaksi. Tämä tehtävä voi olla laskennallisesti vaikea, koska tavoitefunktio ei ole konveksi koordinaateissa . Lisäksi rajoitus on yleensä epälineaarinen, joten dual Wolfe -tehtävä on yleensä ei-kupera optimointitehtävä. Joka tapauksessa heikko kaksinaisuus on olemassa [18] .

Historia

George Danzigin mukaan kaksinaisuuslause lineaarista optimointia varten esitettiin John von Neumannin arveluna heti Danzigin esiteltyä lineaarisen ohjelmointiongelman. Von Neumann huomasi käyttäneensä tietoa peliteoriastaan ​​ja ehdotti, että kahden hengen nollasummamatriisipeli vastaa lineaarista ohjelmointiongelmaa. Albert Tucker ja hänen ryhmänsä julkaisivat ensimmäisen tiukan todisteen tästä tosiasiasta vuonna 1948 [19] .

Katso myös

Muistiinpanot

  1. Boyd, Vandenberghe, 2004 .
  2. Duaalipari on kolmio , jossa  on vektoriavaruus kentän päällä ,  on kaikkien lineaaristen kuvausten joukko ja kolmas elementti on bilineaarinen muoto .
  3. 1 2 Boţ, Wanka, Grad, 2009 .
  4. Csetnek, 2010 .
  5. Zălinescu, 2002 , s. 106–113.
  6. Borwein, Zhu, 2005 .
  7. Ahuja, Magnanti, Orlin, 1993 .
  8. Bertsekas, Nedic, Ozdaglar, 2003 .
  9. Bertsekas, 1999 .
  10. Bertsekas, 2009 .
  11. Bonnans, Gilbert, Lemaréchal, Sagastizábal, 2006 , s. xiv+490.
  12. Hiriart-Urruty, Lemaréchal, 1993 , s. xviii+417.
  13. Hiriart-Urruty, Lemaréchal, 1993 , s. xviii+346.
  14. Lasdon, 2002 , s. xiii+523.
  15. Lemarechal, 2001 , s. 112–156.
  16. Minoux, 1986 , s. xxviii+489.
  17. Shapiro, 1979 , s. xvi+388.
  18. Geoffrion, 1971 , s. 1–37.
  19. Nering ja Tucker 1993 , s. esipuhe Danzig.

Kirjallisuus

Kirjat

Artikkelit

Lue lisää