欢迎来到本博客❤️❤️❤️
博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码实现
本研究开发了一种多目标水母搜索(MOJS)算法,以最佳地解决具有多个目标的工程问题。将Lévy飞行、精英人口、固定大小档案、混沌地图和基于冲日的跳跃方法集成到MOJS中,以获得帕累托最优解。这些技术用于定义海蜇在洋流中的运动或多目标搜索空间中的群体。
详细文章:
Chou, Jui-Sheng, and Dinh-Nhat Truong. “Multiobjective Optimization Inspired by Behavior of Jellyfish for Solving Structural Design Problems.” Chaos, Solitons & Fractals, vol. 135, Elsevier BV, June 2020, p. 109738, doi:10.1016/j.chaos.2020.109738.
部分代码:
clear all; clc;
%% Parameters
params.Np = 100; % Population size
params.Nr = 100; % Archive size
params.maxiter = 2000; % Maximum number of iteration
params.ngrid = 20; % Number of grids in each dimension
i=1; % Select function
%% Multi-objective function
switch i
case 1
MultiObjFnc = 'Schaffer';
case 2
MultiObjFnc = 'Kursawe';
case 3
MultiObjFnc = 'Poloni';
end
%% Detail of each function
switch MultiObjFnc
case 'Schaffer'
MultiObj.fun = @(x) [x(:).^2, (x(:)-2).^2];
MultiObj.nVar = 1;
MultiObj.var_min = -5;
MultiObj.var_max = 5;
case 'Kursawe'
MultiObj.fun = @(x) [-10.*(exp(-0.2.*sqrt(x(:,1).^2+x(:,2).^2)) + exp(-0.2.*sqrt(x(:,2).^2+x(:,3).^2))), ...
sum(abs(x).^0.8 + 5.*sin(x.^3),2)];
MultiObj.nVar = 3;
MultiObj.var_min = -5.*ones(1,MultiObj.nVar);
MultiObj.var_max = 5.*ones(1,MultiObj.nVar);
case 'Poloni'
A1 = 0.5*sin(1)-2*cos(1)+sin(2)-1.5*cos(2);
A2 = 1.5*sin(1)-cos(1)+2*sin(2)-0.5*cos(2);
B1 = @(x,y) 0.5.*sin(x)-2.*cos(x)+sin(y)-1.5.*cos(y);
B2 = @(x,y) 1.5.*sin(x)-cos(x)+2.*sin(y)-0.5.*cos(y);
f1 = @(x,y) 1+(A1-B1(x,y)).^2+(A2-B2(x,y)).^2;
f2 = @(x,y) (x+3).^2+(y+1).^2;
MultiObj.fun = @(x) [f1(x(:,1),x(:,2)), f2(x(:,1),x(:,2))];
MultiObj.nVar = 2;
MultiObj.var_min = -pi.*ones(1,MultiObj.nVar);
MultiObj.var_max = pi.*ones(1,MultiObj.nVar);
end
%% MOJS operation
tic;
[PARETOFRONT] = MOJS(params,MultiObj);
time=toc;
%% Save result
save('result.mat','time','PARETOFRONT');
display('Parato optimal front is stored in PARETOFRONT.pos_fit');
display('Parato optimal solution is stored in PARETOFRONT.pos');
[1]Chou, Jui-Sheng, and Dinh-Nhat Truong. “Multiobjective Optimization Inspired by Behavior of Jellyfish for Solving Structural Design Problems.” Chaos, Solitons & Fractals, vol. 135, Elsevier BV, June 2020, p. 109738, doi:10.1016/j.chaos.2020.109738.