Konveks programmering

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 21. november 2021; checks kræver 2 redigeringer .

Konveks programmering  er et underområde af matematisk optimering , der studerer problemet med at minimere konvekse funktionerkonvekse sæt . Mens mange klasser af konvekse programmeringsproblemer tillader polynomiske tidsalgoritmer [1] , er matematisk optimering generelt NP-hård [2] [3] [4] .

Konveks programmering har applikationer inden for en række discipliner såsom automatiske kontrolsystemer , signalevaluering og -behandling , kommunikation og netværk, kredsløb [5] , dataanalyse og modellering, finans , statistik ( optimalt eksperimentdesign ) [6] og strukturel optimering [7] . Udviklingen af ​​computerteknologi og optimeringsalgoritmer har gjort konveks programmering næsten lige så enkel som lineær programmering [8] .

Definition

Et konveks programmeringsproblem er et optimeringsproblem , hvor objektivfunktionen er en konveks funktion, og domænet af mulige løsninger er konveks . En funktion , der knytter en delmængde til , er konveks, hvis domænet er konveks for både alle og alle i deres domæne af . Et sæt er konveks, hvis for alle dets elementer, og ethvert af dem også hører til sættet.

Især problemet med konveks programmering er problemet med at finde nogle , hvorpå

,

hvor den objektive funktion er konveks, ligesom sættet af mulige løsninger er [9] [10] . Hvis et sådant punkt eksisterer, kaldes det det optimale punkt . Sættet af alle optimale punkter kaldes det optimale sæt . Hvis unbounded af eller infimum ikke nås, siges optimeringen at være unbounded . Hvis den er tom, taler man om en uacceptabel opgave [11] .

Standardformular

Et konveks programmeringsproblem siges at være i standardform, hvis det skrives som

Minimer Under forhold

hvor er optimeringsvariablen, funktionerne er konvekse, og funktionerne er affine [11] .

I disse termer er funktionen den objektive funktion af problemet, og funktionerne og kaldes begrænsningsfunktioner. Det tilladte sæt af løsninger på optimeringsproblemet er det sæt, der består af alle punkter, der opfylder betingelserne og . Dette sæt er konveks, fordi subniveausæt af en konveks funktion er konvekse, affine mængder er også konvekse, og skæringspunktet mellem konvekse mængder er et konveks sæt [12] .

Mange optimeringsproblemer kan reduceres til denne standardform. For eksempel kan problemet med at maksimere en konkav funktion omformuleres på samme måde som problemet med at minimere en konveks funktion , således at problemet med at maksimere en konkav funktion på et konveks sæt ofte omtales som et konveks programmeringsproblem

Egenskaber

Nyttige egenskaber ved konvekse programmeringsproblemer [13] [11] :

Disse resultater bruges i konveks minimeringsteori sammen med geometriske begreber fra funktionel analyse (på Hilbert-rum ), såsom Hilberts projektionssætning , støttehyperplansætningen og Farkas' lemma .

Eksempler

Følgende klasser af problemer er konvekse programmeringsproblemer eller kan reduceres til konvekse programmeringsproblemer ved simple transformationer [11] [14] :

Metode til Lagrange-multiplikatorer

Overvej et konveks minimeringsproblem givet i standardform med en omkostningsfunktion og ulighedsbegrænsninger for . Så er definitionsdomænet :

Lagrange funktion til problemet

For ethvert punkt fra det minimerer til , er der reelle tal , kaldet Lagrange-multiplikatorer , for hvilke følgende betingelser er opfyldt samtidigt:

  1. minimerer over alt
  2. med mindst én
  3. (komplementær ikke-stivhed).

Hvis der findes et "stærkt acceptabelt punkt", det vil sige et punkt, der opfylder

så kan ovenstående udsagn styrkes til at kræve .

Omvendt, hvis nogle af opfylder betingelserne (1)-(3) for skalarer med , så minimerer det bestemt på .

Algoritmer

Konvekse programmeringsproblemer løses ved følgende moderne metoder: [15]

Sub-gradient metoder kan implementeres simpelthen fordi de er meget udbredte [18] [19] . Dual subgradient metoder er subgradient metoder anvendt på et dobbelt problem . Drift+penalty-metoden ligner den dobbelte subgradient-metoden, men bruger tidsgennemsnittet af hovedvariablerne.

Udvidelser

Udvidelser til konveks programmering omfatter optimeringer for bikonvekse , pseudokonvekse og kvasikonvekse funktioner. Udvidelser til teorien om konveks analyse og iterative metoder til den omtrentlige løsning af ikke-konvekse optimeringsproblemer forekommer inden for området generaliseret konveksitet , kendt som abstrakt konveks analyse.

Se også

Noter

  1. 1 2 Nesterov og Nemirovskii, 1994 .
  2. Murty og Kabadi 1987 , s. 117-129.
  3. Sahni, 1974 , s. 262-279.
  4. Pardalos og Vavasis, 1991 , s. 15-22.
  5. Boyd og Vandenberghe 2004 , s. 17.
  6. Christensen, Klarbring, 2008 , s. chpt. fire.
  7. Boyd, Vandenberghe, 2004 .
  8. Boyd og Vandenberghe 2004 , s. otte.
  9. Hiriart-Urruty, Lemaréchal, 1996 , s. 291.
  10. Ben-Tal, Nemirovskiĭ, 2001 , s. 335-336.
  11. 1 2 3 4 Boyd, Vandenberghe, 2004 , s. chpt. fire.
  12. Boyd og Vandenberghe 2004 , s. chpt. 2.
  13. Rockafellar, 1993 , s. 183-238.
  14. Agrawal, Verschueren, Diamond, Boyd, 2018 , s. 42-60.
  15. For metoder til konveks programmering, se bøger af Irriart-Urruti og Lemerical (flere bøger) og bøger af Rushczynski, Bercekas og Boyd og Vanderberge (indre punktmetoder).
  16. Nesterov, Nemirovskii, 1995 .
  17. Peng, Roos, Terlaky, 2002 , s. 129-171.
  18. Bertsekas, 2009 .
  19. Bertsekas, 2015 .

Litteratur

Links