Programmazione non lineare - Che cos'è, definizione e concetto

Sommario:

Anonim

La programmazione non lineare è un metodo mediante il quale viene ottimizzata una funzione obiettivo, massimizzando o minimizzando. Questo, tenendo conto delle diverse restrizioni date. È caratterizzato dal fatto che la funzione obiettivo, o alcune delle restrizioni, possono essere non lineari.

La programmazione non lineare è, quindi, un processo in cui la funzione da massimizzare, o una qualsiasi delle restrizioni, è diversa da un'equazione lineare o di primo grado, in cui le variabili sono elevate alla potenza 1.

Dobbiamo ricordare che un'equazione lineare è un'uguaglianza matematica che può avere una o più incognite. Pertanto, ha la seguente forma di base, dove a e b sono le costanti, mentre x e y sono le variabili:

ax + b = y

Va aggiunto che non tutti gli elementi che compongono questo tipo di programmazione rispetteranno questa caratteristica. Ad esempio, può essere che la funzione obiettivo sia un'equazione di secondo grado e una delle variabili sia al quadrato, soddisfacendo la seguente forma:

y = ax2+ bx + c

Ora, attraverso la programmazione non lineare, questa funzione potrebbe essere ottimizzata, trovando il valore massimo o minimo di y. Questo, tenendo conto che x è soggetto a determinate restrizioni.

Elementi di programmazione non lineare

Gli elementi principali della programmazione non lineare sono i seguenti:

  • Funzione obiettivo: È la funzione che viene ottimizzata, massimizzando o minimizzando il suo risultato.
  • Restrizioni: Sono quelle condizioni che devono essere soddisfatte quando si ottimizza la funzione obiettivo. Possono essere equazioni o disuguaglianze algebriche.

Esercizio di programmazione non lineare

Vediamo, per finire, un esercizio di programmazione non lineare.

Supponiamo di avere la seguente funzione:

y = 25 + 10x-x2

Abbiamo anche la seguente restrizione:

y = 50-3x

Come possiamo vedere nel grafico, la funzione obiettivo e la restrizione si intersecano in due punti, ma dove y è massimizzato è quando x = 2.3, dove y = 43 (i decimali sono approssimativi).

I punti di cut-off possono essere trovati eguagliando entrambe le equazioni:

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Quindi l'equazione quadratica sopra ha due soluzioni o radici che possono essere trovate con le seguenti formule, dove a = 1, b = -13 e c = 25.

Quindi, troviamo che x1 = 2,3467 (y = 43) e x2 = 10,653 (y = 18).

Dobbiamo avvertire che questo tipo di programmazione è più complesso che lineare e non ci sono così tanti strumenti disponibili online per risolvere questo tipo di ottimizzazione. L'esempio mostrato è un caso molto semplificato.