网站维护升级访问企业注册名称查询

web/2025/10/9 2:17:01/文章来源:
网站维护升级访问,企业注册名称查询,烟台开发区人才市场招聘信息,如何让百度快速收录网站基于python语言#xff0c;采用经典离散粒子群算法#xff08;DPSO#xff09;对 带硬时间窗的需求拆分车辆路径规划问题#xff08;SDVRPTW#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. … 基于python语言采用经典离散粒子群算法DPSO对 带硬时间窗的需求拆分车辆路径规划问题SDVRPTW 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作目前已经成熟的代码列举如下如有需求可私信联系表明需要的 **问题与算法**原创不宜有偿获取。 VRP问题GAACOALNSDEDPSOQDPSOTSSACVRP√√√√√√√√VRPTW√√√√√√√√MDVRP√√√√√√√√MDHVRP√√√√√√√√MDHVRPTW√√√√√√√√SDVRP√√√√√√√√SDVRPTW√√√√√ 1. 适用场景 求解SDVRPTW车辆类型单一车辆容量小于部分需求节点需求单一车辆基地带硬时间窗 2. 代码调整 2.1 需求拆分 与SDVRP问题相比SDVRPTW问题不仅允许客户需求大于车辆载重而且考虑了客户节点的时间窗约束。为了使得每个客户的需求得到满足必须派遣一辆或多辆车辆在规定时间窗内对客户进行服务。对于需求节点的拆分这里依然采取先验拆分策略本文采用文献[1]提出的先验分割策略表述如下 120/10/5/1拆分规则 m20 max{ m ∈ Z ∪ { 0 } ∣ 0.20 Q m D i m\in Z^ \cup \{0\} | 0.20Qm D_i m∈Z∪{0}∣0.20QmDi​ }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}~ m∈Z∪{0}∣0.10QmDi​−0.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} m∈Z∪{0}∣0.05QmDi​−0.20Qm20​−0.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} m∈Z∪{0}∣0.01QmDi​−0.20Qm20​−0.10Qm10​−0.05Qm5​ } 225/10/5/1拆分规则 m25 max{ m ∈ Z ∪ { 0 } ∣ 0.25 Q m D i m\in Z^ \cup \{0\} | 0.25Qm D_i m∈Z∪{0}∣0.25QmDi​ }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}~ m∈Z∪{0}∣0.10QmDi​−0.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} m∈Z∪{0}∣0.05QmDi​−0.25Qm25​−0.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} m∈Z∪{0}∣0.01QmDi​−0.25Qm25​−0.10Qm10​−0.05Qm5​ } 在实现过程中对于需求超过车辆容量的客户必须进行需求拆分而对于未超过车辆容量的客户可以拆分也可以不拆分这里设置了参数比例进行限制。 2.2 需求拆分后的服务时长取值问题 节点的服务时长会影响车辆的行进时间进而会影响与节点时间窗的匹配问题。一般来说节点的服务时长与需求量成正比关系在进行节点需求拆分后新节点的需求量降低其服务时长理应也降低。但从标准数据集来看各需求节点的服务时长均采用同一数值。因此本文在代码实现过程中也采用固定值不考虑新节点服务时长的变化。当然如有需要也可以设置单位货物的服务时长根据拆分后节点的具体需求量设置相应的服务时长。 3. 求解结果 1收敛曲线 2车辆路径 3输出内容 4. 代码片段 1数据结构 # 数据结构解 class Sol():def __init__(self):self.objNone # 目标函数值self.node_no_seq[] # 解的编码self.route_list[] # 解的解码self.timetable_list[] # 车辆访问各点的时间self.route_distance_list None # 数据结构需求节点 class Node():def __init__(self):self.id0 # 节点idself.x_coord0 # 节点平面横坐标self.y_coord0 # 节点平面纵坐标self.demand0 # 节点需求self.start_time0 # 节点开始服务时间self.end_time1440 # 节点结束服务时间self.service_time0 # 单次服务时长self.vehicle_speed 0 # 行驶速度 # 数据结构车场节点 class Depot():def __init__(self):self.id0 # 节点idself.x_coord0 # 节点平面横坐标self.y_coord0 # 节点平面纵坐标self.start_time0 # 节点开始服务时间self.end_time1440 # 节点结束服务时间self.v_speed 0 # 行驶速度self.v_cap 80 # 车辆容量 # 数据结构全局参数 class Model():def __init__(self):self.best_solNone # 全局最优解self.sol_list[] # 解的集合self.demand_dict {} # 需求节点集合self.depot None # 车场节点集合self.demand_id_list [] # 需求节点id集合self.distance_matrix {} # 距离矩阵self.time_matrix {} # 时间矩阵self.number_of_demands 0 # 需求点数量self.demand_id_list_ [] # 经先验需求分割后的节点集合self.demand_dict_ {} # 需求分割后的节点需求集合self.distance_matrix_ {} # 原始节点id间的距离矩阵self.time_matrix_ {} # 原始节点id间的时间矩阵self.mapping {} # 需求分割前后的节点对应关系self.split_rate 0.5 # 控制需求分割的比例需求超出车辆容量的除外self.popsize 100 # 种群规模self.pl[] # 个体历史最优解self.pgNone # 种群历史最优解self.v[] # 速度集合self.Vmax5 # 最大移动速度self.w0.8 # 惯性权重self.c12 # 信息启发式因子self.c22 # 信息启发式因子2距离矩阵 # 读取csv文件 def readCSVFile(demand_file,depot_file,model):with open(demand_file,r) as f:demand_readercsv.DictReader(f)for row in demand_reader:node Node()node.id int(row[id])node.x_coord float(row[x_coord])node.y_coord float(row[y_coord])node.demand float(row[demand])node.start_timefloat(row[start_time])node.end_timefloat(row[end_time])node.service_timefloat(row[service_time])model.demand_dict[node.id] nodemodel.demand_id_list.append(node.id)model.number_of_demandslen(model.demand_id_list)with open(depot_file, r) as f:depot_reader csv.DictReader(f)for row in depot_reader:depot Depot()depot.id row[id]depot.x_coord float(row[x_coord])depot.y_coord float(row[y_coord])depot.start_timefloat(row[start_time])depot.end_timefloat(row[end_time])depot.v_speed float(row[v_speed])depot.v_cap float(row[v_cap])model.depot depot # 初始化参数计算距离矩阵时间矩阵 def calDistanceTimeMatrix(model):for i in range(len(model.demand_id_list)):from_node_id model.demand_id_list[i]for j in range(len(model.demand_id_list)):to_node_id model.demand_id_list[j]dist math.sqrt((model.demand_dict[from_node_id].x_coord - model.demand_dict[to_node_id].x_coord) ** 2 (model.demand_dict[from_node_id].y_coord - model.demand_dict[to_node_id].y_coord) ** 2)model.distance_matrix[from_node_id, to_node_id] distmodel.time_matrix[from_node_id,to_node_id] math.ceil(dist/model.depot.v_speed)dist math.sqrt((model.demand_dict[from_node_id].x_coord - model.depot.x_coord) ** 2 (model.demand_dict[from_node_id].y_coord - model.depot.y_coord) ** 2)model.distance_matrix[from_node_id, model.depot.id] distmodel.distance_matrix[model.depot.id, from_node_id] distmodel.time_matrix[from_node_id,model.depot.id] math.ceil(dist/model.depot.v_speed)model.time_matrix[model.depot.id,from_node_id] math.ceil(dist/model.depot.v_speed)3邻域搜索 # 更新位置 def updatePosition(model):wmodel.wc1model.c1c2model.c2pg model.pgfor id,sol in enumerate(model.sol_list):xsol.node_no_seqvmodel.v[id]plmodel.pl[id].node_no_seqr1random.random()r2random.random()new_v[]for i in range(model.number_of_demands):v_w*v[i]c1*r1*(pl[i]-x[i])c2*r2*(pg[i]-x[i])if v_0:new_v.append(min(v_,model.Vmax))else:new_v.append(max(v_,-model.Vmax))new_x[min(int(x[i]new_v[i]),model.number_of_demands-1) for i in range(model.number_of_demands) ]new_xadjustRoutes(new_x,model)model.v[id]new_vtimetable_list, new_obj, route_distance,route_listcalObj(new_x,model)if new_objmodel.pl[id].obj:model.pl[id].node_no_seqcopy.deepcopy(new_x)model.pl[id].objnew_objmodel.pl[id].route_listroute_listmodel.pl[id].route_distance route_distancemodel.pl[id].timetable_list timetable_listif new_objmodel.best_sol.obj:model.best_sol.objcopy.deepcopy(new_obj)model.best_sol.node_no_seqcopy.deepcopy(new_x)model.best_sol.route_listcopy.deepcopy(route_list)model.best_sol.route_distance copy.deepcopy(route_distance)model.best_sol.timetable_list copy.deepcopy(timetable_list)model.pgcopy.deepcopy(new_x)model.sol_list[id].node_no_seq copy.deepcopy(new_x)model.sol_list[id].obj copy.deepcopy(new_obj)model.sol_list[id].route_list copy.deepcopy(route_list)model.sol_list[id].routes_distance copy.deepcopy(route_distance)model.sol_list[id].timetable_list copy.deepcopy(timetable_list) # 调整不可行解 def adjustRoutes(node_no_seq,model):all_node_id_listcopy.deepcopy(model.demand_id_list_)repeat_node[]for id,node_no in enumerate(node_no_seq):if node_no in all_node_id_list:all_node_id_list.remove(node_no)else:repeat_node.append(id)for i in range(len(repeat_node)):node_no_seq[repeat_node[i]]all_node_id_list[i]return node_no_seq参考 【1】 A novel approach to solve the split delivery vehicle routing problem

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

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

