program za optimizacijo prostora (izbire škatle)

Sulc

Fizikalc
22. avg 2007
978
175
43
Živjo,

iščem program, ki bi izmed npr 1000 različnih kvadrastih škatel izbral tisto, ki je najustreznejša za moj nabor kvadrov.
Dejansko je celo tako, da želim te kvadre iz škatle (večjega kvadra) izrezati, zato me zanima tudi, kako do tega priti s čim manj rezi.

Se pravi, imam tri kvadre, ki bi jih rad izrezal iz nekega nabora kvadrov. Niti ni nujno, da so vsi iz istega kvadra izrezani.

Poznate kakšen SW, ki bi znal kaj podobnega? Sam iščem med takimi, ki so namenjeni izkoristku prostora pri pakiranju palet, kontejnerjev in podobno, a sem anletel na precej kar dragih programov, ki mi niso zelo všeč.

Na pomoč!
 

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.920
662
113
Se ti gre samo za rezanje kvadrov iz večjega kvadra?
Ali bi rad da ti program zloži kvadre na najmanjši možni volumen in ti pove velikost škatle?

Se mi zdi da imaš "Bin packing problem":
Citat:
In computational complexity theory, the bin packing problem is a combinatorial NP-hard problem. In it, objects of different volumes must be packed into a finite number of bins of capacity V in a way that minimizes the number of bins used.
http://en.wikipedia.org/wiki/Bin_packing_problem

Če rabiš samo za izrezovat škatle potem je zadeva manj komplicirana ker imaš samo 2D problem. Pri 3D pa se zadeve veliko bolj zakomplicirajo.

Sigurno bi bila najboljša rešitev da najdeš matematični algoritem, ki bi ti ustrezal, pa ti potem nekdo to sprogramira.
Lahko tudi jaz.
smile-1.gif
 

Sulc

Fizikalc
22. avg 2007
978
175
43
Najprej hvala za odgovor.

Gre za optimizacijo volumna v smislu čim manjšega "odpada". Algoritem, kot je opisan v linkanem wiki članku, predpostavlja, da imam veliko število različnih kvadrov, ki jih moram vstaviti v večje kvadre z volumnom V.
Pri meni je ravno obratno. Dva, tri, morda štiri kvadre moram vstaviti v enega ali več kvadrov, ki pa jih je npr. 50 različnih.

Programi za zlaganje tovora v kontejnerje delujejo tako, kot pravi wiki; ampak so šibki pri optimalni izbiri kontejnerja, mene pa najbolj zanima ta del. Iz katerega kosa (kosov) izrezati potrebne kvadre, da bo izgube čim manj.

Imaš kakšno idejo, kje najti algoritme, ki bi to znali?
 

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.920
662
113
So ti tamali kvadri fiksnih velikosti?
Meni bi bilo zanimivo tole narest, samo moram pa točno poznati problem.
 

Sulc

Fizikalc
22. avg 2007
978
175
43
Ne, ta mali kvadri niso fiksnih velikosti - vsakič sproti želim drugačne kvadre.

Primer, ki bi ponazoril problem, je takle:

1. na razpolago imam npr. 200 kvadrov različnih velikosti in štirih lastnosti (A, B, C, D)
2. želim dobiti 3 med sabo različne kvadre z lastnostjo B iz nabora razpoložljivih
3. če je slučajno kakšen že prave velikosti in lastnosti, vzamem tega (to se zgodi samo v teoriji
smile-1.gif
)
4. med razpoložljivimi kvadri z lastnostjo A moram izrezati želene kvadre tako, da bo čim manj ostankov
5. ni nujno, da režem samo iz enega kvadra

a. nabor kvadrov na razpolago se s časom spreminja - jasno, saj jih režem - ampak to ni problem ročno obvladovat

Kar blizu sem prišel s programom CubeMaster
http://www.logensolutions.com/VMS/CubeMaster/home.asp
ampak mi ne izbira "kontejnerjev"=večjih kvadrov optimalno oz. jih včasih iz meni neznanih razlogov sploh noče.

Če nisem bil dovolj razumljiv, z veseljem še dopišem.

LP
 

futuristic

geđet frik
Osebje foruma
13. jul 2007
7.920
662
113
Huh, če ti rata tole spravit v matematične enačbe ti kamot sprogramiram...
 

Sulc

Fizikalc
22. avg 2007
978
175
43
Verjamem
smile-1.gif


Samo zaenkrat nisem našel kakšnega uporabnega in meni razumljivega modela, tako da brskam po raznih tovornih shareware-ih, če bi kaj našel.

Hvala vseeno!