作者answermangtr (牧羊少年)
看板Prob_Solve
标题[讨论] 业务逻辑最佳化解
时间Thu Dec 15 00:40:43 2022
业务的逻辑是这样的
出货的计算是以栈板为单位
而可以摆放在同一栈板的物品有一套逻辑
在此基础下 希望每次将多笔不同物品的订单
合并栈板 达到节省栈板的目的
目前作法如同填满罐子的做法
先sort by 数量最多的订单
一比一比看是要开新栈板还是可以合并旧栈板
时间复杂度N
如同一个瓶子要填满
可以先依序石头 沙 水 的逻辑
但这样还是有可能譬如本来两笔数量中等的订单本来可以刚好填满一个栈板
但依此逻辑可能不会合成一个栈板
即无法达到最佳化
後来还有想到就是两个回圈 也是从最大数量开始
当一笔进来的时候 先确定是否可以刚好塞满一板 没有的话再分配给其他板或开新板
但这样就会变时间复杂度就会是N的平方
想问看看 有什麽的办法可以做得更好吗(更好是指用最少的板数 节省费用)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.229.89.237 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Prob_Solve/M.1671036045.A.1A3.html
※ 编辑: answermangtr (36.229.89.237 台湾), 12/15/2022 00:42:10
1F:推 fatcat8127: 听起来是属於(无限)背包问题,最小化未使用到的空间 12/15 03:31
2F:→ answermangtr: 看起来是这个方向没错 谢谢 我研究看看 12/15 17:37
3F:→ xam: 第一个状况会把两个刚好的分开,但最後总栈板数不会浪费吧 12/15 23:56