解决各种背包问题

knapsack_python的Python项目详细描述


Build Status

背包python:解决各种背包问题

这个包是各种背包问题的解决方案的集合。 特别是,它有以下解决方案:

  • 01背包问题,
  • 01多背包问题(mkp),

在未来可能会更多。很好地介绍了这些种类 问题可以在维基百科上找到 (herehere)。 此外,它还包含我在工作中发现有用的函数。一个 这样的函数是assign_all,它将所有项分配给一个或多个 背包,同时尽可能地坚持能力 每一个背包。大多数解决方案都是 Silvano Martello和Paolo Toth优秀著作中给出的解决方案 *Knapsack Problems: Algorithms and Computer Implementations*

这些解决方案的实现都是用C++编写的。 用cython包装,用于python。

快速启动

安装
  • pip安装背包python

使用

所有函数都位于knapsack_python模块中。

示例

依赖性

  • 努比

待办事项

  • 更全面的文档
  • 执行其他与背包相关的问题,例如:
    • 0-1背包问题(实际上是mkp的特例)
    • 多项选择背包问题
    • 有界/无界背包问题
    • 变革问题
    • 广义指派问题

0.1.0

  • 初始版本实现:
    • 求解多背包问题的MTHM算法
    • 一个函数,在尝试 尽可能尊重背包的容量

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

推荐PyPI第三方库


热门话题
在数据库中存储密码的java加密方法   java正则表达式否定整个正则表达式   java为什么要得到这个Hashmap输出?   看不到玻璃鱼爪哇SE 6   类对象包装器中的Java基本数据字段   java从文本文件中读取整数并存储到单独的变量中?(扫描仪)   优化大型Java数据阵列的处理和管理   如何使用Java XML包装类创建对象   java为ExecutorService invokeAll()创建包装器   java如何在Android Studio 1.0.0中设置Facebook SDK?获取SDK位置未找到错误   java在尝试从线程启动动画时调用了FromErrorThreadException   java根据哈希确认文件内容   通过java在neo4j中获取索引值相同的所有节点?   java为什么我的Validare邮政编码(布尔)程序返回false?   java会话自动从servlet/jsp生成,尽管存在以下条件:<%@page session=“false”%>   创建新LANsocket时拒绝java连接   java如何多线程更新由sql代码更新的数据库?   安卓 Java使用类作为集合来添加项   安卓为什么我的清单文件不声明java包?