问题描述
我尝试为我的问题正确编写线性规划模型。
我想最小化 w_i
的总和,并且我有以下约束:
(a_i+w_i ≤ w_j) XOR (a_j+w_j ≤ w_i)
a_i and a_j are integer constants
w_i and w_j are integer variables
一般来说,当我们写系统的标准形式时,我们有方程,其中写部分代表产品的最大或最小数量,这个数量是明确定义的,但在我的问题中 w_i
和 { {1}} 是未知的,它们应该由我的 ILP 计算,所以我无法在编写标准表格时定义预算 w_j
,并且在制定与标准表格相对应的第一个表格时!请问我该怎么做?!
Re: 我使用单纯形法 所有变量都是整数
解决方法
(1) 严格来说,单纯形法只适用于连续问题。
(2) INEQ1 OR INEQ2
可以通过添加二进制变量来完成。我从未见过带有 INEQ1 XOR INEQ2
的模型。我怀疑在你的情况下我们只能使用 INEQ1 OR INEQ2
。
(3) OR 通常被建模为:
a(i)+w(i) ≤ w(j) + M*δ(i,j)
a(j)+w(j) ≤ w(i) + M*(1-δ(i,j))
δ(i,j) ∈ {0,1}
这里的 M
是一个大 M:一个足够大的常数。通常我们可以将这些约束限制在 i<j
由于对称性的情况。