赞
踩
一、混合整数规划基础知识
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问题用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。