【优化求解】 基于matlab免疫算法的数值逼近优化分析【含Matlab源码 211期】

一、简介

任何一个优化问题可以转化为一个函数问题,因此生物智能算法广泛应用,同样生物免疫算法(AIA)也是一种模拟达尔文生物进化的一个新型智能算法,生物免疫算法(AIA)根据生物系统抗体处理抗原机制,抗体进化以及最终消灭抗原,这一过程为生物免疫算法(AIA)全局寻优解的过程。
考虑到函数优化问题的普遍性,近些年来,很多学者应用新型算法对不同函数进行测试,例如算法的稳定性、泛华能力、有效性以及全局、局部寻优能力等,因此最优化函数问题(单目标和多目标函数优化问题)一直成为广大科研人员的研究热点。根据测试函数得到的可能解,智能算法得到不断的改进,理论基础逐渐深入,使得散发本身更加稳健,能够快速为工程所用。
人工免疫系统正引起人们的极大重视,基于免疫系统原理开发了各类算法,遗传算法GA、差分进化算法DE、蜂群算法ABC、鱼群算法FSA等,在工程实际问题中,应用越来越广泛,也取得越来越多的成果。
【优化求解】 基于matlab免疫算法的数值逼近优化分析【含Matlab源码 211期】_第1张图片
【优化求解】 基于matlab免疫算法的数值逼近优化分析【含Matlab源码 211期】_第2张图片
【优化求解】 基于matlab免疫算法的数值逼近优化分析【含Matlab源码 211期】_第3张图片

三、源代码

clc,clear,close all;
warning off
global popsize length min max N code;
N=12;                % 每个染色体段数(十进制编码位数)
M=100;               % 进化代数
popsize=30;          % 设置初始参数,群体大小
length=10;           % length为每段基因的二进制编码位数
chromlength=N*length;  % 字符串长度(个体长度),染色体的二进制编码长度
pc=0.7;                % 设置交叉概率,本例中交叉概率是定值,若想设置变化的交叉概率可用表达式表示,或从写一个交叉概率函数,例如用神经网络训练得到的值作为交叉概率
pm=0.3;                % 设置变异概率,同理也可设置为变化的
bound={
     -100*ones(popsize,1),zeros(popsize,1)};
min=bound{
     1};max=bound{
     2};
pop=initpop(popsize,chromlength);                     %运行初始化函数,随机产生初始群体
ymax=500;   % 适应度值初始化

ysw_x = zeros(3,12);
%电容C2:故障类型编码,每一行为一种!code(1,:),正常;code(2,:)50%;code(3,:)150%
code =[-0.8180   -1.6201  -14.8590  -17.9706  -24.0737  -33.4498  -43.3949  -53.3849  -63.3451  -73.0295  -79.6806  -74.3230
       -0.7791   -1.2697  -14.8682  -26.2274  -30.2779  -39.4852  -49.4172  -59.4058  -69.3676  -79.0657  -85.8789  -81.0905
       -0.8571   -1.9871  -13.4385  -13.8463  -20.4918  -29.9230  -39.8724  -49.8629  -59.8215  -69.4926  -75.9868  -70.6706];
       function [bestindividual,bestfit]=best(pop,fitvalue)
global popsize N length;
bestindividual=pop(1,:);
bestfit=fitvalue(1);
%实现个体的解码的计算
function [objx]=calx(pop)
% global N length  % 默认染色体的二进制长度length=10
N=12; length=10;
for j=1:N  %译码!
   temp(:,j)=decodechrom(pop,1+(j-1)*length,length);      
   x(:,j)=temp(:,j)/(2^length-1)*(max(j)-min(j))+min(j);     
end
 fitvalue=calfitvalue(objvalue); favg(k)=sum(fitvalue)/popsize;  %
       newpop=selection(pop,fitvalue); objvalue=calobjvalue(newpop,i); %
       newpop=crossover(newpop,pc,k);  objvalue=calobjvalue(newpop,i); %
       newpop=mutation(newpop,pm);     objvalue=calobjvalue(newpop,i); %
       [bestindividual,bestfit]=best(newpop,fitvalue);
       if bestfit<ymax
          ymax=bestfit;
          end

三、运行结果

【优化求解】 基于matlab免疫算法的数值逼近优化分析【含Matlab源码 211期】_第4张图片

四、备注

完整代码或者代写添加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,优化求解)