Ho una famiglia di problemi di programmazione lineare: massimizzare soggetto ad , x \ ge0 . Gli elementi di A , b e c sono numeri interi non negativi, c strettamente positivi. ( x dovrebbe anche essere integrale, ma mi preoccuperò più avanti).A x ≤ b x ≥ 0 A b c c x
Accade spesso nella mia applicazione che i coefficienti e siano tali che un algoritmo one-pass semplificato fornisce la soluzione ottimale per ogni scelta di : l'algoritmo one-pass determina gli elementi in sequenza, scegliendo ciascuno deve essere il valore più grande possibile coerente con i valori già determinati . Nel linguaggio simplex, la sequenza di immissione delle variabili va da a e termina dopo passaggi. Ciò consente di risparmiare molto tempo rispetto al simplex full-on.
Questo algoritmo funziona quando le colonne di e gli elementi di sono stati ordinati da "economico" a "costoso". Una variabile "economica" è una colonna di con valori generalmente piccoli, per i quali l'elemento corrispondente di è grande: per quell'elemento di si ottiene un sacco di output con poca richiesta sul vincolo . Quindi l'algoritmo dice solo "fai prima le cose facili".
La mia domanda è: quale proprietà di e ci assicurerebbe che questo algoritmo semplificato funziona per tutti ? La mia congettura iniziale era che gli elementi diversi da dovessero aumentare in ogni riga, ma ciò non è corretto.
Ecco alcuni esempi, tutti con : , A_2 = \ begin {pmatrix} 0 & 0 & 1 \\ 3 & 0 & 2 \\ 0 & 3 & 2 \ end {pmatrix} , A_3 = \ begin {pmatrix} 1 & 1 & 1 \\ 1 & 0 & 0 \\ 1 & 0 & 1 \ end {pmatrix} , A_4 = \ begin {pmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 1 & 1 \ end {pmatrix} . Per tutti questi, l'algoritmo sequenziale fornisce la soluzione ottimale per tutti i valori di b (mediante sperimentazione numerica). A_3 è l'unico per cui funzionano anche tutte le permutazioni delle colonne.A 1 = ( 1 1 1 1 2 3 3 2 0 ) A 2 = ( 0 0 1 3 0 2 0 3 2 ) A 3 = ( 1 1 1 1 0 0 1 0 1 ) A 4 = ( 1 0 1 0 1 0bA3A1A3(1,1,3)sembra più costoso di e più costoso di .
Sarei tremendamente grato per qualsiasi suggerimento alla letteratura, per problemi come questo o per qualsiasi suggerimento. Ci devono essere stati altri casi in cui alcune variabili possono essere determinate come "più economiche" rispetto ad altre e possono essere eseguite in sicurezza. Con tutto il lavoro svolto sulla programmazione lineare nel corso degli anni, sembra che qualcosa di simile debba essere emerso, ma non sono riuscito a trovarlo.