example8_4.m

来自「MATLAB科学计算与工程分析源代码源程序7」· M 代码 · 共 42 行

M
42
字号
% 该M文件用来对例8-4进行灵敏度分析
% 编写日期:2007-5-15

c=[5 -5 -13]';
A=[-1 1 3;12 4 10];
b=[20 90]';
lb=zeros(3,1);
disp('原问题的最优解为:'); 
x=linprog(c,A,b,[],[],lb)

% 第一小题
c1=c;
c1(3)=13.12;
disp('当目标函数中x3的系数由13变为13.12时,相应的最优解为:'); 
x1=linprog(c1,A,b,[],[],lb)
disp('最优解的变化情况为'); % 新解与原解的各个分量差
e1=x1-x

% 第二小题
b1=b;
b1(1)=21;
disp('当b1由20变为21时,相应的最优解为:'); 
x2=linprog(c,A,b1,[],[],lb)
disp('最优解的变化情况为'); 
e2=x2-x

% 第三小题
A1=A;
A1(:,1)=[-1.1 12.5]';
disp('当A的列变化时相应的最优解为:'); 
x3=linprog(c,A1,b,[],[],lb)
disp('最优解的变化情况为'); 
e3=x3-x

% 第四小题
A=[A;2 3 5];
b=[b;50];
disp('当增加一个约束时相应的最优解为:'); 
x4=linprog(c,A,b,[],[],lb)
disp('最优解的变化情况为'); 
e4=x4-x

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?