Programmazione lineare - Problema di minimizzazione

metafix
Salve a tutti!
Ho il seguente problema:

Una ditta produce tre prodotti P1, P2 e P3 ed usa per la produzione due macchine, M1 ed M2. Le macchine possono essere usate per un tempo limitato e ciascuna delle due può essere usata per produrre i tre prodotti.
Si richiede come assegnare la produzione a ciascuna macchina, minimizzando il costo complessivo di produzione.
Si sa che:
Il costo unitario per produrre P1 è: 8
Il costo unitario per produrre P2 è: 10
Il costo unitario per produrre P3 è: 14
La disponibilità massima, in ore, di M1 è: 1200
La disponibilità massima, in ore, di M2 è: 1500
M1 impiega 2 ore per produrre un'unità di P1
M1 impiega 5 ore per produrre un'unità di P2
M1 impiega 10 ore per produrre un'unità di P3
M2 impiega 0,25 ore per produrre un'unità di P1
M2 impiega 0,5 ore per produrre un'unità di P2
M2 impiega 2 ore per produrre un'unità di P3

Grazie a chiunque mi illuminerà :-)
Sarah

Risposte
Megan00b
"metafix":

Una ditta produce tre profotti ....


Speriamo siano sicuri :wink:

Megan00b
Niente a parte il sarcasmo da bettola... prima che ti accenda la lampadina in faccia hai qualche idea da cui partire?

metafix
Intanto ho corretto il testo ;-)
La mia idea è la seguente:
dette xi le quantità incognite, con i=1,...,6
x1, x2, x3 : quantita prodotte dalla prima macchina
x4, x5, x6 : quantita prodotte dalla seconda macchina
la funzione da minimizzare è la seguente:
z = 8(x1+x4) + 10(x2+x5) +14(x3+x6)
con i vincoli:
2x1+5x2+10x3=1200
0.25x4+0.5x5+2x6=1500
xi>=0
Nel testo si dice di risolverlo con il metodo del simplesso.
Primo dubbio:
2x1+5x2+10x3=1200
0.25x4+0.5x5+2x6=1500
ho messo i vincoli rigidi, cioé non minore o uguale ma uguale punto e basta se no devo introdurre delle variabili di scarto
ovvero se scrivessi
2x1+5x2+10x3<=1200
0.25x4+0.5x5+2x6<=1500
per usare il metodo del simplesso dovrei trasformare queste in equazioni:
2x1+5x2+10x3+x7=1200
0.25x4+0.5x5+2x6+x8=1500
ma se introduco x7 e x8 noto che la matrice è già in forma canonica (rispetto alla sequenza di base x7 e x8), con coefficienti di costo nulli in corrispondenza di dette variabili di base e coefficienti di costo positivi per la variabili non in base. A questo punto la funzione nn è migliorabile è il risultato è z=0, cioé nn si produce... E nn mi pare il caso. Allora metto il vincolo rigido, tanto se uno vuole minimizzare i costi, le macchine deve utilizzarle fino all'ultimo secondo, no? (Ragionamento corretto?)
Secondo dubbio
Supponendo che nn ci siano falle nel ragionamento di sopra.
A questo punto devo mettere la matrice in forma canonica, giusto?
Ho fatto i conti ma mi viene z negativo.
AIUTO!
Ho bisogno della lampadina... Non in testa magari ;-)
Grazie grazie,
Sarah

Megan00b
Non sono convinto sull'usare = e non <=. Inoltre non é possibile a mio avviso che il minimo della stessa funzione su un vincolo più piccolo sia minore che su un vincolo più grande. Ora sto riguardando la traccia che hai scritto... mi sembra che logicamente qualcosa non torni. Cioè per come è scritto a me sembra che sia ovvio che la soluzione è z=0. Non riesco a capire dove sta scritto che si deve effettivamente produrre qualcosa.
Se non ti dico di muoverti ma ti dico di risparmiare le energie e vuoi obbedirmi starai immobile. A questo punto avresti ragione a mettere = e non <= interpretando la traccia come "quanti prodotti faccio produrre a M1 dei tipi 1 2 3 e quanti ad M2 dei prodotti 1 2 3 usando le macchine ininterrottamente?" Non so, devo pensarci.

metafix
E' quello che ho pensato: è ovvio che se voglio risparmiare nn faccio lavorare le macchine... Ma a questo punto perderei tutto il latte che ho messo da parte per fare i formaggini ed andrei in perdita, no? ;-) Quindi, siccome dobbiamo minimizzare i costi, nell'ottica di far uscire qualcosa da queste macchine, partiamo dal fatto che M1 ed M2 devono produrre e per giunta le usiamo fino all'osso cioé per tutte le 1200/1500 ore. Nn appena nn si mette il vincolo rigido, spunta quell'odiosissima z=0. Uff!
Grazie... fammi sapere!

metafix
...Non per essere fastidiosa... Ma qualcuno ha una qualche idea?
Arigrazie!

elettra881
Perchè hai introdotto sei variabili? Secondo me la funzione da minimizzare è un'altra.
siano x1,x2,x3 rispettivamente le unità da produrre di P1,P2,P3.
Il problema consiste nel trovare la soluzione a:
min( 8x1 + 10x2 + 14x3)
sotto i vincoli,ecc ecc... che comunque io scriverei col segno minore uguale,perchè si parla di 'disponibilità massima'.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.