La programmazione lineare che è la risoluzione di problemi costituiti da una funzione obiettivo,e da un'insieme di vincoli.

Per dare un'idea,un vincolo potrebbe essere che,in un esempio classico di problema di "dieta" il numero di calorie massime è 1800. Quindi calorie <= 1800 è un possibile vincolo.

In inglese CSP costraint satisfaction problem.

In pratica io mi occupo di creare un software di turnazione.
Ho messo giù il problema sotto forma di più funzioni obiettivo(ad esempio minimizzare il numero di ore di straordinario utilizzate),e i vincoli (ad esempio la necessità di avere un massimo di 13 ore lavorative giornaliere).Le prime possono essere violate,verrà dato un peso alla violazione di queste.Invece le seconde NON POSSONO essere violate.Qualora ciò avvenisse,il problema diverrebbe non soddisfacibile,non dando luogo ad una soluzione ammissibile al problema.

Bene... Esistono 2 modi per scrivere questi problemi.Una formulazione in forma standard ed una formulazione in forma di programmazione lineare.La prima è più restrittiva e meno naturale,indicata per risolvere solo piccoli problemi.Tuttavia è la forma che il nostro applicativo si aspetta per risolvere il problema.
La seconda forma,è più vicina al linguaggio matematico,prevedendo(al contrarario della prima forma) sommatorie, >, <, >= , <= , ecc...

Questa seconda forma può essere portata alla prima in 2 modi :
1)Manualmente, riscrivendo il problema nella prima forma.Mooolto faticoso
2)Automaticamente, utilizzando un ambiente di modellazione che passa dalla seconda forma alla prima in maniera automatica.Per far ciò esso utilizza 2 files, il file che descrive il modello,ed il file che descrive i dati.

Mi sono già un pò perso....