Newsgroup: it.comp.programmare.win32
Titolo: Cerco algorimto freeware di massimizzazione ...

Per carico scatole,
Il contenitore č una scatola regolare tipo camion o container e i pacchi da
caricare sono tutte scatole regolari ma con misure diverse.
So che ci sono diversi programmi commerciali ma mi serve una cosa semplice
per integrare nel gestionale.
Grazie in anticipo

 Grazie in anticipo
se devi farlo in C o C++ ti posso passare un algoritmo che ho scritto io
senza nessun impegno (basta che ti arrangi ad adattartelo).
ciao 

 ha scritto nel messaggio news:475b2430$0$4792$4faf...@reader4.news.tin.it...

ops: mi son accorto solo ora della tua richiesta esatta: il mio algoritmo
serve a riempire dei contenitori prendendo i valori da una lista massimizzandone
il riempimento, pero' lavora non con delle "scatole" ma con dei numeri.
vedi te se ti puo' servire...
ciao

 ciao
in questo caso il numero puo' essere il volume della scatola, quindi
dovrebbe funzionare comunque.

 ha scritto nel messaggio news:49dbed48-fae6-4139...@x69g2000hsx.googlegroups.com...


ehm... non e' proprio cosi': ci ho pensato anch'io ma in realta' sono
2 cose totalmente diverse.
Pensa a due contenitori dello stesso volume: potrebbero avere
forme XYZ completamente differenti e quindi essere collocati
in posti diversi: se resta 1 mc libero, non e' detto che tu riesca
ad infilare una scatola da 1mc: non e' detto nemmeno che tu
ci riesca ad infilare una scatola molto piu' piccola.
Dipende tutto dalla forma: l'algoritmo si chiama "nesting 3D", ed
e' simile al nesting 2D, usato nell'industria, per ottimizzare il
posizionamento di sagome da tagliare, entro una superficie defiinita.
La soluzione di questi problemi non e' molto semplice, a livello
di programmazione: quello che ho risolto io e' il caso piu' semplice.
Nel mio e' sufficiente applicare la brute-force, controllando tutte
le combinazioni possibili e si resta dentro tempi ragionevoli.
Per un nesting 3D ad esempio, pensa quante possibilita' ci sono
di inserire una scatola in un contenitore: orientamento e posizione.
Poi pensa quando metti la seconda: hai tante possibilita' che crescono
esponenzialmente: l'unica facilitazione che si puo' assumere e' che,
per la forza di gravita', le scatole vanno a finire sul fondo del contenitore:
non puoi sistemarle per aria: per il resto e' tutto da calcolare.
Consiglio di ricercare in internet la parola chiave NESTING 3D.
ciao

 Grazie in anticipo
non e' free ma e' l'unico che ho trovato: ha delle librerie che puoi usare nel
tuo gestionale.
http://snipurl.com/1vab6
sinceramente penso che difficilmente troverai qualcosa di "free" o open source.
Questo perche' sono programmi molto complessi da realizzare (se vuoi avere
delle buone prestazioni almeno) e chi li produce e' ben geloso dei suoi algoritmi
e cerca di trarre profitto dalle proprie idee, vendendo il software.
Spero per te di sbagliarmi, ma penso sia cosi' purtroppo.
Poi e' un'applicazione particolare, non e' una cosa che usa chiunque, quindi il
cerchio si restringe.
Ci sono aziende che con programmi del genere ci guadagnano parecchi soldi,
ci sono programmatori che impiegano parecchie risorse per risolverli e quindi
vogliono essere pagati (spesso profumatamente!).
Ad esempio, avendo lavorato in software house (non come programmatore
pero'), so che la ditta per la quale lavoravo, dovendo implementare il nesting 2D
nel suo software CAD/CAM, si e' rivolta ad una ditta esterna in quanto avrebbe
richiesto troppe risorse per svilupparlo.
Sinceramente come esercizio di programmazione, penso di sviluppare un
algoritmo di nesting2d e 3d ma non per il momento, dato che sono impegnato
in altri progetti ora.
Sono problemi (assieme al problema del commesso viaggiatore: TSP) che mi
affascinano molto in quanto ci sono diversi metodi per affrontarli e si impara
molto sviluppandoli.
ciao