cerca
Ricerca Operativa - Esercizi di laboratorio
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.RO-Es1 History

Hide minor edits - Show changes to output

Changed lines 38-39 from:
Tutto ciò che viene da 1 si trasforma per il 20% in A, 20% in B e 30% in B.\\
Tutto ciò che viene da 2 si trasforma per il 30% in A, 10% in B e 30% in B.
to:
Tutto ciò che viene da 1 si trasforma per il 20% in A, 20% in B e 30% in C.\\
Tutto ciò che viene da 2 si trasforma per il 30% in A, 10% in B e 30% in C.
Changed lines 160-169 from:
(:tableend:)
to:
(:tableend:)

Il report ci dice che la funzione obiettivo ('''z''') è 600, che abbiamo 5 variabili e 3 vincoli. \\
Le variabili sono x'_1_' = 0 , x'_2_' = 20 , x'_3_' = 0, x'_4_' = 2 , x'_5_' = 2.\\
Dato che le variabili fuori base valgono 0, ne abbiamo due fuori base {1,3} e tre in base: {2,4,5}.

Notare che se una variabile fuori base con costo ridotto 0 entrasse in base, la variazione della funzione obiettivo sarebbe pari a 0.

----
[[Torna alla pagina di Ricerca Operativa->Ricerca Operativa]]
Changed line 15 from:
# [[#e3|Risoluzione]]
to:
# [[#e3|Risoluzione in Lindo]]
Added lines 103-160:

[[#e3]]
!!Risoluzione in Lindo
(:table cellpadding=10:)
(:cellnr bgcolor=#f2f6f9:)
[@! Esercizio "Patate"

! Variabili: x(i) = quantità acquistata dal produttore i = 1, ... , 2 [ton]
! Le variabili sono continue e non negative

! Funzione obiettivo: massimizzazione dei profitti [Euro]
max 20 x1 + 30 x2

subject to

! Vincoli sul limite massimo di produzione [ton]
Limite1) 0.2 x1 + 0.3 x2 <= 6
Limite2) 0.2 x1 + 0.1 x2 <= 4
Limite3) 0.3 x1 + 0.3 x2 <= 8

End@]
(:tableend:)

Cliccando sul pulsante della risoluzione (il bersaglio) appare la seguente finestra di riepilogo:

%lframe%Attach:statusEs1.jpg
Cosa indicano i campi?\\
'''Status''': in questo caso indica che ha trovato la soluzione ottima\\
'''Iterations''': gli è bastato fare un unico cambio di base per trovare la soluzione\\
'''Infeasibility''': non è inammissibile trovare la soluzione\\
'''Objective''': risultato della funzione obiettivo\\
'''Best IP – IP Bound – Branches''': sono usati solo per i problemi non lineari\\
'''Elapsed time''': il tempo impiegato
[[<<]]

[[#e4]]
!!Report
(:table cellpadding=10:)
(:cellnr bgcolor=#fff7ea:)
[@LP OPTIMUM FOUND AT STEP 1

OBJECTIVE FUNCTION VALUE

1) 600.0000

VARIABLE VALUE REDUCED COST
X1 0.000000 0.000000
X2 20.000000 0.000000


ROW SLACK OR SURPLUS DUAL PRICES
LIMITE1) 0.000000 100.000000
LIMITE2) 2.000000 0.000000
LIMITE3) 2.000000 0.000000

