解决整数约束的优化问题

整数规划算法使受等式、不等式和整数约束的函数最小化或最大化。整数约束限制优化问题中的部分或所有变量仅采用整数值。这使涉及离散数量(如股票份额)的问题的精确建模成为可能或是或否决策。当只有部分变量存在整数约束时,该问题称为混合整数规划(MIP)。整数规划问题的示例包括投资组合优化在金融学中,能源生产中发电机组的最优调度(机组承诺);优化设计在工程中,以及在运输和供应链应用中的调度和路由。

整数规划的数学问题是找到一个向量\(x\),使函数最小化:

\ [\ min_x f (x) \]

受以下限制:

\[\begin{eqnarray}g(x)\leq 0&\quad&\text{(不等式约束)}\\h(x)=0&\quad&\text{(等式约束)}\\x\u i\in\mathbb{Z}&\quad&\text{(整数约束)}\end{eqnarray}]

这是整数规划的最普遍形式,被称为混合整数非线性规划(MINLP)。

许多问题可以只用线性目标和约束来表述。在这种情况下,整数规划称为混合整数线性规划(MILP),写成:

\ [\ min_ {x} \左\ {f ^ {\ mathsf {T}} x \ \} \]

受以下限制:

\[begin{eqnarray}Ax \leq b & quad & text{(不等式约束)}\\A_{eq}x = b_{eq} & \quad & text{(等式约束)}\lb \leq x \leq ub & quad & text{(边界约束)}\ x_i \in \mathbb{Z} & quad & text{(整数约束)}\end{eqnarray}\]

整数规划算法可以在MATLAB等软件中实现®。求解MILP通常需要使用多种技术的组合来缩小解空间,找到整数可行解,并丢弃解空间中不包含更好整数可行解的部分。整数规划的常用技术包括:金宝搏官方网站

  • 减少飞机:为问题添加其他约束,以减少搜索空间。
  • 启发式:搜索整数可行解。金宝搏官方网站
  • 分支界限法:系统地搜索最佳解决方案。该算法求解线性规划整数变量可能值的限制范围的松弛。

优化工具箱™中的MILP求解器实现了这些技术。

通过将这些整数规划技术应用于非线性函数,或通过将非线性函数线性化并求解一系列MILP,可以解决一些MINLP。当非线性函数只能在积分点处求值时,需要其他技术。实现了两种适用于这类整数规划的算法在全局优化工具箱中:

  • 遗传算法:模拟自然选择过程,该过程反复修改限制为整数值的单个解决方案的总体。金宝搏官方网站
  • 代理优化:自动构建问题的代理模型,该模型可以放松,然后通过将MILP技术调整到MINLP来解决。

有关整数编程的更多信息,请参见优化工具箱全局优化工具箱



用例


混合整数线性规划的例子



参见:优化工具箱全局优化工具箱线性规划二次规划非线性规划遗传算法投资管理能源交易规范的分析