文献阅读笔记——求解车辆路径问题及其变体的元启发式算法的分类综述

news2024/12/29 10:04:32

论文题目A taxonomic review of metaheuristic algorithms for solving the vehicle routing problem and its variants

其他信息:Computers & Industrial Engineering|2020|Raafat Elshaer⁎, Hadeer Awad

文章贡献:1)对使用元启发式算法的VRP问题进行分类
                  2)分析各类元启发式算法求解VRP问题的贡献
文献数量:299篇     发表年份:2009-2017

目录

一、求解VRP问题的元启发式算法分类

 二、VRP问题类型

三、元启发式算法的应用及效果

a 基于单解的元启发式相关文献

 b 基于种群的元启发式相关文献

四、结论


一、求解VRP问题的元启发式算法分类

       元启发式算法主要分为两类:基于单解的算法和基于种群的算法。基于单解的启发式分为7种类型(SA, TS, GRASP,VNS, GLS,ILS,LNS),16种基于种群的方法:12种进化计算(EC)方法(GA, ES, EP, GP, EDAs, DE, CoEA, CA, SS,MA,EMA和PR)和10种群体智能(SI)方法(ACO, PSO, BFOA, BCO, AIS,FA,CS,IWD,SFLA,BBO)。

 二、VRP问题类型

      大多数文章(98.91%)考虑了CVRP。大约37.32%的文章被认为是VRPTW。大多数情况下(30.8%),这些时间窗口是硬时间窗口,而软时间窗口也被考虑过(5.43%),而软时间窗口和严格时间窗口的混合是罕见的(1.09%)。在16.3%的文章中考虑了PDP。13.41%的文章考虑了异构VRP及其变体。9.42%的文章考虑了Multi仓库。在7.97、5.43、5.43、5.43、4.71、3.99、3.62、3.62、3.26%的文章中分别考虑了其他变量,如多周期、拆分交付、随机需求、绿色VRP、开放VRP、动态、时变、负载约束、随机行程VRP。其余的变体都很少。

三、元启发式算法的应用及效果

       299篇文献中涉及的元启发式算法种类中386种,其中63.7%是基于单解的元启发式。

a 基于单解的元启发式相关文献

1)TS求解VRP的相关论文:

2)VNS求解VRP的相关论文:

3)LNS求解VRP的相关论文:

 4)SA求解VRP的相关论文:

  5)ILS求解VRP的相关论文:

   5)GRASP及GLS求解VRP的相关论文:

 文献中应用各算法次数占比

 b 基于种群的元启发式相关文献

  1)GA & MA

 2)PR, SS, DE, CoEA, EMA and ES

  3)ACO

   4)PSO, ABC, BBMO, SFLA, BBO, GSO, CS, IWD and FA

  文献中应用各算法次数占比:fig5展示了EA各算法的百分比情况,fig6展示了SI各算法的百分比情况。

在对比问题或算法效果时可以对照表格检索相关文献

四、结论

1.基于单解的元启发式算法中,最常使用的是TS和VNS;LNS、SA、ILS和GRASP应用较少;和GLS很少使用

2.针对基于群体的元启发式算法,EA中最常用的是遗传算法;MA应用较少;PR、SS、DE、CoEA、EMA和ES很少使用;EP、GP、EDAs、CA不常用,SI中最常用的是ACO和PSO;ABC、BBMO、SFLA、BBO、GSO、CS、IWD和FA很少使用;不使用BFOA和AIS。

3.未来的研究可以将重点放在将很少使用的算法应用于其他问题变体上,以探索算法性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/772075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ安装及简单使用

说明:RabbitMQ(官网:)是一门异步通讯技术,使用异步通讯技术,可解决同步通讯的一些问题。 安装 本文介绍在云服务器上安装RabbitMQ,操作系统是CentOS 7,远程连接工具是WindTerm&…

抖音seo源码部署/开源不加密可二开/抖音seo优化开发方案

一、前言 抖音是目前国内非常流行的短视频平台之一,用户数量庞大,更是吸引了许多企业和个人在上面开设账号,通过发布内容来进行流量变现。但是,在一个账号发布内容的同时,管理员又需要同时关注多个账号,对账…

C语言--程序环境和预处理

翻译环境 C语言的代码是文本信息,对于计算机来说无法直接理解,需要通过翻译环境进行翻译成二进制信息; 我们在写代码的时候,一般都会写在一个源文件中,这时候我们就使用我们的编译器(VS)将其转换为机器代码&#xff0…

汉诺塔问题(Hanoi Tower)--递归典型问题--Java版(图文详解)

目录 概述问题来源汉诺塔问题的规则 实现解题思路一个盘子两个盘子三个盘子n个盘子 递归概念递归特性递归的时间复杂度汉诺塔中的递归 代码 总结 概述 问题来源 汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智…

2023无监督摘要顶会论文合集

