Duální lineární program - Dual linear program

Dvojí dané lineární programu (LP) je další LP, který je odvozen od originálu (dále prvotní ) LP v následující schematicky:

  • Každá proměnná v prvotním LP se stává omezením v duální LP;
  • Každé omezení v primární LP se stává proměnnou v duální LP;
  • Směr cíle je obrácen - maximum v primalu se stává minimem v duálním a naopak.

Mezi slabé duality teorém říká, že cílem hodnota duálního LP kdykoli proveditelné řešení je vždy vázáno na cíl prvotní LP kdykoli proveditelné řešení (horní nebo dolní odhad, v závislosti na tom, zda se jedná o maximalizaci nebo minimalizaci problémů). Ve skutečnosti tato ohraničující vlastnost platí pro optimální hodnoty duálních a prvotních LP.

Tyto silné dualita věta se uvádí, že kromě toho, v případě, že prvotní má optimální řešení, pak je dvojí má optimální řešení příliš, a dva optima jsou stejné .

Tyto věty patří do větší třídy věty duality v optimalizaci . Věta o silné dualitě je jedním z případů, kdy je rozdíl v dualitě (rozdíl mezi optimem primálu a optimem duálu) 0.

Konstrukce duální LP

Vzhledem k prvotnímu LP lze ke konstrukci jeho dvojitého LP použít následující algoritmus. Primální LP je definováno:

  • Sada n proměnných: .
  • U každé proměnné , je znamení omezení - to by mělo být buď nezáporné ( ), nebo non-pozitivní ( ), nebo neomezené ( ).
  • Objektivní funkce:
  • Seznam m omezení. Každé omezení j je: kde symbol před může být buď nebo nebo .

Dvojí LP je konstruováno následovně.

  • Každé primární omezení se stává duální proměnnou. Takže tam jsou m proměnné: .
  • Omezení znaménka každé duální proměnné je „opačné“ než znaménko jejího původního omezení. Takže „ “ se stává a „ “ se stává a „ “ se stává .
  • Funkce dvojího cíle je
  • Každá primární proměnná se stává dvojím omezením. Existuje tedy n omezení. Koeficient duální proměnné v duálním omezení je koeficient její primární proměnné v jeho primárním omezení. Takže každé omezení i je :, kde symbol před je podobný omezení na proměnnou i v prvotním LP. Takže se stává „ “ a stává se „ “ a stává se „ “.

Z tohoto algoritmu je snadno vidět, že duál duálu je prvotní.

Vektorové formulace

Pokud mají všechna omezení stejné znaménko, je možné prezentovat výše uvedený recept kratším způsobem pomocí matic a vektorů. Následující tabulka ukazuje vztah mezi různými druhy primátů a duálů.

Původní Dvojí Poznámka
Maximalizujte c T x podle A x b , x ≥ 0 Minimalizujte b T y podle A T y c , y ≥ 0 Tomu se říká „symetrický“ dvojí problém
Maximalizujte c T x s výhradou A x b Minimalizujte b T y s výhradou A T y = c , y ≥ 0 Tomu se říká „asymetrický“ dvojí problém
Maximalizujte c T x podle A x = b , x ≥ 0 Minimalizujte b T y s výhradou A T y c

Věty o dualitě

Níže předpokládejme, že původní LP je „maximalizovat c T x podléhající [omezení]“ a duální LP je „minimalizovat b T y podléhající [omezení]“.

Slabá dualita

Slabý dualita věta říká, že pro každou možným řešením x o prvotní a každým možným řešením y duálního: c T x b T y . Jinými slovy, objektivní hodnota v každém proveditelném řešení duálu je horní mez objektivní hodnoty primálu a objektivní hodnota v každém proveditelném řešení primálu je dolní mez objektivní hodnoty duálu. Z toho vyplývá:

max x c T x ≤ min y b T y

Zejména pokud je primal neomezený (shora), pak duální nemá proveditelné řešení, a pokud je duální je neomezený (zdola), nemá primál žádné proveditelné řešení.

Věta o slabé dualitě je relativně jednoduchá. Předpokládejme, že prvotní LP je „Maximalizovat c T x s výhradou A x b , x ≥ 0“. Předpokládejme, že vytvořit lineární kombinace omezení, s pozitivními koeficienty tak, že koeficienty x v omezení jsou alespoň c T . Tato lineární kombinace nám dává horní hranici cíle. Proměnné y duální LP jsou koeficienty této lineární kombinace. Dvojí LP se snaží najít takové koeficienty, které minimalizují výslednou horní hranici. To dává LP „Minimalizovat b T y podléhající A T y c , y ≥ 0“. Podívejte se na malý příklad níže.

Silná dualita

