Algebra
Unità didattiche
Problemi lineari - Parte Seconda: Problemi di ottimizzazione
Premessa per l'insegnante
L'argomento della ottimizzazione lineare, altrimenti noto con il nome di Programmazione lineare, comprende una classe di problemi nei quali si richiede di individuare i punti di massimo o di minimo di una funzione lineare in due variabili limitatamente ad un dominio piano individuato da un sistema di disequazioni in due variabili.
Questo argomento non fa parte esplicitamente dei curricoli di Scuola Secondaria Superiore, ad eccezione forse degli Istituti Tecnici Commerciali, tuttavia già da tempo ha fatto la sua comparsa in molti testi per tutte le scuole. Lo scrivente lo tratta in una seconda classe: l'argomento costituisce una semplice ma significativa applicazione dell'algebra al "mondo reale" ed è anche una buona palestra di calcolo algebrico, di geometria analitica e di creazione di modelli matematici.
Può essere utile mettere in evidenza con gli studenti che si tratta di problemi e di una metodologia che vengono effettivamente usati in quella parte della Matematica applicata nota con il nome di Ricerca Operativa. Ovviamente si tratta di problemi "giocattolo" rispetto a quelli analoghi della vita reale (se non altro nel numero delle variabili in gioco), tuttavia sono significativi sia dal punto di vista teorico che da quello pratico.
La descrizione qui presente si basa solo sull'uso dell'ambiente Graph e y=Editor, senza praticamente effettuare alcun calcolo; se l'insegnante lo desidera potrà verificare la capacità di calcolo dello studente (manuale o con la calcolatrice) richiedendo esplicitamente i calcoli...
Disequazioni in due incognite
Veniamo ora alle disequazioni in due incognite; prendiamo ad esempio la disequazione:
x + y > 0.
Poiché le variabili sono due, ogni possibile soluzione sarà costituita da una coppia ordinata di valori, uno per la x e uno per la y. E' facile in questo caso verificare che le coppie (3; 6), (8; -5), (215.34; 987.1) verificano la disequazione essendo positiva la loro somma, mentre le coppie (-2; -4), (-7;2), (1; -9) non verificano la disequazione.
Questo tipo di verifica può essere eseguito facilmente con la calcolatrice; lavoriamo con il seguente esempio
3x + 2 y - 6 < 0.
Verifica di una disequazione |
||
|---|---|---|
| 3x + 3y - 6 < 0 | x = 4 and y = -13 | Digitare la disequazione in ambiente Home. Vogliamo verificare se il punto di coordinate (4, -13) soddisfa la disequazione. |
![]() |
| La risposta ottenuta, true, conferma che la coppia di valori verifica la disequazione e quindi costituisce una sua soluzione. | ![]() |
|
Esercizio: Verificare che la coppia ordinata (4; 1) non verifica la disequazione.
Interpretazione analitica di una disequazione lineare in due incognite |
||
|---|---|---|
| E' noto che una qualunque equazione lineare in due incognite può essere rappresentata graficamente in un piano cartesiano come una retta. Consideriamo ad esempio l'equazione 3x + 2y - 6 = 0, che equivale all'equazione y = -3/2 x + 3. Analogamente la disequazione 3x +2y - 6 < 0 equivale a y < -3/2 x + 3. I punti del piano che verificano la disequazione saranno tutti e soli quelli nei quali l'ordinata y è minore di -3/2 x + 3, cioè tutti i punti del semipiano che si trova "al di sotto" della retta di equazione y = -3/2 x + 3. Vogliamo ora rappresentare graficamente tale insieme. |
||
Si passa all'ambiente y=Editor. Supponiamo che l'Editor di funzioni sia vuoto, cioè che nessuna funzione sia stata finora definita. Se così non fosse, selezionare |
![]() |
|
| Si passa alla linea di editing. La funzione viene definita; si faccia attenzione a usare il meno unario (-). Si noti che essa è attiva (compare il simbolo |
![]() |
|
| Si accede all'ambiente Graph e viene visualizzato il grafico della funzione y1(x) ; ovviamente si tratta di una retta. Ma noi vogliamo rappresentare il semipiano che si trova al di sotto di essa. |
![]() |
|
| NOTA BENE : Per motivi di maggior chiarezza nella lettura dei grafici in questa attività e in tutte le successive verrà tratteggiato il semipiano che non soddisfa le condizioni richieste: quello corrispondente alla disequazione apparirà così "bianco". Per non confondersi si pensi al tratteggio come ad una "cancellazione" della corrispondente regione di piano. | ||
[F6] 7 |
Si ritorna all'ambiente Y=Editor. Se necessario, posizionare il cursore sulla funzione prima definita. Viene selezionata la voce Above (= al di sopra) del menu Style. Si torna all'ambiente di grafica e il semipiano desiderato appare "bianco", mentre quello formato dai punti che non soddisfano la disequazione appare "cancellato" da un tratteggio. |
![]() |
Vogliamo ora rappresentare graficamente l'insieme delle soluzioni della disequazione y > -3/2 x+3. Ovviamente la corrispondente retta y = -3/2 x + 3 è la stessa considerata nell'esempio precedente: cambia solo l'insieme dei punti che è costituito da quelli posti al di sopra di tale retta (ordinata y maggiore dei valore assunti dal polinomio -3/2 x + 3). |
||
[F6] 8 |
Si passa all'ambiente Y=Editor. Se necessario, posizionare il cursore sulla funzione prima definita. Viene selezionata la voce Below (= al di sotto) del menu Style. Si torna all'ambiente di grafica e il semipiano desiderato appare "bianco". |
![]() |
| Disattivare la precedente funzione con il tasto. | ||
Esercizi
1) Rappresentare graficamente i semipiani corrispondenti alle seguenti disequazioni, riportando su carta il risultato evidenziando i punti di intersezione tra le rette e gli assi coordinati:
x - 2y + 4 > 0; x - 2y + 4 < 0; y < ¼ x + 12.
Si faccia attenzione alla scala nell'ultimo esempio: sarà necessario effettuare uno ZoomOut.
2) Che differenza c'è tra le soluzioni delle due disequazioni seguenti?
y > x - 2; y >= x - 2.
Al termine degli esercizi si ricordi di riportare, se necessario, la scala ai valori standard con il co-mando ZoomStd e di cancellare con il tasto [CLEAR] le funzioni ora digitate (ad eccezione della y1 che useremo successivamente).
Rappresentazione grafica di una disequazione in una sola variabile |
||
|---|---|---|
| Anche una disequazione in una sola variabile può essere interpretata come un semipiano, esattamente come le disequazioni precedenti. Ad esempio la disequazione y < 3 avrà come soluzioni nel piano tutti i punti che hanno ascissa qualunque (dato che x non compare) e ordinata minore di 3. La procedura per rappresentarle nella calcolatrice differisce però a seconda se la retta che delimita il semipiano è orizzontale o verticale. | ||
|
Si torna all'ambiente Y=Editor. Posizionare il cursore sulla prima funzione vuota (nel nostro caso y2). |
![]() |
[F6] 8
|
Poiché la nostra disequazione è y < 3, vogliamo tratteggiare, seguendo la nostra convenzione, il semipiano "cattivo", cioè quello sovrastante la retta orizzontale di equazione y = 3. Si torna all'ambiente di grafica e il semipiano "buono" appare bianco. |
![]() |
| Vogliamo ora rappresentare le soluzioni della disequazione x < 4. In questo caso non si tratta di una funzione (ad x = 4 corrispondono infiniti valori di y) e quindi la retta verticale x= 4 non è rappresentabile nell'ambiente grafico definendo una apposita funzione. E' ovvio che l'insieme delle soluzioni della disequazione è il semipiano costituito da tutti i punti che si trovano a sinistra della retta verticale; per tratteggiare, secondo la nostra convenzione, i punti che si trovano a sinistra della retta ricorreremo ad un artificio. | ||
[F6] 8 |
Si accede all'ambiente y=Editor; se necessario disattivare con il tasto Si passa alla linea di editing. Viene definita la funzione costante y = 1000 per x >4; la funzione risulta non definita in caso contrario (cioè se x <= 4). when e undef vanno digitati direttamente (utilizzando, nella TI-89, il tasto [a-lock] e i necessari tasti alfabetici). Viene selezionata l'opzione below. |
![]() |
| Si passa all'ambiente di grafica; il semipiano desiderato appara tratteggiato. In realtà noi non abbiato tratteggiato il semipiano x > 4 bensì la parte di piano al di sotto della semiretta orizzontale a destra del punto di coordinate (4, 1000) ma, essendo tale punto "molto in alto", tale parte di piano ci appare sullo schermo come se fosse un semipiano. In caso di necessità, sarà facile modificare il valore 1000 con uno più elevato. |
![]() |
|
| Per semplificare il lavoro si può definire una volta per tutte una coppia di funzioni che tratteggino un semipiano delimitato dalla retta verticale x = t. | ||
|
Viene così definita una funzione identica a quella prima vista e che quindi traccerà il semipiano a sinistra della retta verticale x = t, ma che dipende, oltre che dalla variabile x, anche dalla variabile t. Questa funzione viene immagazzinata con l'identificatore ver1. | |
when(x>t, 1000, undef) |
Questa funzione è identica alla precedente, ma traccerà il semipiano a destra della retta verticale x = t, invece di quello a sinistra. | |
[F6] 8
|
Viene usata la funzione ver2 nell'ambiente y=Editor. Con il tasto di movimento del cursore ci si posiziona sulla funzione appena definita. |
![]() |
Qualche parola sul concetto di sistema
Ricordiamo che risolvere un sistema di equazioni (o disequazioni) significa individuare le soluzioni comuni a tutte le equazioni (o disequazioni) del sistema, cioè fare un AND logico tra le soluzioni, ovvero determinare l'intersezione tra gli insiemi delle soluzioni delle varie equazioni che costitui-scono il sistema.
Ad esempio il "sistema":

