整数规划基本介绍:
其实就是在普通线性规划上加了整数这一概念,要求所给的最优解为整数;
在实际生活中应用居多,对于最优解为较小的整数时的规划问题多有针对;
关于标准线性规划下的整数规划问题:
对于部分整数规划问题,是可以用求解标准线性规划的思想进行求解,比如单纯形法;
但是怼整数规划的形式有所要求;
【补充】关于幺模矩阵的概念:
其中值得注意的两点:
1.A的内部所有元素都为整数;
2.A的任何m*m方阵的行列式,值都为+1,-1,也就说明都可以当作基向量;
所以,对于这一类整数规划问题,可以得到重要的结论:
【定理】对于Ax=b,其中A为幺模矩阵,b为整数向量,则所有基本可行解都为整数解(具体证明可以通过矩阵的x=B-1b来进行相关的证明);
但是,对于给出的整数规划问题,往往不会使得A为幺模矩阵,只是一个整数矩阵,如果采用单纯形法,也就是会按照之前所说的得到一个最优非整数基本解,而非整数最优基本解;
对于这类整数规划问题,可以寻找det(B)=1的基,这样可以得到基本可行解为整数向量;
但是注意,如果找到的基不满足det(B)=1,所得到的基本解是整数向量,但是不可行,也就是x>=0不会满足;
因此:对于使用单纯形法解这一类整数规划问题(A,b都为整数),直接每次挑选det(B)=1的基向量,直接计算,最终必定可以得到最优基本解;
关于非标准线性规划下的整数规划问题:
对于上述的幺模矩阵推论,是在标准型下,也就是Ax=b下得到的;
但是对于非标准形式下,需要完全幺模矩阵的概念;
【完全幺模矩阵】:
就是在幺模矩阵上多加了一条:对于A的任何非零子式(而非m*m),都为+1或者-1;
对于非标准形式下的整数规划问题:
值得注意的是,对于先前讨论的标准形式,如果Ax=b形式,如果A不是幺模矩阵,只需要保证基向量的行列式值满足条件,仍然可以获得整数最优基本解;
所以对于[A I],如果不是幺模矩阵,也就是A不是完全幺模矩阵,也可以有方法得到整数规划的最优解,也就是符合预期的最优整数基本解;
混合整数规划问题:
关于整数规划,并不可能和上述所说的那样,有C参数向量全为整数;
对于变量不全为整数的整数规划问题,称之为混合整数规划问题;
此时,如果采用基于幺模矩阵的单纯形法就不再可行;
《最优化导论》介绍了Gomory割平面法;
Gomory割平面法:
该方法旨在不断地添加约束,来筛选整数解;
从空间上来说,增加约束方程,无非是进一步的限制了点集的范围,使得关心的点区域逐步缩小,这种添加约束本质也就是添加了“平面”,个人觉得这也是割平面的意义;
对于基本的原理和推导如下所示
例如,对于按照该思想的其中一步,有:
从上述可以看,通过及变量增加了新的参数方程;