xfgoalattain.m

来自「本代码为黄华江编著《实用化工计算机模拟—MATLAB在化学工程中的应用》的配套车」· M 代码 · 共 29 行

M
29
字号
function xFgoalattain
% 多目标最优化
%
%   Author: HUANG Huajiang
%   Copyright 2003 UNILAB Research Center, 
%   East China University of Science and Technology, Shanghai, PRC
%   $Revision: 1.0 $  $Date: 2003/07/07 $

clear all; clc

% 给定目标,权重按目标比例确定,给出初值
goal = [20, 12];
weight = [20, 12];
x0 = [2, 5];

% 给出约束条件的系数
A = [1, 0; 0, 1; -1, -1];
b = [5, 6, -7];
lb = zeros(2,1);

% 求解
[x,fval,attainfactor,exitflag]  = ...
    fgoalattain(@ObjFun,x0,goal,weight,A,b,[],[],lb,[])

% ------------------------------------------------------------------
function f = ObjFun(x)
f(1) = 2*x(1)+5*x(2);
f(2) = 4*x(1)+x(2);

⌨️ 快捷键说明

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