线性规划是最优化问题的一种特殊情形,实质是从多个变量中选取一组合适的变量作为解,使得这组变量满足一组确定的线性式(约束条件),而且使一个线性函数(目标函数)达到最优。

一、线性规划的数学模型

满足以下三个条件的数学模型称为线性规划:
       1,该问题可以用一组变量(决策变量)来表示一个解决方案。
       2,有目标函数,是决策变量的线性函数。
       3,有约束条件,可用一组线性等式或者不等式来表示。

线性规划问题的一般形式为:
在这里插入图片描述
式中,c1,c2,...,cnc_1,c_2,...,c_nc1,c2,...,cn叫做目标函数系数或者价值系数,b1,b2,...bnb_1,b_2,...b_nb1,b2,...bn叫做资源系数。

二、线性规划问题的标准形式

       线性规划问题的标准形式是目标函数要求最小,所有约束条件都是等式约束,且所有的决策变量都是非负的。
在这里插入图片描述
       其化简形式为:
在这里插入图片描述
       用矩阵形式表示:
minf(X)=c∗Xminf(X)=c*Xminf(X)=cX
s.t.A∗X=b,X>=0s.t. A*X=b,X>=0s.t.AX=b,X>=0
任意的线性规划问题都可以转化为标准形式:
       1,若目标函数求求最大值,则只需要将目标函数的系数乘-1,就可以变为求解最小值问题,求得其最优解后,把最优目标函数值反号即得原问题得目标函数值。
       2,若约束条件为不等式,若是“<=“则加入松弛变量,若是”>=”,则加入剩余变量,将不等式变为等式。
       3,对于无约束得变量xkx_kxk,可令xk=x1−x2,(x1,x2>=0)x_k=x_1-x_2,(x_1,x_2>=0)xk=x1x2,(x1,x2>=0)

三、线性规划问题的求解

       线性规划问题得可行解有无穷多个,与某一凸集上得无穷多个点一一对应,可以证明,最优解必定在凸集得顶点,而顶点得个数是有限的,单纯形法是采用跨越式得方式,高速求解最优解得一种方法。

3.1 基本思路

1,首先将线性规划问题转化为标准形式;
2,求解初始可行解;
3,判断是否为最优解;
4,如果不是最优,则迭代到其相邻得基本可行解并在此检验。
       单纯形法把寻优的目标集中在所有基本可行解中,是从一个初始的基本可行解出发,寻找一条达到最优基本可行解的最佳途径。
在这里插入图片描述

3.2 单纯形表

在这里插入图片描述
为了解释以上单纯形表中的各符号意思,举一个具体的题目来说明:
在这里插入图片描述
1,首先确定其各矩阵
C=(−5,−2,−3,1,−1)C=(-5,-2,-3,1,-1)C=(5,2,3,1,1)
在这里插入图片描述
2,得到初始单纯形表
在这里插入图片描述
初始基本可行解为X=[0,0,0,8,7],Z=1X=[0,0,0,8,7],Z=1X=[0,0,0,8,7],Z=1

3,变换
在这里插入图片描述
       x3x_3x3换入变量,x4x_4x4换出变量。

在这里插入图片描述
       得到可行解X=[0,0,4,0,3],Z=−15X=[0,0,4,0,3],Z=-15X=[0,0,4,0,3],Z=15

在这里插入图片描述

       x1x_1x1换入变量,x5x_5x5换出变量。

在这里插入图片描述
       得到最优解X=[6/5,0,17/5,0,0],Z=−81/5X=[6/5,0,17/5,0,0],Z=-81/5X=[6/5,0,17/5,0,0],Z=81/5

四、matlab求解

       首先要将原问题转化为标准形式的线性规划:
在这里插入图片描述
       基本函数形式为
[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub,X0,OPTIONS)[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub,X_0,OPTIONS)[x,fval]=linprog(c,A,b,Aeq,beq,lb,ub,X0,OPTIONS)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