• 基于双参数蜜蜂算法解决车辆路径问题(Matlab代码实现)


    目录

    1 概述

       1.1研究背景

    2 运行结果

    3 Matlab代码实现

    4 参考文献


    1 概述

    群智能起源于自然环境中生物群体经过长期自然进化后具有的解决问题的能力,其中的许多问题在人类看来可以归属于高复杂度的优化问题。受到生态系统中一些具有社会群体特征的物种的行为启发,模仿自然与生物机理的群智能优化方法应运而生。群智能优化方法的发展为使用传统的优化方法难以解决的NP-困难问题提供了有效的求解工具。英国学者Pham教授于2005年提出的蜜蜂算法属于群智能优化算法的一员,该算法受自然界中蜂群的觅食行为启发,是根据蜜蜂探测、选择食物源并最终采集到高质量蜂蜜的内部运行协作机制而设计出的仿生计算方法。该算法主要特征是用侦查蜂角色划分的方式直接体现优化方法普遍需要应对的相互矛盾两方面:利用性搜索与探测性搜索,因此容易控制操作。

    1.1研究背景

    运输业是现代物流业中非常重要的组成部分,据统计运输作业成本占物流业总成本的比例超过一半,提高运输作业效率及降低运输作业成本将有力地促进物流业总成本的下降。运输业可分为长距离的干线运输和短距离的市内配送,车辆路径优化问题是市内配送中一个重要的研究课题,车辆路径的优化将为企业降低运输配送成本,提高货物送达服务水平。 带取送车辆路径优化问题是车辆路径优化问题的一个重要分枝,它是指同时为顾客提供送货与取货服务的过程中优化车辆路径,提高配送作业效率,进而为企业节约更多的运输成本。考虑装卸策略的带取送车辆路径优化问题是指在带取送车辆路径优化问题的基础上进一步考虑货物的装载与卸载,使用不同装卸策略寻求包括车辆路径成本与额外装卸成本的总成本最优目标。 本文在现有文献的基础上提出一种新装卸策略的带取送车辆路径优化问题。

    2 运行结果

     

    3 Matlab代码实现

    clc;
    clear;
    close all;
    %% Problem Definition
    [typeOfFunction] = 'EilA101';
    Instance=TsplibVRP(typeOfFunction);
    Dims=Instance.dim;
    ObjFunction=@(x) Instance.evaluation( x );             
    VarSize=[1 Dims];                                      
    %% Bees Algorithm Parameters
    n= 10; nep = 40; 
    MaxEval = 1000000;
    recruitment = round(linspace(nep,1,n));
    assigntment = round(linspace(1,Dims,n)); 
    ColonySize=sum(recruitment)        
    MaxIt=round(MaxEval/ColonySize);

    %% Initialization
    Empty_Patch.Position=[]; Empty_Patch.Cost=[]; Empty_Patch.Sol=[];
    Empty_Patch.Counter=[];
    Patch=repmat(Empty_Patch,n,1);
    counter=0;
    for i=1:n
        [Patch(i).Position,Patch(i).Cost, Patch(i).Sol]=BiBA_Clustering_using_Coverage(Instance);
        counter = counter + 5000;
        Patch(i).Counter = counter;
    end
    % Sort
    [~, SortOrder]=sort([Patch.Cost]);
    Patch=Patch(SortOrder);
    BestSol=Patch(1);
    % Array to Hold Best Cost Values
    BestCost=zeros(MaxIt,1);
    Counter=zeros(MaxIt,1);
    OptSol.Cost=inf;

    4 参考文献

    [1]陈渊,马宏伟.基于蜜蜂算法的支持向量机特征选择和参数优化[J].组合机床与自动化加工技术,2013(11):41-43+54.

    [2]田微. 基于动态粒子蜜蜂算法的群机器人任务分配方法研究[D].吉林大学,2017.

    [3]孙成恺. 改进二进制蜜蜂算法及其在组合优化问题中的应用[D].上海大学,2014.

    部分理论来源于网络,如有侵权请联系删除。

  • 相关阅读:
    快速上手分布式版本控制工具Git
    《java练级之路》类和对象,博主熬夜肝六个小时万字博客
    mfc140u.dll丢失的解决方法,以及针对每个解决mfc140u.dll丢失办法的优缺点
    供应链和物流的自动化新时代
    在职读博|中国社科院-英国斯特大学灵合作办学双证管理学博士
    Vue.$nextTick的原理是什么-vue面试进阶
    Vue2+Vue3笔记(尚硅谷张天禹老师)day03
    ElasticSearch 之 文本搜索
    详细了解一下股票量化交易接口股
    PowerBuilder用ODBC方式连接数据库时,不用注册数据源
  • 原文地址:https://blog.csdn.net/weixin_66436111/article/details/128102580