1 / 20

Università degli Studi di Cagliari

Prof. Paola Zuddas OTTIMIZZAZIONE DEGLI UTILI DI UN AZIENDA AUMENTANDO IL NUMERO DI SEDI Gavino Software utilizzato : Lindo. Università degli Studi di Cagliari.

joie
Download Presentation

Università degli Studi di Cagliari

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prof. Paola Zuddas OTTIMIZZAZIONE DEGLI UTILI DI UN AZIENDA AUMENTANDO IL NUMERO DI SEDI Gavino Software utilizzato : Lindo Università degli Studi di Cagliari

  2. Un’ azienda (impianti elettronici, servizi informatici,…) con sede a Cagliari serve un tot di clienti che sono dislocati in maniera piuttosto disomogenea in tutta la Sardegna nelle seguenti province: 1. Cagliari 2. Sassari 3. Nuoro 4. Oristano 5. Olbia-Tempio 6. Carbonia-Iglesias 7. Medio Campidano 8. Ogliastra DESCRIZIONE DEL PROBLEMA

  3. Tale azienda ha a disposizione 20 dipendenti per supportare le richieste dei suoi clienti.I dipendenti dell’azienda lavorano 5 giorni alla settimana,8 ore al giorno, quindi 40 ore settimanali per ciascun dipendente e un totale di 800(=40*20)ore lavorative settimanali di tutti i dipendenti.Le ore settimanali impiegate per lavoro fuori sede sono ripartite come segue (Totale di 555 ore) :

  4. Per semplicità si prenderanno in esame i valori in base alle ore settimanali. I dipendenti prendono,oltre al salario base,anche una paga extra l’ora per “spostarsi” a servire questi clienti nelle varie province  l’azienda dovrà pagare: • il “tempo di viaggio” ai dipendenti (paga extra)‏ • spese di trasferimento con mezzi dell’azienda • salario base (€ 5 l’ora pagato esclusivamente per lavoro svolto in sede)‏

  5. Per essere più precisi i dipendenti,oltre ad effettuare a turno i viaggi per servire i clienti delle varie province,lavorano anche nel magazzino con sede a Cagliari destinato a vendita/carico/scarico merce.Bisogna quindi considerare le ore di trasferimento e quindi i costi aggiuntivi.Il costo extra all’ora cresce ovviamente con la distanza da percorrere;il calcolo del costo extra da pagare tiene conto di un “distanza artificiosa”(uguale a d) che analizziamo di seguito: d(Cagliari) = 0; d(Cagliari,Hinterland) = 1; d(Cagliari,Iglesias) = 1; d(Cagliari,Sanluri) = 1; d(Cagliari,Oristano) = 1; d(Cagliari,Nuoro) = 2; d(Cagliari,Tortolì) = 2; d(Cagliari,Sassari) = 3; d(Cagliari,Olbia) = 3;come riferimento numerico si è scelto: d = 0  Lavoro in magazzino; d = 1 per distanze <= 1h; d = 2 per distanze >1h e <= 2h; d = 3 per distanze > 2h.

  6. Oltre ai 5 € di salario base l’azienda avrà dei costi aggiuntivi che riguardano 1)paga extra di trasferimento e 2)spese di trasporto con mezzi dell’azienda:1. si prende in considerazione il valore d(distanza artificiosa) collegandolo al salario base di 5 € : oltre alle 8 ore al dì,si aggiunge 1 € per distanze percorribili in meno di 1h,due sono invece gli € che ogni 8 vanno aggiunti se il dipendente serve un cliente di Nuoro e Tortolì(d=2) e tre se il cliente è di Sassari o Olbia. Possiamo perciò stilare una tabella della paga extra all’ora,considerando che si effettua un solo trasferimento ogni 8 ore:2. in questo caso dovremo prendere in considerazione il consumo di carburante del mezzo. Supponendo di utilizzare un furgoncino diesel,il cui consumo al litro è di circa 17 Km (1 litro=€ 1,175),si avrà una spesa di circa 8 € per raggiungere (andata-ritorno) una città con d=1,16 € se d=2 e 24 € se d=3. Considerando un trasferimento ogni 8 ore il costo extra per ogni viaggio sarà :[ 8(€) * d ]

  7. Tale tabella però non prende in esame il costo all’ora che stimiamo in questo modo:sappiamo che d=1 corrisponde al massimo ad un viaggio di 2 ore(viaggio andata-ritorno ad Oristano),d=2 ad uno di 4 ore(a-r a Nuoro o Tortolì) e d=3 ad uno di massimo 6 ore(a-r ad Olbia),perciò per sapere il costo di viaggio all’ora basterà dividere la spesa di trasporto per le ore di viaggio e il risultato sara 4 €(cioè 24/6 per d=3 16/4 per d=2 e 8/2 per d=1)€ 4 l’oradi spese di trasporto Prendendo in considerazione le province si ha (spese extra all’ora): Vorrei far notare che tutti questi valori sono stati un po’ “maggiorati” in maniera che si prendano in considerazioni anche certi imprevisti che potrebbero far lievitare la spesa settimanale dell’azienda.

  8. Per il momento la spesa totale settimanale per l’azienda sarà data dalla somma dei seguenti punti :a = ore di lavoro provincia*Paga extra  130*6+80*8+50*7+60*6+55*8+70*6+65*6+45*7 = € 3695b = spesa trasporto l’ora*ore lavoro fuori sede totali  4*555 = € 2220c = ore di lavoro in sede*salario base l’ora  245*5 = € 1225 (245 = ore lavoro totali-ore totali fuori sede = 800-555)a+b+c = 3695+2220+1225 =€ 7140Esaminiamo ora i preventivi per l’acquisto dei locali per le nuove sedi;di seguito viene riportata una tabella con,naturalmente,prezzi diversi per le varie province : Nota : si sono presi in considerazione piccoli locali uso ufficio (circa 70 mq)

  9. Dato che abbiamo scelto di riferirci ai precedenti costi e spese in valori settimanali anche i costi di acquisto delle nuove sedi dovranno essere espressi in tale maniera;per fare questo supponiamo che tali sedi abbiano un periodo di sicuro lavoro di 5 anni,cioè 1825 giorni (=5*365) 260 settimane;perciò basterà dividere il costo di acquisto per 260 Gli altri parametri fondamentali del modello sono i costi unitari di trasporto cij, che vanno calcolati in base alle varie distanze e che vanno a costituire la matrice seguente:

  10. Per essere più precisi,i veri costi “unitari” di trasporto si ottengono dalla matrice precedente moltiplicando ogni colonna per la domanda della destinazione corrispondente ,cioè perle ore settimanali impiegate per lavoro fuori sede(vedi Tabella 2) ; il vincolo xij=0,1 implica infatti che come unità minima di “prodotto” trasportata dalla sede i alla destinazione j si consideri l’intera domanda della sede j-esima (se così non fosse nessuna sede verrebbe attivata; sarebbe come valutare se vale la pena spendere 96€ a settimana per attivare una sede a Tortolì che elargirà una sola ora a 7€ , piuttosto che far arrivare un dipendente dalla sede di Cagliari al costo di 8€ ).

  11. a . ANALISI DEL PROBLEMAConsiderare la miglior procedura da adottare per avere aumento degli utili mantenendo lo stesso numero di dipendenti. Valutare la collocazione di nuove sedi nelle province di interesse (costo nuove sedi) e diminuire le ore lavorative. Naturalmente non è detto che bisogna per forza avere una sede in tutte le province,questo dipenderà dalla richiesta dei clienti.b . COSTRUZIONE DEL MODELLOSi ricordino i seguenti passi :1. associare opportune variabili di decisione alle grandezze reali. Tali variabili costituiscono le incognite x del problema;2. esprimere quantitativamente i legami esistenti tra le variabili e le limitazioni derivanti da considerazioni di carattere fisico, economico, etc. Tali legami e limitazioni definiscono i vincoli. L’insieme dei valori delle variabili per cui i vincoli sono soddisfatti costituisce l’insieme ammissibile;3. esprimere formalmente l’obiettivo che si intende minimizzare o massimizzarePasso 1 : SCELTA INCOGNITE Le incognite saranno le variabili decisionali xij che rappresentano la frazione della domanda della piazza j-esima soddisfatta dall’impianto i-esimo;Passo 2 : VINCOLI ePasso 3 : FUNZIONE OBIETTIVO DA MINIMIZZARE (Dislocazione ottima di impianti)

  12. La società informatica Tiscali ha deciso di aprire nel territorio sardo sino a n possibili uffici di assistenza ai suoi mclienti. Per ogni sito i = 1 , ... , n si conosce il costo didi installazione e il numero massimo uidi clienti che può assistere qualora sia attivato; inoltre, per ogni sito i = 1 , ... , n si conosce il costo cijdi gestire il cliente j = 1 , ... , m presso tale centro.Si vuole decidere in quali delle n località aprire gli uffici di assistenza e, per ciascuno di essi l’insieme e dei clienti assegnati, in modo tale che ogni cliente sia assegnato ad uno ed un solo ufficio di assistenza e che il costo complessivo (di installazione e gestione) sia minimo.Per formulare tale problema occorre introdurre due insiemi di variabili binarie: le variabili yi, i = 1 , ... , n, per rappresentare la scelta relativa agli uffici da aprire (1 ATTIVATO,0 NON ATTIVATO) e le variabili xij, i = 1 , ... , nej = 1 , ... , m, per assegnare i clienti agli uffici.La funzione obiettivo, da minimizzare, che include sia i costi di gestione che quelli di installazione è :n m n ∑ ∑ cijxij + ∑ diyii=1 j=1 i=1I vincoli di semiassegnamento garantiscono che ogni cliente sia assegnato ad uno ed un solo ufficio: n ∑ xij = 1, j = 1, … ,m i=1

  13. Dobbiamo poi aggiungere sia i vincoli sul numero massimo di clienti per ufficio m ∑ xij ≤ ui , i = 1, … ,n (a) j=1sia quelli che garantiscono che i clienti siano assegnati ad uffici di cui sia stata decisa la costruzione: xij ≤ yi , j = 1, … ,m ; i = 1, … ,n (b) Questi ultimi esprimono l'implicazione xij > 0 => yj = 1. Per evitare di usare mn vincoli, si può imporre che la somma delle xij , cioè il numero di clienti assegnati al sito i sia nulla quando yi = 0 e possa assumere un valore non superiore a ui quando yi = 1; i = 1, … ,n: m ∑ xij ≤ ui yi , i = 1, … ,n j=1Osserviamo che il vincolo relativo all'ufficio i,i = 1, … ,n,implica sia il corrispondente vincolo (a) che i corrispondenti vincoli (b).

  14. Il problema può quindi essere formulato come : n m n min ∑ ∑ cijxij + ∑ diyi i=1 j=1 i=1 n ∑ xij = 1 j = 1, … ,m i=1 m ∑ xij - ui yi ≤ 0 i = 1, … ,n (*) j=1 yi  {0,1} i = 1, … ,n xij {0,1} j = 1, … ,m ; i = 1, … ,nNota : nel nostro caso non prenderemo in considerazione il numero massimo di clienti ui ,così facendo useremo la diseguaglianza (b) al posto della (*)VALORI :n (uffici di assistenza) = m (clienti) = 8 (numero righe/colonne tabella 9)cij (costo unitario) = (valori tabella 9)di (costo di installazione) = (valori tabella 7)‏

  15. c . SOLUZIONE NUMERICAIl software a disposizione per calcolare la soluzione ottima sono il LINDO.Il LINDO è un programma di ottimizzazione lineare nel quale il modello va scritto con la sintassi appena descritta : st sta per “subject to” ed indica l’inizio dei vincoli cui deve sottostare la funzione obiettivo, mentre “end” indica che ivincoli sono terminati (e con essi il modello).I vincoli di “binarietà” possono essere indicati variabile per variabile, oppure con il comando “int n” dopo end, che indica al software di riconoscere come binarie le prime n variabili; nel caso in esame è stato omesso il comando in“int 72” per il motivo che la versione demo utilizzata del programma di ottimizzazione non consente di risolvere problemi di programmazione lineare intera con più di 50 variabili.Con il comando “pivot” del menu “solve” si può osservare l’evolversi del valore di z ad ogni passo dell’algoritmo del simplesso, mentre il comando “tableau” consente di visualizzare anche l’evoluzione della matrice M, che tuttavia nel nostro caso non è pensabile per via delle dimensioni del tableau stesso.

  16. Possiamo ora scrivere la nostra funzione obiettivo (listato con software Lindo): MIN 780x11+640x12+350x13+360x14+440x15+420x16+390x17+315x18+ 1040x21+400x22+350x23+360x24+330x25+560x26+455x27+360x28+ 910x31+560x32+250x33+360x34+385x35+560x36+455x37+315x38+ 780x41+480x42+300x43+300x44+440x45+490x46+390x47+360x48+ 1040x51+480x52+350x53+480x54+275x55+560x56+520x57+360x58+ 780x61+640x62+400x63+420x64+440x65+350x66+455x67+360x68+ 780x71+560x72+350x73+360x74+440x75+490x76+325x77+360x78+ 910x81+640x82+350x83+480x84+440x85+560x86+520x87+225x88+ 0y1+173y2+115y3+135y4+135y5+115y6+96y7+96y8SUBJECT TOx11+x21+x31+x41+x51+x61+x71+x81=1x12+x22+x32+x42+x52+x62+x72+x82=1x13+x23+x33+x43+x53+x63+x73+x83=1x14+x24+x34+x44+x54+x64+x74+x84=1x15+x25+x35+x45+x55+x65+x75+x85=1x16+x26+x36+x46+x56+x66+x76+x86=1x17+x27+x37+x47+x57+x67+x77+x87=1x18+x28+x38+x48+x58+x68+x78+x88=1y1-x11>=0y1-x12>=0y1-x13>=0y1-x14>=0y1-x15>=0y1-x16>=0y1-x17>=0y1-x18>=0y2-x21>=0y2-x22>=0y2-x23>=0y2-x24>=0y2-x25>=0y2-x26>=0y2-x27>=0y2-x28>=0

  17. y6-x61>=0y6-x62>=0y6-x63>=0y6-x64>=0y6-x65>=0y6-x66>=0y6-x67>=0y6-x68>=0y7-x71>=0y7-x72>=0y7-x73>=0y7-x74>=0y7-x75>=0y7-x76>=0y7-x77>=0y7-x78>=0y8-x81>=0y8-x82>=0y8-x83>=0y8-x84>=0y8-x85>=0y8-x86>=0y8-x87>=0y8-x88>=0ENDy6-x61>=0y6-x62>=0y6-x63>=0y6-x64>=0y6-x65>=0y6-x66>=0y6-x67>=0y6-x68>=0y7-x71>=0y7-x72>=0y7-x73>=0y7-x74>=0y7-x75>=0y7-x76>=0y7-x77>=0y7-x78>=0y8-x81>=0y8-x82>=0y8-x83>=0y8-x84>=0y8-x85>=0y8-x86>=0y8-x87>=0y8-x88>=0END • y3-x31>=0 • y3-x32>=0 • y3-x33>=0 • y3-x34>=0 • y3-x35>=0 • y3-x36>=0 • y3-x37>=0 • y3-x38>=0 • y4-x41>=0 • y4-x42>=0 • y4-x43>=0 • y4-x44>=0 • y4-x45>=0 • y4-x46>=0 • y4-x47>=0 • y4-x48>=0 • y5-x51>=0 • y5-x52>=0 • y5-x53>=0 • y5-x54>=0 • y5-x55>=0 • y5-x56>=0 • y5-x57>=0 • y5-x58>=0

  18. LP OPTIMUM FOUND AT STEP 28 • OBJECTIVE FUNCTION VALUE • 1) 3505.000 • VARIABLE VALUE REDUCED COST • X11 1.000000 0.000000 • X12 0.000000 150.000000 • X13 1.000000 0.000000 • X14 1.000000 0.000000 • X15 0.000000 40.000000 • X16 1.000000 0.000000 • X17 1.000000 0.000000 • X18 1.000000 0.000000 • X21 0.000000 260.000000 • X22 0.000000 0.000000 • X23 0.000000 0.000000 • X24 0.000000 0.000000 • X25 0.000000 13.000000 • X26 0.000000 140.000000 • X27 0.000000 65.000000 • X28 0.000000 45.000000 • X31 0.000000 130.000000 • X32 0.000000 70.000000 • X33 0.000000 0.000000 • X34 0.000000 0.000000 • X35 0.000000 0.000000 • X36 0.000000 140.000000 • X37 0.000000 65.000000 • X38 0.000000 0.000000 • X41 0.000000 0.000000 • X42 0.000000 0.000000 • X43 0.000000 0.000000 • X44 0.000000 0.000000 • X45 0.000000 40.000000 • X46 0.000000 70.000000 • X47 0.000000 0.000000 • X48 0.000000 45.000000 • X51 0.000000 260.000000 • X52 1.000000 0.000000 • X53 0.000000 0.000000 • X54 0.000000 120.000000 • X55 1.000000 0.000000 • X56 0.000000 140.000000 • X57 0.000000 130.000000 • X58 0.000000 45.000000 • X61 0.000000 45.000000 • X62 0.000000 150.000000 • X63 0.000000 50.000000 • X64 0.000000 60.000000 • X65 0.000000 40.000000 • X66 0.000000 0.000000 • X67 0.000000 65.000000 • X68 0.000000 45.000000 • X71 0.000000 0.000000 • X72 0.000000 70.000000 • X73 0.000000 0.000000 • X74 0.000000 0.000000 • X75 0.000000 40.000000 • X76 0.000000 70.000000 • X77 0.000000 0.000000 • X78 0.000000 45.000000 • X81 0.000000 130.000000 • X82 0.000000 150.000000 • X83 0.000000 0.000000 • X84 0.000000 120.000000 • X85 0.000000 40.000000 • X86 0.000000 140.000000 • X87 0.000000 130.000000 • X88 0.000000 6.000000 • Y1 1.000000 0.000000 • Y2 0.000000 0.000000 • Y3 0.000000 0.000000 • Y4 0.000000 15.000000 • Y5 1.000000 0.000000 • Y6 0.000000 0.000000 • Y7 0.000000 31.000000 • Y8 0.000000 0.000000

  19. d . ANALISI DEI RISULTATI • Dai dati si deduce che: • • viene attivato l’impianto di Olbia (y5=1) che soddisfa la domanda delle province di Sassari e Olbia (x52=1 e x55=1)‏ • • rimane attiva la sede centrale di Cagliari(y1=1)(ovvio, dato che l’attivazione era a costo nullo ) che soddisfa la domanda delle province di Cagliari,Nuoro,Oristano,Carbonia,Sanluri e Tortolì (x11=1,x13=1,x14=1,x16=1,x17=1 e x18=1)‏ • • la funzione obiettivo all’ottimo vale 3505 € per un risparmio settimanale di 190 €(=3695-3505). • La soluzione ottima ottenuta può essere anche espressa in termini di ore lavorative: • 1) la sede di Olbia dovrà soddisfare una domanda di 135 ore settimanali • 2) la sede di Cagliari deve soddisfare la domanda delle altre province,corrispondente a 420 ore • Ne segue che il guadagno di 190 € si concretizza solo se , ad esempio: • 1)nella sede di Olbia i 5 dipendenti necessari a soddisfare la domanda accettino di lavorare 27 ore settimanali ciascuno • 2)nella sede di Cagliari i 15 dipendenti necessari siano disposti a lavorare solo 28 ore ciascuno. • Pertanto il problema della localizzazione può considerarsi risolto se l’azienda riesce ad operare in condizioni di orari flessibili e sui 5 anni si avrebbe un guadagno di 190*260=49400 €.

More Related