IEEE WCCI-2020电动汽车路由问题进化计算竞赛的基准集

news2024/11/19 4:21:51

引言

        交通一直是二氧化碳排放的主要贡献者。由于全球变暖、污染和气候变化,联邦快递、UPS、DHL和TNT等物流公司对环境变得更加敏感,他们正在投资于减少作为其日常运作的一部分而产生的二氧化碳排放的方法。毫无疑问,使用电动汽车(EVs)而不是传统汽车将大大有助于减少二氧化碳的排放[1],这一事实增加了物流公司利用电动汽车进行日常运营的兴趣。在这种情况下,出现了一个电动车队的路由问题,即电动汽车路由问题(EVRP)[2]。在本报告中,提供了一个EVRP实例的基准集,其中有已知和未知的最佳值。本报告的其余部分组织如下。第2节介绍了EVRP问题,其中提出了该问题的详细数学表述。第3节给出了EVRP基准集的细节。第4节展示了在基准集上评估算法的标准。最后第5节总结了本报告。

2 电动汽车路由问题

        EVRP是一个具有挑战性的NP-hard组合优化问题,因为它是普通短路径问题的扩展,包含了额外的约束条件[3]。EVRP可以描述如下:给定一个电动车队,我们需要为每个电动车在其电池充电水平限制内找到可能的最佳路线,开始和结束于中央仓库,为一组客户服务。通常,这个问题用全连接加权图G = (V,A)来表示,其中V = {0∪I ∪F ′ }是一组节点,A = {(i,j) | i,j ∈V,i 6 = j }是一组连接这些节点的弧。集合I表示客户的集合,集合F′表示每个充电站i∈F的β i节点副本1的集合(即|F′|=∑i∈Fβ i),0表示中心仓库。每条弧都有一个非负值距离d ij,代表节点i和j之间的欧几里得距离。每条行进的弧(i,j)消耗穿越该弧的电动车剩余电池电量hd ij,其中参数h表示电动车的消耗率。此外,每个客户i∈I被分配一个正的需求b i2。

假设有一个同质的电动车队,EVRP的目标函数是找到一组路线,使行驶的总距离最小。

每个客户正好被一辆电动车访问一次

--所有的电动车都从仓库开始(满载并充电)并在仓库结束

--对于每条电动车路线,客户的总需求不超过电动车的最大承载能力C

--对于每条电动车路线,总能耗不超过电动车的最大电池充电水平Q

--电动车总是离开充电站完全充电(注意,仓库也被认为是一个充电站)

--充电站(包括仓库)可以被任何电动车多次访问

因此,EVRP可以在数学上表述如下:

其中公式。(1)定义了EVRP的目标函数,公式。(2) 强制执行客户访问的连通性,公式。(3)处理充电站的连接问题,公式。(4) 通过保证每个节点,即传入弧的数量等于传出弧的数量来建立流量保护。公式。(5)和公式。(6) 通过在到达包括仓库在内的任何节点时保证非负的承载负荷,保证所有客户的需求得到满足,公式。(7), 公式(8)和公式(7)。(9)确保电池电荷永远不会低于0,而公式。(11)定义了一组二元决策变量,如果有弧线行驶,每个变量等于1,否则等于0。变量u i和y i分别表示电动车到达节点i∈V时的剩余承载能力和剩余电池电量。

3 EVRP基准集的描述

EVRP基准集由两组问题组成:

1.由7个小问题实例(最多100个客户)组成,其中提供了它们的最佳上界值。

2. 由10个较大的问题实例组成(最多1000个客户),其中没有提供其上限值。

第一组EVRP实例是通过扩展Christofides和Eilon[6]的传统车辆路由问题的著名实例产生的(见图1),

图1:问题实例(左)与已知上界解(右)的说明。这些问题实例对于测试目的和参数调整很有用。请注意,大圆点,小圆点,方块 分别代表仓库、客户和充电站。

而第二组是Uchoa等人[7]最近的传统车辆路由问题的实例的扩展。(见图2)。

第一组的实例对测试很有用(例如,求解器的验证、参数调整等),因为大问题实例的解决更具挑战性和耗时。表1中总结了所有生成的EVRP实例的细节。表1中的各栏列出了客户数量、仓库数量、充电站数量、最小路线数量、电动车的最大负荷(C)、电动车的最大电池充电水平(Q)、能耗常数(h)和最佳上限(UB)值(在某些情况下可能是最佳值,但尚未得到验证)。

 DIMENSION:包括中央仓库在内的客户数量

- STATIONS:充电站数量

- CAPACITY电车容量:电动车的最大承载能力(即C)

