资源描述:
《实验2 单纯形法求解线性规划new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验2单纯形法求解线性规划成绩专业班级信息123学号201212030317姓名李帅报告日期实验类型:●验证性实验○综合性实验○设计性实验实验目的:进一步熟练掌握单纯形法求解线性规划。实验内容:单纯形法求解线性规划4个(题目自选)实验原理首先要找到一个初始基本可行解,求出对应的检验数,判断其是否是最优解,如果是就停止计算;否则,就进行迭代找到另一个能使得目标函数值更优的基本可行解,然后再判断其是否是最优解,如此反复进行下去,直到找到最优解或者判断线性规划问题无解为止(线性规划解有四种情形,唯一最优解,无穷多个最解,无界解,无可行解)。实验步骤1要求上机实验前先编写出程序代码2编辑
2、录入程序3调试程序并记录调试过程中出现的问题及修改程序的过程4经反复调试后,运行程序并验证程序运行是否正确。5记录运行时的输入和输出。实验报告:根据实验情况和结果撰写并递交实验报告。建立单纯性法的myprgmh.m文件:参考程序:function[xx,b,fm,sgma,AA,flg]=myprgmh(m1,m,n,A,b,c)B0=A(:,1:m);cb=c(:,1:m);xx=1:m;sgma=c-(cb*B0)*A;h=-1;sta=ones(m,1);fori=1:nifsgma(i)>0h=1;endendvv=0;whileh>0[msg,mk]=max(sgma)
3、;fori=1:mifA(i,mk)>0sta(i)=b(i)/A(i,mk);elsesta(i)=10000;endend[mst,mr]=min(sta);ifmst==10000flg='unboundedsolution';fm=inf;xx=[];b=[];h=-1;vv=1;AA=[];elsezy=A(mr,mk)fori=1:mifi==mrforj=1:nA(i,j)=A(i,j)/zy;endb(i)=b(i)/zy;elseendendfori=1:mifi~=mramk=A(i,mk);b(i)=b(i)-amk*b(mr);forj=1:nA(i,j)
4、=A(i,j)-amk*A(mr,j);endelseendA;B1=A(:,1:m);%B1лùµÄÄæ¾ØÕó;cb(mr)=c(mk);xx(mr)=mk;sgma=c-cb*A;h=-1;fori=1:nifsgma(i)>0h=1;endendendcbbfm=sum(cb*b);if(h==-1)&(vv~=1)vv=0;fori=1:mifxx(i)<=m1vv=vv+2;endendifvv>=2;flg='nofeasibel';xx=[];fm=[];b=[];vv=1;AA=[];endifvv~=1AA=A;ss=size(find(sgma))ww=
5、ss(2)ifww==n-mflg='Thereisonlyonesolution';elseflg='Therearemanysolutions';endendendendend唯一最优解:例题的liti1.m文件:A=[10012;01040;00104]b=[8,16,12]'c=[00023]m1=0n=5m=3输入与输出:>>liti1>>[xx,b,fm,sgma,AA,flg]=myprgmh(m1,m,n,A,b,c)zy=4cb=003b=2163zy=1cb=203b=283zy=2cb=203b=442ss=12ww=2xx=435b=442fm=14sgm
6、a=-1.5000-0.1250000AA=00.250001.00000-2.00000.50001.0000000.5000-0.1250001.0000flg=Thereisonlyonesolution无界解例题liti3.m文件A=[100111-100;010-2010-10;00102-100-1]b=[620]'c=[-1000-1000-10002-12000]m1=3m=3n=9运行结果:>>liti3>>[xx,b,fm,sgma,AA,flg]=myprgmh(m1,m,n,A,b,c)zy=2cb=-1000-1000-1b=620zy=1cb=-100
7、02-1b=321zy=4cb=22-1b=0.75003.50001.7500xx=[]b=[]fm=Infsgma=1.0e+003*-1.0013-0.9996-0.99890000.0013-0.0004-0.0011AA=[]flg=unboundedsolution无可行解例题liti2.m文件A=[101-1-1;013-10]b=[0-3]'c=[-10000110]m1=1m=2n=5运行结果:>>liti2>>[xx,b,fm,sgma,AA,flg]=myp