整数编程算法最小化或最大化的函数受到相等,不相等,和整数约束。整数约束限制部分或全部的优化问题的变量来只取整数值。这使得涉及离散量(如股股票),或者是或否的决策问题的精确建模。当存在于仅一些变量整数约束,这个问题被称为混合整数规划(MIP)。例如整数规划问题包括投资组合优化在金融学中,能源生产中发电机组的最优调度(机组承诺);优化设计在工程中,以及在运输和供应链应用中的调度和路由。
整数规划的数学问题是找到一个向量\(x\),使函数最小化:
\ [\ min_x f (x) \]
受以下限制:
\ [\ {开始} eqnarray的G(X)\ 0当量&\四&\文本{(不等式约束)} \\ H(X)= 0&\四&\文本{(等式约束)} \\ X_I \在\ mathbb {Z}&\四&\文本{(整数约束)} \ {端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}\]