《实验报告(单纯形法的matlab程序)》由会员分享,可在线阅读,更多相关《实验报告(单纯形法的matlab程序)(9页珍藏版)》请在人人文库网上搜索。
1、实验一:线性规划单纯形算法一、实验目的通过实验熟悉单纯形法的原理,掌握Matlab循环语句的应用 ,提高编程的能力和技巧。二、算法对于一般的标准形式线性规划问题(求极小问题 ),首先给定一个初始基本可行解。设初始基为B,然后执行如下步骤:(1).解 BxB b ,求得 xBB 1b , 令 xN0, 计算目标函数值 f cB xB以 b1,2,., m)记B1的第个分量i (ibi(2). 计算单纯形乘子w ,wB CB,得到w CB B1,对于非基变量,计算判别数izi cicB B 1 pici ,令kmax zici ,R 为非基变量集合i R若判别数k0,则得到一个最优基本可行解,运算。
2、结束;否则,转到下一步(3).解 Byk pk ,得到 ykB 1 pk ;若 yk0 ,即 yk 的每个分量均非正数,则停止计算,问题不存在有限最优解,否则,进行步骤 (4).bminb0yryt ,且 ytk(4).确定下标 r,使rkt: ytk 0tkxBr 为离基变量。 xk 为进基变量,用 pk替换 pBr,得到新的基矩阵 B ,返回步骤( 1)。对于极大化问题, 可以给出完全类似的步骤, 只是确定进基变量的准则不同。对于极大化问题,应令zkckmin z jc j 四、计算框图开始。初始可行解 B令 xBB 1bb, xN0, fcB xB计算单纯形乘子 wcB B 1 ,计算判。
3、别数iwp jc j , jR(非基变量)令kmaxj , jRk0?是得到最优解否解方程 Bykpk ,得到 ykB 1 pk 。yk0?是不存在有限最优解否确定下标 r ,是brminbt, 且ytk0yrkytkt: ytk 0xk 为进基变量,用pk 替换 pBr ,得到新的基矩阵 B五、计算程序function x,f=zuiyouhua(A,b,c)-可编辑修改 -。size(A)=m,n;i=n+1:n+m;%基变量集合 ,后面 m 个松弛变量为初始基变量;N=1:n;% 初始非基变量 ;B=eye(m,m);xb=b;xn=zeros(m,1);f1=0;w=zeros(1,m。
4、);z=-c;% 初始判别数 ;flag=1;while(1)a,k=max(z);%x(k)为进基变量 ;if a0);-可编辑修改 -。a,r1=min(b1(t)./y(t)r=t(r1); % 基变量中第 r 个变量为退基变量 ;i(:,r)=kB(:,r)=A(:,k);% 换基,即将原基中第个变量换成第个变量;cb=c(:,i);% 新的价值系数 ;xb=inv(B)*b;b0=xb;x=zeros(1,n+m)x(:,i)=xbf=cb*xbz=cb*inv(B)*A-c;%可用 z=cb*(BA)-c,判别数 .endend六、数值实验及结果分析求解线性规划问题 :min3x1x2s.t.3x13x2x3304x14x2x4162x1x212xi0,i1,2,3,4在工作区输入 :A=3,3,1,0;-4,-4,0,1;2,-1,0,0;b=30,16,12;c=-3,1,0,0;-可编辑修改 -。x,f=zuiyouhua(A,b,c)x =7.33332.666700056.00000f =-19.3333检验结果正确-可编辑修改 -。THANKS !致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考-可编辑修改。