相关文章

西安市城乡与住房建设厅网站安徽省建设干部网站

使用vue组件iscroll实现一个横向菜单,可是却不能滑动,给父元素ul写死一个宽度可以滑动。但是,我在computed里计算宽度,直接路由进去不能滑动,当我进入别的组件(切换路由)回来又可以滑动了示例地址:http://o…

衡水电子商务网站建设怎么做网站竞价

如果每封电子邮件、每个带有订单、发票、投诉、录用请求或工作申请的 PDF 都可以翻译成机器可读的数据,会怎样?然后可以由 ERP / CRM / LMS / TMS 自动处理吗?无需编程特殊接口。 听起来很神奇?它确实有一些魔力。但最近已成为可…

如何建设一个国际化的网站北京到安阳的高铁

在Linux UWB Stack的内核模块实现中,较多的使用了内核定时器,本文基于fake MCPS实现中的应用为背景,介绍了内核定时器的使用。 1. 内核定时器 Linux内核用来控制在未来某个时间点【基于jiffies(节拍总数)】调度执行某个函数的一种机制&#x…

自动生成手机网站python可以写网页吗

第一步测试服务器是否安装python直接输入python命令即可,ctrld退出第二步上传django安装包,解压进入后python setup.py install 安装第三步Python导入django看看是否生效先python进入python环境,然后import django命令查看是否正常执行第四步…

