Danzig-Wolfe-sönderdelningsmetoden är en specialiserad version av simplexmetoden .
År 1960 utvecklade George Dantzig och Philip Wolf en nedbrytningsmetod för att lösa högdimensionella problem med en speciell restriktionsmatrisstruktur [1] .
Denna metod visade sig vara den mest effektiva för att lösa problem vars begränsningsmatris har en blockdiagonal form med ett litet antal variabler. Men som ytterligare studier visade är metoden även tillämpbar på linjära programmeringsproblem med en generell matris. Motsvarande metod föreslogs av D. B. Yudin och E. G. Holstein och kallas blockprogrammering .
Ett utmärkande drag för nedbrytningsmetoden är användningen av ett koordinerande problem , som jämfört med det ursprungliga har ett litet antal rader och ett stort antal kolumner.
Det är väsentligt att lösningen av det koordinerande problemet inte kräver explicit specifikation av alla kolumner. De genereras i processen med att använda simplexmetoden. Detta tillvägagångssätt kallas kolumngenereringsmetoden .
Det räcker med att kunna generera en kolumn och ha en procedur som väljer en kolumn att lägga in i underlaget.
Ofta reduceras en sådan procedur till att lösa ett specifikt delproblem (inte nödvändigtvis linjär programmering).
Lemma Låta vara en icke-tom sluten avgränsad mängd i det euklidiska rummet och ha ett ändligt antal extrempunkter, som kommer att betecknas här . Då kan vilken punkt som helst i mängden representeras som en konvex kombination av extrempunkter i mängden R, dvs. för det finns icke-negativa tal med en totalsumma av ett ( ) och sådant
(1) .
Låt uppgiften
Maximera
(2)
under restriktioner
(3)
(fyra)
(5)
Restriktioner (3) definierar en simplex S, låt vara dess extrempunkter.
Låt x vara en tillåten lösning Med lemma
Låt oss ersätta det sista uttrycket med (2) och (3).
Uppgiften kommer att ta formen
Maximera (6)
under restriktioner
(7)
(8) .
Denna uppgift är likvärdig med den ursprungliga (2)-(5) och kallas den koordinerande uppgiften .
Den har bara rader med begränsningar jämfört med raderna i det ursprungliga problemet, och ett mycket stort antal kolumner lika med antalet extrempunkter i uppsättningen . För att inte lagra alla dessa kolumner i datorns minne kommer vi att ta emot dem efter behov, med metoden att generera kolumner.
Vi löser problem (6)-(8) med simplexmetoden med kolumngenereringsmetoden.
För enkelhetens skull antar vi att någon tillåten grundlösning redan är känd.
Beteckna med begränsning (8), då är de dubbla variablerna vektorn .
För att komma in i grunden är det nödvändigt att hitta , sådan att
Det räcker alltså att hitta m där miniminivån uppnås
(9)
vilket motsvarar att lösa problemet
minimera (10)
under begränsningar (4) och (5).
Om det hittade minimumet inte är större än , är problemet löst.
Annars läggs kolumnen som motsvarar den hittade lösningen in i basen.
Låt begränsningar (4) ha en blockstruktur
Uppgift (10),(4),(5) är uppdelad i separata deluppgifter
Hitta minimum
(elva)
under förhållanden
(12)
_ | Optimeringsmetoder|
---|---|
En-dimensionell |
|
Noll ordning | |
Första beställning | |
andra beställning | |
Stokastisk | |
Linjära programmeringsmetoder _ | |
Icke -linjära programmeringsmetoder |