Eject Chain与可变路径在组合优化旅行商问题中的应用

news/2024/11/14 15:01:18/

Eject Chain与可变路径在组合优化旅行商问题中的应用

  • 前言
  • Eject Chain 算法
    • 弹射链中 cycle and stem 的结构介绍
    • Subpath Election Method
  • 一些基础的 STEM-AND-CYCLE RULES
  • 结论、分析和结束语
  • 参考文献

前言

在经典组合优化问题中的优秀算法自从上个世纪九十年代以来,分为两个突出的弹射算法,一个是LK启发式,一个是eject chain算法。前者在dismacs算法竞赛上大放异彩,经过算法的改良多种LK的分支都有不错的效果,且现在也有工业化的版本求解器,做的相当成熟。后者的弹射链算法作为主流之一,但是慢慢发展未能做起来,似乎有点停滞不前。本文对起进行较为基础的原始和理论的介绍,经过介绍可以分析得出,理论上弹射链算法是完备的,有很多改良和应用的空间,虽然现在较为没落,但是不失为一种探索的空间,也是值得学习和介绍的。

Eject Chain 算法

弹射链中 cycle and stem 的结构介绍

在这里插入图片描述
上图就是基本的弹射链的回路和茎的structure,r代表root根,t代表stem茎,s1和s2是子根subroot,其他没有标注的结点就是一些普通的结点。

Subpath Election Method

在这里插入图片描述
步骤①:初始设置r=t,原始集合PC和SC,PC={r},SC为空
在这里插入图片描述

步骤②:在tour的一个子路径 j,…,k中,且子路径的结点都不在PC和SC中。将j’j,和kk’‘删除,j’和k’‘分别是j和k的左右两个结点,并且将旅行subpath j,k中的j和k的位置用j’和k’'来代替,弥补空洞。
在这里插入图片描述

步骤③:在②的基础上,更细t=k,茎j和k加入PC中,j‘和k’‘加入SC中,如果加入PC的结点是一个子根subroot,则它之后不能再被操作。
在这里插入图片描述

步骤④:重复以上①②③直到达到终止条件。

一些基础的 STEM-AND-CYCLE RULES

上面一part讲的是如何从子路径中删除和弹出边,现在介绍的是弹出的变之后是怎么加入茎和回路的结构当中,以生成新的可行解的过程的一些规则。
在这里插入图片描述
上面这张图说的是四条规则来生成可变路径,规则1和2是主要的,3和4是一些完善和补充。
下面让我们来看看四种规则的具体操作实例
在这里插入图片描述
图中,下面一圈是cycle,上面是茎。规则①中,在将t和j1相连的时候,为了仍保持cycle-and-stem的结果,需要将q1和j1之间的变删除,然后q1作为新的t。
规则②中,如果t和茎中的j2相连,则需要删除t和j2之间的结点的边,图中是j2和q2之间的边,然后将q2作为新的t
下面的规则三和四是对一和二的补充,让我们也来看看
在这里插入图片描述
规则③中,如果我们将t和cycle中的j3相连,把j3和q的边删去,q成为新的t。
如果t是和茎中的j3相连,则把q和r之间的边删去,让原来的茎形成cycle,原来stem破坏成stem,q成为新的t

在规则④中有两种情况,如果q’和茎中的j4相连,我们把r和q‘之间的边断开,其余不变
如果q和cycle 中的j4相连,我们把q和r断开

结论、分析和结束语

为什么弹射链理论分析上效果会不错,因为寻优中,LK算法所能达到的case,它都能达到,LK不能演算出来的情况也能过做到,理论上探寻的空间是更大的,寻找到局部最优的可能性行是以LK算法的情况为下界的。
分享这篇文章的原因也是历史遗留问题,下载下来一直没有看,最近跑实验的过程中想着还是不能太摆烂,把这篇也补上,万一以后没有啥时间看了,不留遗憾。
其实思考来,这篇文章的思路和想法都是不错的,有很多是错的空间和探索的可能性存在,这里就不再详细展开了。
如果读者感兴趣的话,可以参看下面的参考文献。

参考文献

Glover F. New ejection chain and alternating path methods for traveling salesman problems[M]//Computer science and operations research. Pergamon, 1992: 491-509.


http://www.ppmy.cn/news/690797.html

相关文章

发票上的计算机字体,发票代码和发票号码是什么字体

发票代码和发票号码是什么字体 发票文字:宋体、黑体 发票号码:采用异型(采用哥特字体)字体印刷,号码为8位,位于发票的右上角。 发票编码:发票编码为10位阿拉伯数字。其排列顺序分别为:4位地区码(广东省为44OO)2位年度码…

pdf增值税发票如何获取里面的发票编号

第一种直接读取pdf文件获取里面文字 第二种将pdf转成图片识别里面的二维码&#xff0c;获取调用百度图片识别接口。 二维码识别依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId&g…

发票代码规则

一、增值税专用发票的分类代码 根据国税函发[1995]18号文件规定&#xff0c;增值税专用发票的分类代码用10位阿拉伯数字表示。各位数字分别代表地区简称、制版年度、批次、版本的语言文字、几联发票、发票的金额版本号等。 具体表示方法&#xff1a; 1、第l&#xff0d;4位 …

发票代码的含义(专,普)

文章目录 国税函[1995]18号 国家税务总局关于统一编印1995年增值税专用发票代码的通知国税函[2004]521号 国家税务总局关于统一全国普通发票分类代码和发票号码的通知 其他原文地址 这是个好问题。 目前比较有影响力的通知有2个&#xff1a; 国税函[1995]18号 专票 国税函[2004…

发票代码和发票号码知识点

知识点&#xff1a;发票代码和发票号码每一项无法单独标识一张发票&#xff0c;只有这两个组合之后才能标识一张发票。 如图&#xff1a; 下面资料介绍发票代码和发票号码的组成&#xff1a; 引用地址&#xff1a;http://www.chinatax.gov.cn/n810341/n810765/n812193/n813008/…

VScode当中下载liveServer后无法正常打开浏览器进行查看

一、直接使用“http://127.0.0.1:5500/”进行访问 二、通过修改环境变量 1、对liveServer插件的下载进行确认&#xff1b; 2、尝试重新下载liveServer插件&#xff1b; 3、对电脑Path环境变量进行修改 &#xff08;1&#xff09;打开“此电脑” &#xff08;2&#xff09…

如何在 macOS Monterey 上使用Live Text

在iPhone上用Live text从图片中提取文本似乎是最常用的功能&#xff0c;但在macOS Monterey上&#xff0c;你有成千上万张照片等着你去用。 苹果的Live Text演示显示&#xff0c;如果你在拍照&#xff0c;你的iPhone或Mac现在可以选择其中的文本。无论是一张菜单的照片&#x…

【HTTP Live Streaming】(四)苹果公司提供的7款 hls 工具

一、目标 了解apple官方提供的工具&#xff0c;可以帮助我们细分视频流并创建成功传输所需的播放列表。 二、介绍 有几种工具可以帮助您设置HTTP Live Streaming服务&#xff0c;下面分别介绍&#xff1a; 1.Media Stream Segmenter&#xff08;mediastreamsegmenter&#xff0…