Cutting stock problem, variable lenght

Похожие документы
COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

LA GESTIONE DELLE SCORTE

DFA. Design for Assembly: Impostazione. Contenuti. Metodo DFA Boothroyd & Dewhurst. Modellazione del processo di assemblaggio

IL METODO DEL SIMPLESSO

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Introduzione all uso di FICO Xpress. Metodi di Ottimizzazione per la Logistica e la Produzione

Esercitazione n o 3 per il corso di Ricerca Operativa

LA PROGRAMMAZIONE MATEMATICA (p.m.)

Esempi di confronti grafici

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

2. Algoritmi e Programmi

11.4 Chiusura transitiva

5.3 Metodo dei piani di taglio

Ricerca Operativa. Esercizi proposti

TISSUEPLS Plant Layout Simulator

Matlab. Istruzioni condizionali, cicli for e cicli while.

Facoltà di Ingegneria. prof. Sergio Mascheretti

Esercizi soluzione grafica e Branch and Bound. Daniele Vigo

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

ESERCITAZIONE SUL DIMENSIONAMENTO DI UNA TRAVE INFLESSA_

IL MICROMETRO 1/100 MISURATORE GRADUATO

Centri di taglio. Macchine per la lavorazione di profili in alluminio e in PVC. Macchine interamente progettate e costruite in Italia

Algoritmi. Pagina 1 di 5

Il metodo dei Piani di Taglio (Cutting Planes Method)

LE MISURE DI TENDENZA CENTRALE. Dott. Giuseppe Di Martino Scuola di Specializzazione in Igiene e Medicina Preventiva

Esercitazione 3. Espressioni booleane I comandi if-else e while

Sistemi vibranti ad 1 gdl

Magnete in caduta in un tubo metallico

Algoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati.

Il metodo applicato al sistema: la partita doppia

Progetto di Implementazione del Sistema di Controllo di Gestione. Gianandrea Gori

Capitolo 10 Costi. Robert H. Frank Microeconomia - 4 a Edizione Copyright The McGraw-Hill Companies, srl

FITNESS. Costi fissi di commercializzazione e vendita ( ) Ore MOD disponibili in un trimestre

Università degli studi della Tuscia. Principi di Statistica dr. Luca Secondi A.A. 2014/2015. Esercitazione di riepilogo Variabili casuali

Laboratorio di Ricerca Operativa Cad Ingegneria Gestionale (BGER3 - I semestre) a.a Homework n 10. Docente: Laura Palagi

Problema 6 * * * x = numero di cassonetti di tipo A y = numero di cassonetti di tipo B f(x, y) = 500x + 600y da massimizzare Vincoli:

Parte Organizzazione d Impresa

Istruzioni Condizionali

Rilassamento Lagrangiano

Rilassamento Lagrangiano

I. S. S. Serafino Riva Sarnico (BG) Esercitazioni Pratiche di Tecnologia Meccanica SEGATRICI. A cura dei proff. Morotti Giovanni e Santoriello Sergio

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3

Ottimizzazione marginale

Introduzione alla Ricerca Operativa. Cos è la Ricerca Operativa? Modellazione di problemi decisionali Fasi di uno studio di RO Applicazioni della RO

Algoritmo basato su cancellazione di cicli

Soluzioni degli esercizi di formulazione di PL{0, 1}

MINIMIZZAZIONE DEI COSTI

Esercizi di Modellazione Lineare Intera

Algoritmi e soluzione di problemi

PAOLO CHILO S.P.F. CHILO SpA

TOLLERANZE PER BARRE FINITE A FREDDO

Sviluppo di programmi

Materiali diretti ( )

I costi d impresa (R. Frank, Capitolo 10)

DISASSATORE DWG brevetto depositato con n RA2013A DISASSATORE DWG

Facile Trovare il Centro Andrea Moia

Lavoro Quantità. si determinino prodotto marginale e medio del fattore lavoro.

L efficienza e la valutazione delle performance Concetti ed introduzione alla D.E.A.

Cap. 2 - Rappresentazione in base 2 dei numeri interi

Istituto Tecnico Commerciale Statale e per Geometri E. Fermi Pontedera (Pi)

5.4 Caratterizzazione in regime quasi statico e ad elevata velocità di deformazione di un acciaio per applicazione Oil and Gas

Guida alla fresatura 1/8

Algoritmo di Branch & Bound

Modelli di programmazione lineare. Il metodo grafico è basato su linearità della funzione obiettivo linearità dei vincoli

Valutazione d Azienda. Lezione 6 IL METODO PATRIMONIALE (Parte I)

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

IL TEOREMA DEGLI ZERI Una dimostrazione di Ezio Fornero

