28

Sono di fronte a un problema di imballaggio del bidone tridimensionale e sto attualmente conducendo alcune ricerche preliminari su quali algoritmi/euristiche stanno attualmente ottenendo i migliori risultati. Poiché il problema è NP difficile, non mi aspetto di trovare la soluzione ottimale in ogni caso, ma mi chiedevo:Algoritmi per il confezionamento di contenitori tridimensionali

1) quali sono i migliori risolutori esatti? Branch e Bound? Quali sono le dimensioni delle istanze del problema che posso aspettarmi di risolvere con risorse di calcolo ragionevoli?
2) quali sono i migliori risolutori euristici?
3) Quali soluzioni pronte all'uso esistono per condurre alcuni esperimenti?

+0

Stai scatole di imballaggio in contenitori a forma di scatola? Puoi ruotare scatole per renderle idonee? –

+0

Karpreduction, saltare i passaggi non risolti ("perfetto") isomorfismo sicuro difficile possiamo –

+0

http://stackoverflow.com/questions/1563271/3d-bin-packing-algorithm –

risposta

2

Da wikipedia:

Sebbene these simple strategies sono spesso abbastanza buona, sono stati dimostrati algoritmi di approssimazione efficienti in grado di risolvere il problema bin packing all'interno di qualsiasi percentuale fissa la soluzione ottimale per sufficientemente grandi ingressi

Ecco le due fonti che danno per questo:

+0

Si noti che almeno la carta "1 + ε" si riferisce al problema dell'imballaggio bidimensionale, mentre la domanda riguarda l'imballaggio tridimensionale (di scatole, presumo). Le semplici strategie banalmente si generalizzano in tre dimensioni; Non sono sicuro di quelli più sofisticati. –

+0

"(di scatole, presumo)" - vicino ma non del tutto. Mi occupo di capriate in legno che vengono premute insieme in fasci e forme più grandi. Poiché il processo di pressatura è la parte più lunga e più costosa della produzione, la domanda è come caricare in modo ottimale la macchina. – BuschnicK

6

Per quanto riguarda le soluzioni disponibili, controllare fuori MAXLOADPRO per caricare i camion. Potrebbe essere in grado di essere configurato per caricare qualsiasi volume rettangolare, ma non l'ho ancora provato. In generale, i problemi del bin-packing 3d hanno l'ulteriore complicazione che gli oggetti possono essere ruotati in posizioni diverse, quindi per qualsiasi oggetto con una determinata lunghezza, larghezza e altezza, devi effettivamente creare tre variabili che rappresentano ciascuna posizione, ma ne usi solo una in la soluzione.

In generale, le formulazioni MIP standalone (o branch e bound) non funzionano bene per il problema 2d o 3d ma la programmazione dei vincoli ha riscosso un certo successo producendo soluzioni esatte per il problema 2d. Dai un'occhiata a questo abstract. Senza guardare il documento, mi piace l'approccio di scomposizione per il problema in cui si sta cercando di ridurre al minimo il numero di bin di dimensioni uguali. Non ho visto tanti risultati per il problema 3d, ma facci sapere se trovi quelli che sono implementabili.

Buona fortuna!

0

È questione è simile a: 3d bin packing algorithm

Anche se, perché si dis-consentire la rotazione, si possono ottenere buoni risultati. Suggerisco di guardare più verso una soluzione FIRST-FIT-DECREASING.

1

Miglior risolutore esatto: utilizzare dynamic programming.

variabili

Stato:

  1. elementi che si hanno confezionato e scartati.
  2. Spazio riempito nel contenitore.

Se il contenitore è una griglia parallelepipeda e gli elementi si "adattano" in celle esatte della griglia, è possibile utilizzare una matrice tridimensionale per rappresentare la variabile di stato 2.Altrimenti, dovrai usare strutture dati più complesse.

migliori solutori euristici

io non lo so. Forse Variable Neighborhood Search. Ci sono alcune somiglianze tra il tuo problema e il problema di costruzione dell'orario (su cui sto lavorando), quindi la stessa euristica potrebbe essere buona per entrambi.

off-the-shelf soluzioni per condurre esperimenti

Mi dispiace, io non hanno nemmeno un indizio.

+0

quali sono esempi di strutture dati più complesse? – Kasparov92

0

3dbinpacking è una soluzione commerciale (non un algoritmo) che espone un'API da consumare con una bella visualizzazione. Offre:

  • bin singolo imballaggio
  • Multi bin imballaggio
  • Trova terza dimensione
  • trovare un bidone dimensioni