[Solución de optimización] Optimización de la función del algoritmo de enjambre de partículas basado en la función de penalización de Matlab [incluido el código fuente 216 de Matlab]

1. Introducción

1 Descripción general
Desde la creación de la biónica a mediados de la década de 1950, muchos académicos han comenzado a buscar nuevos algoritmos de la biología para utilizarlos en problemas complejos de optimización. Algunos académicos han propuesto respectivamente algoritmos evolutivos simulados adecuados para problemas complejos de optimización en el mundo real mediante el estudio del mecanismo de evolución biológica, como SA, SOA, ACO, PSO, GA, etc. Por ejemplo, el algoritmo genético GA creado por el profesor JH Holland de la Universidad de Michigan en los Estados Unidos, la estrategia de evolución creada por Rechenberg y el plan de evolución creado por Fogel. El algoritmo genético GA, la estrategia de evolución y la programación evolutiva tienen ciertas similitudes. Todos provienen de la teoría de la evolución de Darwin. Entre ellos, el algoritmo genético GA tiene la investigación más profunda, la teoría más madura y la aplicación más amplia. Particle Swarm Optimization (PSO) también es un campo multidisciplinario, que también atrae a muchos académicos a utilizar diferentes métodos técnicos para mejorarlo e investigarlo, incluidos investigadores científicos en muchas disciplinas como matemáticas, informática, biología y física. El algoritmo de optimización de grupo PSO tiene amplias perspectivas de aplicación en muchos campos como la industria, el transporte, la industria química, la energía, la agricultura, la defensa nacional, la ingeniería y las comunicaciones. Por lo tanto, la investigación sobre el algoritmo de optimización del enjambre de partículas es de gran importancia.
2 Modelo de algoritmo de enjambre de partículas
Inserte la descripción de la imagen aquí

En segundo lugar, el código fuente

% 改进的快速粒子群优化算法 (APSO):
function apso
% 参数设置
global lamda1 lamda2 m ua_max eta_T r G f alpha Cd A rou K Ttq_max Fz fai ge_ne_pe du
lamda1 = 0.2; % 动力性发挥程度加权因子;
lamda2 = 0.8; % 经济性加权因子;
m = 1092;     % 整车质量(kg);
ua_max = 50;  % 最大车速(km/h);
eta_T = 0.9;  % 传动系的传动效率;
r = 0.3;      % 车轮半径(m);
g = 9.8;      % 重力加速度(g*m/s^2) 
G = m*g;      % 汽车重力G=mg,(N);
f = 0.015;    % 汽车的滚动阻力系数;
alpha = 25*pi/180;   % 道路坡度角-->弧度;
Cd = 0.32;           % 空气阻力系数;
A = 1.5;             % 迎风面积,即汽车行驶方向的投影面积(m^2);
rou = 7.0;           % 燃油重度,N/L;
K = 1.05;            % 考虑连续加速,加权系数;
Ttq_max = 132;       % 发动机的最大转矩(N.m);
Fz = G/4;            % 驱动轮上的法向反作用力(N);
fai = 0.7;           % 地面附着系数;
ge_ne_pe = 205;      % 发动机的燃油消耗率 (g/kW.h);
du = 0.1;            % 步长

% 变量
Lb=[ 1   1   0.5  0.5  0.3  2]; %下边界
Ub=[5.0 4.0  3.0  2.0  1.0  6]; %上边界
% 默认参数
para=[25 150 0.95]; %[粒子数,迭代次数,gama参数]

% APSO 优化求解函数
[gbest,fmin]=pso_mincon(@cost,@constraint,Lb,Ub,para);

% 输出结果
Bestsolution=gbest % 全局最优个体
fmin

%% 目标函数
function fy=cost(x)
% ig1 = x(1);   %变速器第1挡的传动比
% ig2 = x(2);   %变速器第2挡的传动比
% ig3 = x(3);   %变速器第3挡的传动比
% ig4 = x(4);   %变速器第4挡的传动比
% ig5 = x(5);   %变速器第5挡的传动比
% ig0 = x(6);   %主减速器传动比
global lamda1 lamda2 m ua_max eta_T r G f alpha Cd A rou K Ttq_max Fz fai ge_ne_pe du

