整数规划算法最小化或最大化受等式、不等式和整数约束的函数。整数约束限制优化问题中的部分或全部变量只取整数值。这使得对涉及离散数量(如股票份额)或是非决策的问题进行精确建模成为可能。当只有一些变量有整数约束时,这个问题被称为混合整数程序(MIP)。示例整数规划问题包括投资组合优化在能源生产中的金融,最佳调度(单位承诺),设计优化在工程和调度和运输和供应链应用中的调度和路由。
整数编程是查找要最小化函数的向量\(X \)的数学问题:
\ [\ min_x f(x)\]
受限制:
\[begin{eqnarray}g(x) \leq 0 & \quad & \text{(不等式约束)}\\h(x) = 0 & \quad & \text{(等式约束)}\\ x_i \in \mathbb{Z} & \quad & text{(整数约束)}\end{eqnarray}\]
这是最常见的整数编程形式,称为混合整数非线性程序(MINLP)。
只有线性目标和约束可以配制许多问题。在这种情况下,整数程序称为混合整数线性程序(MILP),并编写为:
\ [\ min_ {x} \ left \ {f ^ {\ mathsf {t}} x \ rick \} \]
受限制:
\ [\ 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 {(整数约束)} \ neg {eqnarray} \]