常见的整数规划建模技巧(逻辑关系、分段线性函数、绝对值)

目录

逻辑关系

分段线性函数

绝对值


 

 

逻辑关系

 

【例 1】

\large ax \geq b

\large cx = d

两个约束至少满足其中一个

 

【模型 1】

定义 0-1 变量 y1 表示是否满足约束 1,y2 表示是否满足约束 2。

\large ax + M \cdot (1 - y_{1}) \geq b

\large cx + M \cdot (1 - y_{2}) \geq d

\large cx + M \cdot (y_{2} - 1) \leq d

\large y_{1} + y_{2} \geq 1

 

【模型 2】

\large ax \geq b - M \cdot p

\large cx = d + q

\large (p - 1) \cdot M \leq q \leq (1 - p) \cdot M

只有 p 为 0-1 变量。

p 取 0 时,约束 1 成立;q 取 0 时,约束 2 成立。

缺点:如果问题拓展为,n 个约束满足 k 个,则无法表示。

 

【例 2】

由 0-1 变量 x1, x2, x3, x4 组成的两个向量 (x1, x2) 和 (x3, x4) 不等。

\large x_{1} \neq x_{3}

\large x_{2} \neq x_{4}

至少满足一个。

 

【模型】

定义 0-1 变量 y1 表示 x1>x3 成立,z1 表示 x1<x3 成立;

定义 0-1 变量 y2 表示 x2>x4 成立,z2 表示 x2<x4 成立。

\large x_{1} - x_{3} \geq 1 + M \cdot (y_{1} - 1)

\large x_{1} - x_{3} \leq -1 + M \cdot (1 - z_{1})

\large x_{2} - x_{4} \geq 1 + M \cdot (y_{2} - 1)

\large x_{2} - x_{4} \leq -1 + M \cdot (1 - z_{2})

\large y_{1} + z_{1} + y_{2} + z_{2} \geq 1

 

【例 3】

if... then...

\large if \quad x_{i} + p_{i} \leq x_{j}

\large then \quad x_{k} + p_{k} \leq x_{m}

 

【模型】

\large x_{j} - (x_{i} + p_{i})\leq M \cdot (1 - w)

\large (x_{k} + p_{k}) - x_{m} \leq M \cdot w

\large w \in \{0, 1\}

 

 

【参考文献】

Hamdy A. Taha. Operations Research an Introduction 初级篇 Chapter 8

 

 

分段线性函数

 

【例】

\large f(x) = \begin{cases} x + 3 \quad -4 \leq x \leq 1 \\ 2x + 2 \quad 1 \leq x \leq 5 \end{cases}

 

【模型 1】

定义 0-1 变量 y1 表示 x 是否在 [-4, 1] 区间内,y2 表示是否在 [1, 5] 区间内。

定义辅助变量 x1 和 x2.

\large -4 y_{1} \leq x_{1} \leq y_{1}

\large y_{2} \leq x_{2} \leq 5y_{2}

\large f = x_{1} + 3y_{1} + 2x_{2} + 2y_{2}

\large y_{1} + y_{2} = 1

 

【模型 2】

定义 0-1 变量 z 表示 x 是否在第二个区间内。

\large -4 \leq x \leq 5

\large 1 - M \cdot (1 - z) \leq x \leq 1 + M \cdot z

\large f \geq x + 3 - M \cdot z

\large f \leq x + 3 + M \cdot z

\large f \geq 2x + 2 - M \cdot (1 - z)

\large f \leq 2x + 2 + M \cdot (1 - z)

 

 

【论文推荐】

Vielma J. P., Ahmed S. & Nemhauser G. (2010). Mixed-Integer Models for Nonseparable Piecewise-Linear Optimization: Unifying Framework and Extensions. Operations Research, 58(2), 303-315.

 

 

绝对值

 

【例】

取实数 d 的绝对值。

 

【模型】

定义 y 表示 d 是否大于 0,x表示 d 的绝对值。

\large (y - 1) \cdot M \leq d \leq y \cdot M

\large -d - M \cdot y \leq x \leq -d + M \cdot y

\large d - M \cdot (1 - y) \leq x \leq d + M \cdot (1 - y)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值