我試圖找到計算裝運所需箱尺寸的最佳方法。計算裝運箱尺寸的粗略估算值
我有3個不同尺寸的集裝箱。我在數據庫中定義了產品的寬度,長度,深度和質量。
我想知道如何找到需要運送的箱子的最小數量,以及給出購物車中物品數量的那些箱子的最小尺寸。
我目前的想法是找到整個產品數組的最大寬度,根據需要選擇一個盒子,然後根據需要拆分順序......這看起來不像是可行的。
我的框尺寸爲: - 8×6×6 =228立方英寸 - 10×8×8 =640立方英寸 - 12.5×12.5×12.5 =1953.125立方英寸
的產物被定義因此:
[Product] => Array
(
[STOCK_CODE] => 010003
[Product_Slug] => GABA_010003
[ItemName] => GABA
[WHOLESALE_PRICE] => 17.47
[RETAIL_PRICE] => 24.95
[Brand] =>
[ProductLine] =>
[image_name] => 705077000440
[MASS] => 0.313
[Height] => 4.625
[Width] => 2.375
[Depth] => 2.375
[cubic_inches] => 26.087890625
)
我查看了揹包問題,包裝問題等,並找不到一種方法來做到這一點。任何幫助將是偉大的。
function shipping(){
$this->CartProduct->unbindModel(
array('belongsTo' => array('User'))
);
//find all cart products by current logged in user
$cartItems = $this->CartProduct->find('all', array('conditions' => array('CartProduct.user_id' => $this->Auth->user('id'))));
$i = 0;
//get the max width, height, depth
$maxHeight = 0;
$maxWidth = 0;
$maxDepth = 0;
foreach($cartItems as $c){
$cartItems[$i]['Product']['cubic_inches'] = $c['Product']['Height'] * $c['Product']['Width'] * $c['Product']['Depth'];
$cartItems[$i]['CartProduct']['total_cubic_inches'] = ($c['Product']['Height'] * $c['Product']['Width'] * $c['Product']['Depth']) * $c['CartProduct']['qty'];
if($c['Product']['Height'] > $maxHeight)
{
$maxHeight = $c['Product']['Height'];
}
if($c['Product']['Width'] > $maxWidth)
{
$maxWidth = $c['Product']['Width'];
}
if($c['Product']['Depth'] > $maxDepth)
{
$maxDepth = $c['Product']['Depth'];
}
$i++;
}
//possible containers
//8 x 6 x 6 = 228 ci
//10 x 8 x 8 = 640 ci
//12.5 x 12.5 x 12.5 = 1953.125
$possibleContainers = array(
1 => array(
'Height' => 8,
'Width' => 6,
'Depth' => 6,
'Cubic' => 228),
2 => array(
'Height' => 10,
'Width' => 8,
'Depth' => 8,
'Cubic' => 640),
3 => array(
'Height' => 12.5,
'Width' => 12.5,
'Depth' => 12.5,
'Cubic' => 1953.125)
);
$max = array(
'Height' => $maxHeight,
'Width' => $maxWidth,
'Depth' => $maxDepth,
);
pr($cartItems);
pr($possibleContainers);
die();
}
固定格式...這不是作業,它是我正在寫的購物車系統。 – Wil 2010-06-29 01:40:59
似乎只要一個問題變得非常規,具體和有形,足以實際應用於現實生活中,它就被標記爲家庭作業,出於某種原因=/ – 2010-06-29 01:47:29
@Justin L.我的意思完全相反 - 問題過於籠統,無法成爲現實世界。是什麼讓你覺得這是現實世界?數字(3盒)或實際大小的存在?這些都是我的作業提示。你爲什麼聲稱這是非一般的?這是揹包問題,而且非常難 - 這就是爲什麼它通常是家庭作業。 – 2010-06-29 10:24:06