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
   291   292   293   294   295   296   297   298   299   300   301