优化概念

线性规划

最简单的数学规划类型是线性规划。要使你的数学规划成为线性规划,你需要满足以下条件:

  • 决策变量必须是实数变量;

  • 目标必须是线性表达式;

  • 约束条件必须是线性表达式。

线性表达式是任何形式的表达式

\[a_1 x_1 + a_2 x_2 + a_3 x_3 + ... a_n x_n \{<= , =, >=\} b\]

其中 \(a_i\)\(b\) 是已知常数,而 \(x_i\) 是变量。解决线性规划的过程称为线性规划。线性规划通过修正单纯形法(也称为原始单纯形法)、对偶单纯形法或内点法来完成。一些求解器如 cplex 允许你指定使用哪种方法,但我们不会在这里进一步详细讨论。

整数规划

整数程序与线性程序几乎相同,但有一个非常重要的例外。整数程序中的一些决策变量可能需要只有整数值。这些变量被称为整数变量。由于大多数整数程序包含连续变量和整数变量的混合,它们通常被称为混合整数程序。虽然从线性编程的改变是微小的,但对求解过程的影响是巨大的。整数程序可能是非常难以解决的问题,目前有很多研究正在寻找“好”的方法来解决整数程序。整数程序可以使用分支定界法来求解。

对于任何合理大小的MIP,随着整数变量数量的增加,求解时间呈指数增长。