实验2 单纯形法求解线性规划
成绩
专业班级信息123 学号 201212030317 姓名李帅报告日期
实验类型:●验证性实验○综合性实验○设计性实验
实验目的:进一步熟练掌握单纯形法求解线性规划。
实验内容:单纯形法求解线性规划4个(题目自选)
实验原理首先要找到一个初始基本可行解,求出对应的检验数,判断其是否是最优解,如果是就停止计算;否则,就进行迭代找到另一个能使得目标函数值更优的基本可行解,然后再判断其是否是最优解,如此反复进行下去,直到找到最优解或者判断线性规划问题无解为止(线性规划解有四种情形,唯一最优解,无穷多个最解,无界解,无可行解)。
实验步骤
1 要求上机实验前先编写出程序代码
2 编辑录入程序
3 调试程序并记录调试过程中出现的问题及修改程序的过程
4 经反复调试后,运行程序并验证程序运行是否正确。
5 记录运行时的输入和输出。
实验报告:根据实验情况和结果撰写并递交实验报告。
:
参考程序:
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);
for i=1:n
if sgma(i)>0
h=1;
end
end
vv=0;
while h>0
[msg,mk]=max(sgma);
for i=1:m
if A(i,mk)>0
sta(i)=b(i)/A(i,mk);
else
sta(i)=10000;
end
end
[mst,mr]=min(sta);
if mst==10000
flg='unbounded solution';
fm=inf;
xx=[];
b=[];
h=-1;
vv=1;
AA=[];
else
zy=A(mr,mk)
for i=1:m
if i==mr
for j=1:n
A(i,j)=A(i,j)/zy;
end
b(i)=b(i)/zy;
else
end
end
for i=1:m
if i~=mr
amk=A(i,mk);
b(i)=b(i)-amk*b(mr);
for j=1:n
A(i,j)=A(i,j)-amk*A(mr,j);
end
else
end
A;
B1=A(:,1:m); % B1 лùµÄÄæ¾ØÕó;
cb(mr)=c(mk);
xx(mr)=mk;
sgma=c-cb*A;
h=-1;
for i=1:n
if sgma(i)>0
h=1;
end
end
end
cb
b
fm=sum(cb*b);
if (h==-1)&(vv~=1)
vv=0;
for i=1:m
if xx(i)<=m1
vv=vv+2;
end
end
if vv>=2;
flg='nofeasibel';
实验2 单纯形法求解线性规划new 来自淘豆网m.daumloan.com转载请标明出处.