3D bin packing

gen
2014
03

scritto da | on , | Nessun commento

Quante scatole possiamo mettere all’interno di una ubicazione? Possiamo risolvere questo quesito utilizzando l’algoritmo del 3D bin packing. Il problema di bin packing 3D (3D-BPP) consiste, dato un insieme di oggetti (item) rettangolari di diverse dimensioni, nel determinare il numero minimo di contenitori rettangolari (bin) identici tra loro necessari per contenere tutti gli oggetti dati. Semplificando quante scatole in una scatola.

In questo articolo vedremo il caso più semplice, ovvero consideriamo che all’interno di una ubicazione sia possibile inserire solo scatole di uno stesso tipo, in modo da poter valutare la potenzialità di ricezione di uno scaffale, piuttosto che valutare in base alla giacenza media quanti ubicazioni sono necessarie per un determinato articolo.

L’algoritmo è scritto come una funzione per Excel, ma può essere tranquillamente utilizzata all’interno di Access. La funzione richiede in ingresso sei parametri, ovvero le dimensioni della scatola e le dimensioni dell’ubicazione (altezza, lunghezza e profondità) e restituisce il numero di scatole che possono essere inserite all’interno dell’ubicazione.

Se per ogni codice consideriamo le dimensioni delle unità di carico, quanti item sono presenti all’interno dell’UDC applicando la funzione possiamo sapere scatole può contenere un’ubicazione e conoscendo la giacenza possiamo calcolare il numero di ubicazioni necessarie.

Su un foglio Excel procediamo in questo modo, inserendo le seguenti colonne:

  • CODICE: Codice articolo
  • QT per confezione: Quanti item sono presenti in una scatola
  • Tre colonne per le dimensioni della scatola
  • Tre colonne per le dimensioni dell’ubicazione
  • Giacenza articolo: QT in giacenza
  • Scatole in ubicazione: Applichiamo la funzione
  • QT in ubicazione: Scatole in ubicazione X QT per confezione
  • Ubicazioni necessarie: QT in ubicazione/ Giacenza articolo

In questo modo possiamo valutare se le ubicazioni attuali consentono di contenere la giacenza media prevista.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Function CalcolaUDC(HS, LS, PS, HU, LU, PU)
	BH = Int(HU / HS)
	BL = Int(LU / LS)
	BP = Int(PU / PS)
	BTUDC = BH * BL * BP
	RH = Int(HU / HS)
	RL = Int(LU / PS)
	RP = Int(PU / LS)
	RTUDC = RH * RL * RP
	If BTUDC > RTUDC Then 
		TUDC = BTUDC 
	Else 
		TUDC = RTUDC
	end if
	CalcolaUDC = TUDC
End Function

Lascia un Commento

News