Programmazione lineare: esercizi svolti

Indice dei contenuti

    La programmazione lineare (PL) ottimizza una funzione obiettivo lineare soggetta a vincoli lineari. È il modello base della ricerca operativa: produzione, miscele, trasporti, allocazione di risorse. Questa scheda allena la formulazione del modello e la risoluzione grafica, dove la soluzione ottima sta sempre in un vertice della regione ammissibile.

    1. Formulazione di un modello

    Esercizio. Un’azienda produce due beni A e B. A rende 30 €/unità, B 40 €/unità. A richiede 2\ \text{h} macchina, B 4\ \text{h}; sono disponibili 100\ \text{h}. Formulare il modello di massimizzazione del profitto.

    Variabili: x_A,x_B\ge0 quantità prodotte. Obiettivo e vincolo:

    \max\ Z=30x_A+40x_B\quad\text{s.v.}\quad 2x_A+4x_B\le100,\ \ x_A,x_B\ge0.

    Il modello traduce il problema reale in obiettivo + vincoli lineari + non negatività. È il passo decisivo: un modello mal posto dà soluzioni inutili.

    2. Forma standard

    Esercizio. Portare il vincolo 2x_A+4x_B\le100 in forma standard (uguaglianza).

    Si introduce una variabile di scarto s\ge0 che assorbe la differenza:

    2x_A+4x_B+s=100,\qquad s\ge0.

    La variabile di scarto s rappresenta le ore macchina inutilizzate. La forma standard (vincoli di uguaglianza, variabili non negative) è il punto di partenza del metodo del simplesso.

    3. Regione ammissibile e vertici

    Esercizio. Per il modello \max Z=3x+2y con x+y\le4, x\le3, x,y\ge0, elencare i vertici della regione ammissibile.

    I vertici sono le intersezioni dei vincoli (compresi gli assi):

    • (0,0) — origine;
    • (3,0) — su x=3 e y=0;
    • (3,1) — su x=3 e x+y=4;
    • (0,4) — su x=0 e x+y=4.

    La regione ammissibile è un poligono convesso; l’ottimo di una PL sta sempre in un vertice (o su uno spigolo).

    4. Ricerca dell’ottimo nei vertici

    Esercizio. Per il modello del punto 3, trovare il vertice ottimo valutando Z=3x+2y.

    \begin{array}{c|c} \text{vertice} & Z=3x+2y\\\hline (0,0) & 0\\ (3,0) & 9\\ (3,1) & 11\\ (0,4) & 8 \end{array}

    Il massimo è Z=11 nel vertice (3,1). Per la PL basta valutare l’obiettivo nei vertici: il migliore è l’ottimo globale (nessun ottimo locale spurio).

    5. Vincoli attivi

    Esercizio. Nel punto ottimo (3,1) del punto 4, quali vincoli sono attivi?

    Un vincolo è attivo (saturo) se vale come uguaglianza nell’ottimo:

    • x\le3: x=3attivo (scarto nullo);
    • x+y\le4: 3+1=4attivo;
    • x,y\ge0: x=3>0, y=1>0 → non attivi.

    I vincoli attivi sono quelli che “limitano” l’ottimo: rilassarli migliorerebbe Z. Sono la base dell’analisi di sensibilità e dei prezzi ombra.

    6. Soluzione illimitata e infeasibile

    Esercizio. Distinguere i casi patologici di una PL.

    • Illimitata: la regione ammissibile è aperta nella direzione di crescita di Z → l’obiettivo cresce senza limite (es. \max x con solo x\ge0). Segnala spesso un vincolo dimenticato.
    • Infeasibile (vuota): i vincoli si contraddicono e non esiste alcun punto ammissibile (es. x\le1 e x\ge3). Il modello va rivisto.

    Una PL ben posta ha regione ammissibile non vuota e limitata nella direzione dell’obiettivo: allora l’ottimo esiste ed è in un vertice.

    7. Modello con due risorse

    Esercizio. Un reparto produce due prodotti x e y. Il profitto unitario è 5 per x e 4 per y. Ogni unità di x usa 2 ore macchina e 1 ora lavoro; ogni unità di y usa 1 ora macchina e 2 ore lavoro. Sono disponibili 100 ore macchina e 80 ore lavoro. Formulare il modello.

    Variabili:

    x\geq0,\qquad y\geq0.

    Funzione obiettivo:

    \max Z=5x+4y.

    Vincolo macchina:

    2x+y\leq100.

    Vincolo lavoro:

    x+2y\leq80.

    Modello completo:

    \boxed{ \max Z=5x+4y \quad \text{s.v.} \quad \begin{cases} 2x+y\leq100\\ x+2y\leq80\\ x,y\geq0 \end{cases} }

    La qualità della PL dipende dalla scelta delle variabili: qui x e y sono quantità fisiche, quindi la non negatività è parte del modello, non una formalità.

    8. Risoluzione grafica del modello a due risorse

    Esercizio. Risolvere il modello del punto 7 valutando i vertici.

    I vincoli sono:

    2x+y\leq100, \qquad x+2y\leq80.

    Gli intercetti sugli assi danno alcuni vertici:

    (0,0),\quad (50,0),\quad (0,40).

    Il vertice di intersezione tra i due vincoli si trova risolvendo:

    \begin{cases} 2x+y=100\\ x+2y=80 \end{cases}

    Dalla prima:

    y=100-2x.

    Sostituendo nella seconda:

    x+2(100-2x)=80,
    x+200-4x=80,
    -3x=-120,

    quindi:

    x=40.

    Allora:

    y=100-2\cdot40=20.

    Valutiamo l’obiettivo:

    \begin{array}{c|c} \text{vertice} & Z=5x+4y\\\hline (0,0) & 0\\ (50,0) & 250\\ (40,20) & 280\\ (0,40) & 160 \end{array}

    L’ottimo è:

    \boxed{x=40,\quad y=20,\quad Z^*=280}.

    Entrambi i vincoli sono attivi: macchina e lavoro sono saturi nell’ottimo.

    9. Ottimi multipli

    Esercizio. Nel problema:

    \max Z=2x+2y

    con vincoli:

    x+y\leq4,\qquad x,y\geq0,

    individuare gli ottimi.

    L’obiettivo può essere scritto:

    Z=2(x+y).

    Il vincolo limita:

    x+y\leq4.

    Il valore massimo si ottiene quando:

    x+y=4.

    Allora:

    Z^*=2\cdot4=8.

    Tutti i punti del segmento:

    \boxed{x+y=4,\qquad x\geq0,\quad y\geq0}

    sono ottimi. Non c’è un unico vertice: l’obiettivo è parallelo a un lato della regione ammissibile.

    10. Vincolo di surplus

    Esercizio. Portare in forma standard il vincolo:

    3x+2y\geq12.

    Per un vincolo di tipo \geq si sottrae una variabile di surplus:

    3x+2y-s=12, \qquad s\geq0.

    La variabile s misura l’eccesso rispetto al minimo richiesto:

    s=3x+2y-12.

    Nei metodi tableau, un vincolo \geq richiede spesso anche una variabile artificiale per costruire una base iniziale ammissibile.

    Errori comuni

    • Dimenticare la non negatività. x,y\ge0 sono vincoli a tutti gli effetti: ometterli cambia la regione ammissibile.
    • Cercare l’ottimo all’interno. L’ottimo di una PL è sempre su un vertice/spigolo, mai strettamente interno alla regione.
    • Confondere scarto e surplus. I vincoli \le usano variabili di scarto (+s); i vincoli \ge usano variabili di surplus (-s).
    • Non riconoscere l’illimitatezza. Se Z cresce senza limite, di solito manca un vincolo di capacità: è un errore di modello, non un risultato.
    • Ignorare gli ottimi multipli. Se l’obiettivo è parallelo a un lato attivo, tutti i punti di quel lato possono essere ottimi.

    Ultimo aggiornamento: