背包问题求解器

knapsack-pip的Python项目详细描述


背包点数:0-1背包解算器

这是一个解决背包问题的图书馆。在

使用这个解算器来最大化或最小化0-1背包问题的一个分枝定界算法。在

非负权重和利润也可以包括在内。在

安装

这个库可以通过pip安装。使用命令:pip install knapsack-pip

使用

到目前为止,针对不同的算法有不同的背包解算器:

  • BB背包:一个使用分支和堆栈绑定的背包解算器。导入:from knapsack01.BBKnapsack import BBKnapsack
  • HSKnapsack:一个使用Horowitz-Sahni分枝定界算法的背包求解器。导入:from knapsack01.HSKnapsack import HSKnapsack

输出包括最大或最小利润及其对应的解决方案,作为与项目列表长度相同的列表(如果方案中包含第i项,则方案[i]=1;否则,方案[i]=0)

最大化示例

from knapsack01.BBKnapsack import BBKnapsack

capacity = 50
weights = [31, 10, 20, 20, 5, 3, -6]
profits = [70, 20, 39, 37, 7, 5, 10]

my_knapsack1 = BBKnapsack(capacity, profits, weights)
max_profit, max_solution = my_knapsack1.maximize()
# (126, [1, 0, 1, 0, 1, 0, 1])

最小化示例

^{pr2}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
从数组返回类类型的java   关于Executor服务的java澄清   java在Eclipse中找不到快捷菜单   如何在java中只打印时间?   创建不可由GC收集的java类   java有向边图的逆   java Dijital海洋空间列表对象不工作   java Play 1.2.4 findByID不适用于复合Id   如何在Java中使用switch语句添加两个整数   我的log4jjava问题。lang.ClassNotFoundException:=org。阿帕奇。log4j。滚动文件   Springboot 2.4.0RC1和SpringCloud配置(Illford)java。lang.VerifyError:无法从最终类继承   java如何使方法线程安全   使用自定义SSL配置的java启动WebLogic服务器   java缺少右括号   如何在Java中使用Rally Rest API获取测试集ID?