請問怎樣算出一個大箱子能裝另一種小箱子的最大個數?

hzlan 2001-05-06 04:52:00
現有一大箱子,已知 長L0 寬W0 高H0.
另有一小箱子,也知 長L1 寬W1 高H1.
怎樣得知大箱子能裝小箱子的最大個數X.
小箱子擺放形式不拘.
在程式中代入 大,小 箱子的長寬高得最大數量X.
如有人能教我我會給他最大分的.
...全文
1539 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fmj 2001-05-08
  • 打赏
  • 举报
回复
你说得没错!

我说的装箱法只是简单地把货物按统一的方式进行装箱,但有可能不一定是最大装箱法,
因为还有间隙没有被充分利用。

我想如果不怕烦的话,可以每装一批货物后再进行计算,即:

1)首次以整个集装箱为“大箱”,按统一的装箱方式进行计算,求出第一次的装箱方法及
最大值,先按此方法装一批(层,仅仅是一批或层)货物。
2)以剩下的空间为“大箱”,也按统一的装箱方式进行计算,求出第二次装箱方法及最大值,
IF (此次的最大值) 〉(前一次的最大值 - 前批、层已装箱数) THEN
采用此次的装箱方法,装一批(层,仅仅是一批或层)货物
ELSE
采用前次的装箱方法,装一批(层,仅仅是一批或层)货物;
3)重复2)及到装满“大箱”。

如果这种方法可行的话,那么每次装箱时都要深谙此道的人员在场,否则装箱工人一般不会
知道你按何种方法获得最大的装箱数。

hzlan 2001-05-08
  • 打赏
  • 举报
回复
集裝箱尺寸:
L0=97 W0=20 H0=10
外箱尺寸:
L1=9 W1=4 H1=3
按你的方法可裝160箱
可實際能裝161箱.
不知我說的對不對.還請賜教.
fmj 2001-05-08
  • 打赏
  • 举报
回复
补充:
计算后,每一次装箱方法又要分三种,即在长、宽、高方向上装一批(层)货物,
要按 max(此次所装的箱数+余下空间能装箱数)作为(此次的最大值)来确定此次的装箱方法。
gzlad 2001-05-07
  • 打赏
  • 举报
回复
我也正在找这种最合理算法。如果有人知道的话,请传我一份。谢谢。
email:dglad@china.com
hzlan 2001-05-07
  • 打赏
  • 举报
回复
我問的正是集裝箱裝箱的問題.
謝謝fmj先生你的解答,但是我算了一下,結果卻算出的數量不大對.
如果你能給我寫一次算法的話感謝不盡.
我會給你分的.
email:master@bluepoint.21cn.com
fmj 2001-05-07
  • 打赏
  • 举报
回复
如果有数据的话,请告知外箱尺寸长、宽、高及集装箱尺寸,
我算出一个装箱数给你,看看是不是正确,因为我验算过,
好象没有错误。
fmj 2001-05-06
  • 打赏
  • 举报
回复
这有何难,小箱子在大箱子中的装箱办法只有6种方案(摆放形式不拘)或2种(只能平放),
求出这6种或2种的最大数,即为所求数。

另外,还要考虑在长、宽、高三个方向按6种方案或2种主方案摆放后所留间隙还能否摆放
小箱子,特别是当长、宽、高三个数字相差很大时,因为如果长、宽、高相差不大,则按
主方案摆放后一般是所留间隙放不下小箱子,但这也要让程序去计算后才知道,所以就让
三个方向的间隙为大箱子,让程序再一次计算能放多少个小箱子,总的要算四次才可完成。

看来你问这个问题的目的也是集装箱的装箱问题吧!

5,913

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