Programarea neliniare este una din componentele programării matematice

Programarea neliniare face parte din programarea matematică, în care funcția neliniară este reprezentată de anumite restricții sau funcția obiectivă. Obiectul principal al programării neliniare este de a găsi valoarea optimă a funcției obiectiv dat un anumit număr de parametri și constrângeri.

Problemele programării neliniare diferă de problemele conținutului liniar al rezultatului optim nu numai într-o zonă care are anumite limitări, dar și dincolo de limitele ei. Aceste tipuri de sarcini includ sarcinile de programare matematică care pot fi reprezentate fie de egalități, fie de inegalități.

Programarea neliniare este clasificată în funcție de varietatea funcției F (x), funcția de constrângere și dimensiunea vectorului soluției x. Deci, numele sarcinii depinde de numărul de variabile. Atunci când se utilizează o variabilă, programarea neliniară poate fi efectuată utilizând o optimizare necondiționată cu unul parametru. Cu un număr de variabile mai mari decât unul, se poate utiliza o optimizare multiparametrică necondiționată.

Problemele de linearitate sunt rezolvate folosind metode standard programare liniară (de exemplu, metoda simplex). Dar în cazul unei metode generale de rezolvare neliniare nu există o soluție, una își alege propria în fiecare caz individual și depinde și de funcția F (x).

Programarea neliniară este frecvent întâlnită în viața de zi cu zi. De exemplu, aceasta este o creștere disproporționată a costurilor pentru numărul de bunuri produse sau achiziționate.

Uneori, pentru a găsi soluția optimă în probleme de programare neliniară, încercăm să aproximăm problemele liniare. Un exemplu este programarea patratică, în care funcția F (x) este reprezentată de un polinom al celui de-al doilea grad în raport cu variabilele, în timp ce liniaritatea constrângerilor este observată. Un al doilea exemplu este folosirea metodei funcțiilor de penalizare, aplicarea cărora, sub anumite restricții, reduce sarcina de a găsi un extremum la o procedură similară fără astfel de limitări, care pot fi rezolvate mult mai ușor.

Totuși, dacă analizăm în general, atunci programarea neliniară este o soluție la problemele de dificultate computațională crescută. Foarte adesea în timpul deciziei noastre trebuie să utilizăm aproximativ metode de optimizare. Un alt instrument puternic care poate fi propus pentru a rezolva acest tip de problemă este metodele numerice care permit găsirea soluției corecte cu o anumită precizie.



După cum sa menționat deja mai sus, programarea neliniară necesită o abordare specială individuală, care trebuie să țină cont de specificitatea acesteia.

Există următoarele metode de programare neliniare:

- Metode de gradient bazate pe proprietatea unui gradient funcțional la un punct. Cu alte cuvinte, este un vector al derivatelor parțiale calculate la punctul luat ca semn al direcției celei mai mari creșteri a funcției în vecinătatea acestui punct.

- metoda Monte Carlo, în care paralelipipedului determinat dimensiunea n-lea, incluzând o multitudine de planuri pentru modelare ulterioare aleatoare N-puncte, cu o distribuție uniformă în paralelipipedului.

- metodă programarea dinamică reduce la o problemă multidimensională de optimizare a locurilor de muncă la o dimensiune mai mică.

- Metoda de programare convexă este implementată în căutarea valorii minime a unei funcții convexe sau a valorii maxime a unui set de planuri concave pe o parte convexă. În cazul în care setul de planuri este un polyhedron convex, atunci acesta poate fi aplicat metoda simplex.

Distribuiți pe rețelele sociale:

înrudit
Modulare de programareModulare de programare
Programare structuratăProgramare structurată
Cercetarea științifică a operațiunilor folosind metode matematiceCercetarea științifică a operațiunilor folosind metode matematice
Rotunjirea numerelor în programarea WEBRotunjirea numerelor în programarea WEB
Cum de a învăța programarea de la zero în limbi de programare populareCum de a învăța programarea de la zero în limbi de programare populare
jаvascript: typeof - nevoie sau noi caracteristicijаvascript: typeof - nevoie sau noi caracteristici
Simboluri în PHP: șir la număr și înapoiSimboluri în PHP: șir la număr și înapoi
Funcția de tabulare: cum se scrie un program?Funcția de tabulare: cum se scrie un program?
Variabila în programare este complet caracterizată de ce?Variabila în programare este complet caracterizată de ce?
Ecuații Navier-Stokes. Modelarea matematică. Soluția sistemelor de ecuații diferențialeEcuații Navier-Stokes. Modelarea matematică. Soluția sistemelor de ecuații diferențiale
» » Programarea neliniare este una din componentele programării matematice