外卖配送基于matlab蚁群算法求解外卖配送问题含matlab源码2351期

海神之光 海神之光     2023-04-02     307

关键词:

⛄一、蚁群算法求解外卖配送问题

1 传统蚁群算法
1.1 蚁群算法的描述

利用蚂蚁运动的随机性进而进行权重的初始化方式,得到迭代次数并计算出全部蚁群的多重路径进行搜索循环。根据模型筛选蚁群选择下一个节点,判断是否全部蚂蚁迭代、信息素的更新,去计算概率并判断禁忌表中是否饱和,当显示饱和已满,最终判断满足结束条件,得出结论。

蚁群系统是在20世纪90年代被意大利学者M.Dorigo、V.Maniezzo等通过观察记录蚂蚁的觅食性所发现的。蚂蚁的觅食过程中会释放一种信息素,蚂蚁之间通过信息素来进行通信和协调,根据释放信息素的浓度选择找到觅食的最短路径。1992年,Marco Doigo的博士论文中正式提出蚁群算法。

在后续对蚁群的觅食行为研究中发现,蚂蚁在外出觅食的路上会释放一种信息素,蚁群内的蚂蚁通过这些信息素从而实现信息的传递。而蚁群算法则是通过模拟蚂蚁种群的这种觅食过程,采用觅食过程中的一些特性,寻找确定最优的路径。

1.2 蚁群算法的优点
蚁群算法(图1)是一种模拟退化算法,反映了蚁群的觅食过程、蚁群在觅食过程中所表现的特性。这种模拟退化算法也具备以下特性:

(1)自组织性。在没有特定的外界干预的条件下,蚂蚁觅食产生自组织性,单个蚂蚁对于路径的无序寻找并且留下信息素产生作用,从而自发地趋向路径的选择,直到寻找到路径的最优解,这一过程经过算法的演变,将无序转化为有序。

(2)并行机制。每只蚂蚁在搜索路径的过程具有独立性的特点,同时也会通过信息素进行搜索路径的交流,也随即共同寻找出最优路径,从而提高搜寻的效率。蚁群算法的普适性是组合优化问题求解的重要方式,也同时增加了算法的可靠性。

(3)鲁棒性。蚁群算法的求解结果不依赖初始路线的选择,搜索过程中也不需要过多的人工因素干扰,收敛程度并不受参数、概率模型的约束。在运行过程中具有稳健性的特点,保障外卖系统大数量分析和接受订单过程中的安全性、系统的可行性。

(4)全局搜索能力强。蚁群算法应用在复杂的搜索任务中时,每一种信息素的产生代表了一只蚂蚁的信息搜索的传递,模型构造继而应用多点同时开始进行独立的解的搜索,从而体现全局进行搜索时其强大搜索的能力,找到多种路径的选择并有效进行最优路径的选择。

2 最优路线求解
对蚂蚁航迹上的信息素优化更新后,求解最优路线,实现过程如下:

(1)将信息素的值设置为1,在迭代中其启发式信息保持不变。

(2)随机选择其一个外卖位置作为蚂蚁a的出发位置,进行第一次航迹的行走,若蚂蚁a未寻访完所有外卖位置,则以蚂蚁a的当前位置开始随机先择下一个外卖位置。

(3)设置一个外卖位置在(1,0)的随机数,如果随机数小于设置的控制参数,则在未走访过多外卖位置中,选择最大可行性的外卖位置作为蚂蚁下一个移动的外卖位置。在蚂蚁走访完所有的外卖位置后返回走访外卖位置的先后顺序。

对蚂蚁个体的选择概率进行积累概率,与产生的随机数进行对比从而选择下一个外卖位置,从不断地迭代中找到最短路径并输出。

⛄二、部分源代码

