首页 > 解决方案 > 线性规划 - 非互正约束

问题描述

我正在尝试一个受各种约束的最大化问题。

即最大y = x1 + x2 + x3 + .... + xn

其中每个 xi 是随时间变化的值向量:x1 = (x11, x12, x13,...)

一些约束条件规定 xit 的特定值在同一时间段内不能为正。

即如果(x1t > 0),x2t = 0;如果(x2t > 0),x1t = 0

对于上下文,该约束相当于“最大化一家商店的收入,但您不能在同一天销售产品 A 和 B”

如何在 Excel 中制定 LP 模型(使用求解器)来解决这个问题。

标签: excellinear-programming

解决方案


这称为互补性约束。对此建模的一种方法是:

x(1,t) * x(2,t) = 0
x(i,t) ≥ 0

然而,这是非线性的(并且以某种令人讨厌的方式)。使用额外的二进制变量 δ 的线性方法可能如下所示:

x(1,t) ≤ UP(1,t) * δ(t)  
x(2,t) ≤ UP(2,t) * (1-δ(t))
x(i,t) ∈ [0,UP(i,t)]     'UP is an upper bound on x'
δ(t) ∈ {0,1}             'δ is a binary variable' 

推荐阅读