微信公众好第三方网站怎么做北京网络营销推广外包

0x01 产品简介 金和OA协同办公管理系统软件(简称金和OA),本着简单、适用、高效的原则,贴合企事业单位的实际需求,实行通用化、标准化、智能化、人性化的产品设计,充分体现企事业单位规范管理、提高办公效率的核心思想,为用户提供一整套标准的办公自动化解决方案,以帮助…

自己免费做网站宝安网站设计制作

2019独角兽企业重金招聘Python工程师标准>>> FileUpload控件的主要中能:向指定目录上传文件,该控件包括一个文本框和一个浏览按钮。 常用的属性:FileBytes,FileContent、FileName、HasFile、PostedFile。 常用的方法&a…

网站建设域名备案谁负责优秀网站建设公司

设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守,而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内,努为做到一个良好的设计。本文主要介绍一下.NET(C#)…

高性能网站建设指南在线阅读wordpress 网易云课堂

题目: 给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目。 子数组 是数组的 连续 部分。 示例 1: 输入:nums [4,5,0,-2,-3,1], k 5 输出:7 …

网站美工设计公司电话北京做网站维护

http://www.cnblogs.com/coder2012/p/3204730.html 进程的状态转换 进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。 进程状态 执行态run:进程正在使用CPU等待态wait:进程正在等待I/O完成,不在使…

网站开发内容包括哪些深圳美容网站建设

随着互联网的不断发展,技术的迭代也非常之快。我们的用户认证也从刚开始的用户名密码转变到基于cookie的session认证,然而到了今天,这种认证已经不能满足与我们的业务需求了(分布式,微服务)。我们采用了另外一种认证方式&#xff…

静态网站没有数据库吗网站建设全网推广小程序

转行到JAVA或者大数据领域,27岁快28岁的年龄完全来得及。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222,私信22,我在后台发给你。…

阿里云网站建设的实训报告网站制作的相关术语有哪些

14.5 缓存数据的删除和替换 14.5.1 过期数据 可以使用ttl查看key的状态。已过期的数据,redis并未马上删除。优先去执行读写数据操作,删除操作延后执行。 14.5.2 删除策略 redis中每一个value对应一个内存地址,在expires,一个内…

网站开发网页制作薪资qq刷赞网站咋做

第三十六课因子分析因子分析(FactorAnalysis)是主成分分析的推广,它也是从研究相关矩阵内部的依赖关系出发,把一些具有错综复杂关系的变量归结为少数几个综合因子的一种多变量统计分析方法。具体地说,就是要找出某个问题中可直接测量的、具有…

我想弄个网站想学网站建设开发

开发环境 项目编号:JavaMySQL ssm231农家乐管理系统-民宿-餐饮-房间预定-vue 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:ssmvue 项目介绍: ssm的农家乐管理系统。Javaee项目。采用M(model)V…

那些企业网站做的漂亮番禺网站建设哪家强

第065个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

网站备案知识南昌做网站优化哪家好

光音网络,做的是本地网络综合服务。在中国,想把互联网做到覆盖延伸范围之外的最后100米,光音网络是当中一家,也是最坚持的一家。为千万家本地生活商户提供帮助,为数亿本地用户提供最佳的本地网络体验,这是光…

长沙网站制作案例wordpress整站备份

Java中的某些并发实用程序自然会比其他并发实用程序受到更多关注,因为它们可以解决通用问题而不是更具体的问题。 我们大多数人经常遇到执行程序服务和并发集合之类的事情。 其他实用程序不太常见,因此有时它们可​​能会使我们逃脱,但是请记…

厦门律师网站建设新浪网站开发语言

文章目录 call指令和ret指令高级语言的函数调用x86汇编语言的函数调用call ret指令小结其他问题 如何访问栈帧函数调用栈在内存中的位置标记栈帧范围:EBP ESP寄存器访问栈帧数据:push pop指令访问栈帧数据:mov指令小结 如何切换栈帧函数返回时…

珠海网站建设尚古道策略南京模板网站建设

源码见 testQThread_QTimer… Qt 版本5.6.3 视频讲解:https://www.bilibili.com/video/BV15P411C79i/ 链接: 视频讲解 简介 想法很单纯,就是主线程启动一个子线程,子线程里启动一个定时器,定时执行一些任务,然鹅实际开…

南昌做网站开发的公司有哪些网络营销策划的主要特点

https://mp.weixin.qq.com/s/7FL0nUTk6aFmAb2J__5Mtw 因 Redis Key 命令不规范,导致熬了一个通宵才把Key删完了! 点击关注 👉 Java面试那些事儿 9月3日 # 前言 由于有一条业务线不理想,高层决定下架业务。对于我们技术团队而言&a…