algorithm – 0-1背包带分区约束

栏目: 编程工具 · 发布时间: 7年前

内容简介:我有一个问题,表面看起来像0-1背包.我有一组可以选择(或不选择)的可能“候选人”,每个候选人都有“权重”(成本)和潜在的“价值”.如果这是整个问题,我会使用DP方法并完成它.但是这里是曲线球:对最终解决方案中可能存在的候选者存在“分区约束”.我的意思是候选空间被分成不连续的等价类.对于我的特殊问题,大约有300个候选人和12个可能的等同类.有“商业规则”说我只能说C1级的3名候选人和C2级的6名候选人等.这个约束建议使用分支定界技术或其他形式的修剪的图搜索类型方法,但是我有点难以理解如何开始,因为我只熟悉

我有一个问题,表面看起来像0-1背包.我有一组可以选择(或不选择)的可能“候选人”,每个候选人都有“权重”(成本)和潜在的“价值”.如果这是整个问题,我会使用DP方法并完成它.但是这里是曲线球:对最终解决方案中可能存在的候选者存在“分区约束”.

我的意思是候选空间被分成不连续的等价类.对于我的特殊问题,大约有300个候选人和12个可能的等同类.有“商业规则”说我只能说C1级的3名候选人和C2级的6名候选人等.

这个约束建议使用分支定界技术或其他形式的修剪的图搜索类型方法,但是我有点难以理解如何开始,因为我只熟悉0-1背包的DP解决方案.哪些技术/方法可能适合这个问题?我还想过可能使用约束编程库但不确定它是否能够找到解决方案?

您可以尝试使用整数线性规划求解器,其中有一个二元变量用于选择每个候选.约束很容易表示为线性不等式.有300个变量,求解器解决它时不会有太多麻烦.

最简单的方法可能是以文本格式(如 CPLEX LP format )编写问题,然后使用Coin CBC或GLPK等求解器.

翻译自:https://stackoverflow.com/questions/9143885/0-1-knapsack-w-partitioning-constraints


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人人都是产品经理

人人都是产品经理

苏杰 / 电子工业出版社 / 2014-9-1 / CNY 55.00

《人人都是产品经理(纪念版)》为经典畅销书《人人都是产品经理》的内容升级版本。对于大量成长起来的优秀互联网产品经理,为数不少想投身产品工作的其他岗位从业者,以及更多有志从事这一职业的学生而言,这本书曾是他们记忆深刻的启蒙读物、思想基石和行动手册。作者以分享经历与体会为出发点,以“朋友间聊聊如何做产品”的语气,将自己数年产品工作过程中学到的思维方法与做事方式,及其它们对自己的帮助,系统性地梳理为用户......一起来看看 《人人都是产品经理》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具