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

网站开发技术课程设计说明书网页设计公司联系方式

网站开发技术课程设计说明书,网页设计公司联系方式,搜索引擎优化技术都有哪些,网站开发前端要学什么基于python语言#xff0c;采用经典遗传算法#xff08;ACO#xff09;对 需求拆分车辆路径规划问题#xff08;SDVRP#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作#xff0c;目前已经成熟… 基于python语言采用经典遗传算法ACO对 需求拆分车辆路径规划问题SDVRP 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作目前已经成熟的代码列举如下如有需求可私信联系表明需要的 问题与算法原创不宜有偿获取。 VRP问题GAACOALNSDEDPSOQDPSOTSSACVRP√√√√√√√√VRPTW√√√√√√√√MDVRP√√√√√√√√MDHVRP√√√√√√√√MDHVRPTW√√√√√√√√SDVRP√√ 1. 适用场景 求解CVRP车辆类型单一车辆容量小于部分需求节点需求单一车辆基地 2. 代码调整 与CVRP问题相比SDVRP问题允许客户需求大于车辆容量。为了使得每个客户的需求得到满足必须派遣一辆或多辆车辆对客户进行服务也就是需要对客户的需求进行拆分。关于如何进行拆分一般有两种方式 先验拆分策略提前制定策略对客户的需求尤其是大于车辆容量的客户需求进行分解将SDVRP问题转化为CVRP问题过程拆分策略在车辆服务过程中对客户需求进行动态拆分 本文采用文献[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​ } 在实现过程中对于需求超过车辆容量的客户必须进行需求拆分而对于未超过车辆容量的客户可以拆分也可以不拆分这里设置了参数比例进行限制。 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.alpha 2 # 信息启发式因子self.beta 3 # 期望启发式因子self.Q 100 # 信息素总量self.rho 0.5 # 信息素挥发因子self.tau {} # 弧信息素集合self.tau0 100 # 路径初始信息素2距离矩阵 # 初始化参数 def cal_distance_matrix(model):for i in model.demand_id_list:for j in model.demand_id_list:dmath.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]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] dist3蚁群移动 # 蚂蚁移动 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.obj,sol.route_list,sol.route_distancecalObj(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)] # 更新路径信息素 def upateTau(model):rhomodel.rhofor k in model.tau.keys():model.tau[k](1-rho)*model.tau[k]#根据解的node_no_seq属性更新路径信息素TSP问题的解for sol in model.sol_list:node_no_seqsol.node_no_seqfor i in range(len(node_no_seq)-1):from_node_nonode_no_seq[i]to_node_nonode_no_seq[i1]model.tau[from_node_no,to_node_no] model.Q/sol.objfor k in model.tau.keys():model.tau[k] max(model.tau[k],0.000001)参考 【1】 A novel approach to solve the split delivery vehicle routing problem
http://www.hkea.cn/news/14479342/

相关文章:

  • 重庆城市建设集团官方网站手机网站建设事项
  • 大学做兼职英语作文网站点击下载app安装
  • 苏州高端网站建设企业作业页面设计模板
  • 网站设计的原则有哪些wordpress latex公式
  • 怎样建立网站快捷方式莘县住房建设局网站
  • 厦门手机网站建设是什么梅江区建设局网站
  • 深圳做网站在去那备案有没有卖设计的网站
  • 主机怎么做网站二次跳转跨境电商数据在哪个官网查
  • 网站建设必要性在线代理浏览器网站
  • 网站建设方案解救苏州久远网络jquery个人网站开发
  • 衡阳网站建设icp备网站英文域名
  • 中学教材数字化学习资源的建设——教材配套网站的设计及发展趋势泗县口碑营销互联网营销推荐咨询
  • 南通公司做网站怎样建设微网站
  • 洛阳建站公司效果wordpress注册用户验证
  • 公司网站建设的项目工作分解结构网站动画特效
  • 免费建工作室网站软件开发外包大概多少钱
  • 网站教育培训机构排名政务公开与网站建设的矛盾
  • 温州网站建设定制手机网站设计欣赏
  • 网站建设的收费影视传媒宣传片
  • 网络网站设计培训商丘软件开发
  • 做网站公司销售开场白官方微网站吗
  • 网站商场系统软件如何让百度抓取网站
  • 网站开发工作总结wordpress流量统计插件
  • 蒙古文网站建设工作情况汇报wordpress nodejs版本
  • 响应式网站建设视频教程常用的搜索引擎有哪些?
  • 网站前端页面设计竹子建站模板怎么下载
  • 做网站 视频加载太慢新网域名续费
  • 公司网站搜索引擎优化wordpress 为什么要ftp
  • 郑州手机网站建设站长工具whois查询
  • 郑州可以做网站的公司h5个人网站模板源码