天天看點

sobol靈敏度分析matlab_靈敏度分析 使用MATLAB編寫

實驗二、線性規劃的靈敏度分析

(一)

實驗目的

1.

線性規劃求解的單純形法的靈敏度分析的程式設計實作

2

.掌握使用

matlab

Lingo

Excel

的規劃求解功能求解,并利用“敏感性報告”進行

分析。

(二)實驗内容

課本例

1

解的靈敏度分析

(

1

)

:調用單純形程式:

function [x,z,flg,sgma]=simplexfun(A,A1,b,c,m,n,n1,cb,xx)

% A,b are the matric in A*x=b

% c is the matrix in max z=c*x

% A1 is the matric in simplex table

% m is the numbers of row in A and n is the con number in A

%

n1

is

the

nubers

of

artificial

variables,and

artificial

variables

are

default

as

the

last

%

n1

variables in x.

% cb is the worth coefficient matrix for basic variables

% xx is the index matrix for basic variables

% B1 is the invers matrix for the basic matrix in simplex table.The initial

% matrix is default as the last m con in the matrix A.

x=zeros(n,1);

z=0;

B1=A1(:,n-m+1:n);

sgma1=c-(cb*B1)*A;

[masg,kk]=max(sgma1);

k=kk(1);

flg=0;

ll=0;

while (masg>0)&&(ll<20)

ll=ll+1;

thita=1000+zeros(m,1);

for i=1:m

if A1(i,k)>0

thita(i)=A1(i,k)\b(i);

end

end

[r8,c8]=find(thita>999);

if sum(c8)

[mith,rr]=min(thita);

r=rr(1);

aa=A1(r,k);

for i=1:m

if i==r