problemi di programmazione lineare tentano di trovare una soluzione per una funzione obiettivo , che intende massimizzare o minimizzare un certo valore nel regno di un insieme di vincoli . Problemi di programmazione lineare sono ben studiati in matematica , e molti algoritmi esistenti che facilmente portare a loro soluzioni . Tuttavia, i problemi di programmazione non lineare tendono ad essere estremamente difficile da risolvere , che ha portato a metodi per convertirli a lineare problemi di programmazione . Istruzioni

1

Verificare la funzione obiettivo è concava . È possibile eseguire questa operazione dalla prova , utilizzando la definizione rigorosa di concavità o graficamente la funzione . Se si sceglie di rappresentare graficamente la funzione , analizzare il grafico immaginando ogni set di due punti su quella funzione . Chiedetevi : “Se dovessi tracciare una linea tra questi due punti , avrebbe la funzione stessa si trovano sopra quella linea ? ” Se la risposta è affermativa, allora la funzione è concava , e si può convertire il problema di programmazione lineare per un problema di programmazione lineare.

2

Scegli punti r rottura lungo l’asse x . Chiamare questi punti di rottura d ( 1 ) , d ( 2 ) , … , d ( r) . Il numero di punti di rottura che si sceglie non è del tutto importante; Altri punti di interruzione daranno una conversione più accurata , ma faranno il problema risultante più complicato .

3

Trova le corrispondenti valori della funzione in quei punti di rottura . Li chiamano C (1 ) , c ( 2 ) , … , c ( r) .

4

Calcolare la pendenza per ogni pezzo della funzione ormai rotto . La pendenza è facilmente calcolato per il ” k-esima ” pezzo attraverso s ( k) = [c ( k) -c ( k- 1 ) ] /[ d ( k) – d ( k- 1) ] .

5

riscrivere la funzione obiettivo , utilizzando le somme di piste invece che la funzione originale . Se la funzione obiettivo originale era di una funzione di ” x “, sarà ora una funzione di ” x ( i) , ” dove ogni “i” rappresenta il ” esimo ” pezzo della funzione . In altre parole , si avrà la funzione obiettivo : sum [ x ( i) * s (i) ] per tutti i

6

Riscrivere i vincoli . . Per ogni vincolo , sostituire ” x ” con le somme di “x ( i) , ” come avete fatto per la funzione obiettivo . Inoltre , dare ” x ( i) ” il limite superiore di d ( i) – d ( i- 1 ) . Questo completa la conversione del problema di programmazione lineare ad uno lineare.