2023无监督摘要顶会论文合集 写在最前面ACL-2023Aspect-aware Unsupervised Extractive Opinion Summarization 面向的无监督意见摘要(没找到)Unsupervised Extractive Summarization of Emotion Triggers *情绪触发(原因)的 *无监督 *抽取式 摘要&#…

Python Request get post 代理 基本使用

Python Request get post 代理 常用示例 文章目录 Python Request get post 代理 常用示例一、Pip install requests二、Requests 请求时携带的常用参数1、参数说明2、headers3、requests 常用参数:url、headers、proxies、verify、timeout 三、Requests Get Post1、Get2、Post…

【Kotlin】基础速览(1):操作符 | 内建类型 | 类型转换 | 字符串模板 | 可变 var 和不可变 val

📜 本章目录: 0x00 操作符(operators) 0x01 内建类型(Build-in) 0x02 类型转换:显式类型转换 0x03 在较长数字中使用下划线 0x04 字符串(String) 0x05 字符串模板&…

grpc中间件之链路追踪(otel+jaeger)

参考文档 https://github.com/grpc-ecosystem/go-grpc-middleware/blob/main/examples/client/main.go https://github.com/grpc-ecosystem/go-grpc-middleware/blob/main/examples/server/main.go https://github.com/open-telemetry/opentelemetry-go/blob/main/example/jaeg…

基于深度学习的高精度道路瑕疵检测系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度道路瑕疵(裂纹(Crack)、检查井(Manhole)、网(Net)、裂纹块(Patch-Crack)、网块(Patch-Net)、坑洼块&#x…

销售易的12年与七个瞬间

导读:企业级没有捷径 12年对一家企业意味着什么? 在消费互联网领域,12年足够长,短短几年内上市的故事过去屡见不鲜。在企业服务的toB领域,产业成熟和企业发展的时间维度被拉长,但故事同样精彩。 2023年7月1…

漫谈大数据时代的个人信息安全(三)——“点赞之交”

大数据时代的个人信息安全系列三:“点赞之交” 1. 点赞之交2. 点赞诈骗3. 个人信息保护小贴士 互联网就像公路,用户使用它,就会留下脚印。 每个人都在无时不刻的产生数据,在消费数据的同时,也在被数据消费。 近日&am…

传智教育成功入选教育部2023年产学合作协同育人项目

传智教育成功入选教育部2023年产学合作协同育人项目 近日,教育部产学合作协同育人项目专家组发布《关于公布教育部产学合作协同育人项目指南通过企业名单(2023年5月)的通知》,传智教育申报的“教学内容和课程体系改革项目 、师资…

zygote forkSystemServer及systemServer启动

###zygote forkSystemServer方法 通过上一篇文章我们了解到zygote 在ZygoteInit.java类的main方法中调用forkSystemServer方法 UnsupportedAppUsagepublic static void main(String[] argv) {ZygoteServer zygoteServer null;....省略部分代码//根据环境变量(LocalServerSocke…

向量检索增强chatglm生成

背景: 基于chatglm构建agnet:chatglm实现Agent控制 - 知乎 前面一篇文章已经介绍了如何去搭建LLM Agent控制系统,也简单介绍了如何去构建Toolset和构建Action。但是在上篇文章中Toolset其实是基于搜索api构建的,从这篇文章开始后…

C++ stack和queue 模拟实现

stack和queue 模拟实现 模拟栈实现模拟队实现 模拟栈实现 1 栈是一种容器适配器,专门设计用于后进先出的后进先出环境,在这种环境中,元素只从容器的一端插入和提取。 2 栈是作为容器适配器实现的,这些适配器是使用特定容器类的封装…

获取gitlab上项目最近更新时间

获取gitlab上项目列表过程及脚本_xiaodaiwang的博客-CSDN博客使用Python及shell,获取gitlab上项目列表过程及脚本https://blog.csdn.net/xiaodaiwang/article/details/131781316?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rI…

【字符串编码解码问题】

字符串中编码解码问题 1.编码 byte[] getBytes():使用平台的默认字符集将该String编码为一系列字节,将结果存储到新的字节数组中byte[] getBytes(String charsetName):使用指定的字符集将该String编码为一系列字节,将结果存储到…

Minecraft 1.20.x Forge模组开发 02.物品栏+方块+物品

我们本次在1.20中添加一个属于自己模组的物品栏、物品和方块。 效果演示 效果演示 效果演示 1.在项目中新建一个int包,用于存放所有注册类,在init包中新建ItemTabInit类: ItemTabInit.java package com.joy187.re8joymod.init

【半监督医学图像分割 2023 CVPR】PatchCL

文章目录 【半监督医学图像分割 2023 CVPR】PatchCL摘要1. 简介2. 相关工作2.1 半监督学习2.2 对比学习 3. 方法3.1 类感知补丁采样3.2 伪标记引导对比损失3.3 总体学习目标3.4 伪标号生成与求精 4. 实验5. 结果 【半监督医学图像分割 2023 CVPR】PatchCL 论文题目:…

行为型模式 - 模板方法模式

概述 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如&#…