精华内容
下载资源
问答
  • 提出了一种求解多峰函数优化问题的免疫量子进化算法,该算法依据小生境机制将量子表达的初始种群划分为子群组,再对每个子群组利用免疫特性的局域搜索能力包括抗体的克隆选择、记忆细胞产生、免疫细胞交叉变异、抗体...
  • 针对传统演化算法求解函数优化,特别是多峰函数优化问题中出现的早熟现象以及演化后期收敛速度慢等问题,提出了一种新的反序小生境演化算法。该算法采用小生境反序交叉算子,以进一步增强局部寻优的能力;引入一种...
  • 复杂函数的全局最优化问题是在求解...基于均匀设计与Powell算法的全局最优化并行算法具有寻优能力强,时间开销与问题因素个数的平方和布点数成线性复杂度,空间开销与因素个数和布点数成线性复杂度,并行效率好的特点。
  • 基于均匀设计与Powell算法的全局 最优化算法并行实现 摘要复杂函数的全局最优化问题是在 求解各种复杂工程与科学计算问题中提炼 出来的亟待解决的计算问题 均匀设计具有 让试验点在高维空间内均匀分散的特点 而 ...
  • 为了提高工程优化问题的寻...函数优化以及分包商选择等组合优化问题可利用该算法进行有效求解。仿真实验结果表明:对于相同的优化问题,改进的并行混沌优化算法可以求得更好的优化解,从而证明该方法具有良好的寻优性能。
  • 针对基于可行性规则求解约束优化问题易陷入局部、master-slave协同进化模型...典型函数测试表明,MSMHCO算法和同类算法相比,收敛速度更快,求解精度更高。丁烯烷化过程的约束优化实例也进一步证明了MSMHCO算法的有效性。
  • 复杂函数的全局最优化问题是在求解各种复杂工程与科学计算问题中提炼出来的亟待解决的计算...基于均匀设计与Powell算法的全局最优化并行算法具有寻优能力强,时间开销与问题因素个数的平方和布点数成线性复杂度,空间开
  • 针对处理大量数据和求解大规模复杂问题时粒子群...通过对多个基准优化测试函数求解证明, 相对于基于CPU的串行计算方法, 在求解收敛性一致的前提下, 基于CUDA架构的并行PSO求解方法可以取得高达90倍的计算加速比。
  • (1)抗原识别,即理解待优化的问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。 (2)初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个...

    一、简介

    算法主要的步骤:
    (1)抗原识别与初始抗体产生。
    (2)抗体评价
    (3)免疫操作
    免疫算法的特点:
    (1)全局搜索能力
    (2)多样性保持机制
    (3)鲁棒性强
    (4)并行分布式搜索机制
    (1)抗原识别,即理解待优化的问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。
    (2)初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个初始种群。
    (3)对种群中的每一个可行解进行亲和度评价。
    (4)判断是否满足算法终止条件;如果满足条件则终止算法寻优过程,输出计算结果;否则继续寻优运算。
    (5)计算抗体浓度和激励度。
    (6)进行免疫处理,包括免疫选择、克隆、变异和克隆抑制。
    免疫选择:根据种群中抗体的亲和度和浓度计算结果选择优质抗体,使其活化;
    克隆:对活化的抗体进行克隆复制,得到若干副本;
    变异:对克隆得到的副本进行变异操作,使其发生亲和度突变;
    克隆抑制:对变异结果进行再选择,抑制亲和度低的抗体,保留亲和度高的变异结果。
    (7)种群刷新,以随机生成的新抗体替代种群中激励度较低的抗体,形成新一代抗体,转步骤(3)。

    二、源代码

    clc
    clear
     
    %% 算法基本参数           
    sizepop=50;           % 种群规模
    overbest=10;          % 记忆库容量
    MAXGEN=100;            % 迭代次数
    pcross=0.5;           % 交叉概率
    pmutation=0.1;        % 变异概率
    ps=0.95;              % 多样性评价参数
    length=5;             % 配送中心数
    M=sizepop+overbest;
     
    %% step1 识别抗原,将种群信息定义为一个结构体
    individuals = struct('fitness',zeros(1,M), 'concentration',zeros(1,M),'excellence',zeros(1,M),'chrom',[]);
    %% step2 产生初始抗体群
    individuals.chrom = popinit(M,length);
    trace=[]; %记录每代最个体优适应度和平均适应度
     
    %% 迭代寻优
    for iii=1:MAXGEN
     
         %% step3 抗体群多样性评价
         for i=1:M
             individuals.fitness(i) = fitness(individuals.chrom(i,:));      % 抗体与抗原亲和度(适应度值)计算
             individuals.concentration(i) = concentration(i,M,individuals); % 抗体浓度计算
         end
         % 综合亲和度和浓度评价抗体优秀程度,得出繁殖概率
         individuals.excellence = excellence(individuals,M,ps);
              
         % 记录当代最佳个体和种群平均适应度
         [best,index] = min(individuals.fitness);   % 找出最优适应度 
         bestchrom = individuals.chrom(index,:);    % 找出最优个体
         average = mean(individuals.fitness);       % 计算平均适应度
         trace = [trace;best,average];              % 记录
         
         %% step4 根据excellence,形成父代群,更新记忆库(加入精英保留策略,可由s控制)
         bestindividuals = bestselect(individuals,M,overbest);   % 更新记忆库
         individuals = bestselect(individuals,M,sizepop);        % 形成父代群
     
         %% step5 选择,交叉,变异操作,再加入记忆库中抗体,产生新种群
         individuals = Select(individuals,sizepop);                                                             % 选择
         individuals.chrom = Cross(pcross,individuals.chrom,sizepop,length);                                    % 交叉
         individuals.chrom = Mutation(pmutation,individuals.chrom,sizepop,length);   % 变异
         individuals = incorporate(individuals,sizepop,bestindividuals,overbest);                               % 加入记忆库中抗体      
     
    end
     
    %% 画出免疫算法收敛曲线
    figure(1)
    plot(trace(:,1));
    hold on
    plot(trace(:,2),'--');
    legend('最优适应度值','平均适应度值')
    title('免疫算法收敛曲线','fontsize',12)
    xlabel('迭代次数','fontsize',12)
    ylabel('适应度值','fontsize',12)
     
    %% 画出配送中心选址图
    %城市坐标
    city_coordinate=[140,130;145,118;160,96;142.5,71;150,70;144,112;139,117;144.5,115;163,105;149,99.5;143,102;137,103;
                   125,98;129,96;136,90;142,96;148,96;142,91;147,91;140,70;140,63;137.5,63;138,59;143,63;176,141;170,140;
                   168,145;180,149;183,145;202,131;150,33];
    %carge=[20,90,90,60,70,70,40,90,90,70,60,40,40,40,20,80,90,70,100,50,50,50,80,70,80,40,40,60,70,50,30];
    carge=[20,90,90,60,70,70,40,90,90,70,60,40,40,40,30,90,70,100,50,50,60,80,70,80,50,40,60,70,50,30,30];
    %找出最近配送点
    for i=1:31
        distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:)');
    end
    [a,b]=min(distance');
     
    index=cell(1,length);
     
    for i=1:length
    %计算各个派送点的地址
    index{i}=find(b==i);
    end
    figure(2)
    title('最优规划派送路线')
    cargox=city_coordinate(bestchrom,1);
    cargoy=city_coordinate(bestchrom,2);
    plot(cargox,cargoy,'rs','LineWidth',2,...
        'MarkerEdgeColor','r',...
        'MarkerFaceColor','r',...
        'MarkerSize',20)
    hold on
     
    plot(city_coordinate(:,1),city_coordinate(:,2),'o','LineWidth',2,...
        'MarkerEdgeColor','k',...
        'MarkerFaceColor','y',...
        'MarkerSize',10)
     
    for i=1:31
        x=[city_coordinate(i,1),city_coordinate(bestchrom(b(i)),1)];
        y=[city_coordinate(i,2),city_coordinate(bestchrom(b(i)),2)];
        plot(x,y,'c');hold on
    end
     
    

    三、运行结果

    在这里插入图片描述
    在这里插入图片描述

    四、备注

    版本 :2014a

    展开全文
  • 把参数确定问题转化为函数优化问题,可以使用遗传算法求解。通过将遗传算法与Spark相结合,加快算法的计算速度。在此基础上开发了基于Spark的并行遗传算法程序,数值实验表明算法可以用来解决状态方程中参数的确定...
  • (1)抗原识别,即理解待优化的问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。 (2)初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个...

    算法主要的步骤:

         (1)抗原识别与初始抗体产生。

         (2)抗体评价

         (3)免疫操作

       免疫算法的特点:

         (1)全局搜索能力

         (2)多样性保持机制

         (3)鲁棒性强

         (4)并行分布式搜索机制

        (1)抗原识别,即理解待优化的问题,对问题进行可行性分析,提取先验知识,构造出合适的亲和度函数,并制定各种约束条件。

       (2)初始抗体群,通过编码把问题的可行解表示成解空间中的抗体,在解的空间内随机产生一个初始种群。

       (3)对种群中的每一个可行解进行亲和度评价。

       (4)判断是否满足算法终止条件;如果满足条件则终止算法寻优过程,输出计算结果;否则继续寻优运算。

       (5)计算抗体浓度和激励度。

       (6)进行免疫处理,包括免疫选择、克隆、变异和克隆抑制。

          免疫选择:根据种群中抗体的亲和度和浓度计算结果选择优质抗体,使其活化;

         克隆:对活化的抗体进行克隆复制,得到若干副本;

         变异:对克隆得到的副本进行变异操作,使其发生亲和度突变;

         克隆抑制:对变异结果进行再选择,抑制亲和度低的抗体,保留亲和度高的变异结果。

       (7)种群刷新,以随机生成的新抗体替代种群中激励度较低的抗体,形成新一代抗体,转步骤(3)。

    clc
    clear
     
    %% 算法基本参数           
    sizepop=50;           % 种群规模
    overbest=10;          % 记忆库容量
    MAXGEN=100;            % 迭代次数
    pcross=0.5;           % 交叉概率
    pmutation=0.1;        % 变异概率
    ps=0.95;              % 多样性评价参数
    length=5;             % 配送中心数
    M=sizepop+overbest;
     
    %% step1 识别抗原,将种群信息定义为一个结构体
    individuals = struct('fitness',zeros(1,M), 'concentration',zeros(1,M),'excellence',zeros(1,M),'chrom',[]);
    %% step2 产生初始抗体群
    individuals.chrom = popinit(M,length);
    trace=[]; %记录每代最个体优适应度和平均适应度
     
    %% 迭代寻优
    for iii=1:MAXGEN
     
         %% step3 抗体群多样性评价
         for i=1:M
             individuals.fitness(i) = fitness(individuals.chrom(i,:));      % 抗体与抗原亲和度(适应度值)计算
             individuals.concentration(i) = concentration(i,M,individuals); % 抗体浓度计算
         end
         % 综合亲和度和浓度评价抗体优秀程度,得出繁殖概率
         individuals.excellence = excellence(individuals,M,ps);
              
         % 记录当代最佳个体和种群平均适应度
         [best,index] = min(individuals.fitness);   % 找出最优适应度 
         bestchrom = individuals.chrom(index,:);    % 找出最优个体
         average = mean(individuals.fitness);       % 计算平均适应度
         trace = [trace;best,average];              % 记录
         
         %% step4 根据excellence,形成父代群,更新记忆库(加入精英保留策略,可由s控制)
         bestindividuals = bestselect(individuals,M,overbest);   % 更新记忆库
         individuals = bestselect(individuals,M,sizepop);        % 形成父代群
     
         %% step5 选择,交叉,变异操作,再加入记忆库中抗体,产生新种群
         individuals = Select(individuals,sizepop);                                                             % 选择
         individuals.chrom = Cross(pcross,individuals.chrom,sizepop,length);                                    % 交叉
         individuals.chrom = Mutation(pmutation,individuals.chrom,sizepop,length);   % 变异
         individuals = incorporate(individuals,sizepop,bestindividuals,overbest);                               % 加入记忆库中抗体      
     
    end
     
    %% 画出免疫算法收敛曲线
    figure(1)
    plot(trace(:,1));
    hold on
    plot(trace(:,2),'--');
    legend('最优适应度值','平均适应度值')
    title('免疫算法收敛曲线','fontsize',12)
    xlabel('迭代次数','fontsize',12)
    ylabel('适应度值','fontsize',12)
     
    %% 画出配送中心选址图
    %城市坐标
    city_coordinate=[140,130;145,118;160,96;142.5,71;150,70;144,112;139,117;144.5,115;163,105;149,99.5;143,102;137,103;
                   125,98;129,96;136,90;142,96;148,96;142,91;147,91;140,70;140,63;137.5,63;138,59;143,63;176,141;170,140;
                   168,145;180,149;183,145;202,131;150,33];
    %carge=[20,90,90,60,70,70,40,90,90,70,60,40,40,40,20,80,90,70,100,50,50,50,80,70,80,40,40,60,70,50,30];
    carge=[20,90,90,60,70,70,40,90,90,70,60,40,40,40,30,90,70,100,50,50,60,80,70,80,50,40,60,70,50,30,30];
    %找出最近配送点
    for i=1:31
        distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:)');
    end
    [a,b]=min(distance');
     
    index=cell(1,length);
     
    for i=1:length
    %计算各个派送点的地址
    index{i}=find(b==i);
    end
    figure(2)
    title('最优规划派送路线')
    cargox=city_coordinate(bestchrom,1);
    cargoy=city_coordinate(bestchrom,2);
    plot(cargox,cargoy,'rs','LineWidth',2,...
        'MarkerEdgeColor','r',...
        'MarkerFaceColor','r',...
        'MarkerSize',20)
    hold on
     
    plot(city_coordinate(:,1),city_coordinate(:,2),'o','LineWidth',2,...
        'MarkerEdgeColor','k',...
        'MarkerFaceColor','y',...
        'MarkerSize',10)
     
    for i=1:31
        x=[city_coordinate(i,1),city_coordinate(bestchrom(b(i)),1)];
        y=[city_coordinate(i,2),city_coordinate(bestchrom(b(i)),2)];
        plot(x,y,'c');hold on
    end
     

    完整代码添加QQ1575304183

    展开全文
  • 粒子群优化算法源码下载

    热门讨论 2012-12-30 13:16:22
    函数优化、系统控制、神经网络训练等领域得到广泛应用。 因此,本文在PSO算法基础上对PSO算法处理优化问题的能力及基于PSO算法,毕业论文网www.594wm.com,求解约束优化问题和多目标优化问题进行了深入研究。主要...
  • 进化算法VS传统数学优化方法 进化算法是基于种群的... 基于种群,一次运行得到一组解,so求解多目标优化问题具有优势 随机搜索,so搜索全局最优解能力比较强 并行计算 适用于解决同时有整数和连续...

    进化算法VS传统数学优化方法

    • 进化算法是基于种群的搜索

    • 进化算法是随机的搜索算法,不需要梯度,不需要解析的目标函数

     

    进化算法优势

    • 适用于没有解析目标函数和无法得到目标函数梯度信息的优化问题

    • 基于种群,一次运行得到一组解,so求解多目标优化问题具有优势

    • 随机搜索,so搜索全局最优解能力比较强

    • 并行计算

    • 适用于解决同时有整数连续变量混合优化问题

    • 处理不确定性有优势,如鲁棒性,由于基于种群的方法有着隐式的平均在里面,鲁棒性较好

     

    传统数学规划方法解决多目标优化问题

    • 通过特定的方法将其转换为单目标问题,一次求解只能获得一个帕累托解

     

    机器学习与数学规划的优化

    • 机器学习算法大部分是梯度法及其变形,像牛顿法、梯度下降法、爬山法等

    • 增强学习本质是一种动态规划方法

     

    为什么做数据驱动的优化

    • 在现实世界中有很多优化问题无法用解析的数学公式来表示,其性能的优劣只能仿真或实验来验证

     

    数据驱动的优化与一般的进化优化

    • 一般的进化优化算法需要解决的挑战主要在于问题中含有很多局部极优、大规模、多目标、强约束及不确定量

    • 数据驱动的优化首先面对来自数据方面的挑战,如数据有各种类型,如小数据、大数据、异构数据,数据可能包含很多噪声,还有数据缺失、流数据、数据保密等问题

     

    优化与建模之间的主要区别

    • 建模是为了拟合数据

    • 优化是为了引导优化算法更快的找到最优解

     

    离线数据优化意义

    • 做研究一般分为两类,问题驱动的研究和理论驱动的研究

    • 离线数据驱动更多是问题驱动的优化,是数据驱动优化问题中比较特殊的一类问题

    • 像生产过程的优化问题无法边优化边验证

    • 资源优化问题只能离线数据优化,其数据来源于日常生活,并且是独立于优化过程而产生的,无法在优化过程中采集想要的数据

     

    汽车设计中的进化算法应用

    • 难点:没有明确的优化目标函数、做仿真和实验都很耗时或费钱

    • 没法用解析的数学公式来描述优化问题的目标函数,需要用基于数据驱动的方法求解

    • 基于小数据驱动的优化,需要将进化算法与先进的机器学习方法(如半监督学习、迁移学习等)进行有机结合

     

    实际应用中问题

    • 解决实际问题时问题描述本身很复杂

    • 产品设计过程分很多阶段。一般来说,在不同的设计阶段需要考虑不同的变量和目标函数。

    • 在概念设计阶段,把大的框架定下来,把某些设计参数定好,这时所使用的仿真工具精度低一些

    • 然后对每个部件进行优化,这时设计的变量可能发生改变,目标也可能发生改变,所选择的仿真工具精度高一些

    • 最后涉及每个零件的设计,更加细微,所关注的目标函数和自变量又会改变

     

    机器学习×进化算法

    • 怎么用机器学习帮助进化计算:用深度学习处理大数据,半监督学习、迁移学习解决小数据驱动的优化问题,增强学习解决时变数据驱动的优化问题

    • 进化计算来提升机器学习性能:机器学习本质是优化问题,机器学习中的误差函数或损失函数就是目标函数,在机器学习中,为了考虑其他目的,如正则化、稀疏化等,就分别把正则化或稀疏的要求有一个超参数累加到损失函数中去,总之就是使用加权的方法把不同目标合成一个目标,所以机器学习是一个多目标优化问题。

     

    机器学习大多采用梯度法及其变形算法,进化算法有如下优势

    • 进化算法更适合解决非凸问题。如机器学习中采用加权法把不同的学习目标加在一起,如果是凸优化问题,梯度法效果好,但如果是非凸问题,通过加权以后解决不了

    • 传统的机器学习只能用于参数优化,用梯度法进行神经网络的结构优化就比较难了。事实上为了解决大规模深度网络的结构优化问题,可以将进化算法和发育模型相结合

    • 进化算法可以实现多目标学习

     

    多目标学习的好处

    • 传统机器学习将多个目标整合为一个目标需要人工设置超参数,但很难确定最优的超参数

    • 如果问题是非凸问题,调超参数没有用

    • 采用多目标学习,用帕累托优化的思想,得到不同模型,满足不同用户的需求(如可解释性和精度)

     

    可解释和精度

    • 在机器学习中加正则化就是防止过拟合/防止复杂度过高,会产生稀释的特性/降低模型复杂度,产生了一定可解释性

     

     

    参考资料:

    https://mp.weixin.qq.com/s/sHGMW3eLvTpFHkz6UYFCxQ

     

    展开全文
  • 提出基于并行计算的多场景分析和多目标分子微分进化算法优化模型进行求解,得到配电网分布式光伏最优配置方案及主动管理策略。IEEE 33节点配电系统仿真结果表明,所提优化配置方法可有效提高分布式光伏消纳量并...
  • 约束条件的处理方法 (1)搜索空间限定法 (2)可行解变换法 (3)惩罚函数 遗传算法的高级实现技术 倒位算子 ...数值函数优化计算 多目标优化 求解装箱问题的遗传算法 求解旅行商问题的遗传算法 离散

    声明:本文根据对遗传算法相关资料进行整理所得,所参考出处均在文末进行标注,如有侵权,请联系删除。

    算法: 遗传算法
    参照书籍: 遗传算法原理及应用(国防工业出版社)

    遗传算法的高级实现技术

    倒位算子
    \quad倒 位操作是指颠倒个体编码中随机指定的两个基因座之间的基因排列顺序,从而形成一个新的染色体。
    \quad具体流程:
    (1)随机指定倒位点
    (2)以倒位概率PiP_{i}颠倒倒位点之间的基因序列。
    例:
    11000111000111 1\quad\vdots\quad1\quad0\quad0\quad0\quad\vdots\quad 1\quad1\quad\rightarrow1\quad\vdots\quad0\quad0\quad0\quad1\quad\vdots\quad1\quad1
    二倍体与显性操作算子
    出发点:基因的显性与隐性。
    例:
    AbcDefGabCDefGAbCDefG \begin{array}{l} A b c D e f G \\ a b C D e f G \end{array} \rightarrow A b C D e f G\\ 左侧为二倍体结构
    \quad对于动态系统优化问题,使用单倍体的遗传算法很难达到优化要求,因为对动态环境的变化过程跟踪效果差,使用双倍体效果较好。
    变长度染色体遗传算法
    \quad变长度染色体遗传算法的编码与解码
    编码:
    \quad变长度染色体一般表示方式:Xm:(i1,v1)(i2,v2)(ik,vk)(in,vn)X^m:(i_1,v_1)(i_2,v_2)…(i_k,v_k)…(i_n,v_n)
    \quad其中iki_k为基因编号vkv_k为基因值。
    \quad例:常规染色体表示:X:100101X:100101
    \quad变长度可表示为Xm:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)X^m:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)
    \quad在变长度染色体遗传算法中,允许长度可长可短。如:
    \quadXm:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)(3,1)(1,0)X^m:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)(3,1)(1,0)
    \quadXm:(1,1)(3,0)(5,0)(6,1)X^m:(1,1)(3,0)(5,0)(6,1)
    \quad前者称为过剩指定,后者称为缺省指定。
    解码:
    \quad(1)在正常指定情况下,将变长度染色体遗传算法中的个体基因型转换为常规遗传算法中的个体基因型。
    \quad(2)在描述过剩时,取最左边的二元组进行解码。
    \quad例:Xm:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)(3,1)(1,0)X^m:(1,1)(2,0)(3,0)(4,1)(5,0)(6,1)(3,1)(1,0)
    \quad他在常规遗传算法中所对应的个体为:
    \quadX100101X:100101
    \quad(3)描述不足时,可取规定预先设定的标准值或省缺值。
    \quad例:Xm:(1,1)(3,0)(5,0)(6,1)X^m:(1,1)(3,0)(5,0)(6,1)
    \quad若省缺值为0,X:100001X:100001
    \quad若省缺值为1,X:110101X:110101
    \quad切断算子与拼接算子
    \quad在变长度染色体遗传算法中不使用交叉算子,使用切断算子和拼接算子进行代替。
    切断算子:
    \quad切断算子以某一预先指定的概率,在变长度染色体中随机选择一个基因座,在该处将个体的基因型切断,使之称为两个个体的基因型。
    拼接算子:
    \quad拼接算子以某一预先指定的概率,将两个个体的基因型连接在一起,使他们合并为一个个体的基因型。
    \quad变长度染色体遗传算法的算法结构
    (1)初始化。随机产生M个染色体,长度全部为kk的个体,以他们作为变长度遗传算法的初始个体集合P(0)P(0),其中kk为根据问题的不同而设定的一个参数,并且klk \le l
    (2)适应度评价。对变长度的染色体进行解码处理后,评价或计算各个个体的适应度。
    (3)基本处理阶段。对群体P(t)P(t)施加选择算子,以保留适应度较高的个体。
    (4)并列处理阶段。对群体P(t)P(t)施加变异算子、切断算子和拼接算子,以生成新的个体。
    (5)重复(2)到(4),直到满足条件为止。
    小生境遗传算法
    \quad在用遗传算法求解多峰值函数的优化计算问题时,经常是只能找到个别的几个最优解,或得到局部最优解,而有时希望优化算法能够找出问题的所有最优解,包括局部最优解和全局最优解。基本遗传算法对此无能为力。在遗传算法中引入小生境的概念,从而解决这类问题,以找出更多的最优解。
    \quad遗传算法中模拟小生境的方法主要有以下几种:
    (1)基于预选择的小生境实现方法
    \quad基本思想:仅当新生代的子代个体的适应度超过其父代个体适应度时,所产出的子代个体才能替换其父代个体而遗传到下一代群体中,否则父代个体仍保留在下一代群体中。
    (2)基于排挤的小生境实现方法
    \quad基本思想:设置排挤因子CFCF,由群体中随机选取的1/CF1/CF个个体组成排挤成员,然后依据新产生的个体与排挤成员的相似性来排挤掉一些与排挤成员相类似的个体。个体之间的相似性可用个体编码串之间的海明距离来度量。
    (3)基于共享函数的小生境实现方法
    \quad基本思想:通过反映个体之间相似程度共享函数来调整群体中各个个体的适应度,从而在这以后的群体进化过程中,算法能够依据调整后的适应度来进行选择运算,以维护群体的多样性,创造出小生境的进化环境。
    混合遗传算法
    \quad遗传算法存在问题:容易产生早熟现象、局部寻优能力较差、并不是解决问题的最有效方法、不能避免对同一个可行解多次搜索
    \quad其他算法:梯度法、爬山法、模拟退火法、列表寻优法具有较强的局部搜索能力。
    \quad混合遗传算法在标准遗传算法中融合了局部搜索算法的思想。
    \quad混合算法特点:
    (1)引入局部搜索过程。
    (2)增加了编码变换操作过程。
    \quad混合遗传算法的基本构成原则:
    (1)尽量采用原有算法的编码方式。
    (2)利用原有算法的优点。
    (2)改进遗传算子。

    展开全文
  • 为此,引进一种物种形成原理算法,该算法根据群体微粒的相似度并行地分成子群体。每个子群体是围绕一个群体种子而建立的。对每个子群体进行QPSO最优搜索,从而保证方程组中每个可能的解都能被搜索到,具有良好的局部...
  • MIDACO是数值优化问题的求解器。MIDACO可以应用于连续(NLP非线性规划)、离散/整数(IP整数规划)和混合整数规划(MINLP)问题。MIDACO可用于单目标和多目标优化问题。问题可能限于等式和/或不等式约束。MIDACO适用...
  • 粒子群算法是一种并行算法。 2) 什么? 看不懂? 我来通俗解释: 粒子群算法是生物学家研究鸟类捕食创造的,把一只鸟比作成一个粒子,设想一个有20只秃鹫(粒子)的群体吧,秃鹫相互独立具有个体特征但又相互...
  • 数学建模方法:蚁群算法

    热门讨论 2010-05-21 15:35:07
    用改进蚁群算法求解函数优化问题 连续优化问题的蚁群算法研究进展 蚁群算法概述 Ant colony system algorithm for the optimization of beer fermentation control 蚁群算法在K—TSP问题中的应用 Parallel ant ...
  • 差分进化算法

    2020-09-24 15:10:41
    1 简介 最优化方法分为传统优化方法和启发式方法,传统的优化算法大多数都是利用目标函数的导数求解,而启发式优化方法以放生算法为主,通过启发式...目前演化算法广泛应用于求解无约束函数优化、约束函数优化、组合
  • 为了辨识多项式非线性系统中的各系统矩阵, 对于矢量化各系统矩阵组成的未知参数矢量, 分别在无约束和有约束条件下采用两并行分布算法求解. 在以状态方程等式为约束条件时, 将各状态瞬时刻值与由系统矩阵组成的未知...
  • 详解模拟退火算法(含MATLAB代码)

    万次阅读 多人点赞 2019-05-17 21:56:21
    求解函数的最小值问题 例2. 旅行商(TSP)问题 1. 什么是智能优化算法 智能优化算法又称现代启发式算法,是一种具有全局优化性能、通用性强且适用于并行处理的算法。这种算法一般具有严密的理论依据,...
  • 算法采取AFSA、PSO的全局并行搜索与模拟退火算法(SA)的局部串行搜索机制相结合的搜索方式,并用混沌映射的遍历性和模拟退火算法的突跳功能,克服了AFSA、PSO的收敛速度、求解精度和易陷于局部最优的不足。...
  • 7.1 数值函数优化汁算 7.2 多目标优化 7.3 求解装箱问题的遗传算法 7.4 求解旅行商问题的遗传算法 7.5 离散空间下机器入路径规划的遗传算法 7.6 连续空间下机器人路径规划的遗传算法 第八章 进化计算 8.1 ...
  • 算法——绪论

    2020-03-26 21:22:54
    1、算法设计模式: 1、暴力搜索 ...3、最优化算法设计方法: 线性规划 动态规划 贪心法 启发式方法 4、计算复杂性函数的阶: 5、和氏的估计与界限: 5、递归方程: ...
  • 进化算法的出现为复杂优化问题的求解提供了新的思路,由于它具有智能性、 ...给出了一种用来搜寻多峰函数所有峰值点的有效算法及评价多峰函数优化问题算 法性能的度量方法.本文的主要工作概括如下:
  • 1 基于遗传算法的TSP算法(王辉) TSP (旅行商问题—Traveling Salesman Problem),是典型的NP完全问题,即其最坏情况下的时间复杂性随着...以函数仿真为例,对该函数优化和GA 改进,只需改写函数m 文件形式即可......
  • ADMM算法理论与应用

    万次阅读 多人点赞 2017-05-20 23:11:11
    交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)是一种解决可分解凸优化问题的简单方法,尤其在解决大规模问题上卓有成效,利用ADMM算法可以将原问题的目标函数等价的分解成若干个可求解的子...
  • 遗传算法能有效的求解NP(非确定行多项式)问题以及非线性、多峰函数优化和多目标优化问题。 其本质是一种并行、高效、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应的控制搜索过程...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

并行算法求解函数优化