当前位置:   article > 正文

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

用cplex求解混合整数规划问题

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

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问题用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/537380
推荐阅读
相关标签
  

闽ICP备14008679号