求解带整数约束的优化问题

整数编程算法最小化或最大化符合平等,不等式和整数约束的函数。整数约束限制了优化问题中的一些或全部变量,仅占用整数值。这使得能够准确建模涉及离散数量的问题(例如股票的股票)或者是 - 或者没有决定。当只有一些变量有整数约束时,问题称为混合整数程序(MIP)。示例整数编程问题包括投资组合优化在金融领域,能源生产中发电机组的优化调度(机组组合),设计优化工程、运输和供应链应用中的调度和路线。

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

\[\min\u x f(x)\]

受以下限制:

\ [\ begin {eqnarray} g(x)\ leq 0&quad&\ text {(不等式约束)} \\ h(x)= 0&\ quad&\ text {(平等约束)} \\ x_i \在\ mathbb {z}&\ quad&\ text {(整数约束)} \ neg {eqnarray} \]

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

许多问题只能用线性目标和约束来描述。在这种情况下,整数规划称为混合整数线性规划(MILP),其编写方式如下:

\[\min{x}\left\{f^{\mathsf{T}}x\right\}\]

受以下限制:

\[\begin{eqnarray}Ax\leq b&\quad&\text{(不等式约束)}\\A{eq}x=b{eq}&\quad&\text{(等式约束)}\\lb\leq x\leq ub&\quad&\text{(绑定约束)}\\x\u i\in\mathbb{Z}&\quad&\text{(整数约束)}\end{eqnarray}]

整数规划算法可以在MATLAB等软件中实现®.解决MILLS通常需要使用技术的组合来缩小解决方案空间,找到整数可行的解决方案,并丢弃不包含更好整数可行解决方案的解决方案空间的部分。万博 尤文图斯整数编程的常用技术包括:

  • 切面:为问题添加其他约束,以减少搜索空间。
  • 启发法:搜索整数可行的解决方案。万博 尤文图斯
  • 分枝定界:系统地搜索最佳解决方案。算法解决了线性规划整变量可能值范围受限的松弛。

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

通过将这些整数编程技术适应非线性功能或通过线性化,可以通过线性化的非线性函数来解决一些MINLP并解决MILLS。当非线性函数只能在积分点评估时,需要其他技术。适用于这些类型整数程序的两种算法在全局优化工具箱中实现:

  • 遗传算法:模仿自然选择过程,反复修改限制为整体值的单个解决方案的群体。万博 尤文图斯
  • 代理优化:自动构建问题的代理模型,该模型可以放松,然后通过将MILP技术调整到MINLP来解决。

有关整数规划的详细信息,请参阅优化工具箱全局优化工具箱.

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