1 简介

Optimization is an essential tool to minimize or maximize functions, obtaining optimal results on costs, mass, energy, gains, among others. Actual problems may be multimodal, nonlinear, and discontinuous and may not be minimized by classical analytical methods that depend on the gradient. In this context, there are metaheuristic algorithms inspired by natural phenomena to optimize real engineering problems. No algorithm is the worst or the best, but more efficient for a given problem. Thus, a new nature-inspired algorithm called Lichtenberg Optimization Algorithm (LA) is applied in this study to solve a complex inverse damage identification problem in mechanical structures built by composite material. To verify the performance of the new algorithm, both LA and Finite Element Method (FEM) were used to identify delamination damage and the results were compared to other algorithms such as Genetic Algorithm (GA) and SunFlower Optimization (SFO). LA was shown to be a powerful damage identification tool since it was able to detect damage even in particular situations like noisy response and low damage severity.

2 部分代码


          
          
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% MULTI-OBJECTIVE LICHTENBERG ALGORITHM (MOLA)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
close all
clear all
clc
format long
set(0,'DefaultAxesFontName', 'Times New Roman')
set(0,'DefaultAxesFontSize', 14)
set(0,'DefaultTextFontname', 'Times New Roman')
set(0,'DefaultTextFontSize', 26)
% Search Space
LB = zeros(1,10); %lower bounds
UB = ones(1,10); %upper bounds
% Optimizator Parameters
pop = 100; %Population
n_iter = 100; %Max number os iterations/gerations
ref = 0.4; %if more than zero, a second LF is created with refinement % the size of the other
IntCon = []; %Avoid if there are no variables that must be integers. Ex.: IntCon = [1,2];
Np = 100000; %Number of Particles (If 3D, better more than 10000)
S_c = 1; %Stick Probability: Percentage of particles that can don´t stuck in the
%cluster. Between 0 and 1. Near 0 there are more aggregate, the density of
%cluster is bigger and difusity is low. Near 1 is the opposite.
Rc = 150; %Creation Radius (if 3D, better be less than 80, untill 150)
M = 0; %If M = 0, no lichtenberg figure is created (it is loaded a optimized figure); if 1, a single is created and used in all iterations; If 2, one is created for each iteration.(creating an LF figure takes about 2 min)
d = length(UB); %problem dimension
ngrid = 30; %Number of grids in each dimension
Nr = 100; %Maximum number of solutions in PF
% MOLA
[x,fval] = LA_optimization(@objectives,d,pop,LB,UB,ref,n_iter,Np,Rc,S_c,M,ngrid,Nr,IntCon,@constraint);
% Figure
figure
plot(fval(:,1),fval(:,2),'ZDataSource','',...
'MarkerFaceColor',[0 0 1],...
'MarkerEdgeColor',[0 0 0],...
'MarkerSize',8,...
'Marker','o',...
'LineWidth',1.1,...
'LineStyle','none',...
'Color',[0 0 0]);
hold on
box on
legend('PF');
title('Non-dominated Solutions','fontweight','bold');
xlabel('Y_1')
ylabel('Y_2')
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.

3 仿真结果

【利希滕贝格算法】基于利希滕贝格算法求解多目标优化问题含Matlab源码_3d

4 参考文献

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【利希滕贝格算法】基于利希滕贝格算法求解多目标优化问题含Matlab源码_3d_02