【优化求解】基于matlab罚函数的粒子群算法的函数寻优【含Matlab源码 216期】

一、简介

1 概述
自20世纪50年代中期创立了仿生学,许多学者开始从生物中挖掘新的算法来用于复杂的优化问题。一些学者通过研究生物进化的机理,分别提出了适合于现实世界复杂优化问题的模拟进化算法(Simulated evolutionary algorithms),例如SA、SOA、ACO、PSO、GA等。例如美国Michigan大学的J.H.Holland教授等创立的遗传算法GA,Rechenberg等创立的进化策略及Fogel等创立的进化规划。遗传算法GA、进化策略、进化规划有一定的相似性,它们均来自于达尔文的进化论,其中遗传算法GA的研究最为深入,理论最为成熟,并且应用面也最广。粒子群算法(PSO)也是一个多学科交叉的领域,同样吸引着众多的学者运用不同的技术手段对之进行改进研究,具体包括数学、计算机科学、生物以及物理等许多学科的科研人员,并且粒子群优化算法PSO在工业、交通、化工、能源、农业、国防、工程、通信等许多领域有着广阔的应用前景。因此,对粒子群优化算法进行研究具有很重要的意义。
2 粒子群算法模型
在这里插入图片描述

二、源代码

% 改进的快速粒子群优化算法 (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

三、运行结果

在这里插入图片描述

四、备注

完整代码或者代写添加QQ1564658423
往期回顾>>>>>>
【优化求解】基于matlab粒子群优化灰狼算法【含Matlab源码 006期】
【优化求解】基于matlab多目标灰狼优化算法MOGWO 【含Matlab源码 007期】
【优化求解】基于matlab粒子群算法的充电站最优布局【含Matlab源码 012期】
【优化求解】基于matlab遗传算法的多旅行商问题【含Matlab源码 016期】
【优化求解】基于matlab遗传算法求最短路径【含Matlab源码 023期】
【优化求解】基于matlab遗传和模拟退火的三维装箱问题【含Matlab源码 031期】
【优化求解】基于matlab遗传算法求解车辆发车间隔优化问题【含Matlab源码 132期】
【优化求解】磷虾群算法【含matlab源码 133期】
【优化求解】差分进化算法【含Matlab源码 134期】
【优化求解】基于matlab约束优化之惩罚函数法【含Matlab源码 163期】
【优化求解】基于matlab改进灰狼算法求解重油热解模型【含Matlab源码 164期】
【优化求解】基于matlab蚁群算法配电网故障定位【含Matlab源码 165期】
【优化求解】基于matalb遗传算法求解岛屿物资补给优化问题【含Matlab源码 172期】
【优化求解】冠状病毒群体免疫优化算法(CHIO)【含Matlab源码 186期】
【优化求解】金鹰优化求解算法(GEO)【含Matlab源码 187期】
【多目标优化求解】基于matlab金鹰算法(MOGEO)的多目标优化求解【含Matlab源码 188期】
【优化求解】基于matlab GUI界面之BP神经网络优化求解【含Matlab源码 208期】
【优化求解】基于matlab GUI界面之遗传算法优化求解【含Matlab源码 209期】
【优化求解】 基于matlab免疫算法的数值逼近优化分析【含Matlab源码 211期】
【优化求解】 基于matlab启发式算法的函数优化分析【含Matlab源码 212期】
【优化求解】基于matalb改进的遗传算法(GA+IGA)的城市交通信号优化【含Matlab源码 213期】
【优化求解】基于matalb改进的遗传算法GA的城市交通信号优化【含Matlab源码 214期】

【优化求解】基于matalb改进的遗传算法IGA的城市交通信号优化【含Matlab源码 215期】

猜你喜欢

转载自blog.csdn.net/TIQCmatlab/article/details/113642339