- ENERGY CAPACACITY电量上限:电动车的最大电池充电水平(即Q)

- ENERGY CONSUMPTION能量消耗:恒定的电荷消耗率(即h)

•EDGE WEIGHT FORMAT 边的距离:欧氏距离

•NODE COORD SECTION 节点部分:该部分包含节点的信息,格式为节点id、x和y坐标

•DEMAND SECTION需求部分:该节包含每个客户的需求,以节点id和需求的格式(即,b i)

•STATIONS COORD SECTION :站点合作部分:本部分包含充电站的节点id

•DEPOT SECTION车辆段部分:本节包含中央车辆段的节点id。

在竞赛网站4中,文件(EVRP.hpp)中提供了一个能够读取所有上述信息的源代码样本(即读取扩展名为.evrp的文件),可以通过相应的函数来利用。更具体地说,EVRP.hpp中实现的功能可以用来生成EVRP实例的距离矩阵,访问所有上述信息,并评估由求解器生成的解决方案(注意,解决方案必须是源代码中描述的特定格式)。此外,文件stats.hpp的实现提供了可以用来保存解算器结果的函数,可以提交给比赛。我们强烈鼓励参与者利用所提供的文件main.cpp,并在heuristic.cpp文件中实现他们的方法。最后,表1中描述的基准集也可以在完成网站上找到。

 

评价标准

- 问题实例。表1总结了17个EVRP实例

- 独立运行。如果实现的启发式是随机的,那么运行20次独立的运行(用1−20的随机种子);否则运行一次。在样本代码中已经定义为MAX TRIALS .

- 评价。最大的评价次数是25000n,其中n = |I | + 1 +|F |是问题实例的大小。一次评估的复杂度为O(n2)。

- 终止条件。当算法达到上面定义的最大评估次数时[换句话说,调用公式中的目标函数。(1)]。在样本代码中已经定义为TERMINATION。

- 测量。从所有评价中找到的最佳解决方案在多次独立运行中的平均值如下:

 

其中R是独立运行的数量(即随机方法的R = 20,确定性方法的R = 1),P ∗ i是运行i中所有评估中找到的最佳解决方案。

注意:P-的测量已经在样本代码中实现(在stats.hpp中),并存储在代码执行时产生的输出文本文件中。参与者可以简单地提交这些为每个实例获得的输出文本文件,以及他们算法的细节和源代码。表2显示了从源代码(文件heuristic.hpp)中实现的样本启发式得到的结果的例子,其中 "mean "是20次运行的平均解决方案质量,stdev "是标准偏差,min "是20次运行的最佳结果,max "是20次运行中最差的结果。所有这些数值都是在所提供的源代码生成的输出文本文件中计算的。

 5 结论

在这份报告中,我们提出了一组17个EVRP基准实例来评估算法。EVRP基准实例给普通的VRP问题带来了新的挑战,因为算法必须考虑在满足客户所有需求的同时,取消路线以访问充电站进行充电的可能性。生成这组基准实例的主要目的是为了促进对EVRP应用的研究。

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

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

相关文章

JavaWeb——Linux的常用命令

