说明下:所举数据均是我缩小了的,实际数据比较多,而且大,人的肉眼是不好解决的.
仓库表:
仓库编号  仓库能容量
001 5
002 6
003 8
004 4
物资编号  物资量
001 1
002 5
003 10
004 1
005 2
006 3
007 1仓库的总体容量(即仓库能容量列的和)肯定是大于物资量(物资量列之和)。要求:找到一种比较合理的摆放方案,利于工作人员去取该类物资时能最迅速的找到。为了达到这个目的,最好的存放方案就是:同一种物资能存放到同一个仓库中的时候,肯定不能存放到两个仓库中去(如物资002量为5,那么存放到001-003这个三个中的任意一个仓库是最好的);确实一个仓库不能存放的,则必须存放到编辑连续的仓库中去,比如003物资量为10,最大的仓库能容量才8,肯定要分装到两个仓库中去(因为编辑连续的仓库实际物理地址是相邻的,这样行走的距离就短,相应时间比较快)。
由于某种物资的量可能与某个仓库的能容量存在小于、等于和大于三种情况,因此,组合、分装某些物资是肯定的,当物资量相等时,优先物资编号小的先放进仓库。所以要求的结果要求:整体上分装物资种数最少的方案肯定就是最优的,
这样既不会浪费存放空间,也便于工作人员在最快时间内找到某种物资。比如上述例子的一个最优摆放应该为(我用肉眼看的,不知道正确与否,实际数据是不可能这样用眼睛来看的了):仓库编号 物资编号 存放物资量
001 002 5
002 003 6
003 003 4
003 001 1
003 004 1
003 005 2
004 006 3
004 007 1 我先开50分,如果问题解决了,再追加100分酬谢解决问题的朋友,谢谢。
同时元旦来临之际,也祝大家新年快乐,最重要的是身体健康!!!