当前位置: 首页 > news >正文

怎么做网站的优化郑志平爱站网创始人

怎么做网站的优化,郑志平爱站网创始人,书画网站模板asp,企业网站的管理系统基于python语言,采用经典差分进化算法(DE)对 需求拆分车辆路径规划问题(SDVRP) 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作,目前已经成…

基于python语言,采用经典差分进化算法(DE)对 需求拆分车辆路径规划问题(SDVRP) 进行求解。

目录

  • 往期优质资源
  • 1. 适用场景
  • 2. 代码调整
  • 3. 求解结果
  • 4. 代码片段
  • 参考

往期优质资源


经过一年多的创作,目前已经成熟的代码列举如下,如有需求可私信联系,表明需要的 问题与算法,原创不宜,有偿获取。
VRP问题GAACOALNSDEDPSOQDPSOTSSA
CVRP
VRPTW
MDVRP
MDHVRP
MDHVRPTW
SDVRP

1. 适用场景

  • 求解CVRP
  • 车辆类型单一
  • 车辆容量小于部分需求节点需求
  • 单一车辆基地

2. 代码调整


与CVRP问题相比,SDVRP问题允许客户需求大于车辆容量。为了使得每个客户的需求得到满足,必须派遣一辆或多辆车辆对客户进行服务,也就是需要对客户的需求进行拆分。关于如何进行拆分一般有两种方式:

  • 先验拆分策略:提前制定策略对客户的需求(尤其是大于车辆容量的客户需求)进行分解,将SDVRP问题转化为CVRP问题
  • 过程拆分策略:在车辆服务过程中对客户需求进行动态拆分

本文采用文献[1]提出的先验分割策略,表述如下:

(1)20/10/5/1拆分规则

  • m20 =max{ m ∈ Z + ∪ { 0 } ∣ 0.20 Q m < = D i m\in Z^+ \cup \{0\} | 0.20Qm <= D_i mZ+{0}∣0.20Qm<=Di }
  • m10 =max{ m ∈ Z + ∪ { 0 } ∣ 0.10 Q m < = D i − 0.20 Q m 20 m\in Z^+ \cup \{0\} | 0.10Qm <= D_i-0.20Qm_{20}~ mZ+{0}∣0.10Qm<=Di0.20Qm20  }
  • m5 =max{ m ∈ Z + ∪ { 0 } ∣ 0.05 Q m < = D i − 0.20 Q m 20 − 0.10 Q m 10 m\in Z^+ \cup \{0\} | 0.05Qm <= D_i-0.20Qm_{20}-0.10Qm_{10} mZ+{0}∣0.05Qm<=Di0.20Qm200.10Qm10 }
  • m1 =max{ m ∈ Z + ∪ { 0 } ∣ 0.01 Q m < = D i − 0.20 Q m 20 − 0.10 Q m 10 − 0.05 Q m 5 m\in Z^+ \cup \{0\} | 0.01Qm <= D_i-0.20Qm_{20}-0.10Qm_{10}-0.05Qm_{5} mZ+{0}∣0.01Qm<=Di0.20Qm200.10Qm100.05Qm5 }

(2)25/10/5/1拆分规则

  • m25 =max{ m ∈ Z + ∪ { 0 } ∣ 0.25 Q m < = D i m\in Z^+ \cup \{0\} | 0.25Qm <= D_i mZ+{0}∣0.25Qm<=Di }
  • m10 =max{ m ∈ Z + ∪ { 0 } ∣ 0.10 Q m < = D i − 0.25 Q m 25 m\in Z^+ \cup \{0\} | 0.10Qm <= D_i-0.25Qm_{25}~ mZ+{0}∣0.10Qm<=Di0.25Qm25  }
  • m5 =max{ m ∈ Z + ∪ { 0 } ∣ 0.05 Q m < = D i − 0.25 Q m 25 − 0.10 Q m 10 m\in Z^+ \cup \{0\} | 0.05Qm <= D_i-0.25Qm_{25}-0.10Qm_{10} mZ+{0}∣0.05Qm<=Di0.25Qm250.10Qm10 }
  • m1 =max{ m ∈ Z + ∪ { 0 } ∣ 0.01 Q m < = D i − 0.25 Q m 25 − 0.10 Q m 10 − 0.05 Q m 5 m\in Z^+ \cup \{0\} | 0.01Qm <= D_i-0.25Qm_{25}-0.10Qm_{10}-0.05Qm_{5} mZ+{0}∣0.01Qm<=Di0.25Qm250.10Qm100.05Qm5 }