目录 一、Linux优点 二、Linux常用命令 1、ls (1)、语法 (2)、功能 (3)、常用选项 例: 2、pwd (1)、语法 (2)、功能 例: 3、cd (1&am…

Doc as Code (1):起源

作为技术传播从业者,你一定听说过Doc as Code,中文大家叫做文档代码化。 近年来,这个词在技术传播行业传开了。也许是在某个大会上,也许是在某篇文章中,再或者是在与同行的讨论群里,不管是从哪里&#xff…

DAY47:动态规划(九)完全背包理论基础

文章目录 完全背包示例与01背包的区别:遍历顺序常规遍历写法DP状态图-为什么背包正序就能放进来重复物品 for循环的嵌套,外层物品内层背包能否颠倒?for嵌套顺序颠倒的遍历写法 测试示例面试题目总结 课程链接: 代码随想录 (progr…

自动生成spring-configuration-metadata.json文件

在开发过程中为避免重复修改代码,往往将代码中容易发生变更的值提取出来放到配置文件中。例如数据库连接信息,使用Http调用第三方应用的网关地址等信息。 使用Sprin Boot的ConfigurationPropertie 从配置文件中读取属性值方法多样,这里介绍…

【反向代理】反向代理及其作用

反向代理及其作用 一、什么是正向代理 在介绍反向代理之前我们先介绍什么是正向代理 首先要明确的是,在http协议中正向代理一般被称为代理,在web服务中我们可以通过主动配置代理服务器的方式来发送请求,并通过代理服务器接收服务器的响应。…

自学网络安全(成为黑客)

一、前言 黑客这个名字一直是伴随着互联网发展而来,给大家的第一印象就是很酷,而且技术精湛,在网络世界里无所不能。目前几乎所有的公司企业甚至国家相关部门都会争相高薪聘请技术精湛的黑客作为互联网机构的安全卫士,所以黑客也…

umi框架的使用

umi框架的使用 安装npm i -g yrm 查看yarn镜像源yrm ls 切换源 yrm use taobao 创建项目 yarn create umijs/umi-app 安装依赖yarn 启动项目yarn start 路由组件还可以进行children进行子路由渲染 打个比方,现在有头部导航跟侧边是一致的我们只希望修改每个应…

Mybatis-Plus详解

目录 一、Mybatis-Plus简介 (一)什么是Mybatis-Plus (二)Mybatis-Plus的优势 (三)Mybatis-Plus的框架结构 二、SpringBoot整合Mybatis-Plus入门 (一)创建maven工程,…

爬虫+Flask+Echarts搭建《深度学习》书评显示大屏

爬虫FlaskEcharts搭建《深度学习》书评显示大屏 1、前言2、实现2.1 挑选想要采集的书籍2.2 构建爬虫2.2.1 采集书籍信息2.2.2 采集书评 2.3 数据清洗2.3.1 清洗书籍信息2.3.2 清洗书评信息 2.4 统计分析,结果持久化存储2.5 搭建flask框架2.6 数据传值2.7 完整代码&a…

什么是Nginx的反向代理与正向代理详解

文章目录 1、什么是正向代理2、什么是反向代理3、反向代理的作用 1、什么是正向代理 正向代理,“它代理的是客户端”,是一个位于客户端和目标服务器之间的服务器,为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定…

汽车网卡驱动之TJA1101B

TJA1101B汽车网卡驱动(汽车以太网) 1总体描述 2特点和优点 2.1通用 2.2针对汽车用例优化

酷炫音乐盒: python打造自己的音乐播放器

目录标题 前言代码实现尾语 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! Python的Tkinter(Tk接口)是一个用于创建图形用户界面(GUI)的标准库。 它是Python的内置模块,无需额外安装即可使用。Tkinter提供了一组…

【字节青训pre】后端笔试练兵

文章目录: 零、前言一、选择题二、编程题1、36进制转换a) 题目b) 解题思路 零、前言 好久没更博客了 , 暑假参加字节青训营,记录一下备战经历,水水博客 。 因该博客持续更新,文中部分链接是写该博客时预存占坑位的&…

【雕爷学编程】Arduino动手做(147)---QMC5883L三轴罗盘模块2

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

基于Python+Django+mysql+html学生成绩管理系统

基于PythonDjangomysqlhtml学生成绩管理系统 一、系统介绍二、功能展示1.用户登陆2.主页3.年级管理4.班级管理5.课程管理6.学生管理7.班级管理8.学生管理 三、其它系统四、获取源码 一、系统介绍 成绩录入测试账号:test 密码:123 在线成绩录入&#xff…

redis -速成

目录 (一)认识 Redis 1.1数据库分类 1.2 什么是Redis 1.2.1 redis简介 1.2.2 谁在用Redis 1.2.3 怎么学redis 1.2.4 Redis的安装 2 数据类型 2.1 概况 2.2 String类型 2.2.1 常用的命令 2.2.2 非常用命令 2.2.3 举例 2.2.4应用场景&#xf…

面试之双亲委派原理

一面腾讯提问:如果我自定义一个 new Object 类,请问这个类是否会被加载? 回答:不会,因为双亲委派,向上加载。回答的过程中磨磨唧唧。当然最后一面也是没有过。 总之一句话:向上加载,向下委派. …

【Linux操作系统】死锁

文章目录 死锁的概念产生死锁问题的必要条件如何避免死锁 有两个小朋友站在超市的零食区,手上各拿着五毛钱,他们直勾勾的看着眼前的棒棒糖,问了问阿姨,这个棒棒糖要一块钱。所以a对b说:“你把你的五毛钱给我买棒棒糖”…

Spring Cloud Hystrix简单实用

文章目录 一、简介二、快速开始1、pom依赖2、启动类注解3、服务降级配置HystrixCommand4、配置熔断策略5、测试 三、原理分析四、实际使用 一、简介 Hystrix,英文意思是豪猪,全身是刺,刺是一种保护机制。Hystrix也是Netflflix公司的一款组件。…

Controller配置总结与RequestMapping

1.Controller 2.ResquestMapping 就一个父级目录与自己目录的一个关系!!!理清楚就好了,很好理解!