Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ottimizzazione di taglio: quale algoritmo?

4,361 views
Skip to first unread message

-= Luca =-

unread,
Jun 24, 2010, 5:17:30 AM6/24/10
to
Salve a tutti, in passato mi avete più volte dato ottimi e
preziosissimi conigli, ora ho un problema che non riesco a risolvere.

In pratica mi capita a volte di dover ottimizzare i tagli di alcuni
pezzi, limitandone gli scarti e cercando di ricavare i pezzi più
lunghi, faccio un esempio pratico:

Ho a disposizione barre di lunghezza 310 (lunghezza variabile)
Debbo comporre varie lunghezze
4 pezzi da 440 (quantità e lunghezza variabile)
11 pezzi da 540 (quantità e lunghezza variabile)
21 pezzi da 840 (quantità e lunghezza variabile)
6 pezzi da 1040 (quantità e lunghezza variabile)
posso tagliare le barre della lunghezza che voglio (il taglio toglie
1,5 di lunghezza)

Gli scopi finali sono:
Usare meno barre possibili
Impiegare ritagli più lunghi possibili

Vorrei mettere in una tabella di excel un sistema che mi aiuti a
trovare la soluzione migliore... ma non sò che raginamento
impostare...
...avreste voglia di cimentarvi?

^__^

by sal

unread,
Jun 26, 2010, 2:05:40 AM6/26/10
to

Ciao Luca, e da tempo che cerco di risolvere questo problema, la prima
cosa le tue misure sono espresse in cm credo, le mie in mm, e credo
che sia meglio ragionarne in questo senso mm (misura).

In rete ho trovato un file che ottimizzava i tagli, da barre lunghe
tagliarne diverse di misure minori. però ho visto dopo averlo provato
che non ottimizzava proprio al 100%, in quanto non cercava di comporre
il minor sfrido possibile, ma tagliava le barre secondo la maggior
lunghezza per poi scendere alle minori, quindi senza cercar prima di
comporre le misure da tagliare per raggiungere la lunghezza della
barra disponibile.

Cosa che sto cercando di fare con il secondo, con la base del primo
file, anche inserendo un magazzino materiali da cui attingere per le
misure risultanti da sfridi precedenti.

prendendo prima le misure disponibili negli sfridi e poi quelle con un
x% in più, per avere una prima sfoltitura dei tagli o lunghezze
disponibili, per le restanti misure, ho fatto in questo modo e sto
valutando ancora il metodo.

creo diverse matrici a due dimensioni di due misure, delle mie misure
tagli, poi in base agli incroci delle varie misure scelgo la misura
che si avvicina di più alle misure disponibili e quindi ho vedendo le
intersezioni della matrice di quanti pezzi e composta la serie di
tagli da effettuare, questo lo sto ancora attuando.

Pero il tuo discorso è diverso dal mio, le mie posso essere barre di
alluminio, profilati, quindi difficilmente saldabili, tu hai una
misura standard di 3100 mm, credo, e vuoi realizzare misure superiori,
forse tubi facilmente saldabili, per raggiungere la tua misura
desiderata, ma si potrebbe ovviare considerando un multiplo di 3100
mm. per i tuoi tagli.

se vuoi i file fammi sapere, Ciao By Sal (8-D)

P.S. non si può più postare su gruppi Microsoft, nel caso passa qui
http://groups.google.it/group/excel_vba_free/topics

-= Luca =-

unread,
Jun 27, 2010, 5:40:43 AM6/27/10
to
> Ciao Luca,
Ciao a tè :D

> cosa le tue misure sono espresse in cm credo, le mie in mm, e credo
> che sia meglio ragionarne in questo senso mm (misura).

anche io vado in mm ma non credo sia importante, l'unica cosa è che
l'unità sia sempre la stessa per tutti (tutti mm o tutti cm o tutti
mt ..)

> Cosa che sto cercando di fare con il secondo, con la base del primo
> file, anche inserendo un magazzino materiali da cui attingere per le
> misure risultanti da sfridi precedenti.

io lavoro in meccanica e avevo anche io il tuo stesso problema di
ottimizzare le verghe, poi qlc mi passò un file di excel che
funzionava alla perfezione:
bastava mettere in colonna le lunghezze dei tagli che servivano e ti
dava l'ottimizzazione in un altro foglio già suddivisa ottimizzata e
tenendo conto della lunghezza della verga ovviamente... ora da qlc
anno facciamo fare le carpenterie fuori e non lo uso più... lo cerco,
se lo trovo te lo passo
Tra l'altro l'avrei sempre voluto capire e modificare per darlo al mio
carpentiere; volevo aggiungere la variabile "lunghezza verga" (ora
fissa a 6mt) ma è in VBA che io non "mastico"... magari potresti
riuscirci tu? :D