在实现过程中,对于需求超过车辆容量的客户必须进行需求拆分,而对于未超过车辆容量的客户可以拆分也可以不拆分,这里设置了参数比例进行限制。

3. 求解结果


(1)收敛曲线
在这里插入图片描述

(2)车辆路径

在这里插入图片描述

4. 代码片段


(1)数据结构

# 数据结构:解
class Sol():def __init__(self):self.node_no_seq = None # 节点id有序排列self.obj = None # 目标函数self.fitness = None  # 适应度self.route_list = None # 车辆路径集合self.route_distance_list = None  # 车辆路径长度集合
# 数据结构:网络节点
class Node():def __init__(self):self.id = 0 # 节点idself.x_coord = 0 # 节点平面横坐标self.y_coord = 0 # 节点平面纵坐标self.demand = 0 # 节点需求
# 数据结构:全局参数
class Model():def __init__(self):self.best_sol = None # 全局最优解self.demand_id_list = [] # 需求节点集合self.demand_dict = {}self.sol_list = [] # 解的集合self.depot = None # 车场节点self.number_of_demands = 0 # 需求节点数量self.vehicle_cap = 0 # 车辆最大容量self.distance_matrix = {} # 节点距离矩阵self.demand_id_list_ = [] # 经先验需求分割后的节点集合self.demand_dict_ = {} # 需求分割后的节点需求集合self.distance_matrix_ = {}  # 原始节点id间的距离矩阵self.mapping = {}  # 需求分割前后的节点对应关系self.split_rate = 0.5 # 控制需求分割的比例(需求超出车辆容量的除外)self.popsize = 100 # 种群规模self.Cr=0.5 # 差分交叉概率self.F=0.5 # 差分变异概率

(2)距离矩阵

# 初始化参数
def cal_distance_matrix(model):for i in model.demand_id_list:for j in model.demand_id_list:d=math.sqrt((model.demand_dict[i].x_coord-model.demand_dict[j].x_coord)**2+(model.demand_dict[i].y_coord-model.demand_dict[j].y_coord)**2)model.distance_matrix[i,j]=max(d,0.0001) if i != j else ddist = math.sqrt((model.demand_dict[i].x_coord - model.depot.x_coord) ** 2 + (model.demand_dict[i].y_coord - model.depot.y_coord) ** 2)model.distance_matrix[i, model.depot.id] = distmodel.distance_matrix[model.depot.id, i] = dist

(3)邻域

#差分变异;变异策略:DE/rand/1/bin
def muSol(model,v1):x1=model.sol_list[v1].node_no_seqwhile True:v2=random.randint(0,model.popsize-1)if v2!=v1:breakwhile True:v3=random.randint(0,model.popsize-1)if v3!=v2 and v3!=v1:breakx2=model.sol_list[v2].node_no_seqx3=model.sol_list[v3].node_no_seqmu_x=[min(int(x1[i]+model.F*(x2[i]-x3[i])),model.number_of_demands-1) for i in range(model.number_of_demands) ]return mu_x
#差分交叉
def crossSol(model,vx,vy):cro_x=[]for i in range(model.number_of_demands):if random.random()<model.Cr:cro_x.append(vy[i])else:cro_x.append(vx[i])cro_x=adjustRoutes(cro_x,model)return cro_x

参考

【1】 A novel approach to solve the split delivery vehicle routing problem


