怎么评价MATLAB中gamultiobj函数(多目标遗传算法)的计算结果?比如下面的函数和其部分结果

怎么评价MATLAB中gamultiobj函数(多目标遗传算法)的计算结果?比如下面的函数和其部分结果,第1张

fun1 = @(x) x(1)^4-10x(1)^2+x(1)x(2)+x(2)^4-x(1)^2x(2)^2; %min f1(x1,x2)

fun2 = @(x) x(2)^4-x(1)^2x(2)^2+x(1)^4+x(1)x(2); %min f2(x1,x2)

fun1and2 = @(x) [fun1(x) fun2(x)];

lb = [-5 -5]; ub = [5 5];

options = gaoptimset('PopInitRange',[lb;ub]);

[x,fval,exitflag] = gamultiobj(fun1and2,2,[],[],[],[],lb,ub,options);

[x(:,1) fval(:,1) x(:,2) fval(:,2)]

运行上述程序,我们可以得到,x1、x2、f1、f2的值

x1、 x2、 f1、 f2

-070497 -52198 070581 -024999

-2672 -38333 19765 3306

-2672 -38333 19765 3306

-24917 -37682 18677 24405

-23171 -3548 19263 18207

-26 -38206 19629 29391

-070497 -52198 070581 -024999

-17604 -24862 090859 61268

-23679 -36543 18192 19526

-21375 -33048 17817 12639

-19846 -29335 18473 10051

从x1、x2、f1、f2的数值,不难发现

x1=-2672, x2=-38333 为X1、X2的最优解组合,其值分别为f1=19765,f2=3306

[x,fval,attainfactor] =fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)

x:最优解

fval:每个目标函数最优值

attainfactor:超出或未到 目标 的 量

fun:目标 函数,由于 是多目标函数,所以这是一个 向量

x0,自变量的 初始值

goal:目标,是个向量

weight:各个 目标 的权重

下面三个同线性优化一样

Ax<=b

Aeqx=beq

lb<x<ub

nonlcon与非线性约束函数fmincon中 一样!

我是菜鸟<:sad:>,我觉得是不是应该改成下面的:function [f,ceq] = mymulti1(x)f(1) = x(1)^4 - 10x(1)^2+x(1)x(2) + x(2)^4 -(x(1)^2)(x(2)^2);f(2) = x(2)^4 - (x(1)^2)(x(2)^2) + x(1)^4 + x(1)x(2);ceq=[];

[x,fval,attainfactor] =fgoalattain(fun,x0,goal,weight,A,b,Aeq,beq,lb,ub,nonlcon)

x:最优解

fval:每个目标函数最优值

attainfactor:超出或未到 目标 的 量

fun:目标 函数,由于 是多目标函数,所以这是一个 向量

x0,自变量的 初始值

goal:目标,是个向量

weight:各个 目标 的权重

下面三个同线性优化一样

Ax<=b

Aeqx=beq

lb<x<ub

nonlcon与非线性约束函数fmincon中 一样!

我只想知道X1、X2的最优解组合?怎么评价?

答:fun1 = @(x) x(1)^4-10x(1)^2+x(1)x(2)+x(2)^4-x(1)^2x(2)^2; %min f1(x1,x2) fun2 = @(x) x(2)^4-x(1)^2x(2)^2+x(1)^4+x(1)x(2); %min f2(x1,x2) fun1and2 = @(x) [fun1(x) fun2(x)]; lb = [-5 -5]; ub = [5 5];

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12182070.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存