关键词:目标函数、约束条件,整数规划,分支定界,割平面,松弛变量
线性规划问题:求多变量线性函数在线性约束条件下的最优值。
两种表示形式:一般形式和标准形式
实际上,任意的线性规划问题都可化为标准形式。需要以下三步:
简单来说就是加负号规范目标函数,引入松弛变量让约束条件变为等式,这都是一些小技巧。
下面是一个我认为线性规划问题标准化比较有代表性的例子:
以上这些工作,都是为了线性规划问题更好的求解。
我们规定了约束条件,满足约束条件的解就称为可行解,满足目标式的可行解则是最优解。
所有可行解的集合称为可行域,是一个凸多边形,即凸集,这个凸边形的顶点称为基本可行解,最优解必在顶点处达到。
以上顶点,从一个顶点出发,转换到另一个顶点,并且使目标函数逐步减小,有限步后即可达到最优解。我们称这种方法为单纯形法。
单纯形法的数学过程:
由于单纯形法能保证每步迭代均使得目标函数严格下降,故不会出现重复现象,所以经过有限步迭代后必可得到最优解。
除了单纯形法求解、代数求解线性规划最优问题,我们还可以通过MATLAB编码求解,主要建议如下:
Matlab中求解线性规划的命令为:
[x,fval] = linprog(c,A,b)
[x,fval] = linprog(c,A,b,Aeq,beq)
[x,fval] = linprog(c,A,b,Aeq,beq,lb,ub)
其中x返回的是决策向量的取值,fval返回的是目标函数的最优值,c为价值向
量,A,b对应的是线性不等式约束,Aeq,beq对应的是线性等式约束,lb和
ub分别对应的是决策向量的下界向量和上界向量。