avrà l'unica soluzione Roma.
Così, se A, B, C rappresentano gli insiemi delle soluzioni di tre diverse "equazioni", il risultato del sistema sarà l'intersezione dei tre insiemi (regione più scura).

Interpretazione analitica di un sistema di disequazioni lineari in due incognite |
||
|---|---|---|
Vogliamo ora rappresentare il seguente sistema di disequazioni: ![]() Si noti che le corrispondenti rette sono le stesse che già abbiamo tracciato nelle precedenti attività. Potremo così utilizzare le funzioni già esistenti in Y=Editor senza doverne definire delle nuove. L'unica differenza è che il semipiano corrispondente alla seconda disequazione è quello che si trova al di sotto della retta y = 3; dovremo quindi tratteggiare il semipiano superiore; gli altri semipiani sono gli stessi già costruiti: |
||
[F6] 7 (nella TI-89: |
Tornati all'ambiente Y=Editor, evidenziare con il tasto cursore la funzione y2 e selezionare Above. Viene poi selezionato il comando Functions On per attivare tutte le funzioni esistenti. |
![]() |
| Si passa all'ambiente Graph. Si noti che, grazie alla convenzione di tratteggiare i semipiani che non soddisfano le disequazioni, l'unica parte di piano che appare "bianca" sarà quella corrispondente all'insieme delle soluzioni del nostro sistema. Si tratta del triangolo avente per vertici i punti di coordinate (0; 3), (4; 3), (4; -3). | ![]() |
|
Esercizi
Individuare graficamente l'insieme delle soluzioni dei seguenti sistemi di disequazioni indicando i vertici delle regioni di piano ottenute:
![]() |
![]() |
![]() |
![]() |
5-6) Costruire due sistemi di disequazioni che abbiano come insieme delle soluzioni i punti situati nelle due regioni di piano qui sotto indicate (compresi i loro contorni):


