gpt4 book ai didi

c++ - 具有多个约束条件(例如重量,体积等)的背包

转载 作者:行者123 更新时间:2023-12-02 10:30:10 27 4
gpt4 key购买 nike

Ive成功地用C++编写了算法,以获取整数背包,分数背包和混合型背包的最佳解决方案,所有解决方案都允许或不限制允许携带多少个物品。
这些仅处理单个约束(即权重)的项目。如果我想解决可能有2个以上约束的背包,我是否应该从已经编写的其他代码中提取还是需要编写全新的算法?
整数型和混合型背包被写成求解动态规划,而小数则用贪心。
例如
给定两个整数项和一个分数项。
分别是(9,8,3)
各自的权重为(2、3、1)最大权重= 24
各自的音量为(3、2、2)最大音量= 23
找到最优解并求和。
我相信我算出的总和是77.5

最佳答案

一旦有多个约束,就进入线性编程(如果所有变量都可以是小数)或混合整数线性编程(如果有些需要为整数)的领域,那么最好的选择是使用MILP求解器。有几种商业解决方案(cplex,gurobi,xpress)和开源解决方案(clp / cbc,glpk)。

关于c++ - 具有多个约束条件(例如重量,体积等)的背包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62555847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com