请大家帮我看看怎么设计这个脚本?谢谢

请大家帮我看看怎么设计这个脚本?谢谢

我想用ruby编写一个脚本来处理我日常工作中的任务,但是有一个问题我不知道怎么设计算法,请高手帮忙,谢谢了。
任务如下:
  有A,B,C...等若干个箱子,每个箱子都有各自的长、宽、高和重量。有一个车柜,车柜的长、宽、高是固定的。现在要把箱子放进车柜里面,要求:车柜前后两头(纵向)和左右两侧(横向)的重量平衡(平衡是一个范围,重量差别不超过一个范围)。
  问:如何摆放这些箱子?

以上问题,请高人给点建议。(如能提供代码就更好了哈)
看起来还挺难的,我现在只能想到这么多

[Copy to clipboard] [ - ]
是挺复杂的。要想一想。
平衡与否是以重量来衡量的,是不是可以考虑把集装箱的空间平面化,分为4块,保证这4块各自上面箱子的重量之和相差不超过给定的平衡范围?然后再考虑,如何加上长宽高的限制;另外,箱子的重心位置也会对解法产生影响,是不是可以保证所有的箱子的重心都是在箱子中间呢? 天,这个问题可真是复杂~~~
呵呵~~~谢谢大伙。
这问题确实比较复杂,我想了好久也没想到一个比较好的解决方法。
这些箱子可以近似当作重心在中间的。
目前还是人工做这事情的,我一般是把几个重量比较大的平均分配下去,然后再将重量较小的去平衡其重量差值。不过说到底还是在用试的方法。耗时较多。
这到是一个比较有挑战性的题目.
1.如何表示?
如何表示每个箱子的'旋转变换'和'翻转变换'?
2.如何搜索?
穷举法,遍列每种组合情况,搜索符合条件的组合即可

难点其实在如何表示上面.

这里有一点参考,可以借鉴(涉及'旋转变换'和'翻转变换'):

7.采用位运算解决四色方块问题(Engineering Puzzle)
http://rubyoo.com/?p=138
另外,题目中似乎没有指明"箱子上面十否还可以放箱子"这个意思.
如果"箱子上面不放箱子",那就是在水平面上放这些箱子,问题难度自然要小一些;
要是"箱子上面还可以放箱子",哈,那问题难度就升级了.
另外,题目中所说的"重量平衡"是什么意思呢?
假设一个车厢只放一个箱子,而这个箱子是筷子形状的,并且'立'着放,这是否能够满足"重量平衡"?
:)
我对数据算法可不精通,得找同事帮忙。哈哈。
哈哈~~`这里大伙都挺热情呀,谢谢了!

一般箱子上面不考虑再放箱子。因为这种情况很少见,如果出现这种情况,我还是人工来算吧。

重量平衡,其实是保证箱子放进去之后,整个车柜不会出现哪一头或哪一侧偏重(如果偏个1吨左右还是可以接受的)。

我本人对算法也不精通,只能群策群力,看看哪为大哥能够想出妙计。呵呵~~~~~