cplex整数规划_Branch-and-Cut 解混合整数规划(MIP)

一、混合整数规划基础知识

Gurobi MIP求解器,最常求解的问题形式是:

目标函数: min

约束: A x = b (线性约束)

l ≤ x ≤ u (bound约束)

部分或全部

是整数 (整数约束)

整数约束使MIP模型可以获得离散特征的决策。比如,某个值为限制为0或1,即0-1约束,可以表示是否采取某个行为,比如决定vehicle是否通过某条路径。

Gurobi MIP求解器还可以求解具有二次目标和(或)二次约束的模型:

目标函数: min

约束: A x = b (线性约束)

l ≤ x ≤ u (bound约束)

(二次约束)

部分或全部

是整数 (整数约束)

具有二次目标但没有二次约束的MIP模型称为混合整数二次规划(Mixed Integer Quadratic Programming, MIQP) 问题。具有二次约束的MIP模型称为混合整数二次约束规划(Mixed Integer Quadratically Constrained Programming, MIQCP)问题。没有任何二次特征的模型通常被称为混合整数线性规划(MILP)问题。

以下是Gurobi用于解决MILP模型的算法的描述, MIQP和MIQCP与此类似。

二、Branch-and-Bound

MILP问题一般用基于branch-and-bound算法的线性规划来解。

1. 总述

基本的基于LP的分支定界如下:

从最初的MIP开始,首先删除所有的整数约束。得到的LP称为原始MIP的线性规划松弛。然后我们解这个LP。如果结果恰好满足所有整数限制,太幸运了,该解决方案是原始MIP的最优解,运算终止。如果结果没有满足所有整数限制(大多数是这种情况),需要选择某个整数约束、实际是小数值的变量进行branch。为了便于说明,假设这个变量是x,它在LP松弛中的值是5.7。然后,我们可以通过施加x≤5.0和x≥6.0的限制来排除该值5.7。

如果原始MIP问题用

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值