运筹学实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 单纯形法求解线性规划

成绩

实验类型:●验证性实验○综合性实验○设计性实验

实验目的:进一步熟练掌握单纯形法求解线性规划。

实验内容:单纯形法求解线性规划4个

实验原理线性规划单纯形法(线性规划解有四种情形,唯一最优解,无穷多个最解,无界解,无可行解)

实验步骤

1 要求上机实验前先编写出程序代码

2 编辑录入程序

3 调试程序并记录调试过程中出现的问题及修改程序的过程

4 经反复调试后,运行程序并验证程序运行是否正确。

5 记录运行时的输入和输出。

预习编写程序代码:

实验报告:根据实验情况和结果撰写并递交实验报告。

参考程序:

function [xx,b,fm,sgma,AA,flg]=myprgmh(m1,m,n,A,b,c)

% 单纯形法求解性规划函数。默认标准型人工变量在最前、剩余变量在后构成基本量;

% m1 人工变量的个数;m 基变量的个数; n 所有变量的个数;

% A 约束方程的系数矩阵;

% b 约束方程右端列向量;输出 b 基变量的值;

% c 目标函数的系数。cb 基变量的系数

% 输出 xx 为基变量的下标;

% fm 输出目标函数的值;

% flg 表示解得四种情况;

B0=A(:,1:m); % B0 初始可行基矩阵(单位矩阵);

cb=c(:,1:m);

xx=1:m; % xx 变量的下标;

sgma=c-(cb*B0)*A; % sgma 检验数;

h=-1;

sta=ones(m,1);

for i=1:n

if sgma(i)>0

h=1;

end

end

vv=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;

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';

xx=[];

fm=[];

b=[];

vv=1;

AA=[];

end

if vv~=1

AA=A;

ss=size(find(sgma))

ww=ss(2)

if ww==n-m

flg='There is only one solution';

else

flg='There are many solutions';

end

end

end

end

end

end

一. 唯一最优解。

12max 3z x x =+

12122125105014

,0

x x x x x x x +≤⎧⎪+≥⎪⎨≤⎪⎪≥⎩ >> [xx,b,fm,sgma,AA,flg]=myprgmh(m1,m,n,A,b,c)

Zy=1

cb = 0 3 0

b =40

1

3

zy =1

cb =0 3 0

b =10

4

3

zy =5

cb =1 3 0

b = 2

4

5

ss =1 2

ww =2

xx =4 5 2

b = 2

4

5

fm =14

sgma =-0.2000 0 -1.0000 0 0

AA =0.2000 0 -2.0000 1.0000 0

0 0 1.0000 0 1.0000

0.2000 1.0000 -1.0000 0 0

flg =There is only one solution

二. 无界解。

123

1231323123max 2262220

,,0z x x x x x x x x x x x x x =-+++≥⎧⎪-+≥⎪⎨-≥⎪⎪≥⎩

>> A=[-1 0 0 1 1 1;0 -1 0 -2 0 1;0 0 -1 0 2 -1];b=[6 2 0]';m1=0;m=3;n=6;c=[0 0 0 2 -1 2]

c =0 0 0 2 -1 2

>> [xx,b,fm,sgma,AA,flg]=myprgmh(m1,m,n,A,b,c)

相关文档
最新文档