Programare neliniară - Ce este, definiție și concept

Cuprins:

Programare neliniară - Ce este, definiție și concept
Programare neliniară - Ce este, definiție și concept
Anonim

Programarea neliniară este o metodă prin care se optimizează o funcție obiectivă, fie prin maximizare, fie prin minimizare. Acest lucru, luând în considerare diferitele restricții date. Se caracterizează deoarece funcția obiectivă sau unele dintre restricții pot fi neliniare.

Programarea neliniară este, atunci, un proces în care funcția care trebuie maximizată sau oricare dintre restricții este diferită de o ecuație liniară sau de gradul I, în care variabilele sunt ridicate la puterea 1.

Trebuie să ne amintim că o ecuație liniară este o egalitate matematică care poate avea una sau mai multe necunoscute. Astfel, are următoarea formă de bază, unde a și b sunt constante, în timp ce x și y sunt variabilele:

ax + b = y

Trebuie adăugat că nu toate elementele care alcătuiesc acest tip de programare vor respecta această caracteristică. De exemplu, poate fi că funcția obiectivă este o ecuație de gradul al doilea și una dintre variabile este pătrată, îndeplinind următoarea formă:

y = topor2+ bx + c

Acum, prin programare neliniară, această funcție ar putea fi optimizată, găsind valoarea maximă sau minimă a lui y. Acest lucru, ținând cont de faptul că x este supus anumitor restricții.

Elemente de programare neliniară

Principalele elemente ale programării neliniare sunt următoarele:

  • Funcție obiectivă: Funcția este optimizată, fie prin maximizarea sau minimizarea rezultatului acesteia.
  • Restricții: Sunt acele condiții care trebuie îndeplinite la optimizarea funcției obiective. Poate fi ecuații algebrice sau inegalități.

Exercițiu de programare neliniară

Să vedem, pentru a termina, un exercițiu de programare neliniară.

Să presupunem că avem următoarea funcție:

y = 25 + 10x-x2

De asemenea, avem următoarea restricție:

y = 50-3x

După cum putem vedea în grafic, funcția obiectivă și restricția se intersectează în două puncte, dar unde y este maximizat este atunci când x = 2.3, unde y = 43 (zecimalele sunt aproximative).

Punctele limită pot fi găsite prin echivalarea ambelor ecuații:

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Atunci ecuația pătratică de mai sus are două soluții sau rădăcini care pot fi găsite cu următoarele formule, unde a = 1, b = -13 și c = 25.

Astfel, descoperim că x1 = 2.3467 (y = 43) și x2 = 10.653 (y = 18).

Trebuie să avertizăm că acest tip de programare este mai complex decât liniar și că nu există atât de multe instrumente disponibile online pentru a rezolva acest tip de optimizare. Exemplul prezentat este un caz foarte simplificat.