Risultati
Nell'immagine a sinistra appare lo schermo di y=Editor, in quella di destra il grafico che si deve ottenere.
| 1 | ![]() |
![]() |
| 2 | ![]() |
![]() |
| 3 | ![]() |
![]() |
| 4 | ![]() |
![]() |
Si tenga presente che nei grafici qui riportati la scala è stata modificata con l'apposito menu attivabile con
per rendere l'immagine più leggibile.
Individuare le coordinate dei vertici delle aree ammissibili.
| 5 | ![]() |
![]() |
|
| 6 | ![]() |
![]() |
![]() |
Nota per l'Insegnante: in questi esercizi e soprattutto nei problemi a seguire è importante che tutti i grafici, oltre che con la calcolatrice, siano fatti anche a mano, su carta, indicando esplicitamente le coordinate dei vertici delle regioni ottenute. Sembra impossibile, ma è molto difficile per una buona parte degli studenti riuscire a tracciare un grafico "decente": la scelta della scala, di un sistema mo-nometrico o non monometrico e dell'unità di misura da usare è una abilità tutt'altro che semplice e spesso si vedono regioni di piano che stanno a stento in un intero foglio protocollo oppure che po-trebbero essere contenute comodamente in un francobollo da 50 Lire. Aver costruito prima il grafi-co con la calcolatrice può aiutare lo studente ad acquistare una corretta "percezione della scala" e a tracciare grafici in modo soddisfacente.
I sistemi di disequazioni in due incognite costituiscono un utile strumento per creare un "modello matematico" e quindi un corrispondente "modello geometrico" di una vasta classe di problemi.
Vediamo un esempio:
Problemi di ammissibilità |
||||||
| Una azienda agricola che dispone di 400 ettari di terreno deve pianificare la sua produzione per la prossima stagione decidendo come mettere a coltura il suo terreno; il mercato richiede grano e patate. Ogni ettaro di terreno coltivato a grano richiede 5 ore di lavoro e 5 quintali di concime, mentre un ettaro coltivato a patate richiede 12 ore di lavoro e 4 quintali di concime. Creare un modello che descriva la situazione sapendo che l'azienda può disporre al massimo di 3600 ore lavorative e non intende acquistare più di 2000 quintali di concime.
Indicheremo con x il numero di ettari di terreno coltivati a grano e con y il numero di ettari coltivati a patate; le condizioni indicate dal testo costituiscono i vincoli del problema e possono essere tradotti in disequazioni in due variabili: Analogamente avremo il vincolo relativo alla disponibilità di concime: 5x + 4y <= 2000. x + y <= 400, (la disuguaglianza è giustificata dal fatto che non è detto che tutto il terreno disponibile venga mes-so a coltura). Esistono poi dei vincoli impliciti, non direttamente indicati nel testo ma evidenti: non è possibile coltivare ettari negativi: x => 0, y => 0.
|
||||||
Costruiamo la rappresentazione grafica delle soluzioni con la TI-89:
Rappresentazione grafica delle soluzioni |
||
[F6] 7 |
Entriamo nell'ambiente y=Editor e definiamo le tre funzioni lineari corrispondenti alle prime tre disequazioni; per semplicità tralasciamo le ultime due disequazioni. Per ciascuna delle tre funzioni nel menu Style selezioniamo 7, Above. |
![]() |
| Nell'ambiente Window Editor digitiamo i parametri di visualizzazione della finestra di grafica. | ![]() |
|
| Passiamo all'ambiente di grafica. | ![]() |
|
| L'area ammissibile, cioè l'insieme delle soluzioni del sistema, risulta essere il quadrilatero avente per vertici i punti di coordinate (0;0), (0; 300), (400; 0) e (1200/7;1600/7). Questi valori possono essere calcolati manualmente oppure usando l'ambiente di calcolo Home o anche direttamente nell'ambiente di grafica usando il comando Intersection del menu Vediamo più da vicino quest'ultima strada, ad esempio per determinare l'ultimo dei vertici sopra elencati.. |
||
| Si seleziona la quinta voce, Intersection, del menu Math. | ![]() |
|
|
Alla domanda 1 st Curve? rispondere muovendo il cursore grafico in verticale fino a che esso si trova sulla retta corrispondente alla funzione y1 (il numero della funzione appare nell'angolo supe-riore destro dello schermo). Alla domanda 2 nd Curve? rispondere muovendo il cursore grafico in verticale fino a che esso si trova sulla retta corrispondente alla funzione y3. |
![]() |
|
Alla domanda Lower Bound? (estremo inferiore) rispondere posizionando il cursore grafico in una posizione a piacere alla sinistra del punto di intersezione desiderato. Alla domanda Upper Bound? (estremo superiore) rispondere posizionando il cursore grafico in una posizione a piacere alla destra del punto di intersezione desiderato. |
![]() |
| Sullo schermo appaiono le coordinate, calcolate in modalità approssimata, del punto di intersezione desiderato. Si noti che 171.429 e 228.571 sono delle approssimazioni dei numeri razionali 1200/7 e 1600/7. | ![]() |
|
Finora abbiamo solo creato un modello analitico della nostra situazione. Poniamoci ora la seguente domanda: una distribuzione di 150 ettari coltivati a grano e 200 a patate è ammissibile (cioè verifica tutte i vincoli posti delle disequazioni del sistema), ovvero il punto cor-rispondente si trova all'interno della regione di piano che abbiamo determinato? E una distribuzione di 200 ettari coltivati a grano e 150 ettari coltivati a patate? E' immediato vedere che la risposta è "sì" per il primo quesito e "no" per il secondo.
Problemi di ottimizzazione lineare |
||
Nello scenario descritto dal problema precedente, introduciamo una nuova informazione: ogni etta-ro coltivato a grano rende Lit.200.000, ogni ettaro coltivato a patate rende Lit. 350.000. |
Una interpretazione di questo fatto può essere la seguente: la funzione obiettivo può essere pensata come un piano nello spazio a tre dimensioni e la regione ammissibile come una regione del piano xy. Un modello del nostro problema sarà così un prisma retto avente per base la regione (nella figu-ra il rettangolo ABCD); l'intersezione tra il prisma e il piano sarà il quadrilatero A'B'C'D'; è evidente che, salvo casi particolari (piano parallelo al piano xy, cioè funzione obiettivo costante, oppure un lato di A'B'C'D' parallelo al piano xy), il punto del poligono avente quota massima (o minima) sarà inevitabilmente uno dei suoi vertici.

Determinazione del punto di massimo |
||
Come si è detto, si tratta di calcolare il valore della funzione obiettivo in corrispondenza di ciascuno dei vertici dell'area ammissibile. Eseguiamo questi calcoli facilissimi ma noiosi con la TI-89. |
||
| Si passa all'ambiente di calcolo Home | ||
| 200000x + 350000y fo(x,y) |
Viene definita la nuova funzione fo (x,y) che rappresenta la nostra funzione obiettivo. | ![]() |
| fo(0,0) fo(0,300) fo(400,0) fo(1200/7, 1600/7) |
Viene calcolato il valore della funzione obiettivo in corrispondenza di ciascuno dei vertici del poligono. L'ultimo calcolo viene eseguito con il comando |
![]() |
| E' facile così verificare che la distribuzione delle culture più redditizia è quella con circa 171.5 ettari coltivati a grano e il rimanente terreno coltivato a patate. | ||
Un altro quesito nello stesso problema |
||
Se la resa per ettaro di grano è (in lire) 300.000 e quella delle patate è 180.000, qual è la configurazione più conveniente? |
||
| 300000x + 180000y fo(x,y) |
I vincoli del problema sono gli stessi di pima, cambia solo la funzione obiettivo. | |
| Per calcolare i valori della funzione obiettivo basterà prelevare ad uno ad uno i calcoli eseguiti in precedenza, senza digitare ex novo la funzione. | ![]() |
|
Questa volta la soluzione più redditizia è quella di coltivare tutto il terreno a grano. |
||
Ecco altri problemi dello stesso tipo:
1) Un malato, su prescrizione del suo medico, deve assumere per una settimana compresse conte-nenti vitamina C e D nelle seguenti quantità:
- vitamina C: non più di 1000 unità al giorno; - vitamina D: non meno di 6000 unità al giorno.
In commercio esistono due tipi di compresse:
- Vitaminol, che contiene 250 unità di vitamina C e 1500 unità di vitamina D e che costa 5000 lire ogni compressa;
- Vitamene, che contiene 200 unità di vitamina C e 3000 unità di vitamina D e che costa 8000 lire.
Sapendo che il paziente non deve prendere più di 5 compresse al gionro, stabilire la spesa minima settimanale per l'acquisto delle compresse.
2) Un allevatore di polli può alimentare i suoi animali con granoturco oppure con soia. Ogni setti-mana devono essere fornite ad ogni gallina almeno 7 unità di proteine, almeno 10 unità di carboi-drati e non più di 8 unità di grassi. Si sa che 100 grammi di granoturco forniscono 1 unità di proteine, 2 unità di carboidrati ed 1 unità di grassi, mentre ogni 100 grammi di soia contengono 1 unità di proteine, 1 unità di carboidrati e 1 unità di grassi.
A) Una razione settimanale di 4 etti di granoturco e 5 di soia, soddisfa le necessità alimentari di un pollo? Perché?
B) Sapendo che il granoturco e la soia costano rispettivamente 600 £. e 400 £. al chilogrammo, quanti etti di ciascun alimento dovranno essere somministrati settimanalmente a ciascun animale in modo da rispettarene le necessità alimentari ma con il minor costo per l'allevatore?
3) Un pasticcere deve confezionare due tipi di torte: torta margherita e crostata.
Per ciascuna torta margherita sono necessari 150 g. di zucchero, 200 grammi di farina e 20 g. di burro; per ciascuna crostata occorrono 120 g. di zucchero, 300 g. di farina e 70 g. di burro. Sapendo che in dispensa ci sono 5,5 Kg di zucchero, 7,4 kg di farina e 1,54 kg di burro e che ogni torta margherita viene venduta a Lit. 6.000 mentre ogni crostata viene venduta a Lit 8.000 ciascuna, come dovrà organizzare la propria produzione in modo da avere il massimo ricavo? n
Commenti sull'argomento
Se sei un iscritto a Cartesio puoi lasciare il tuo commento su questo argomento. Per iscriverti, clicca qui.
Al momento non ci sono commenti.














































