2017-08-29 58 views
0

我無法爲具有不同大小和不同大小包的包的方案設計算法。實施一種算法,以找到給定包裝的尺寸最佳的盒子。將包與相似大小的包匹配的算法

如果任何人都可以幫助我將這個問題分解成更小的任務或提示,如果這個問題匹配任何類似的算法,我會非常感激。

+0

1.查找音量*寬*降序3.降序封裝尺寸身高2排序,然後你將有最好的框中爲每個包 –

+0

谷歌用於動態編程框。你應該得到很多點擊。 –

回答

1

您可以檢查從一個盒子角落到另一個角落的矢量長度,並將該長度與包裝的相同矢量進行比較。

例如:按長度的所有箱子

box.minXYZ = (0,0,0) 
box.maxXYZ = (2,1,1) 
boxsize = length(box.minXYZ - box.maxXYZ) 

for all packages whose Width, Height and Breadth are equal to or smaller than the box: 
    packagesize = length(package.minXYZ - package.maxXYZ) 
    deltasize = absolute(boxsize - packagesize) 

smallest deltasize = package with best fit. 
+1

這在大部分時間都無法解決。例如。考慮1 x 1 x 5的盒子和2 x 2 x 3的包裝。對角線矢量的大小將匹配。但顯然你不能在包裝盒內裝入包裝。 – Paul

+0

你是對的,我沒有考慮到盒子裏會包含這個包裝。可能讀得太快了。更新了答案 –

+0

謝謝!你能告訴我如何將一個盒子的寬度,高度和長度變成minxyz和maxyz嗎?不是由SQRT(x2 + y2 + z2)計算的矢量長度?我相信每個盒子都會有高度,寬度和寬度值,而不是minxyz和maxxyz,所以在這種情況下,我們會發現盒子尺寸爲SQRT(x2 + y2 + z2)? – Saad

相關問題