Optimizare (matematică)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 25 septembrie 2021; verificările necesită 4 modificări .

Optimizarea (în matematică , informatică și cercetare operațională ) este sarcina de a găsi un extremum (minim sau maxim) al unei funcții obiectiv într-o regiune a unui spațiu vectorial cu dimensiuni finite , limitată de un set de linii liniare și/sau non- egalități și/sau inegalități liniare .

Teoria și metodele de rezolvare a unei probleme de optimizare sunt studiate prin programare matematică .

Programarea matematică  este o ramură a matematicii care dezvoltă teoria, metode numerice pentru rezolvarea problemelor multidimensionale cu constrângeri. [unu]

Enunțul problemei de optimizare

În procesul de proiectare , sarcina este de obicei stabilită pentru a determina cele mai bune, într-un sens, structura sau valorile parametrilor obiectului . O astfel de problemă se numește problemă de optimizare. Dacă optimizarea este asociată cu calcularea valorilor optime ale parametrilor pentru o anumită structură a obiectului, atunci se numește optimizare parametrică . Problema alegerii structurii optime este optimizarea structurală .

Problema standard de optimizare matematică este formulată în acest fel. Dintre elementele χ care formează mulțimile X, găsiți un element χ * care furnizează valoarea minimă f(χ * ) a funcției date f(χ). Pentru a pune corect problema de optimizare, este necesar să setați:

  1. Setul admis  este setul ;
  2. Funcția obiectivă  - cartografiere ;
  3. Criteriul de căutare (max sau min).

Atunci rezolvarea problemei înseamnă una dintre:

  1. Arată că .
  2. Arătați că funcția obiectiv nu este mărginită mai jos.
  3. Găsiți .
  4. Dacă , atunci găsiți .

Dacă funcția minimizată nu este convexă , atunci ei se limitează adesea la a găsi minime și maxime locale: puncte astfel încât peste tot în unele dintre cartierele lor pentru un minim și pentru un maxim.

Dacă mulțimea este admisibilă , atunci o astfel de problemă se numește o problemă de optimizare necondiționată , în caz contrar, o problemă de optimizare condiționată .

Clasificarea metodelor de optimizare

Notarea generală a problemelor de optimizare definește o mare varietate de clase ale acestora. Alegerea metodei (eficiența soluției sale) depinde de clasa problemei. Clasificarea problemelor este determinată de: funcția obiectiv și aria admisibilă (dată de un sistem de inegalități și egalități sau un algoritm mai complex). [2]

Metodele de optimizare sunt clasificate în funcție de sarcinile de optimizare:

Metodele de căutare existente în prezent pot fi împărțite în trei grupuri mari:

  1. determinat;
  2. aleatoriu (stochastic);
  3. combinate.

În funcție de criteriul dimensiunii mulțimii fezabile, metodele de optimizare sunt împărțite în metode de optimizare unidimensională și metode de optimizare multidimensională .

După forma funcției obiectiv și a mulțimii admisibile, problemele de optimizare și metodele de rezolvare a acestora pot fi împărțite în următoarele clase:

În conformitate cu cerințele pentru netezime și prezența derivatelor parțiale în funcția obiectiv, acestea pot fi, de asemenea, împărțite în:

În plus, metodele de optimizare sunt împărțite în următoarele grupuri:

În funcție de natura mulțimii X , problemele de programare matematică sunt clasificate astfel:

În plus, ramurile programării matematice sunt programarea parametrică , programarea dinamică și programarea stocastică .

Programarea matematică este utilizată în rezolvarea problemelor de optimizare în cercetarea operațională .

Metoda de găsire a extremului este complet determinată de clasa problemei. Dar înainte de a obține un model matematic, trebuie să efectuați 4 etape de modelare:

Istorie

Problemele de programare liniară au fost primele studiate în detaliu probleme de găsire a extremului de funcții în prezența unor constrângeri precum inegalitățile . În 1820, Fourier și apoi în 1947 George Dantzig au propus o metodă de enumerare direcționată a vârfurilor adiacente în direcția creșterii funcției obiectiv  - metoda simplex , care a devenit principala în rezolvarea problemelor de programare liniară.

