1实验:编制《线性规划》计算程序一、实验目的:(1)使学生在程序设计方面得到进一步的训练,掌握Matlab(C或VB)语言进行程序设计中一些常用方法。(2)使学生对线性规划的单纯形法有更深的理解.二、实验用仪器设备、器材或软件环境计算机,MatlabR2009a三、算法步骤、计算框图、计算程序等本实验主要编写如下线性规划问题的计算程序:0,0..minbxbAxtscx其中初始可行基为松弛变量对应的列组成.对于一般标准线性规划问题:0,0..minbxbAxtscx1.求解上述一般标准线性规划的单纯形算法(修正)步骤如下:对于一般的标准形式线性规划问题(求极小问题),首先给定一个初始基本可行解。设初始基为B,然后执行如下步骤:(1).解BBxb,求得1BxBb,0,NBBxfcx令计算目标函数值1(1,2,...,)imBbii以b记的第个分量(2).计算单纯形乘子w,BwBC,得到1BwCB,对于非基变量,计算判别数1iiiBiizccBpc,可直接计算1BAccB令max{}kiR,R为非基变量集合若判别数0k,则得到一个最优基本可行解,运算结束;否则,转到下一步(3).解kkByp,得到1kkyBp;若0ky,即ky的每个分量均非正数,则停止计算,问题不存在有限最优解,否则,进行步骤(4).确定下标r,使:0min,0trrktktkbbtkyytyy且rBx为离基变量,,rkBxpk为进基变量,用p替换得到新的基矩阵B,还回步骤(1);22、计算框图为:开始初始可行基BBBNBxcfxbBx,0,1令R}j,max{)(,,jk1令非基变量计算判别数计算单纯性乘子RjcwpBcwjjjB?0k否得到最优解,,1kkkkpBypBy得到解方程?0ky否不存在有限最优解确定下标r,使得0|minikikirkryybybBppxxrrBkkB得到新的基矩阵代替进基变量,以为退基变量,,是是33.计算程序(Matlab):A=input('A=');b=input('b=');c=input('c=');formatrat%可以让结果用分数输出[m,n]=size(A);E=1:m;E=E';F=n-m+1:n;F=F';D=[E,F];%创建一个一一映射,为了结果能够标准输出X=zeros(1,n);%初始化Xif(n0)&&(b1(i)/(A(i,k)+eps))