Warm tip: This article is reproduced from serverfault.com, please click

linear programming-如何使用单纯形法动态定义约束?

(linear programming - How could constraints be dynamiclly defined with simplex method?)

发布于 2020-12-21 10:35:44

我尝试为我的问题正确编写一个线性编程模型。我想最小化的总和,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_iw_j未知,应通过计算我的ILP,因此b在编写标准表格时以及在制定与标准表格相对应的第一个表格时我无法定义预算请问我该怎么做?

回复:我使用单纯形法,所有变量都是整数

Questioner
FifaBen
Viewed
1
Erwin Kalvelagen 2020-12-21 19:34:51

(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是一个big-M:足够大的常数。通常,我们可以将这些约束限制i<j为对称的情况