NO. ITERATIONS= 1
@]
(:tableend:)
Changed lines 8-9 from:
%sottotitolo%Esercizio 1: Patate
to:
%center%%sottotitolo%Esercizio 1: Patate
Changed line 48 from:
(:table cellpadding=5 width=70%:)
to:
(:table cellpadding=5 width=80%:)
Changed line 78 from:
(:table cellpadding=5 width=70%:)
to:
(:table cellpadding=5 width=60%:)
Changed line 88 from:
(:table cellpadding=5 width=70%:)
to:
(:table cellpadding=5 width=50%:)
Added line 7:
Changed line 23 from:
(:table width=50% border="1":)
to:
(:table width=50% border="1" cellpadding=5:)
Changed line 48 from:
(:table:)
to:
(:table cellpadding=5 width=70%:)
Changed line 67 from:
(:table:)
to:
(:table cellpadding=5 width=70%:)
Changed line 78 from:
(:table:)
to:
(:table cellpadding=5 width=70%:)
Changed line 88 from:
(:table:)
to:
(:table cellpadding=5 width=70%:)
Added lines 1-101:
(:title Ricerca Operativa - Esercizi di laboratorio:)
[[#su]]
[[Torna alla pagina di Ricerca Operativa->Ricerca Operativa]]
----

%titolo%''':: Ricerca Operativa - Esercizi di laboratorio ::'''
%sottotitolo%Esercizio 1: Patate

>>left bgcolor=#f5f9fc width=270px border='2px solid #cccccc' padding=5px<<
%center%'''Indice'''

# [[#e1|Problema]]
# [[#e2|Formalizzazione]]
# [[#e3|Risoluzione]]
# [[#e4|Report]]
>><<

[[#e1]]
!!Problema
Un’azienda produce pacchi di patatine surgelate sia a bastoncino (A) che in pezzi più piccoli (B) e di fiocchi surgelati per il puré (C). L’azienda acquista da due produttori (1 e 2) con rese differenti.

(:table width=50% border="1":)
(:cellnr:)Produttore
(:cell:)A
(:cell:)B
(:cell:)C
(:cellnr:)1
(:cell:)20%
(:cell:)20%
(:cell:)30%
(:cellnr:)2
(:cell:)30%
(:cell:)10%
(:cell:)30%
(:tableend:)

Tutto ciò che viene da 1 si trasforma per il 20% in A, 20% in B e 30% in B.\\
Tutto ciò che viene da 2 si trasforma per il 30% in A, 10% in B e 30% in B.

L’avanzo del 30% per entrambi i produttori è lo scarto non recuperabile.\\
Il profitto dell’azienda è di 2 centesimi di Euro per ogni chilogrammo di patate provenienti dal produttore 1 e di 3 centesimi/Kg per quelle provenienti dal produttore 2.\\
Ci sono delle limitazioni alle quantità massime di ciascun tipo di prodotto: 6 tonnellate di A, 4 di B e 8 di C.

[[#e2]]
!!Formalizzazione
!!!!Dati
(:table:)
(:cellnr:)P = 2
(:cell:)produttori
(:cell:)
(:cellnr:)N = 3
(:cell:)prodotti
(:cell:)
(:cellnr:)a'_ij_'
(:cell:)resa del prodotto j (1, ... , N) per il produttore i (1, ... , P)
(:cell:)[%]
(:cellnr:)b'_i_'
(:cell:)profitto corrispondente al produttore i (1, … , P)
(:cell:)[cent/kg]
(:cellnr:)l'_j_'
(:cell:)limiti di produzione per il prodotto j (1, ... , N)
(:cell:)[ton]
(:tableend:)

!!!!Variabili
(:table:)
(:cellnr:)x'_i_' &#8805; 0
(:cell:)quantità acquistata dal produttore i (1, ... , P)
(:cell:)[ton]
(:tableend:)

Notare il maggiore uguale a 0, condizione necessaria dato che non posso acquistare una quantità negativa di prodotto.

Per quanto riguarda le unità di misura in questo caso non sono così vincolanti, dipende se voglio un calcolo più veloce per verificare i limiti di produzione o per ricavare il profitto. A seconda della scelta che faccio dovrò convertire le unità di misura dei dati interessati.

!!!!Vincoli
(:table:)
(:cellnr:)&#8721;'_i_' a'_ij_' • x'_i_' &#8804; l'_j_'
(:cell:)per ogni j = 1, ... , N\\
e con i = 1, … , P
(:cell:)[ton]
(:tableend:)

!!!!Funzione obiettivo
Massimizzare il profitto, ovviamente.

(:table:)
(:cellnr:)max &#8721;'_i_' b'_i_' • x'_i_' • 10
(:cell:)[€]
(:tableend:)

!!!!Classificazione del problema
Osservazioni da fare:
# le variabili sono continue o no?
# i vincoli sono lineari o no?

Le variabili sono variabili continue.\\
I vincoli sono espressi con un polinomio di primo grado, quindi il modello è lineare.
La funzione obiettivo è espressa con un polinomio di primo grado, quindi il modello è lineare.

Riassumendo: è un problema di programmazione lineare.