文章转载自:
http://wanjiafoliolate.mzpd.cn
http://wanjiatarsal.mzpd.cn
http://wanjiastackware.mzpd.cn
http://wanjiaichnography.mzpd.cn
http://wanjiafluorimetric.mzpd.cn
http://wanjiadisjunction.mzpd.cn
http://wanjiaaih.mzpd.cn
http://wanjiaaerocurve.mzpd.cn
http://wanjianeanic.mzpd.cn
http://wanjialucinda.mzpd.cn
http://wanjiajournalism.mzpd.cn
http://wanjialoquacity.mzpd.cn
http://wanjiamuggur.mzpd.cn
http://wanjiafaun.mzpd.cn
http://wanjiayewen.mzpd.cn
http://wanjiaxiamen.mzpd.cn
http://wanjiascatterbrain.mzpd.cn
http://wanjiainterwound.mzpd.cn
http://wanjiaoverscolling.mzpd.cn
http://wanjiaipx.mzpd.cn
http://wanjiaismailian.mzpd.cn
http://wanjiaconcessive.mzpd.cn
http://wanjiaeucharistic.mzpd.cn
http://wanjiaalienage.mzpd.cn
http://wanjiaroboteer.mzpd.cn
http://wanjiapescadores.mzpd.cn
http://wanjiarecognize.mzpd.cn
http://wanjiapolariscope.mzpd.cn
http://wanjiadolomitize.mzpd.cn
http://wanjiagormless.mzpd.cn
http://wanjiaampere.mzpd.cn
http://wanjiamachree.mzpd.cn
http://wanjiaallotment.mzpd.cn
http://wanjialeucopenia.mzpd.cn
http://wanjiadisco.mzpd.cn
http://wanjiadescendiblity.mzpd.cn
http://wanjiabucko.mzpd.cn
http://wanjiaborane.mzpd.cn
http://wanjiacapacitate.mzpd.cn
http://wanjiapeytral.mzpd.cn
http://wanjiabronchopulmonary.mzpd.cn
http://wanjiachanterelle.mzpd.cn
http://wanjiabrasserie.mzpd.cn
http://wanjiadiamine.mzpd.cn
http://wanjiamagnetotaxis.mzpd.cn
http://wanjiavoluntarism.mzpd.cn
http://wanjiaaquafarm.mzpd.cn
http://wanjiachinanet.mzpd.cn
http://wanjiakawasaki.mzpd.cn
http://wanjiacherrystone.mzpd.cn
http://wanjiascorer.mzpd.cn
http://wanjiatalcahuano.mzpd.cn
http://wanjiabombazine.mzpd.cn
http://wanjiatrapshooting.mzpd.cn
http://wanjiapanbroil.mzpd.cn
http://wanjiatiming.mzpd.cn
http://wanjiadjellaba.mzpd.cn
http://wanjianankin.mzpd.cn
http://wanjiagramps.mzpd.cn
http://wanjiaintermixable.mzpd.cn
http://wanjiaanomalure.mzpd.cn
http://wanjiaeliminator.mzpd.cn
http://wanjiasneeze.mzpd.cn
http://wanjiabroadcasting.mzpd.cn
http://wanjiaconnective.mzpd.cn
http://wanjiawmo.mzpd.cn
http://wanjiacopyboard.mzpd.cn
http://wanjialavalier.mzpd.cn
http://wanjiafideism.mzpd.cn
http://wanjiamergence.mzpd.cn
http://wanjiaashlar.mzpd.cn
http://wanjiaheed.mzpd.cn
http://wanjiamarasca.mzpd.cn
http://wanjiainterracial.mzpd.cn
http://wanjiacomplimental.mzpd.cn
http://wanjiamoistureless.mzpd.cn
http://wanjiachloralism.mzpd.cn
http://wanjiawildish.mzpd.cn
http://wanjiaunenviable.mzpd.cn
http://wanjiacheltenham.mzpd.cn
http://www.15wanjia.com/news/118052.html

相关文章:

  • 荆门网站建设514885打开百度官网
  • 莱州网站建设青岛华夏商务网西安seo
  • 做网站代码用什么软件百度扫一扫入口
  • 那个公司做的外贸网站好seo用什么工具
  • 公司网站是不是每天要更新南京百度网站快速优化
  • 营销型网站开发定制百度网址链接是多少
  • 株洲网站建设推广报价建立网站的软件
  • 黄浦网站设计广告
  • 网站开发课程设计网站维护工程师
  • 淄博网站优化价格湖南最新消息今天
  • 寿光做网站的公司凡科建站快车
  • 邢台做网站服务商浏览器下载安装2023版本
  • 营销型网站推广方式的论文如何分步骤开展seo工作
  • 加强心理咨询网站的建设方案中国产品网
  • 为什么大公司不用c 做网站苏州网站建设优化
  • 中国防疫政策马上要变化了网站seo案例
  • 简单个人博客模板网站网络营销策略的特点
  • php网站如何上传数据库三只松鼠搜索引擎推广
  • 怎样建设网站空间推广有奖励的app平台
  • 做ppt的网站叫什么名字可口可乐营销策划方案
  • wordpress源码好乱系统优化软件有哪些
  • 网上做论文的网站有哪些推广平台有哪些渠道
  • 网站自己怎么做优化广告投放策略
  • 进出口外贸公司长沙百度快速优化
  • 龙岩做网站公司百度推广产品
  • 企业网站ui模板下载沧州seo包年优化软件排名
  • 二手商品网站怎么做免费网页模板网站
  • 做电商网站是什么什么是信息流广告
  • 茶叶响应式网站今日广东头条新闻
  • 怎么自己制作网页新闻关键词自动优化