4.5 Metodo del simplesso

2.2 Alberi di supporto di costo ottimo

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Ferdinando Cassani Plant Project dept. Manager

Lezione 7. Costi e minimizzazione dei costi

Capitolo 10 Costi_ 2 parte. Robert H. Frank Microeconomia - 4 a Edizione Copyright The McGraw-Hill Companies, srl

Problema Determinare la miscelazione ottimale delle materie prime in modo da massimizzare il profitto complessivo

COMUNE DI CASNIGO OGGETTO: AMPLIAMENTO EIFICIO INDUSTRIALE ESISTENTE IN VIA PREDA AL CIVICO N 9 PER CONTO DELLA

SIMULAZIONE - 10 DICEMBRE PROBLEMA 2: IL GHIACCIO

percorso 4 Estensione on line lezione 2 I fattori della produzione e le forme di mercato La produttività La produzione

ATTACCHI CON COLLANTE CHIMICO

Lean Thinking2.0 Dalla Teoria alla Pratica. Caso: Siver Srl

Avvertenze. Descrizione dell aggiornamento. Istruzioni

UNIVERSITÀ DEGLI STUDI DI BERGAMO - Facoltà di Ingegneria CORSO SISTEMI DI CONTROLLO DI GESTIONE Ingegneria Informatica Prof. Sergio Mascheretti

Il problema del commesso viaggiatore

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Architettura degli Elaboratori

Транскрипт:

Picchi Tommaso, Corradini Simone Cutting stock problem, variable lenght BPP (bin packing problem) La ditta Arquati S.r.l. ci ha assegnato un problema sull ottimizzazione del taglio di profili su verghe di acciaio (barre) utilizzate nell assemblaggio di tende da sole; lo scopo dell algoritmo è di minimizzare lo scarto e quindi il relativo costo complessivo delle barre utilizzate. IL PROBLEMA: k=1,,k j=1,,jk l=1,,l i=1,..,il tipi di profili oggetto j- esimo di profilo k tipi di barre i- esima barra di tipo l Wk = lunghezza profilo di tipo K (ogni profilo j=1,,j è lungo Wk) Wl = lunghezza barra tipo l (ogni barra i=1,,il è lungo Wl) Cl = costo barra tipo l (ogni barra i=1,,il costa Cl) IL MODELLO: = 1 0 Se uso barra i di tipo l altrimenti X jkil = 1 0 Se taglio profilo j di tipo k dalla barra i di tipo l altrimenti

funzione obiettivo: L l =1 I l i=1 min C l Minimizza il costo delle barre, in funzione della variabile Y, che ci dice se una barra è presa oppure no. vincolo di assegnazione: L I l l =1 i=1 X jkil =1 Ogni profilo deve essere tagliato. vincolo di capacità: K J W k k k =1 j =1 X jkil W l La somma dei profili tagliati su una barra non può eccedere la lunghezza della barra stessa. vincolo di precedenza: Y (i+1)l Ordina i tagli delle barre in ordine crescente (prima barra 1 tipo 1, poi barra 2 tipo 1 ) dichiarazioni variabili binarie: { 0,1} i =1,..,I L X jkil { 0,1} l =1,..,L i =1,..,I L l =1,..,L k =1,..,K j =1,..,J K

LA MODELLAZIONE IN XPRESS. Le fasi di lavoro una volta determinato il modello sono state quelle di analizzare ed ottenere dati significativi per elaborare il nostro modello in xpress. La ditta Arquati ci ha fornito le misure dei profili da tagliare, su base mensile; inoltre ci ha fornito le misure delle barre che devono essere tagliate e i relativi costi (vedi file.dat). Questo lavoro è stato complicato dal fatto che le tende da sole sono composte da 2 braccia, ogni braccio è composto da due profili di spessore diverso, per questo nella nostra modellazione abbiamo dovuto tenere conto anche dello spessore. Per questo motivo abbiamo scelto di analizzare 165 profili di spessore 0 (60 mm) e 165 profili di spessore 1 (50 mm) ognuno dei quali dovrà essere tagliato da barre con spessore uguale a quello richiesto. L ampiezza di questi dati corrisponde al fabbisogno produttivo di due settimane della ditta. IL MODELLO: procedure Modello z:= sum (l in l_tipibarre,i in i_nbarre) (Costo(l)* y(i,l)+ Costo(l)* y1(i,l)) forall (j in j_oggetti,k in k_profili) v1(j,k):=sum(i in i_nbarre,l in l_tipibarre) x(j,k,i,l)=1 forall (j in j_oggetti,k in k_profili) v2(j,k):=sum(i in i_nbarre,l in l_tipibarre) x1(j,k,i,l)=1 forall (i in i_nbarre,l in l_tipibarre) v3(i,l):=sum(k in k_profili,j in j_oggetti)wk(k,j)*x(j,k,i,l)<=wl_spessore0(l,i)*y(i,l) forall (i in i_nbarre,l in l_tipibarre) v4(i,l):=sum(k in k_profili,j in j_oggetti) Wk1(k,j)*x1(j,k,i,l)<=Wl_spessore1(l,i)*y1(i,l) forall(l in l_tipibarre,i in i_nbarre i<3)do y(i,l)>=y(i+1,l) y1(i,l)>=y1(i+1,l) forall(i in i_nbarre,l in l_tipibarre) y(i,l) is_binary forall(f in i_nbarre,m in l_tipibarre) y1(f,m) is_binary forall(j in j_oggetti,k in k_profili, i in i_nbarre,l in l_tipibarre) x(j,k,i,l) is_binary forall(j in j_oggetti,k in k_profili, i in i_nbarre,l in l_tipibarre) x1(j,k,i,l) is_binary end- procedure