% 发动机功率(Pe)
T = 0; % 时间
Q = 0; % 耗油量
for ua = 0.1:0.1:ua_max

    if ua<=10
        delta = 1.06+0.04*x(1).^2;  % 汽车旋转质量换算系数
        ne = ua*x(6)*x(1)/0.377/r;  % 转速(r/min)
        Pe = ( G*f*ua/3600 + Cd*A*ua.^3/76140 + delta*m*ua*du/3600)/eta_T;
        Me = 9549*Pe./ne;  % 发动机转矩(N.m)
        Ft = Me*x(1)*x(6)*eta_T/r;  % 汽车的驱动力
    elseif ua>10 && ua<=20
        delta = 1.06+0.04*x(2).^2;  % 汽车旋转质量换算系数
        ne = ua*x(6)*x(2)/0.377/r;  % 转速(r/min)
        Pe = ( G*f*ua/3600 + Cd*A*ua.^3/76140 + delta*m*ua*du/3600)/eta_T;
        Me = 9549*Pe./ne;  % 发动机转矩(N.m)
        Ft = Me*x(2)*x(6)*eta_T/r;  % 汽车的驱动力
     elseif ua>20 && ua<=30
        delta = 1.06+0.04*x(3).^2;  % 汽车旋转质量换算系数
        ne = ua*x(6)*x(3)/0.377/r;  % 转速(r/min)
        Pe = ( G*f*ua/3600 + Cd*A*ua.^3/76140 + delta*m*ua*du/3600)/eta_T;
        Me = 9549*Pe./ne;  % 发动机转矩(N.m)
        Ft = Me*x(3)*x(6)*eta_T/r;  % 汽车的驱动力
     elseif ua>30 && ua<=40
        delta = 1.06+0.04*x(4).^2;  % 汽车旋转质量换算系数 
        ne = ua*x(6)*x(4)/0.377/r;  % 转速(r/min)
        Pe = ( G*f*ua/3600 + Cd*A*ua.^3/76140 + delta*m*ua*du/3600)/eta_T;
        Me = 9549*Pe./ne;  % 发动机转矩(N.m)
        Ft = Me*x(4)*x(6)*eta_T/r;  % 汽车的驱动力
     elseif ua>40 && ua<=ua_max
        delta = 1.06+0.04*x(4).^2;  % 汽车旋转质量换算系数
        ne = ua*x(6)*x(5)/0.377/r;  % 转速(r/min)
        Pe = ( G*f*ua/3600 + Cd*A*ua.^3/76140 + delta*m*ua*du/3600)/eta_T;
        Me = 9549*Pe./ne;  % 发动机转矩(N.m)
        Ft = Me*x(5)*x(6)*eta_T/r;  % 汽车的驱动力
    end

Tres, resultados en ejecución

Inserte la descripción de la imagen aquí

Cuatro, comentarios

Código completo o escritura agregue QQ1564658423 revisión anterior
>>>>>>
[Optimización] basada en el algoritmo de lobo gris de optimización de enjambre de partículas de Matlab [incluido el código fuente de Matlab 006]
[Optimización] basado en el algoritmo de optimización de lobo gris multiobjetivo de Matlab MOGWO [incluido Matlab problema de código fuente 007]
[solución optimizada] diseño óptimo de las estaciones de carga basado en el algoritmo de enjambre de partículas de Matlab [incluido el código fuente de Matlab 012]
[solución optimizada] problema de vendedor de múltiples viajes basado en el algoritmo genético de Matlab [incluido el código fuente de Matlab 016]
[optimizado solución】 Encuentre la ruta más corta basada en el algoritmo genético de Matlab [incluido el código fuente 023 de Matlab]
[Solución de optimización] Problema de empaque 3D basado en recocido simulado y genético de Matlab [incluido el código fuente de Matlab 031]
[Solución de optimización] Resuelva la optimización del intervalo de salida del vehículo basado en el algoritmo genético matlab Problema [Incluye el código fuente 132 de Matlab]
[Solución de optimización] Algoritmo de enjambre de krill [Incluye el código fuente 133 de matlab]
[Solución de optimización] Algoritmo de evolución diferencial [Incluye el código fuente 134 de Matlab]
[Solución de optimización] Método de función de penalización basado en Optimización de restricciones de matlab [Incluir código fuente de Matlab 163 período]
[Solución de optimización] Basado en el algoritmo de lobo gris mejorado de matlab para resolver el modelo de pirólisis de petróleo pesado [Incluir código fuente de Matlab período 164]
[Solución optimizada] Basado en falla de red de distribución del algoritmo de colonia de hormigas de Matlab ubicación [Incluir el punto 165 del código fuente de Matlab]
[Solución de optimización basada en el algoritmo genético de matalb para resolver el problema de optimización del reabastecimiento de material de la isla [incluido el código fuente 172 de Matlab]
[Solución de optimización] Algoritmo de optimización inmune de la población de coronavirus (CHIO) [incluido el código fuente 186 de Matlab ]
[Solución de optimización] Algoritmo de optimización Golden Eagle (GEO)) 【Incluir el código fuente de Matlab 187 período】
[Solución de optimización multiobjetivo] Solución de optimización multiobjetivo basada en el algoritmo matlab golden eagle (MOGEO) [incluido el código fuente 188 de Matlab]
[Solución de optimización] Solución de optimización de red neuronal BP basada en la interfaz GUI de matlab [Código fuente 208 de Matlab]
[Optimización solución] Solución de optimización de algoritmo genético basada en la interfaz GUI de Matlab [incluido el código fuente 209 de Matlab]
[Solución de optimización] Análisis de optimización de aproximación numérica basado en el algoritmo inmune de Matlab [incluido el código fuente 211 de Matlab]
[Solución de optimización] Análisis de optimización de funciones basado en el algoritmo heurístico de Matlab [Incluir el código fuente 212 de Matlab]
[Solución de optimización ] Optimización de la señal de tráfico urbano basada en el algoritmo genético mejorado de matalb (GA + IGA) [Incluir el código fuente de Matlab 213 período]
[Solución de optimización] Optimización de la señal de tráfico urbano basada en el algoritmo genético mejorado de matalb GA [ Incluyendo el código fuente de Matlab 214 período]

[Solución de optimización] Optimización de la señal de tráfico urbano basada en el algoritmo genético mejorado IGA de matalb [incluido el código fuente 215 de Matlab]

Supongo que te gusta

Origin blog.csdn.net/TIQCmatlab/article/details/113642339
Recomendado
Clasificación