clc;
clear;
close all;
%% 题目描述:外卖配送问题
%每一个客户都对应特定的商家
%只有一个骑手 %后续可以换成n个骑手
%无限容量、无限里程、无限时间
%现在已经更新为可以有限容量了
%一般是最小里程等求和 作为目标函数,比较符合自然规律;暂时没想到里程接近
%收到订单后要先到商家才能再到客户

%% 数据
% 坐标
Buyer = [-4,-1; -4.5,-0.5; -3,-3; -3,2.5; -3,0.5; -1,-2; -1,-1; -0.5,-1;
-0.5,0; 0,3; 1.5,-4; 1,-3; 1, -2; 0.5,-1; 0.5,3; 2.5,-1; 1.5,0;
2,1; 3,-1; 3,4];
Seller = [2,-3; 0,4; 1,0; -4,-3; 2, -2; 4,-1; 3,3; 4,2; 4,-1; 3,1;
-3,-1; 5,0; -2,0; -4,2; -3,1; -3,-2; -1,2; -1,0;0,1;0,2 ];

% 配重
global Weight
global W_max
Weight = [1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1];
Weight = [Weight;-Weight];%到卖家加上重量,到买家加上负的重量
W_max = 3;%这样就意味着不能带超过W_max份的物品

n = size(Seller,1);

% 前提
global pre %前提列表,必须要先经过前提
pre(1:n) = 0; %卖家无前提
pre(n+1:2*n) = 1:n; %买家前提是对应卖家

%% 求解部分
% 测试外卖问题
X = [Seller;Buyer];
[Result,~] = ACO(X, 0);
% 测试TSP
% X = Seller;
% [Result,~] = ACO(X, 1);

%% 画图
plot(Result(:,1),Result(:,2),‘o-’);
hold on;
plot(Seller(:,1),Seller(:,2),‘o’);
plot(Result(1,1),Result(1,2),‘rp’,‘MarkerSize’,9);

⛄三、运行结果

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]连杰,卢宇航,张彤凤,魏存拴,张秀文.基于改进的蚁群算法的无人机送外卖航迹规划[J].科技经济市场. 2020(12)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

twvrp基于matlab遗传算法求解带时间窗的外卖配送车辆路径规划问题含matlab源码1416期

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆,安排适当的... 查看详情

twvrp基于matlab遗传算法求解带时间窗的载重约束外卖配送车辆路径规划问题含matlab源码1417期

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆,安排适当的... 查看详情

配送路径规划基于matlab蚁群算法求解配送路径最短问题含matlab源码2222期

⛄一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车... 查看详情

毕设题目:matlab智能算法vrp(车辆路径规划)

1案例背景物流配送是目前物流发展的新趋势,在物流配送中,配送路径规划对于顾客的满意度以及经营总成本有相当大的影响。通过应用智能算法,实现了物流配送VRP的优化过程,建立的算法能在短时间内找到最佳车辆数及对应的最... 查看详情

matlab遗传算法外卖配送优化(新的约束条件)(代码片段)

模型问题假设在外卖配送过程中,会出现很多种不确定情况导致配送时间的浪费,如配送过程中物品损伤,如果配送车辆装载过多,会导致物品挤压破损;当天天气情况的不稳定导致配送不及时;某交通路... 查看详情

matlab求解外卖配送路径优化(代码片段)

模型限制条件1.先取后送2.多骑手3.载重限制如需帮助请私聊ticclearclc%%用importdata这个函数来读取文件data=importdata('data3.mat');cap=4;%%提取数据信息vertexs=data(:,2:3);%所有点的坐标x和ycustomer=vertexs(2:end,:);%顾客坐标cusnum&... 查看详情

matlab求解外卖配送路径优化(代码片段)

模型限制条件1.先取后送2.多骑手3.载重限制如需帮助请私聊ticclearclc%%用importdata这个函数来读取文件data=importdata('data3.mat');cap=4;%%提取数据信息vertexs=data(:,2:3);%所有点的坐标x和ycustomer=vertexs(2:end,:);%顾客坐标cusnum&... 查看详情

