获得徽章 18
- #Trae.ai# Trae国内版本终于来了,现在支持deepseek和豆包模型,能否平替cursor呢,让我们拭目以待。赞过43
- 求助了jym! 开发中遇到一个算法问题如下:
一个产品总共有A个,分别装在M个箱子里,每个箱子中的数量有可能不一样。
需要取B个产品出来(B<=A), 分别发往J个仓库,发往每个仓库的数量也可能不一样。
此时需要从箱子里取出对应数量的产品发往各个仓库。
如果发往仓库的数量不能由多个箱子组成,这个时候就得拆箱操作。
需要找到最佳的箱子分配方案,也就是说需要最少次拆箱的方案是最佳方案。
举个例子:
"""
产品A = 50, 箱子信息是 box_dict ={'a01': 10, 'a02': 10, 'a03': 5, 'a04': 5, 'a05': 20}。
需要取B = 50个产品,发往仓库的信息是 warehouse_dict = {'address_0': 12, 'address_1': 25, 'address_2': 13}。
最佳的结果就是 allocation = {'address_0': {'a01': 10, 'a02': 2}, 'address_1': {'a05': 20, 'a03': 5}, 'address_2': {'a04': 5, 'a02': 8, }}, 这样的话只需要对‘a02’拆箱为[2, 8].
"""
需求就是这样,请问用代码如何来找到最佳方案呢?展开3点赞
![[流汗]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_26.1117a72.png)