[讨论] 业务逻辑最佳化解

楼主: answermangtr (你今天抓了嘛)   2022-12-15 00:40:43
业务的逻辑是这样的
出货的计算是以栈板为单位
而可以摆放在同一栈板的物品有一套逻辑
在此基础下 希望每次将多笔不同物品的订单
合并栈板 达到节省栈板的目的
目前作法如同填满罐子的做法
先sort by 数量最多的订单
一比一比看是要开新栈板还是可以合并旧栈板
时间复杂度N
如同一个瓶子要填满
可以先依序石头 沙 水 的逻辑
但这样还是有可能譬如本来两笔数量中等的订单本来可以刚好填满一个栈板
但依此逻辑可能不会合成一个栈板
即无法达到最佳化
后来还有想到就是两个循环 也是从最大数量开始
当一笔进来的时候 先确定是否可以刚好塞满一板 没有的话再分配给其他板或开新板
但这样就会变时间复杂度就会是N的平方
想问看看 有什么的办法可以做得更好吗(更好是指用最少的板数 节省费用)
作者: fatcat8127 (胖胖猫)   2022-12-15 03:31:00
听起来是属于(无限)背包问题,最小化未使用到的空间
楼主: answermangtr (你今天抓了嘛)   2022-12-15 17:37:00
看起来是这个方向没错 谢谢 我研究看看
作者: xam (听说)   2022-12-15 23:56:00
第一个状况会把两个刚好的分开,但最后总栈板数不会浪费吧

Links booklink

Contact Us: admin [ a t ] ucptt.com