全国免费咨询热线

13988889999

工作时间:周一到周六 AM8:30

天辰新闻资讯

NEWS

天辰新闻资讯

你的位置: 首页 > 天辰新闻资讯

联系我们

CONTACT

手机:13988889999
电话:0898-88889999
QQ:88889999
邮箱:admin@eyoucms.com
地址:海南省海口市玉沙路58号

【EVRPTW】低碳时代下不完全充电策略的电动汽车车辆路径优化问题

时间:2024-04-29 04:15:17    点击量:

现在市面上已经存在了很多的VRP、VRPTW问题代码。但是针对EVRPTW的matlab开源代码却比较少。

github上找到了一个比较相近的代码,分享如下,大家可以下载学习:

https://github.com/jiujiuxia/GOC-EVRPTW

由于是短暂性的学习VRP问题,且python基础较差。因此,我将对上面代码中的思路2进行学习,并在此基础上稍作改动。
在这里插入图片描述

遗传算法作为一种经典的启发式算法,在这里不作过多讲解。
值得注意的是,遗传算法的使用场景十分广泛,包括在其基础上衍生的差分进化算法。有兴趣的UU可以进行深入研究。

主程序:

 

pd.DataFrame()
二维数据结构,表示一个表格,类似于电子表格的数据结构。每一列可以用于储存不同的类型值。
使用该功能时,需要导入包:
import pandas as pd
import numpy as np

 

代码:
for i in range(3):
print(i)

结果:
0
1
2

所以上面这个代码的目的是遍历目前存在的几个excel表。
包括 “0_0.xlsx”、“0_1.xlsx”、“0_2.xlsx”以及“result_0_0”、“result_0_1”、““result_0_2””

 

选择ID大于1000的station,放在station列表中。

 

可以将数组转换为DataFrame格式:

 

提取第1列中的点,放入node中

 

循环迭代,保证每个遍历的说station都放在node中。

 

data为 “0_0.xlsx”、“0_1.xlsx”、“0_2.xlsx”中的数据。

cus_data为type为2的数据

 

pd.merge,进行表格之间的拼接。
how: One of ‘left’, ‘right’, ‘outer’, ‘inner’. 默认inner。inner是取交集,outer取并集。比如left:[‘A’,‘B’,‘C’];right[’'A,‘C’,‘D’];inner取交集的话,left中出现的A会和right中出现的买一个A进行匹配拼接,如果没有是B,在right中没有匹配到,则会丢失。'outer’取并集,出现的A会进行一一匹配,没有同时出现的会将缺失的部分添加缺失值。

 

excel中type为2,即为客户点。type为3,则为换电站。

 

一些参数设定。
其中,晚到惩罚成本很大,即不能晚到。

 

all_node统计的为type=2下的节点。

 

计算两个节点之间的距离和驾驶时间。

 

计算目标函数下的各个成本。
其他代码为遗传算法下的固定代码。不需要任何的修改。

地址:海南省海口市玉沙路58号 电话:0898-88889999 手机:13988889999

Copyright © 2012-2018 天辰-天辰平台-天辰中国加盟站 ICP备案编:琼ICP备88889999号

友情链接: 万泰星辉新城富联

平台注册入口