开发者社区> 问答> 正文

两个表各自排序后再按权重合并后排序问题

吴孟桥 2016-06-12 14:44:34 937

原需求:这是个仓库自动入库策略, 共6台堆垛机,同时入库工作,要求根据入库物料在各堆垛机的分布数量,平均分布入库,同时考虑堆垛机入库任务数和繁忙程度。
(对物料分布查询的结果和堆垛机任务查询的结果分别作比重排序(例如物料分布排序1-6,堆垛机任务数量排序1-6,两者相加最后综合排序1-6)找出需要入库的堆垛机。)
实现过程:
1.先查询需要入库的物料在各堆垛机所在巷道的分布,找出各个巷道物料数从小到大排序;排序的结果如下:(这个是从表A中查到的)
表A查询结果:
screenshot
2.查询所有堆垛机任务数(从表B中查询的结果),从小到大排序。排序结果如下
表B查询结果:
screenshot
3.将2次结果的权重相加
screenshot
如果不按比重排序而直接按SUM结果排序是这样:
screenshot
这个结果跟我想要的结果不一样。因为表A中的物料数远远大于表B中的任务数(例如表A 堆垛机d的物料数可能是2000,而表B 堆垛机d的任务数可能只有1个,所以不能简单的相加排序,如果这样相加排序了表B任务数的约束条件就不起作用了,而权重排序更均匀些,毕竟物料数和任务数都是要考虑的约束条件)
screenshot
daebcf是我想要的排序结果,用权重排序更均匀些(表A)
以下是例子:
表a
screenshot
表b
screenshot
要求结果:
表a和表b各自排序,排序后按结果赋予顺序权重值从小到大:
a表排序后:
screenshot
B表排序后:
screenshot
然后将两个权重结果合并求和排序,按从小到大:
结果如下:
screenshot
主要是为了求出权重最小的d. 求指导,谢谢

分享到
取消 提交回答
全部回答(1)
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章