ortools系列-整数规划
- 1. 整数规划
- 2. 混合整数规划CBC
- 3. 混合整数规划CP-SAT
- 4. 参考
1. 整数规划
有一些问题,要求一些但不是全部变量约束为整数,这类问题可以用混合整数规划(MIP)来解决,混合整数规划也称为混合整数线性规划(MILP)。这里有几个例子:
- 销售各种消费品的公司需要决定每个月生产多少,以实现利润最大化。在这类问题中,变量表示离散项的数量,如汽车或电视机,这些项必须是整数。
- 包裹递送公司需要将卡车分配到不同的路线,以满足他们的递送时间表,同时最小化成本。有时,解决此类问题的最佳方法是让变量表示要将哪些卡车分配到哪些路线的二进制(0-1)决策。如果给定的卡车被分配到特定的路线,变量为1,否则为0。由于变量只能取0或1的值,这也是一个整数优化问题。(特别地,这是一个布尔优化问题,OR-Tools有专门的技术来解决这个问题。)
OR-Tools提供了几种方法求解此类问题:
- 混合整数规划求解器(MIP)
- 约束规划求解器(CP)
- 最小成本流求解器
其中前两个是一般性的求解器,能解决任何整数规划问题,最后一个最小成本流求解器用于求解那些能建模成网络流的问题