Silná dualita věta říká, že pokud jeden ze dvou problémů má optimální řešení, tak se ten druhý, a že meze dané slabou duality teorém jsou napjaté, a to:

max x c T x = min y b T y

Věta o silné dualitě je těžší dokázat; důkazy obvykle používají teorém o slabé dualitě jako sub-rutinu.

Jeden důkaz používá simplexní algoritmus a spoléhá se na důkaz, že s vhodným pivotním pravidlem poskytuje správné řešení. Důkaz stanoví, že jakmile simplexní algoritmus skončí řešením prvotního LP, je možné číst z finálního tabla, řešení dvojitého LP. Spuštěním simplexního algoritmu tedy získáme řešení pro primární i duální současně.

Další důkaz používá Farkasovo lema .

Teoretické důsledky

1. Věta o slabé dualitě znamená, že nalezení jediného proveditelného řešení je stejně těžké jako nalezení optimálního proveditelného řešení. Předpokládejme, že máme věštce, který vzhledem k LP najde libovolné proveditelné řešení (pokud existuje). Vzhledem k LP „Maximalizovat c T x s výhradou A x b , x ≥ 0“ můžeme sestrojit další LP kombinací tohoto LP s jeho duálním. Kombinovaný LP má jak x a y jako proměnné:

Maximalizovat 1

podléhá A x b , A T y c , c T x b T y , x ≥ 0, y ≥ 0

Pokud má kombinovaná LP proveditelné řešení ( x , y ), pak slabou dualitou, c T x = b T y . Takže x musí být maximálním řešením prvotního LP a y musí být minimálním řešením dvojitého LP. Pokud kombinovaný LP nemá žádné proveditelné řešení, pak ani původní LP nemá proveditelné řešení.

2. Věta o silné dualitě poskytuje „dobrou charakterizaci“ optimální hodnoty LP v tom, že nám umožňuje snadno dokázat, že určitá hodnota t je optimem nějaké LP. Důkaz probíhá ve dvou krocích:

  • Ukažte proveditelné řešení prvotního LP s hodnotou t ; to dokazuje, že optimum je alespoň t .
  • Ukažte proveditelné řešení duální LP s hodnotou t ; to dokazuje, že optimální je nanejvýš t .

Příklady

Malý příklad

Zvažte prvotní LP se dvěma proměnnými a jedním omezením:

Použitím výše uvedeného receptu získáte následující duální LP s jednou proměnnou a dvěma omezeními:

Je snadné vidět, že maxima prvotního LP je dosaženo, když je x 1 minimalizováno na spodní hranici (0) a x 2 je maximalizováno na horní hranici pod omezením (7/6). Maximum je 4,7/6 = 14/3.

Podobně se minima duální LP dosáhne, když je y 1 minimalizován na spodní hranici pod omezeními: první omezení dává dolní hranici 3/5, zatímco druhé omezení dává přísnější dolní hranici 4/6, takže skutečná dolní hranice je 4/6 a minimum je 7 · 4/6 = 14/3.

V souladu s větou o silné dualitě se maximum primalu rovná minimu duálu.

Tento příklad používáme k ilustraci důkazu věty o slabé dualitě. Předpokládejme, že v prvotním LP chceme dosáhnout horní hranice cíle . Můžeme použít omezení vynásobené nějakým koeficientem, řekněme . Pro všechny dostaneme: . Teď, když a pak , tak . Cíl dvojitého LP je tedy horní hranicí cíle původního LP.

Příklad farmáře

Uvažujme o farmáři, který může pěstovat pšenici a ječmen se stanoveným množstvím L půdy, F hnojiv a P pesticidů. K pěstování jedné jednotky pšenice, jedné jednotky půdy, jednotek hnojiva a jednotek pesticidů je třeba použít. Podobně je nutné pěstovat jednu jednotku ječmene, jednu jednotku půdy, jednotky hnojiva a jednotky pesticidů.

Prvotní problém by byl zemědělec rozhodování o tom, kolik pšenice ( ) a ječmen ( ) roste, pokud jsou jejich sell ceny jsou i za jednotku.

Maximalizovat: (maximalizovat příjmy z produkce pšenice a ječmene)
podléhá: (nelze použít více půdy, než je k dispozici)
(nelze použít více hnojiva, než je k dispozici)
(nelze použít více pesticidů, než je k dispozici)
(nemůže produkovat záporné množství pšenice nebo ječmene).

V maticové formě se stává:

Maximalizovat:
podléhá:

U dvojího problému předpokládejme, že jednotkové ceny y pro každý z těchto výrobních prostředků (vstupů) jsou stanoveny plánovací radou. Úkolem plánovací rady je minimalizovat celkové náklady na pořízení stanoveného množství vstupů a současně poskytnout farmáři podlahu jednotkové ceny každé z jeho plodin (výstupů), S 1 pro pšenici a S 2 pro ječmen. To odpovídá následujícímu LP:

