实验2 单纯形法求解线性规划
成绩
专业班级 信息121 学号 201212030120 姓名 刘帅 报告日期
实验类型:●验证性实验 ○综合性实验 ○设计性实验
实验目的:进一步熟练掌握单纯形法求解线性规划。
实验内容:单纯形法求解线性规划4个(题目自选)
实验原理 首先要找到一个初始基本可行解,求出对应的检验数,判断其是否是最优解,如果是就停止计算;否则,就进行迭代找到另一个能使得目标函数值更优的基本可行解,然后再判断其是否是最优解,如此反复进行下去,直到找到最优解或者判断线性规划问题无解为止(线性规划解有四种情形,唯一最优解,无穷多个最解,无界解,无可行解)。
实验步骤
1 要求上机实验前先编写出程序代码
2 编辑录入程序
3 调试程序并记录调试过程中出现的问题及修改程序的过程
4 经反复调试后,运行程序并验证程序运行是否正确。
5 记录运行时的输入和输出。
预习编写程序代码:
实验报告:根据实验情况和结果撰写并递交实验报告。
实验总结:
参考程序
建立函数
function [sol,val,kk]=ssimplex(A,N)
[mA,nA]=size(A);
kk=0;
flag=1;
while flag
kk=kk+1;
if A(mA,:)<=0
flag=0;
sol=zeros(1,nA-1);
for i=1:mA-1
sol(N(i))=A(i,nA);
end
val=-A(mA,nA);
else
for i=1:nA-1
if A(mA,i)>0&A(1:mA-1,i)<=0
flag=0;
break;
end
end
if flag
temp=0;
for i=1:nA-1
if A(mA,i)>temp
temp=A(mA,i);
inb=i;
end
end
sita=zeros(1,mA-1);
for i=1:mA-1
if A(i,inb)>0
sita(i)=A(i,nA)/A(i,inb);
end
end
temp=inf;
for i=1:mA-1
if sita(i)>0&sita(i)<temp
temp=sita(i);
outb=i;
end
end
for i=1:mA-1
if i==outb
N(i)=inb;
end
end
A(outb,:)=A(outb,:)/A(outb,inb);
for i=1:mA
if i~=outb
A(i,:)=A(i,:)-A(outb,:)*A(i,inb);
end
end
end
end
end
1有唯一最优解
Max z = x1+x2
实验2 单纯形法求解线性规划 (2) 来自淘豆网m.daumloan.com转载请标明出处.