配送路径规划基于matlab遗传算法求解带时间窗的配送车辆路径规划问题含matlab源码604期(代码片段)

一、城市配送系统简介城市配送系统(citydeliverysystem,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的... 查看详情

物流选址基于matlab麻雀搜索算法求解物流选址问题含matlab源码h003期

...简介1LRP问题本质LRP问题的本质是为了满足区域类客户的配送需求,需要建立一个多级配送网络,一般由配送枢纽、配送中心、配送末端网点三级构成(其他类型可类比)。要求满足客户的需求量,不同设施有其吞吐容量和服务... 查看详情

物流选址基于matlab粒子群算法求解多物流中心选址问题含matlab源码1458期

...简介1LRP问题本质LRP问题的本质是为了满足区域类客户的配送需求,需要建立一个多级配送网络,一般由配送枢纽、配送中心、配送末端网点三级构成(其他类型可类比)。要求满足客户的需求量,不同设施有其吞吐容量和服务... 查看详情

配送路径规划基于matlab遗传算法求解带时间窗+带车辆速度的配送车辆路径规划问题含matlab源码256期(代码片段)

一、城市配送系统简介城市配送系统(citydeliverysystem,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的... 查看详情

配送路径规划基于matlab遗传算法求解带时间窗+带车辆速度的配送车辆路径规划问题含matlab源码256期(代码片段)

一、城市配送系统简介城市配送系统(citydeliverysystem,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的... 查看详情

配送路径规划基于matlab蚁群优化节约算法单中心多城市配送车辆路径规划含matlab源码017期(代码片段)

一、VRP简介1VRP基本原理车辆路径规划问题(VehicleRoutingProblem,VRP)是运筹学里重要的研究问题之一。VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述为:对一系列发货点和收货点,组织调用一定的车辆... 查看详情

优化求解基于matlab遗传算法求解多城市多应急物流中心选址问题含matlab源码1724期(代码片段)

...简介1LRP问题本质LRP问题的本质是为了满足区域类客户的配送需求,需要建立一个多级配送网络,一般由配送枢纽、配送中心、配送末端网点三级构成(其他类型可类比)。要求满足客户的需求量,不同设施有... 查看详情

优化选址基于matlab遗传算法求解物流配送中心选址含matlab源码1917期(代码片段)

一、物流选址简介1引言配送中心是物流系统网络中的关键节点和重要的基础设施,在整个物流系统网络规划中起着枢纽性的作用[1]。快递物流配送中心选址是指在具有若干个发件网点或者若干个收件网点的物流配送区域内&#x... 查看详情

etwvrp基于matlab遗传算法求解带时间窗多电动车充电路径规划问题含matlab源码1966期(代码片段)

一、城市配送系统简介城市配送系统(citydeliverysystem,CDS)的发展是一个城市提高其公共运输能力的关键。目前国内外许多学者对CDS系统进行了深入研究。其中,车辆路径优化问题是城市配送系统中的重要环节,通过对车辆行驶路径的... 查看详情

matlab求解外卖配送路径优化(代码片段)

模型限制条件1.先取后送2.多骑手3.载重限制如需帮助请私聊ticclearclc%%用importdata这个函数来读取文件data=importdata('data3.mat');cap=4;%%提取数据信息vertexs=data(:,2:3);%所有点的坐标x和ycustomer=vertexs(2:end,:);%顾客坐标cusnum&... 查看详情

配送路径规划基于matlab模拟退火算法求解单配送中心多客户多车辆最短路径规划问题含matlab源码1604期(代码片段)

一、模拟退火算法简介1引言模拟退火算法(SimulatedAnnealing,SA)的思想最早由Metropolis等人于1953年提出:Kirkpatrick于1983年第一次使用模拟退火算法求解组合最优化问题[1]。模拟退火算法是一种基于MonteCarlo迭代求解策略的随机... 查看详情