Minimalizovat: (minimalizujte celkové náklady na výrobní prostředky jako „objektivní funkci“)
podléhá: (zemědělec musí za svou pšenici obdržet nejméně S 1 )
(zemědělec musí za svůj ječmen dostat nejméně S 2 )
(ceny nemohou být záporné).

V maticové formě se stává:

Minimalizovat:
podléhá:

Prvotní problém se zabývá fyzikálními veličinami. Se všemi vstupy dostupnými v omezeném množství a za předpokladu, že jsou známy jednotkové ceny všech výstupů, jaké množství výstupů vyrobit, aby se maximalizoval celkový příjem? Dvojí problém se zabývá ekonomickými hodnotami. Se základními zárukami na všechny jednotkové ceny výstupů a za předpokladu, že je k dispozici dostupné množství všech vstupů, jaké schéma cen vstupních jednotek nastavit, aby se minimalizovaly celkové výdaje?

Každá proměnná v primárním prostoru odpovídá nerovnosti, která se má uspokojit v duálním prostoru, obě indexované podle typu výstupu. Každá nerovnost k uspokojení v primárním prostoru odpovídá proměnné v duálním prostoru, obě indexované podle typu vstupu.

Koeficienty, které vázaly nerovnosti v primárním prostoru, se používají k výpočtu cíle v duálním prostoru, vstupních veličin v tomto příkladu. Koeficienty použité k výpočtu cíle v primárním prostoru vázaly nerovnosti v duálním prostoru, v tomto příkladu jsou jednotkové ceny výstupu.

Primární i duální problémy využívají stejnou matici. V primitivním prostoru tato matice vyjadřuje spotřebu fyzických veličin vstupů potřebných k výrobě stanovených množin výstupů. V duálním prostoru vyjadřuje tvorbu ekonomických hodnot spojených s výstupy ze stanovených vstupních jednotkových cen.

Jelikož každou nerovnost lze nahradit rovností a proměnnou uvolnění, znamená to, že každá primární proměnná odpovídá proměnné s dvojitým uvolněním a každá duální proměnná odpovídá proměnné s primárním uvolněním. Tento vztah nám umožňuje hovořit o doplňkové nečinnosti.

Neproveditelný program

LP může být také neomezený nebo neproveditelný. Teorie duality nám říká, že:

  • Pokud je primal neomezený, pak je duál nemožný;
  • Pokud je dvojník neomezený, pak je primál nemožný.

Je však možné, aby duál i primál byli neproveditelní. Zde je příklad:

Maximalizovat:
Předmět:

Aplikace

Věta o minimálním řezu max-flow je zvláštním případem věty o silné dualitě: maximalizace toku je primární LP a minimalizace řezu je duální LP. Viz věta o maximálním průtoku min. Řezu # Formulace lineárního programu .

Další věty související s grafy lze dokázat pomocí věty o silné dualitě, zejména Konigovy věty .

Minimax teorém k nulovým součtem her může být prokázáno pomocí silné-dualita věta.

Alternativní algoritmus

Někdy se může zdát intuitivnější získat duální program, aniž byste se dívali na matici programu. Zvažte následující lineární program:

Minimalizovat
podléhá

Máme podmínky m  +  n a všechny proměnné jsou nezáporné. Definujeme duální proměnné m  +  n : y j a s i . Dostaneme:

Minimalizovat
podléhá

Jelikož se jedná o problém s minimalizací, chtěli bychom získat duální program, který je spodní hranicí primalu. Jinými slovy, chtěli bychom, aby součet všech omezení na pravé straně byl maximální za podmínky, že pro každou primární proměnnou součet jejích koeficientů nepřekročí jeho koeficient v lineární funkci. Například x 1 se objeví v  omezeních n + 1. Budeme-li součet koeficienty svých omezení dostaneme se 1,1 y 1  +  1,2 y 2  + ... +  1, ;; n ;; y n  +  f 1 s 1 . Tato částka musí být nejvýše c 1 . Ve výsledku získáme:

Maximalizovat
podléhá

Všimněte si, že v našich výpočtových krocích předpokládáme, že program je ve standardní formě. Jakýkoli lineární program však může být transformován do standardní podoby, a proto nejde o omezující faktor.

Skutečné interpretace

Věta o dualitě má ekonomický výklad. Pokud interpretujeme primární LP jako klasický problém „alokace zdrojů“, lze jeho duální LP interpretovat jako problém „oceňování zdrojů“. Viz také Shadow cena .

Věta o dualitě má také fyzickou interpretaci.

Reference