车辆路径问题VRPTW之四【节约里程法ClarkWright算法】
自从上次使用了最近邻算法后,运营成本降低了三分之一,你爹很高兴,让你继续努力,将家族企业发扬光大,早日进入世界五百强。
你也发现了算法的力量和乐趣。
研究了一下,发现还有一种算法叫做节约里程法。
赶快学习了一下。
function ClarkWright_Seq(mu)local savings = compute_savings(mu)local solution = getBackForth()local cIndex = 1while cIndex <= #solution do::continue::for s,saving in ipairs(savings) doif solution[cIndex][1].id == saving.i thenfor j=cIndex+1,#solution doif solution[j][#solution[j]].id == saving.j then if feasible(solution[j], solution[cIndex]) thensolution[j]:push_back_seq(solution[cIndex])solution[cIndex], solution[j] = solution[j], solution[cIndex]table.remove(savings, s)table.remove(solution, j)goto continueelsebreakend end endelseif saving.j == solution[cIndex][#solution[cIndex]].id thenfor j=cIndex+1,#solution doif solution[j][1].id == saving.i then if feasible(solution[cIndex], solution[j]) thensolution[cIndex]:push_back_seq(solution[j])table.remove(savings, s)table.remove(solution, j)goto continueelsebreakend end endend end cIndex = cIndex + 1end return solution
end
然后一跑
我靠,居然更差了,这两个糟老头子坏得很,居然比我最近插入还差。
垃圾!
不过,又看了下,发现还有一个版本,并行版本。秉着不抛弃不放弃的原则,你又继续搞下去。
function ClarkWright_Para(mu)local savings = compute_savings(mu)local solution = getBackForth()for s,saving in ipairs(savings) dofor i, route1 in ipairs(solution) do if route1[1].id == saving.i thenfor j,route2 in ipairs(solution) doif i~=j thenif saving.j == route2[#route2].id then if feasible(route1, route2) thenroute2:push_back_seq(route1)table.remove(solution, i)end goto continueend end end end end ::continue::end return solution
end
真香!!!
离世界五百强又近了一步
车辆路径问题VRPTW之四【节约里程法ClarkWright算法】相关推荐
- 求解VRP问题的节约里程法、sweep扫描算法和λ互换法
第05章 求解容量约束车辆路径问题的启发式算法 Edited by Jiannywang@163.com 目 录 5.1 节约里程法. 1 5.1.1 C-W节约算法简介. 1 5.1.2 C-W ...
- 0x80070035找不到网络路径_蚁群算法(ACO)求解带时间窗的车辆路径(VRPTW)问题...
蚁群算法求解VRPTW问题https://www.zhihu.com/video/1235315908018298880 今天为大家讲解使用蚁群算法(ACO)求解带时间窗的车辆路径(VRPTW)问题. ...
- 节约里程法java代码_患者,男,70岁,有多年排尿困难,呈淋漓状,近2年来双侧腹股沟区出现半年圆形肿块,站立时明显,平卧后消失,体检时压迫内环肿块仍出现,诊断为...
In cross-cultural training process, language can have a important impact on social adaptation. 关于环己烷 ...
- java随机数时间窗_蚁群算法(ACO)求解带时间窗的车辆路径(VRPTW)问题
今天为大家讲解使用蚁群算法(ACO)求解带时间窗的车辆路径(VRPTW)问题.在讲解蚁群算法求解VRPTW问题之前,不知道各位是否观察过现实生活中蚂蚁是怎么觅食的,说得形象一点的话就是成群的蚂蚁前赴后 ...
- 【文献研究】车辆路径问题静态合作博弈的数学模型及算法实现
前言:以2015年发表在期刊<MATHEMATICAL GAME THEORY AND APPLICATIONS>上的文章<Strong Coalitional Equilibriu ...
- matlab节约里程法_芳烃产业链里程碑:唐山旭阳30万吨/年苯乙烯项目一次性开车成功...
近日,中国旭阳集团(1907.HK)旗下唐山旭阳30万吨/年苯乙烯项目分析化验合格后的苯乙烯从退料管线切至产品采出管线,标志着年产30万吨苯乙烯装置各流程全部打通,产品合格采出,装置一次性开车成功,使 ...
- 【路径规划】基于节约算法实现CVRP问题
带有容量约束的车辆路径问题(CVRP) 该模型很难拓展到VRP的其他场景,并且不知道具体车辆的执行路径,因此对其模型继续改进. C-W节约算法: 一.算法思想 节约里程法,顾名思义,是根据里程的节约值 ...
- 时间窗车辆路径问题matlab代码,【图片】蚁群算法求解有时间窗约束的车辆路径问题matlab程序_蚁群算法吧_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 蚁群算法求解有时间窗约束的车辆路径问题matlab程序 1 简介 带时间窗的车辆路径问题(VRPTW)一般描述为从某一物流配送中心出发,用多台车辆向多个顾 ...
- 【VRP问题】基于节约算法CW求解带硬时间窗的车辆路径规划问题(VRPTW)matlab源码
1 简介 研究了物流配送中多车运输的集货与送货车辆路径规划问题,以增加时间惩罚费用的方式插入软时间窗约束,将租车费用,货车运输费用和时间惩罚费用三者之和最小作为优化目标,建立数学模型.采用启发式节约算 ...
- 【配送路径规划】基于matlab蚁群优化节约算法单中心多城市配送车辆路径规划【含Matlab源码 017期】
一.VRP简介 1 VRP基本原理 车辆路径规划问题(Vehicle Routing Problem,VRP)是运筹学里重要的研究问题之一.VRP关注有一个供货商与K个销售点的路径规划的情况,可以简述 ...
最新文章
- java中标识符,关键字,数据类型
- python新版下载安装_各种版本的Python下载安装教程
- request-promise 获取返回头信息_http返回的状态码 大全
- java 无侵入监控_MyPerf4J 一个高性能、无侵入的Java性能监控和统计工具
- 禁术级竞赛刷分技巧:找到跟测试集最接近的有标签样本
- jquery.imageScroller实现图片滚动
- 记录一次奇葩的sleep(15)引起的Too many connections
- C#强制关闭Excel进程(通过COM使用Excel时)
- Enriching Local and Global Contexts for Temporal Action Localization
- 将两个字符串连接起来,不要用strcat函数。
- Beautiful Soup
- Base64 混淆加密+迭代次数,Base64前后端加解密不一致、Base64 js加解密结果与java加解密结果不一致,Base64中文加密乱码
- Ad Hoc网络的概述
- Powershell 拆分和合并PDF
- 电商网站,商品规格的设计思路
- 艺术留学|服装设计专业2019院校排名
- 理赔数据发现,2022年最危险的三大重疾为恶性肿瘤、急性心肌梗死、脑中风后遗症 | 美通社头条...
- 银行软件测试简历模板,找工作的小伙伴看过来了
- 接收用户输入的原价。满1000打9折;满2000打8折;满5000打5折
- 移动端css hover效果,css移动端:acitve效果的实现
热门文章
- 多媒体计算机技术的核心技术是,计算机多媒体的核心技术与发展
- 学习网站及编程电子书下载网站
- ts视频下载 准备下载视频的你确定不进来看看吗
- java upnp 端口映射_端口映射与UPnP
- WinRAR 32位解压缩软件 v5.21 汉化免费版
- H265 SAO 技术
- postgresql mysql数据类型_postgresql+java数据类型对照
- DynamipsGUI2.7使用介绍
- Google Play 应用迁移
- 现代数字图像处理作业---对lena.bmp图像转成灰度图后,加入90%强度的椒盐噪声。尝试任何方法去恢复图像。