箱子包装问题名称
I有固定数量的箱子,这些箱子本身没有重量。每个箱子只能装一定量的重量。并非所有的箱子都有相同的容量。I也有固定数量的物体,每个物体都有重量。不是所有的物
解答动态
让$w
o$表示对象$o$的权重,让$c
u b$表示箱子$b$的容量。
您可以将其解释为作业车间调度问题。对应的是,每个对象都是一个作业,持续时间为$w\o$,每个箱子都是一台机器,只能使用$c\u b$时间单位,$z$是makespan.
这也是瓶颈广义分配问题的特例,其中成本仅取决于任务(对象),而不取决于代理(bin)。让二进制变量$x{o,b}$指示对象$o$是否分配给bin$b$。问题是最小化$z$subject to\begin{align}\sum\u b x{o,b}amp;\text{for all$o$}\tag1\\\ sum\u w\u o x{o,b}amp;\text{for all$b$}\tag2\\\ sum\u w\u o x{o,b}&text{for all$b$}\tag3\\\\ end}{align}约束$(1)$将每个对象精确分配给一个对象箱子约束$(2)$强制执行bin 容量$(3)$强制执行minimax目标。
在CPLEX CPOptimizer中,您可以依赖pack约束。
在docu中稍微更改模型心理状态:
使用CP;intm=2;int n=3;dvar int l[j in 1..m]in 0..10000;dvar int p[i in 1..n]in 1..m;dvar int nb;int w[1..n]=[i:1i in 1..n];//最小化权重最重的装箱单最小化max(i in 1..m)l[i];服从{pack(l,p,w,nb);}assert nb==m-count(l,0); 给定s
l=[1 2];p=[1 2];nb=2;- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。