2012-07-19 46 views
11

我使用PHP編寫了自定義商業CMS。
我一直在整合UPS XML API以獲取運費,並且目前正在運行。我使用的馬克桑德伯恩的PHP類http://code.google.com/p/ups-php/確定UPS運輸費用API的包裝尺寸

的API需要最終方案的長度寬度的輸入,身高重量。我的產品數據庫爲每個相應產品提供此信息,因此,當有人購買一件商品時不會出現問題。稍有不同的故事,當多個產品已加入購物車...最後包裝重量仍然很容易,因爲它我可以只抓住所有產品重量的總和。

然而,當多個產品在購物車中時,估算最終包裹的長度,寬度和高度以傳遞給UPS的最佳實踐是什麼?

修訂
在我看來,任何開發人員在商店環境中的UPS API工作必須處理同樣的問題。比解決揹包問題更重要的是,我希望我對API的工作方式有所誤解,並且實際上有一種簡單的方法可以解決這個問題,甚至可以把這個問題交給UPS來計算。

+0

可能的重複:http://stackoverflow.com/questions/7648859/given-a-set-of-objects-how-to-calculate-how-many-fit-in-a-given-volume你有沒有特定的盒子大小,你試圖適應一切?這肯定會影響這個算法的結果。 – 2012-07-19 03:29:28

+0

嗯,因爲這將是一個CMS用於許多不同的商店,我沒有具體的箱子大小的信息。我相信像X-Cart,Magento,Zen Cart等其他CMS也使用UPS API來計算運輸,所以我希望有一個共同的方法來處理這個問題。 – filip 2012-07-19 03:44:55

+0

我發現了這個 - 不確定它是否適用於你需要的東西:https://github.com/yetzt/boxing – 2012-07-19 06:09:49

回答

3

你基本上試圖找到業務在設計2D形狀時使用的相同軟件。他們首先得到一個平坦的材料表面,然後,他們想要獲得的物體,優化安排,所以沒有浪費材料。

這不是一件容易的事情;即使考慮到所有的物體都是完美的盒子,我會說這是一項艱鉅的任務。

另外,我認爲你可以寫一本關於這個完整的書,就像一些人已經完成的一樣。如果您仍然願意自動執行而不是手動嘗試,請閱讀this維基百科文章。

here有一箇舊的,但仍然有用的關於PHP的論壇對話。他們還建議最佳的嘗試看,我認爲這是你最好的選擇。