EURISTICO 1: NEXT-FIT procedure Next_Fit i:=1 forall(k in k_profili,j in j_oggetti)do if(wk(k,j)<=cres(i))then cres(i):=cres(i)- Wk(k,j) znf:=costo(i) else i:=i+1 cres(i):=cres(i)- Wk(k,j) costo(i):=znf+costo(i) i:=1 forall(k in k_profili,j in j_oggetti)do if(wk1(k,j)<=cres1(i))then cres1(i):=cres1(i)- Wk1(k,j) znf1:=costo1(i) else i:=i+1 cres1(i):=cres1(i)- Wk1(k,j) costo1(i):=znf1+costo1(i) EURISTICO 2: FIRST FIT zff:=0 s:=1 forall(k in k_profili,j in j_oggetti)do yff(k,j):=- 1 forall(i in n_contenitori)do if(wk(k,j)<=capres(i))then yff(k,j):=1 capres(i):=capres(i)- Wk(k,j) cff(i):=1 break

if(yff(k,j)=- 1)then s:=s+1 capres(s):=capres(s)- Wk(k,j) zff:=sum(i in n_contenitori)cff(i)*costi(i) zff1:=0 s:=1 forall(k in k_profili,j in j_oggetti)do yff1(k,j):=- 1 forall(i in n_contenitori)do if(wk1(k,j)<=capres1(i))then yff1(k,j):=1 capres1(i):=capres1(i)- Wk1(k,j) cff1(i):=1 break if(yff1(k,j)=- 1)then s:=s+1 capres1(s):=capres1(s)- Wk1(k,j) zff1:=sum(i in n_contenitori)cff1(i)*costi1(i) somma1:=zff+zff1 SOLUZIONI OTTENUTE: Una volta terminato la stesura del programma e avere determinato i dati necessari abbiamo compilato ed eseguito il programma. Abbiamo ricavato i dati sperati. Infatti, al tempo zero (0 secondi) gli euristici hanno dato due risultati diversi. Il Next- fit ha dato come costo totale 814, contro i 744 del Firs- fit, siccome il First- fit ottimizza ulteriormente la minimizzazione degli scarti. La soluzione migliore, 736, è ottenuta grazie alla risoluzione del modello a scapito della velocità di esecuzione, infatti, sono stati impiegati 307 secondi per ottenere questo risultato. Inoltre siamo riusciti anche a determinare da quale barra dobbiamo tagliare il singolo profilo. I grafici qui sotto riportano i profili da tagliare sulle varie barre, per quanto riguarda lo spessore 0, 60mm.

taglio profili spessore 0 (60 mm) da barre di 5 m 9 numero barre 7 5 3 1 0 1000 2000 3000 4000 5000 6000 lunghezza barre (mm) taglio profili spessore 0 (60mm) da barre di 6 m 13 11 numero barre 9 7 5 3 1 0 1000 2000 3000 4000 5000 6000 7000 lunghezza barre (mm)

taglio profili spessore 0 (60mm) da barre di 7 m 11 numero barre 9 7 5 3 1 0 1000 2000 3000 4000 5000 6000 7000 8000 lunghezza barre (mm)

CONCLUSIONI: Abbiamo verificato che con l euristico first- fit riusciamo ad ottenere un buon compromesso tra velocità di esecuzione e riduzione degli sprechi. Questo ci permette di abbassare il costo delle barre utilizzate(744 ), vicino alla soluzione ottenuta con il modello (736, con un gap del 2,9%,vedi immagine pagina precedente). Ora presenteremo alla ditta Arquati il nostro progetto, cercando di adattare il modello alle esigenze specifiche dell azienda.