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

企业型商务网站制作wordpress破解版下载

企业型商务网站制作,wordpress破解版下载,手机网站策划书方案,域名备案和icp备案区别基于python语言#xff0c;采用经典蚁群算法#xff08;ACO#xff09;对 带硬时间窗的需求拆分车辆路径规划问题#xff08;SDVRPTW#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时长取值问题 3. 求解结果4. 代码片段… 基于python语言采用经典蚁群算法ACO对 带硬时间窗的需求拆分车辆路径规划问题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.alpha 2 # 信息启发式因子self.beta 3 # 期望启发式因子self.Q 100 # 信息素总量self.rho 0.5 # 信息素挥发因子self.tau {} # 弧信息素集合self.tau0 100 # 路径初始信息素2距离矩阵 # 初始化参数计算距离矩阵时间矩阵 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 movePosition(model):sol_list[]local_solSol()local_sol.objfloat(inf)for _ in range(model.popsize):#随机初始化蚂蚁为止node_no_seq[random.randint(0,len(model.demand_id_list_)-1)]all_node_no_seqcopy.deepcopy(model.demand_id_list_)all_node_no_seq.remove(node_no_seq[-1])#确定下一个访问节点while len(all_node_no_seq)0:next_node_nosearchNextNode(model,node_no_seq[-1],all_node_no_seq)node_no_seq.append(next_node_no)all_node_no_seq.remove(next_node_no)solSol()sol.node_no_seqnode_no_seqsol.timetable_list,sol.obj, sol.route_distance,sol.route_list calObj(node_no_seq,model)sol_list.append(sol)if sol.obj local_sol.obj:local_sol copy.deepcopy(sol)model.sol_listcopy.deepcopy(sol_list)if local_sol.objmodel.best_sol.obj:model.best_solcopy.deepcopy(local_sol) # 搜索下一移动节点 def searchNextNode(model,current_node_no,SE_List):probnp.zeros(len(SE_List))for i,node_no in enumerate(SE_List):eta1/model.distance_matrix_[current_node_no,node_no] if model.distance_matrix_[current_node_no,node_no] else 0.0001taumodel.tau[current_node_no,node_no]prob[i]((eta**model.alpha)*(tau**model.beta))#采用轮盘法选择下一个访问节点cumsumprob(prob/sum(prob)).cumsum()cumsumprob - np.random.rand()return SE_List[list(cumsumprob 0).index(True)]# 参考 【1】 A novel approach to solve the split delivery vehicle routing problem
http://www.dnsts.com.cn/news/51494.html

相关文章:

  • 北京各大网站推广平台哪家好千牛
  • 网站设计与建设书常州外贸公司网站建设
  • 南通公司网站模板建站建筑工具网站
  • 德阳定制建站网站建设制作dede网站怎么做微信小程序
  • 收费小说网站怎么做东莞网站建设硅胶
  • 网站开发需要多少费用高端网站建设策划
  • 网站建设与网络编辑课程心得廊坊教育云网站建设
  • 网站建设对产品推销作用大吗厦门网站建设开发公司
  • 专业网站推广优化百度app安装下载免费
  • 全免费建立自己的网站百度搜索风云榜官网
  • 如何注册属于自己的网站口碑好的网站建设收费
  • 网站建设维护问题dw建设网站的代码模板
  • 企业网站建设 知乎做搜索网站挣钱
  • 六安网站制作找哪家微信网站开场动画
  • 做营销型网站要多少钱的品质网站建设
  • 网站视频弹窗代码WordPress游览器标签
  • 嘉定网站设计怎么样h5制作方法和步骤
  • seo查询网站哪个网站有做阿里巴巴流量
  • 高密网站建设flash网站设计师
  • 网站万能密码修复网红营销活动
  • 门户网站模式四川省铁路建设有限公司网站
  • jsp 网站开发例子wordpress怎么搜索网站
  • 网站大图做多大尺寸熊掌号接入wordpress
  • 中国建设银行网站下载企业建设网站哪家好
  • 做网站好赚钱赣州人才网官方网站
  • 什么网站做海报赚钱手机网页禁止访问解除
  • 做网站如何赚钱最新新闻热点事件ppt
  • 南开天津网站建设企业微信登录
  • 手机网站案例食品包装设计的介绍
  • 安徽省建设厅网站备案用手机怎么制作软件