La programmazione lineare (PL) è quella branca della ricerca operativa che si occupa di studiare algoritmi di risoluzione per problemi di ottimizzazione lineari[1].

Un problema è detto lineare se sia la funzione obiettivo sia i vincoli sono funzioni lineari.

Questo significa che la funzione obiettivo può essere scritta come: avendo indicato con

  • NV il numero delle variabili che descrivono il problema;
  • il vettore colonna dei coefficienti della funzione obiettivo;
  • il vettore colonna delle variabili .
  • la T ad esponente è l'operatore di trasposizione.

Esistono tre grandi classi di problemi lineari:

1) Problemi lineari continui (Linear Programming =>LP)

2) Problemi lineari interi (Integer Linear Programming =>ILP)

3) Problemi lineari misto-interi (Mixed Integer Linear Programming => MILP)

Problemi lineari continui

modifica

Sono tutti quei problemi lineari che presentano al loro interno solo variabili continue, cioè variabili che possono assumere con continuità tutti i valori contenuti all'interno del loro dominio di esistenza.

Per questa classe di problemi esiste un algoritmo di risoluzione molto importante, chiamato algoritmo del simplesso. Questo algoritmo deve la sua importanza al fatto che è un metodo di risoluzione esatto: permette cioè di trovare la miglior soluzione ammissibile, qualora questa esista, che risolve il problema studiato. Inoltre, l'algoritmo è strutturato in modo tale che se il problema non ha alcuna soluzione ammissibile, è possibile saperlo con certezza.

Poliedri e geometria dei punti permessi

modifica

L'insieme dei punti permessi dai vincoli di un problema lineare continuo forma un politopo, un'intersezione di mezzi-spazi. Un esempio di problema lineare continuo è il seguente:

Dualità dei problemi lineari continui

modifica

Ad ogni problema di massimizzazione lineare corrisponde un problema di minimizzazione lineare con le seguenti proprietà:

  • Se il primo problema ha una soluzione finita, allora anche il secondo problema ha una soluzione finita e i valori delle funzioni obbiettivo per le due soluzioni coincidono,
  • Se il primo problema non ha alcuna soluzione, il secondo problema ha una soluzione infinita,
  • Se il secondo problema non ha alcuna soluzione, il primo problema ha una soluzione infinita.

Dato il seguente problema di minimizzazione lineare (P1):

dove è una matrice con vettori riga: e è un vettore in .

è possibile considerare una combinazione lineare delle righe di per ottenere che per ogni vettore che soddisfi: e , ed ogni vettore che soddisfi i vincoli di (P1):

in particolare, questo dimostra che ogni soluzione al problema lineare (P2):

ha un valore di funzione obiettivo minore di qualsiasi soluzione . È infatti possibile dimostrare che se l'insieme delle soluzioni di (P1) non è vuoto e (P1) ha una soluzione finita, allora esistono un e tali per cui che quindi sono ottimali.

Problemi lineari interi

modifica

Sono tutti quei problemi lineari che presentano al loro interno solo variabili intere, cioè variabili che possono assumere solo i valori interi contenuti all'interno del loro dominio di esistenza.

Per questa classe di problemi esiste un algoritmo di risoluzione molto importante, chiamato Branch and bound. Questo algoritmo deve la sua importanza al fatto che è un metodo di risoluzione esatto. Questo significa che permette di trovare la miglior soluzione ammissibile, qualora questa esista, che risolve il problema studiato.

Problemi lineari misto-interi

modifica

Sono tutti quei problemi lineari che presentano al loro interno sia variabili intere sia variabili continue.

Per questa classe di problemi esiste un algoritmo di risoluzione molto importante, chiamato Branch and cut. Questo algoritmo deve la sua importanza al fatto che è un metodo di risoluzione esatto. Questo significa che permette di trovare la miglior soluzione ammissibile, qualora questa esista, che risolve il problema studiato.

Note

modifica

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
Controllo di autoritàThesaurus BNCF 21955 · LCCN (ENsh85082127 · GND (DE4035816-1 · BNF (FRcb119415380 (data) · J9U (ENHE987007555765405171 · NDL (ENJA00570683
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica

📚 Artikel Terkait di Wikipedia

Matrice intera

foriera di confusione. Matrice unimodulare (EN) Eric W. Weisstein, Integer Matrix, su MathWorld, Wolfram Research. Portale Matematica: accedi alle voci

Terna pitagorica

Wolfram Research. (EN) Successione A210503, su On-Line Encyclopedia of Integer Sequences, The OEIS Foundation. Portale Matematica: accedi alle voci di

ALGOL

greatest element of the matrix a, of size n by m is transferred to y, and the subscripts of this element to i and k; begin integer p, q; y := 0; i := k :=

Numeri di Stirling

con la notazione alternativa [ n k ] {\displaystyle \left[{\begin{matrix}n\\k\end{matrix}}\right]} . s ( n , k ) = [ ( − 1 ) n − k ] × [ n ! ( k − 1 ) !

Numero di Perrin

Encyclopedia of Integer Sequences, The OEIS Foundation. ^ Füredi (1987) ^ Knuth (2011) ^ (EN) Successione A013998, su On-Line Encyclopedia of Integer Sequences

Metodo di eliminazione di Gauss

Sylvester's Identity and Multistep Integer-Preserving Gaussian Elimination. Math. Comput. 22, 565-578, 1968. (EN) Garbow, B. S. Integer-Preserving Gaussian Elimination

Numero quadrato triangolare

881&q=40391&t=57121&t/q=1.4142011\end{matrix}}} ^ (EN) Successione A001110, su On-Line Encyclopedia of Integer Sequences, The OEIS Foundation. Altri progetti

Superfattoriale

definizione di Neil Sloane e Simon Plouffe data in The Encyclopedia of Integer Sequences (Academic Press, 1995), si definisce superfattoriale di un numero