【发布时间】:2019-02-20 02:46:12
【问题描述】:
当使用纸浆定义混合整数线性规划问题时,可以这样定义 sos:
x1 = LpVariable('x1', cat = LpInteger)
x2 = LpVariable('x2', cat = LpInteger)
prob.sos1['sos'] = x1 + 2*x2
(“sos”,或特殊排序的集合,是一个特殊的约束,指定集合中只有一个变量可以是非零的)。
我们看到这允许为 sos 变量(在本例中为 1,2)指定权重。大概他们定义了每个变量的优先级,即在分支时哪些变量首先允许为非零。
但是权重到底是如何定义的呢?
底层求解器是 coin-or-cbc,我找不到任何关于他们如何使用 SOS 权重的信息。
【问题讨论】:
标签: linear-programming pulp integer-programming mixed-integer-programming coin-or-cbc