> Pero il tuo discorso è diverso dal mio,

esatto in questo caso debbo accostare vari pezzi che poi imbullono
assieme, quindi debbo "allungare" e cercavo un sistema per
automatizzarlo

> se vuoi i file fammi sapere, Ciao By Sal (8-D)

certo, io curioso sempre volentieri !!! (poi magari ti disturbo e ti
chiedo qlc chiarimento ;-) così imparo un pò di VBA.... )

> P.S. non si può più postare su gruppi Microsoft, nel caso passa quihttp://groups.google.it/group/excel_vba_free/topics

in che senso non si può più? (io posto con google groups e non ho
problemi fin ora)
invece il link che hai messo quì, lo vedo "male" è tutto impaginato
male... cosa sarebbe?

A presto e grazie!!!

^__^
Luca

by sal

unread,
Jun 28, 2010, 1:05:52 AM6/28/10
to

Ciao Luca eccoti il file non mio, quello che non ottimizza al 100%, ti
metto il link, non so se si possono caricare file qui,

l'altro ci sto ancora lavorando, ho problemi con la creazione delle
matrici, per vedere le combinazioni dei tagli.

Ciao By Sal (8D)

http://www.mediafire.com/?fyrnnl5jonk

kristin...@gmail.com

unread,
May 21, 2014, 2:48:42 PM5/21/14
to
Ciao, ho utilizzato l' ottimizzatore v.1 per le verghe ora però avrei bisogno di ottimizzare le lamiere mi puoi aiutare?
Ciao Grazie

carlito

unread,
May 26, 2014, 11:21:13 AM5/26/14
to
questi sono problemi matematici di minimizzazione, Ricerca operativa, provato col solver di excel ? , si risolvono anche in modo ricorsivo

garofano...@gmail.com

unread,
Jan 26, 2016, 2:53:57 AM1/26/16
to




Riempimento vettori Resto

vettori residui
10415 10415 10415 10415 10415 10415 8415 8415 8415 4415 865 8415 8415 8415 8415 8415 8415 8415 8415 8415 8415 8415 450
8415 8415 8415 8415 8415 8415 8415 5415 5415 5415 5415 5415 5415 1620
5415 5415 5415 5415 5415 4415 4415 4415 52695
Contenitore 93000 - Numero Medio Elementi = 12.34

Mi è capitato di vedere solo oggi il problema che hai posto. lo sono interessato all'aspetto teorico e ciò si evince anche dalla qualità grafica del mio programma. Presumendo che le misure siano espresse in mm. (me lo fa pensare l'entità del taglio pari a
1.5 che dovrebbero appunto essere mm.) ti racconto la mia soluzione. Innanzitutto aggiungo alla lunghezza di tutti i pezzi il taglio di 1.5 ed esprimo le misure in decimi di millimetro (lo devo necessariamente fare perché il mio programma è stato pensato per i pesi e. quindi, per numeri interi): 1040 diventa perciò 10415 e così tutti gli altri numeri. Mettendo in fila un certo numero di barre da 3100 (anche questa in decimi) e tagliando con le
misure vere si hanno i risultati riportati sopra nella tabella dei vettori residui. La lunghezza totale delle barre che costituiscono un contenitore è 93000 = 30 barre da 3100. Il primo vettore è costituito da 10 elementi riportati con le misure lorde: il resto, dopo aver effettuato i tagli, è di 865 decimi e comprende i 15 decimi che si devono togliere al primo e all'ultimo elemento che consumano metà taglio. La stessa cosa
avviene per i due vettori successivi che hanno resti minori di 3100. Il quarto vettore presenta un resto di 52695 che differisce di 5 decimi rispetto a 17 x 3100 = 52700. Questo significa che l'ultimo pezzo tagliato è lungo 4395 invece di 4400. Se questi 5 decimi si possono ripartire sugli otto elementi la differenza diventa trascurabile. A meno che non sia richiesta la precisione assoluta.
Ricapitolando sono necessarie 30 barre per i primi tre vettori e 13 per il quarto vettore per un totale di 103 x 3100 = 319300 decimi di millimetro.
Riportando tutto ai centimetri si hanno i seguenti resti: 8.65 + 4.5 + 16.2 = 29.35 cm.
Il totale riportato in basso a sinistra è di 3164.3 cm e. tolti i sei millimetri dei mezzi tagli, lo strido totale è 29.35/3163.7 = 0.0093 ossia poco più del 9 per mille. Il vero problema sarà costituito dai possibili tagli troppo prossimi ai bordi delle barre.
Si possono ricercare altre soluzioni modificando il contenitore e il numero di elementi per vettore.
Da questo punto di vista il programma è molto elastico.
Solo per partecipare alla discussione.
Cordialità.
(non immette l'interfaccia perché la legge come immagine)









0 new messages