Prezența termenului „programare” în denumirea disciplinei se explică prin faptul că primele studii și primele aplicații ale problemelor de optimizare liniară au fost în domeniul economiei, întrucât în ​​engleză cuvântul „programare” înseamnă planificare , desen. planuri sau programe. Este destul de firesc ca terminologia să reflecte relația strânsă care există între formularea matematică a problemei și interpretarea ei economică (studiul programului economic optim). Termenul de „ programare liniară ” a fost propus de J. Danzig în 1949 pentru a studia problemele teoretice și algoritmice legate de optimizarea funcțiilor liniare sub constrângeri liniare.

Prin urmare, denumirea de „programare matematică” se datorează faptului că scopul rezolvării problemelor este alegerea programului optim de acțiuni.

Identificarea unei clase de probleme extreme definite de o funcțională liniară pe o mulțime definită de constrângeri liniare ar trebui să fie atribuită anilor 1930. Unul dintre primii care a studiat problemele de programare liniară într-o formă generală au fost: John von Neumann  , un matematician și fizician care a demonstrat teorema principală a jocurilor matrice și a studiat modelul economic care îi poartă numele, și L. V. Kantorovich  , un academician sovietic, Nobel Nobel . Câștigător al premiului (1975), care a formulat o serie de probleme de programare liniară și a propus în 1939 o metodă de rezolvare a acestora ( metoda de rezolvare a factorilor ), care diferă ușor de metoda simplex.

În 1931, matematicianul maghiar B. Egervari a luat în considerare o formulare matematică și a rezolvat o problemă de programare liniară numită „problema alegerii”, metoda soluției fiind numită „ metoda maghiară ”.

L. V. Kantorovich și M. K. Gavurin au dezvoltat metoda potențialelor în 1949 , care este folosită în rezolvarea problemelor de transport . În lucrările ulterioare ale lui L. V. Kantorovich, V. S. Nemchinov , V. V. Novozhilov , A. L. Lurie , A. Brudno , A. G. Aganbegyan , D. B. Yudin , E. G. Golshtein și alți matematicieni și economiști și-au dezvoltat în continuare atât metoda matematică, cât și aplicarea tematică neliniară a matematicii liniare. la studiul diferitelor probleme economice.

Multe lucrări ale oamenilor de știință străini sunt dedicate metodelor de programare liniară. În 1941, F. L. Hitchcock a stabilit provocarea transportului . Metoda de bază pentru rezolvarea problemelor de programare liniară, metoda simplex  , a fost publicată în 1949 de J. Dantzig. Metodele de programare liniară și neliniară au fost dezvoltate în continuare în lucrările lui G. Kuhn , A. Tucker , Gass (Saul I. Gass), Charnes (A. Charnes), Beale (EM Beale) și alții.

Concomitent cu dezvoltarea programării liniare, s-a acordat multă atenție problemelor de programare neliniară , în care fie funcția obiectiv , fie constrângerile, fie ambele sunt neliniare. În 1951, a fost publicată lucrarea lui G. Kuhn și A. Tucker , în care au fost date condiții de optimitate necesare și suficiente pentru rezolvarea problemelor de programare neliniară. Această lucrare a stat la baza cercetărilor ulterioare în acest domeniu.

Din 1955, au fost publicate multe lucrări dedicate programării pătratice (lucrări de Beal, Barankin și R. Dorfman , Frank (M. Frank) și F. Wolf , G. Markowitz , etc.). Lucrările lui Dennis (JB Dennis), Rosen (JB Rosen) și Zontendijk (G. Zontendijk) au dezvoltat metode de gradient pentru rezolvarea problemelor de programare neliniară.

În prezent, pentru aplicarea eficientă a metodelor de programare matematică și rezolvarea problemelor pe computere, au fost dezvoltate limbaje de modelare algebrică , reprezentanți ai cărora sunt AMPL și LINGO .

Vezi și

Note

  1. Sursa: Biblioteca Științifică Universală Regională Altai. V. Ya. Shishkova (AKUNB) Arhivat pe 5 martie 2022 la Wayback Machine . Metode de optimizare: Proc. indemnizatie. Brazovskaya N.V.; Universitatea Tehnică de Stat din Altai I. I. Polzunova, [Centrul distanței. instruire].-Barnaul: Editura AltSTU, 2000, 120 p. - UDC / LBC 22.183.4 B871
  2. Găsirea optimului: computerul extinde posibilitățile . - M . : Nauka, 1989. - S.  14 . — ISBN 5-02-006737-7 .

Literatură

Link -uri