Algoritmo del simplesso: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Nessun oggetto della modifica Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Modifica da mobile avanzata |
||
(16 versioni intermedie di 12 utenti non mostrate) | |||
Riga 1:
{{nota disambigua|l'omonimo metodo di ottimizzazione non lineare|metodo di Nelder-Mead|Metodo del simplesso}}
L
Questo [[algoritmo]] fa uso del concetto di [[simplesso]], cioè un [[politopo]] di <math>N+1</math> vertici in <math>N</math> dimensioni, ossia un [[segmento]] di retta in una dimensione, un [[triangolo]] in due dimensioni, un [[tetraedro]] in tre dimensioni.
Riga 17:
è un problema di programmazione lineare.
I vincoli definiscono la regione ammissibile (cioè l'insieme dei punti che soddisfano tutti i vincoli del problema, in inglese "feasible region"). Nel caso della programmazione lineare la regione ammissibile è un [[poliedro]] che può essere vuoto, limitato o illimitato. La funzione che va minimizzata o massimizzata è la
È quindi obiettivo della risoluzione di un tale problema trovare tra le soluzioni che soddisfino i vincoli, quella cui corrisponde il costo minimo (o massimo, se si tratta di un ricavo).
Riga 32:
</math> ''ad esponente è l'[[operatore di trasposizione]].''
A tale formulazione si perviene facilmente, sommando o sottraendo, a seconda della necessità, una variabile chiamata "di slack" (se sommata) o
<math> \boldsymbol{\gamma}^T \mathbf{x} </math>
tale che
<math> \boldsymbol{\Alpha} \mathbf{x}\le\mathbf{b} </math> e
<math>x_i \ge 0</math>.
Riassumibile in un [[tableau]] del tipo
<math>\begin{pmatrix}\mathbf{A} \;\, \mathbf{b} \\ \boldsymbol{\gamma}^{T} \; 0 \end{pmatrix}</math>, l'algoritmo si articola nei seguenti passi applicati al tableau:
# Verifica di ottimalità
# Se non si ha ancora una tabella ottima,
# Verifica di illimitatezza. Condizione sufficiente perché il problema sia illimitato è che nella colonna <math> h </math> individuata si abbiano solo valori negativi nella matrice, cioè <math> \mathbf{a}_{ih} < 0, \
# Se non siamo in presenza di un problema illimitato,
L'operazione cardine è quella operazione che permette di spostarsi lungo una direzione ammissibile per un certo passo in modo che la nuova soluzione sia anch'essa ammissibile ma migliore di quella precedente di partenza.
Riga 51 ⟶ 50:
si considera la [[Base (algebra lineare)|base]] ammissibile <math>B</math> contenente colonne linearmente indipendenti di <math>A</math>. Si può riscrivere la relazione <math>A\mathbf{x}=\mathbf{b}</math> come:
:<math>B
con <math>F</math> matrice contenente le colonne di <math>A</math> escluse dalla base ammissibile <math>B</math>.
Riga 57 ⟶ 56:
Ancora si può riscrivere la relazione precedente come:
:<math>B
e, andando a sostituire la relazione nella funzione obiettivo relativa al problema iniziale, si ha:
:<math>\mathbf{c}^{T}\mathbf{x}=\left[\begin{bmatrix}
\mathbf{c}_{B}^{T} & \mathbf{c}_{F}^{T}\end{bmatrix}\right]
\mathbf{x}_{B}\\
\mathbf{x}_{F}\end{bmatrix}\right]\Rightarrow</math>
:<math>\mathbf{c}^{T}\mathbf{x}=\left[\begin{bmatrix}
\mathbf{c}_{B}^{T} & \mathbf{c}_{F}^{T}\end{bmatrix}\right]
B^{-1}
\mathbf{x}_{F}\end{bmatrix}\right]\Rightarrow</math>
:<math>\mathbf{c}^{T}\mathbf{x}=\mathbf{c}_{B}^{T}B^{-1}\mathbf{b}+
con <math>k</math> valore costante e <math>\mathbf{c}^{T}:=\mathbf{c}
Sotto tali condizioni se il vettore dei costi ridotti risulta non negativo, la soluzione base ammissibile associata ad <math>A</math> risulta essere ottima. Ciò significa che il valore assunto dalla funzione obiettivo <math>\gamma\left(\mathbf{x}\right)</math> è il minimo globale per la funzione nel dominio considerato.
Riga 94 ⟶ 93:
* [[Programmazione matematica]]
* [[Ricerca operativa]]
== Altri progetti ==
{{interprogetto|preposizione=sull'}}
== Collegamenti esterni ==
* {{
* {{
* {{en}} [https://web.archive.org/web/20060518080331/http://www.egwald.com/operationsresearch/lpsimplex.php Algoritmo del simplesso], di Elmer G. Wiens. Dimostra l'algoritmo del dettaglio, usando la ''simplex tableau''.
* {{cita web|url=http://www.univ.trieste.it/~orts/didattica/LezioniRicercaOperativa/prog_lineare/simplesso/|titolo=Risoluzione di problemi di programmazione lineare mediante il metodo del simplesso|sito=Operations Research Group|editore=University of Trieste|urlarchivio=https://web.archive.org/web/20080225142205/http://www.univ.trieste.it/~orts/didattica/LezioniRicercaOperativa/prog_lineare/simplesso/|dataarchivio=25 febbraio 2008|urlmorto=sì}}
|