Torna alla pagina di Ricerca Operativa
:: Ricerca Operativa - PL - Chitarre - 20.01.05 ::
Un produttore internazionale di strumenti musicali realizza tre tipi di chitarre elettriche (De’ Paoli, Little Diablo e Stradivarius).
La produzione di ogni tipo di chitarra è svolta in quattro stadi: realizzazione del corpo e del manico (svolta dal reparto “falegnameria”), realizzazione dei “pickup” (svolta dal reparto “elettrotecnici”), realizzazione dei circuiti (sempre svolta dal reparto elettrotecnici), finitura (svolta dal reparto “liutai”).
La lavorazione di ciascun prodotto comporta un consumo, in termini di ore di lavoro, in ogni reparto, noto a priori. Il numero di ore di lavoro disponibili è limitato dal numero di addetti in ogni reparto. Per questioni di immagine, il produttore deve realizzare un quantitativo minimo di chitarre.
Il ricavo derivante dalla vendita di ogni chitarra è noto a priori. Il produttore vuole ottimizzare la produzione settimanale di chitarre.
Formulare il problema con i dati del file CHITARRE.TXT, classificarlo, risolverlo e discutere l’ottimalità e l’unicità della soluzione ottenuta.
Tab. 1) Ricavo per unità di produzione di chitarre (euro/unità) De'Paoli LittleDiablo Stradivarius 350 160 100 =========================================================================== Tab. 2) Numero di addetti in ogni reparto Reparto Numero di addetti Falegnameria 10 Elettrotecnica 5 Liuteria 3 Ogni addetto lavora 8 ore al giorno, per 5 giorni ogni settimana. =========================================================================== Tab. 3) Tempi necessari alla lavorazione delle chitarre in ogni stadio (ore/unità) De'Paoli LittleDiablo Stradivarius Stadio corpo e manico 2 4 1 pickup 1 2.5 0.5 circuiti 1 1.5 1 finiture 4 1 1 =========================================================================== La quantità minima di chitarre da produrre è 100 unità ogni settimana.
La variabile è continua e non negativa.
Dobbiamo massimizzare il ricavo totale settimanale
max (somma)i xi * rici [€/settimana]
! esercizio - Chitarre ! variabili: x(i) = unità di chitarre di tipo i da produrre a settimana ! [unità/settimana] ! la variabile è continua e non negativa ! funzione obiettivo [€/settimana] max 350 x1 + 160 x2 + 100 x3 st ! vincolo sulla produzione minima [unità/settimana] prodMin) x1 + x2 + x3 >= 100 ! vincoli sulle ore lavorative per reparto [ore/settimana] falegna) 2 x1 + 4 x2 + 1 x3 <= 400 elettro) 2 x1 + 4 x2 + 1.5 x3 <= 200 liuteri) 4 x1 + 1 x2 + 1 x3 <= 120 end
Come prima cosa osserviamo i dati dell'analisi post-ottimale:
Variable Value Reduced Cost X1 6.666667 0.000000 X2 18.66667 0.000000 X3 74.66667 0.000000 Row Slack or Surplus Dual Price 1 12786.67 1.000000 PRODMIN 0.000000 -15.33333 FALEGNA 237.3333 0.000000 ELETTRO 0.000000 24.00000 LIUTERI 0.000000 79.33333
Come si può osservare dalla colonna "Slack or Surplus" le ore di lavoro nel reparto falegnameria non sono una risorsa scarsa: il valore infatti non solo è diverso da 0, ma è anche maggiore delle 40 ore a cui dovremo rinunciare se un addetto se ne va, quindi possiamo tranquillamente farne a meno senza che ci siano conseguenze a livello di produzione. Per quanto riguarda il reparto liuteria osserviamo invece dalla colonna "Dual Price" che saremmo disposti a pagare un nuovo dipendente oltre 79 euro all'ora, quindi circa 79 * 40 (ore settimanali) = 3160 euro settimali, a fronte dei 500 richiesti!! Direi che la direzione dovrebbe accettare al volo il trasferimento del falegname!
Un'ora di formazione ogni quattro ore di lavoro significa in una settimana: 10 ore di formazione, 30 ore di lavoro. Correggiamo quindi il calcolo di prima: 79 * 30 = 2370 euro settimanali. L'offerta di trasferimento continua a rimanere più che vantaggiosa
Chiediamo a Lindo di mostrarci gli intervalli di valori in cui le basi non cambiano. Nella mia versione devo andare sul menu: LINGO -> Range
Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase Decrease X1 350.0000 INFINITY 46.00000 X2 160.0000 1190.000 28.75000 X3 100.0000 8.214286 INFINITY Righthand Side Ranges Row Current Allowable Allowable RHS Increase Decrease PRODMIN 100.0000 20.00000 40.00000 FALEGNA 400.0000 INFINITY 237.3333 ELETTRO 200.0000 186.6667 46.66667 LIUTERI 120.0000 280.0000 20.00000
Dalla colonna "Allowable Increase" leggiamo che le Diablo (X2) possono aumentare fino a 1190 euro senza che cambi la soluzione ottima (al più cambia il suo valore).
Prima di tutto calcoliamo quanto ci costa un elettrotecnico, e vediamo che questa cifra è pari a 600 / 40 = 15 euro all’ora. Ora facciamo l'analisi parametrica rispetto al vincolo sulle ore disponibili nel reparto elttrotecnica, portando il termine noto da 200 a (inventiamo, abbondando) 10000. Ecco cosa succede:
RIGHTHANDSIDE PARAMETRICS REPORT FOR ROW: ELETTRO VAR VAR PIVOT RHS DUAL PRICE OBJ OUT IN ROW VAL BEFORE PIVOT VAL 200.000 24.0000 12786.7 X3 SLK 2 5 386.667 24.0000 17266.7 SLK 3 X3 3 400.000 20.7143 17542.9 X1 SLK 4 2 413.333 4.28571 17600.0 10000.0 0.000000E+00 17600.0
Quando il termine noto assume valore 386.667 il prezzo duale è pari a 24 euro, quindi riusciremmo a pagare ancora un altro elettrotecnico, quindi passiamo a considerare la riga dopo.
Quando il termine noto assume valore 400 il prezzo duale è pari a 20.7143 euro, quindi riusciremmo a pagare ancora un altro elettrotecnico, quindi passiamo a considerare la riga dopo.
Quando il termine noto assume valore 413.333 il prezzo duale è pari a 4.28571, quindi non riusciremmo a pagare un altro elettrotecnico, quindi torniamo a considerare la riga precedente. Questa ci dice che possiamo incrementare il termine noto (quindi le ore disponibili nel reparto elettrotecnico) da 200 a 400 continuando a migliorare il valore della funzione obiettivo. Quindi quanti elettrotecnici posso assumere? L'incremento è di 200, le ore settimanali sono 40, quindi 200 / 40 = 5 nuove assunzioni!