Page 296 - 数学建模算法与应用
P. 296
Mathematical Modeling Algorithms and Applications
数学建模算法与应用
解 1. 编写 M 函数 Fun.m:
function F=Fun(x);
*
*
*
*
F=[-100 x(1)-90 x(2)-80 x(2)-70 x(4)
*
*
3 x(2)+2 x(4)];
2. 编写 M 文件
a=[-1 -1 0 0
0 0 -1 -1
3 0 2 0
0 3 0 2];
b=[-30 -30 120 48]’;
c1=[-100 -90 -80 -70];
c2=[0 3 0 2];
[x1,g1]=linprog(c1,a,b,[],[],zeros(4,1)) % 求第一个目标函数的目标值
[x2,g2]=linprog(c2,a,b,[],[],zeros(4,1)) % 求第二个目标函数的目标值
g3=[g1;g2]; % 目标 goal 的值
[x,fval]=fgoalattain(‘Fun’,rand(4,1),g3,abs(g3),a,b,[],[],
zeros(4 ,1))
% 这里权重 weight= 目标 goal 的绝对值
就可求得问题的解。
如果使用匿名函数,只要一个程序文件,就可以得到计算结果。程序如下:
clc,clear
a=[-1 -1 0 0
0 0 -1 -1
3 0 2 0
0 3 0 2];
286

