基于可变邻域下降混合算法的轮渡服务网络优化方法.pdf

上传人:li****8 文档编号:10481007 上传时间:2021-06-22 格式:PDF 页数:21 大小:1.20MB
收藏 版权申诉 举报 下载
基于可变邻域下降混合算法的轮渡服务网络优化方法.pdf_第1页
第1页 / 共21页
基于可变邻域下降混合算法的轮渡服务网络优化方法.pdf_第2页
第2页 / 共21页
基于可变邻域下降混合算法的轮渡服务网络优化方法.pdf_第3页
第3页 / 共21页
文档描述:

《基于可变邻域下降混合算法的轮渡服务网络优化方法.pdf》由会员分享,可在线阅读,更多相关《基于可变邻域下降混合算法的轮渡服务网络优化方法.pdf(21页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010325030.5 (22)申请日 2020.04.23 (71)申请人 暨南大学 地址 510632 广东省广州市天河区黄埔大 道西601号 (72)发明人 邵赛俊徐素秀程会兵屈挺 谭冰清 (74)专利代理机构 广州市华学知识产权代理有 限公司 44245 代理人 郑浦娟 (51)Int.Cl. G06F 17/10(2006.01) G06Q 10/04(2012.01) G06Q 10/08(2012.01) G06Q 10/10(2012.01) (54)发明名。

2、称 一种基于可变邻域下降混合算法的轮渡服 务网络优化方法 (57)摘要 本发明公开了一种基于可变邻域下降混合 算法的轮渡服务网络优化方法, 包括先针对轮渡 服务网络, 构建FNDP-SA的整数规划模型; 基于给 定的航段, 采用第一启发式算法生成可行的轮渡 时间表; 然后采用第二启发式算法, 根据轮渡时 间表生成初始解; 再设计可变邻域下降算法使用 的一系列邻域; 为避免搜索陷入局部最优状态, 基于禁忌搜索TS设计接收准则; 最后采用基于可 变邻域下降算法迭代地对初始解进行改善: 在每 一次迭代中, 基于接收准则, 搜索邻域内是否有 更优的解决方案, 直至搜索过程终止, 以此完成 对初始解决方。

3、案的优化。 本发明可以提供更优化 的渡轮服务方案, 优化渡轮服务网络, 适用于规 模较大的轮渡运输。 权利要求书4页 说明书14页 附图2页 CN 111581580 A 2020.08.25 CN 111581580 A 1.一种基于可变邻域下降混合算法的轮渡服务网络优化方法, 其特征在于, 步骤如下: S1、 针对轮渡服务网络, 构建FNDP-SA的整数规划模型; S2、 对于步骤S1构建的FNDP-SA的整数规划模型, 先基于给定的航段, 采用第一启发式 算法生成可行的轮渡时间表; 然后采用第二启发式算法, 根据轮渡时间表生成初始解, 初始 解即是为乘客提供渡轮服务的初始解决方案; S3。

4、、 设计可变邻域下降算法使用的一系列邻域; S4、 为避免搜索陷入局部最优状态, 基于禁忌搜索TS设计接收准则; S5、 采用基于可变邻域下降算法迭代地对初始解进行改善: 在每一次迭代中, 基于接收 准则, 搜索邻域内是否有更优的解决方案, 直至搜索过程终止, 以此完成对初始解决方案的 优化。 2.根据权利要求1所述的基于可变邻域下降混合算法的轮渡服务网络优化方法, 其特 征在于, 在步骤S1中, 通过合并泊位限制和容量分配策略, 得出FNDP-SA的集合划分公式, 即 整数规划模型: subject to: 其中, f为轮渡, F为轮渡集合; s为轮渡时间表, S为基于候选航段生成的所有轮渡。

5、时间 表的集合;为决策变量, 如果将时间表s分配给渡轮f, 则等于1, 否则,等于0; 为轮船f执行的时刻表s的运营成本; Cf为轮渡f的容量; d为乘客的旅行需求, 对于每个d, 其出发和目的地港口以及所需的出 发时间都是已知的, D为旅行需求集合; r为航段, R为候选航段,Rs为时间表s中的 候选航段; md为有需求d的乘客人数; 是指航段r中可用于满足需求d的最大比率; 为时间周期, T为时间周期集合; k为港口, P为港口集合; Bk为港口k的泊位数量;等 于1或者等于0,表示在 时期内, 时间表s占用了港口k的泊位;表示在 时期 内, 时间表s没有占用港口k的泊位; 表达式(1)为。

6、目标函数, 表示最小化所有已执行轮渡时间表的总运营成本; 表达式(2) (4)为约束条件, 表达式(2)确保在时间范围内最多可以将一个渡轮分配给一个时间表; 权利要求书 1/4 页 2 CN 111581580 A 2 表达式(3)要求在容量分配策略下必须满足所有要求; 表达式(4)确保在任何时间周期内每 个港口上的占用泊位数量都不会超过可用泊位数量; 决策变量都是二进制的, 如表达式 (5)中所定义。 3.根据权利要求1所述的基于可变邻域下降混合算法的轮渡服务网络优化方法, 其特 征在于, 在步骤S2中, 基于给定的航段, 采用第一启发式算法生成可行的轮渡时间表, 过程 如下: S211、 。

7、设可行的轮渡时间表的集合可供选择的随机航段集合R*R; 令MAX表示 未能将航段扩展到给定时间表的连续迭代的最大次数; S212、 判断R*是否为若是, 则结束算法; 若否, 则从中选择一随机航段r, rR*, R* R*r, 每个航段仅用作一次初始航段; S213、 判断该随机航段r的出发港口 r是否属于出发港口集合,P为港口集合, 若是, 则创建一个新的轮渡时间表sr, 一个轮渡时间表是由一系列航段前后衔接而成 的航段序列, sr表示时间表中先选择一个航段r作为该航段序列中的第一个航段; 若 否, 则返回步骤S212; S214、 设迭代次数count0; 当新的轮渡时间表s的目标港口s时。

8、, 令SSs; S215、 令countcount+1, 若countMAX, 则选择新的随机航段rR, 若countMAX, 则 返回步骤S212; S216、 判断新的随机航段r的出发港口 r是否等于 s, ts+ls+ 是否小于或等于tr, ts为 轮渡时间表s的出发时间, ls为轮渡时间表s的总服务时间, tr为航段r的出发时间, 若 r s且ts+ls+ tr, 则令ssr, count0; 若 r不等于 s或者ts+ls+ 大于tr, 则返回步骤S215; S217、 输出最终的所有可行的轮渡时间表S。 4.根据权利要求1所述的基于可变邻域下降混合算法的轮渡服务网络优化方法, 其特。

9、 征在于, 在步骤S2中, 采用第二启发式算法, 根据轮渡时间表生成初始解, 过程如下: S221、 令表示初始解:令可供选择的随机旅行需求集合D*D, D为旅行需求集 合; S222、 判断D*是否等于若是, 则结束算法; 若否, 则从中随机选择一个旅行需求d*, d* D*, D*D*d*; S223、 判断有需求d*的乘客人数是否大于0, 若否, 则返回步骤S222; 若是, 则随机选 择一个轮渡时间表sr1,r2,.,rnS; S224、 判断需求d*是否可以被随机选择的轮渡时间表s服务, 即是否大于0, 若否, 则返回步骤S222; 若是, 则为需求d*随机选择一个轮渡fF; S22。

10、5、 选择新的随机旅行需求dD, 并判断d是否属于D*, 若是, 则有需求d的乘客人 数表示一个航段r由轮渡f来执行时, 可用于满 足需求d的最大座位数量,表示时间表s内所有航段由轮渡f来执行时, 可用 权利要求书 2/4 页 3 CN 111581580 A 3 于服务需求d的最大座位总数; 初始解s,f, 并返回步骤S223; 若否, 则返回步骤 S222; S226、 输出最终的所有初始解。 5.根据权利要求1所述的基于可变邻域下降混合算法的轮渡服务网络优化方法, 其特 征在于, 在步骤S3中, 利用突变、 交换和循环交换这三种运算符来开发一系列不同的邻域结 构 为邻域序号; 突变运算符。

11、和交换运算符可反复使用; 邻域是指使用运算符对当前的解决方案进行变换而得到潜在解的集合; 邻域结构是指 解决方案中的轮渡时间表和分配给时间表的轮渡; 开发过程如下: 1)利用突变运算符从第一启发式算法生成的所有可行的轮渡时间表中随机选择一个 轮渡时间表, 如果该时间表已包含在现有解决方案中, 则将当前分配给该时间表的轮渡进行随机变 异, 在船队中增加一条虚拟渡轮, 当选择了虚拟渡轮并将其分配给时间表时, 则该时间表被 视为已从现有解决方案中删除; 如果现有解决方案中没有这个随机选择的时间表, 则为该时间表分配随机渡轮, 这等 效于在以前的解决方案中添加新的轮渡时间表; 2)利用交换运算符从第一。

12、启发式算法生成的所有可行的轮渡时间表中随机选择两个 轮渡时间表, 并交换分配给它们的轮渡, 如果在现有解决方案中同时使用了这两个时间表, 则将简单地交换分配的渡轮; 如果当前仅使用这两个时间表中的一个时间表, 则将这个被使用的时间表从当前解决 方案中删除, 而其渡轮将分配给另一个时间表; 如果当前解决方案中未使用这两个时间表, 则选择新的随机时间表对, 直到当前使用 这两个时间表中的至少一个为止, 然后按照上述过程分配渡轮; 3)利用循环交换运算符在一次迭代中干扰两个以上的轮渡时间表: 仅选择当前使用的 时间表来执行循环交换, 每次迭代选择一组m个时间表s1,f1,s2,f2,.,sm,fm,。

13、 然后从第一个时间表s1开始, 将其分配到的渡轮与先前分配给第二个时间表s2的轮渡 进行重新分配, 即f1分配给s2, f2分配给s1, 然后从第二个时间表开始s2, 将其分配到的渡轮 与先前分配给第三个时间表s3的轮渡进行重新分配, 即f1分配给s3, f3分配给s2, 以此类推, 最后, 第m个时间表sm分配到f1, 由此完成m个所选船期表的循环交换, 并且所有所选择的时 间表均已更改。 6.根据权利要求1所述的基于可变邻域下降混合算法的轮渡服务网络优化方法, 其特 征在于, 在步骤S4中, 基于禁忌搜索TS设计接收准则, 具体如下: 1)定义解决方案x的目标值obj(x)的计算公式为: 。

14、obj(x)E(x)+ 1U(x)+ 2V(x)+ 3G(x); 其中, E(x)为总成本和; U(x)为违反了船队规模约束的成本; V(x)为违反了泊位限制约 束的成本; G(x)为违反了旅行需求约束的成本; 1为违反了船队规模约束的惩罚系数; 2为 违反了泊位限制约束的惩罚系数;3为违反了旅行需求约束的惩罚系数; 2)对于各个违规成本: 由于每个轮渡最多可以分配给一个轮渡时间表, 如果将轮渡同时分配给多个时间表, 则每次使用都会给加上一个违规成本U(x); 权利要求书 3/4 页 4 CN 111581580 A 4 如果在任何时间周期内某个港口停泊的渡轮数量大于可用泊位的数量, 则将被计。

15、为违 规成本V(x); 由于要求解决方案中的轮渡时间表能够满足所有要求, 如果轮渡时间表未完全满足任 何要求, 则将添加一项违规成本G(x); 3)对于惩罚系数: 1、 2和 3在开始时均以1作为初始值, 并根据搜索过程中接受的解决方案的可行性进 行动态调整: 如果在最近接受的解决方案中违反了船队规模, 泊位限制或者旅行需求约束, 则对应 的惩罚系数将乘以1.1, 否则将被除以1.1。 7.根据权利要求1所述的基于可变邻域下降混合算法的轮渡服务网络优化方法, 其特 征在于, 步骤S5包括如下步骤: 在每次迭代期间, 按照邻域顺序从第一个邻域开始搜索第一个邻域内的局部最 优, 将x的第一个邻域内。

16、的局部最优表示为x, 并基于接收准则, 判断x是否优于x, 即判断局部最优是否有改善初始解: 如果局部最优有改善初始解, 当前邻域中有更好的解决方案, 则将x代替x成为新的初 始解, 每当在邻域中找到更好的解决方案时, 重复此过程; 如果在当前邻域中没有找到更好的解决方案, 则令 +1, 让搜索将切换到邻域序列 中的下一个邻域, 继续搜索局部最优; 在上述过程中, 每次找到新的解决方案时, 令 1, 让搜索从序列中的第一个邻域开 始; 当最后一个邻域无法提供更好的解决方案, 或者达到了设置的计算时间限 制, 则终止搜索过程。 8.一种存储介质, 存储有程序, 其特征在于, 所述程序被处理器执行。

17、时, 实现权利要求1 至7中任一项所述的基于可变邻域下降混合算法的轮渡服务网络优化方法。 9.一种计算设备, 包括处理器以及用于存储处理器可执行程序的存储器, 其特征在于, 所述处理器执行存储器存储的程序时, 实现权利要求1至7中任一项所述的基于可变邻域下 降混合算法的轮渡服务网络优化方法。 权利要求书 4/4 页 5 CN 111581580 A 5 一种基于可变邻域下降混合算法的轮渡服务网络优化方法 技术领域 0001 本发明涉及海岛交通优化技术领域, 特别涉及一种基于可变邻域下降混合算法的 轮渡服务网络优化方法。 背景技术 0002 对游客和居住在离岛上的居民而言, 轮渡是至关重要、 有。

18、时甚至是唯一的用于穿 行于群岛间的交通工具。 作为公共交通的重要组成部分, 轮渡网络设计问题(FNDP)已被广 泛研究了数十年。 0003 正如Karapetyan和Punnen(2015)所指出的那样, 即使只有四艘轮渡和七个港口的 小规模问题, 其最优化设计也被证明具有很大的挑战性。 Lai和Lo(2004)研究了一个轮渡的 调度问题, 并得出了最优的船队规模、 渡轮路线和时间表。 在An和Lo(2014)中, 随机需求被 纳入渡轮服务设计中, 并且开发了一种基于服务可靠性且具有用户均衡流的建模方式, 其 中考虑了两种类型的服务(即常规服务和临时服务)。 最近, Bell等(2019)提出。

19、了一种熵最 大化方法来解决FNDP问题, 其中采用了熵最大化和效用最大化之间的等价关系, 从乘客的 角度寻找最佳渡轮路线。 0004 以上学者都对海岛轮渡网络提出了相应的优化方法, 但其都是适用于乘客和轮渡 信息规模较小的情况。 随着海岛旅行业的不断发展, 乘客和轮渡信息规模越来越大, 这些算 法都不再适用或者表现出低况性能。 因此, 面对海岛运输问题中出现的数据暴增的这一困 境, 迫切需要优化当前的渡轮服务网络。 发明内容 0005 本发明的第一目的在于克服现有技术的缺点与不足, 提供一种基于可变邻域下降 混合算法的轮渡服务网络优化方法, 该方法可以为乘客提供更优化的渡轮服务方案, 优化 渡。

20、轮服务网络, 适用于乘客和轮渡信息规模较大的轮渡运输。 0006 本发明的第二目的在于提供一种存储介质。 0007 本发明的第三目的在于提供一种计算设备。 0008 本发明的第一目的通过下述技术方案实现: 一种基于可变邻域下降混合算法的轮 渡服务网络优化方法, 步骤如下: 0009 S1、 针对轮渡服务网络, 构建FNDP-SA的整数规划模型; 0010 S2、 对于步骤S1构建的FNDP-SA的整数规划模型, 先基于给定的航段, 采用第一启 发式算法生成可行的轮渡时间表; 然后采用第二启发式算法, 根据轮渡时间表生成初始解, 初始解即是为乘客提供渡轮服务的初始解决方案; 0011 S3、 设。

21、计可变邻域下降算法使用的一系列邻域; 0012 S4、 为避免搜索陷入局部最优状态, 基于禁忌搜索TS设计接收准则; 0013 S5、 采用基于可变邻域下降算法迭代地对初始解进行改善: 在每一次迭代中, 基于 接收准则, 搜索邻域内是否有更优的解决方案, 直至搜索过程终止, 以此完成对初始解决方 说明书 1/14 页 6 CN 111581580 A 6 案的优化。 0014 优选的, 在步骤S1中, 通过合并泊位限制和容量分配策略, 得出FNDP-SA的集合划 分公式, 即整数规划模型: 0015 0016 subject to: 0017 0018 0019 0020 0021 其中, f。

22、为轮渡, F为轮渡集合; s为轮渡时间表, S为基于候选航段生成的所有轮渡 时间表的集合;为决策变量, 如果将时间表s分配给渡轮f, 则等于1, 否则,等于0; 为轮船f执行的时刻表s的运营成本; 0022 Cf为轮渡f的容量; d为乘客的旅行需求, 对于每个d, 其出发和目的地港口以及所 需的出发时间都是已知的, D为旅行需求集合; r为航段, R为候选航段,Rs为时间表 s中的候选航段; md为有需求d的乘客人数;是指航段r中可用于满足需求d的最大比率; 0023 为时间周期, T为时间周期集合; k为港口, P为港口集合; Bk为港口k的泊位数量; 等于1或者等于0,表示在 时期内, 时。

23、间表s占用了港口k的泊位;表示在 时期内, 时间表s没有占用港口k的泊位; 0024 表达式(1)为目标函数, 表示最小化所有已执行轮渡时间表的总运营成本; 表达式 (2)(4)为约束条件, 表达式(2)确保在时间范围内最多可以将一个渡轮分配给一个时间 表; 表达式(3)要求在容量分配策略下必须满足所有要求; 表达式(4)确保在任何时间周期 内每个港口上的占用泊位数量都不会超过可用泊位数量; 决策变量都是二进制的, 如表 达式(5)中所定义。 0025 优选的, 在步骤S2中, 基于给定的航段, 采用第一启发式算法生成可行的轮渡时间 表, 过程如下: 0026S211、 设可行的轮渡时间表的集。

24、合可供选择的随机航段集合R*R; 令MAX 表示未能将航段扩展到给定时间表的连续迭代的最大次数; 0027S212、 判断R*是否为若是, 则结束算法; 若否, 则从中选择一随机航段r, rR*, R*R*r, 每个航段仅用作一次初始航段; 说明书 2/14 页 7 CN 111581580 A 7 0028S213、 判断该随机航段r的出发港口r是否属于出发港口集合,P为港口 集合, 若是, 则创建一个新的轮渡时间表sr, 一个轮渡时间表是由一系列航段前后衔接 而成的航段序列, sr表示时间表中先选择一个航段r作为该航段序列中的第一个航段; 若否, 则返回步骤S212; 0029 S214、。

25、 设迭代次数count0; 当新的轮渡时间表s的目标港口s时, 令SS s; 0030 S215、 令countcount+1, 若countMAX, 则选择新的随机航段rR, 若count MAX, 则返回步骤S212; 0031 S216、 判断新的随机航段r的出发港口r是否等于s, ts+ls+ 是否小于或等于 tr, ts为轮渡时间表s的出发时间, ls为轮渡时间表s的总服务时间, tr为航段r的出发时 间, 0032 若 r s且ts+ls+ tr, 则令ssr, count0; 若 r不等于 s或者ts+ls+ 大 于tr, 则返回步骤S215; 0033 S217、 输出最终的所。

26、有可行的轮渡时间表S。 0034 优选的, 在步骤S2中, 采用第二启发式算法, 根据轮渡时间表生成初始解, 过程如 下: 0035S221、 令表示初始解:令可供选择的随机旅行需求集合D*D, D为旅行需 求集合; 0036S222、 判断D*是否等于若是, 则结束算法; 若否, 则从中随机选择一个旅行需求 d*, d*D*, D*D*d*; 0037S223、 判断有需求d*的乘客人数是否大于0, 若否, 则返回步骤S222; 若是, 则随 机选择一个轮渡时间表sr1,r2,.,rnS; 0038S224、 判断需求d*是否可以被随机选择的轮渡时间表s服务, 即是否大 于0, 若否, 则返。

27、回步骤S222; 若是, 则为需求d*随机选择一个轮渡fF; 0039 S225、 选择新的随机旅行需求dD, 并判断d是否属于D*, 若是, 则有需求d的乘 客人数表示一个航段r由轮渡f来执行时, 可用 于满足需求d的最大座位数量,表示时间表s内所有航段由轮渡f来执行时, 可用于服务需求d的最大座位总数; 初始解s,f, 并返回步骤S223; 若否, 则返回 步骤S222; 0040 S226、 输出最终的所有初始解。 0041 优选的, 在步骤S3中, 利用突变、 交换和循环交换这三种运算符来开发一系列不同 的邻域结构 为邻域序号; 突变运算符和交换运算符可反复使用; 0042 邻域是指使。

28、用运算符对当前的解决方案进行变换而得到潜在解的集合; 邻域结构 是指解决方案中的轮渡时间表和分配给时间表的轮渡; 开发过程如下: 0043 1)利用突变运算符从第一启发式算法生成的所有可行的轮渡时间表中随机选择 说明书 3/14 页 8 CN 111581580 A 8 一个轮渡时间表, 0044 如果该时间表已包含在现有解决方案中, 则将当前分配给该时间表的轮渡进行随 机变异, 在船队中增加一条虚拟渡轮, 当选择了虚拟渡轮并将其分配给时间表时, 则该时间 表被视为已从现有解决方案中删除; 0045 如果现有解决方案中没有这个随机选择的时间表, 则为该时间表分配随机渡轮, 这等效于在以前的解决。

29、方案中添加新的轮渡时间表; 0046 2)利用交换运算符从第一启发式算法生成的所有可行的轮渡时间表中随机选择 两个轮渡时间表, 并交换分配给它们的轮渡, 0047 如果在现有解决方案中同时使用了这两个时间表, 则将简单地交换分配的渡轮; 0048 如果当前仅使用这两个时间表中的一个时间表, 则将这个被使用的时间表从当前 解决方案中删除, 而其渡轮将分配给另一个时间表; 0049 如果当前解决方案中未使用这两个时间表, 则选择新的随机时间表对, 直到当前 使用这两个时间表中的至少一个为止, 然后按照上述过程分配渡轮; 0050 3)利用循环交换运算符在一次迭代中干扰两个以上的轮渡时间表: 仅选择。

30、当前使 用的时间表来执行循环交换, 每次迭代选择一组m个时间表s1,f1,s2,f2,.,sm,fm, 0051 然后从第一个时间表s1开始, 将其分配到的渡轮与先前分配给第二个时间表s2的 轮渡进行重新分配, 即f1分配给s2, f2分配给s1, 然后从第二个时间表开始s2, 将其分配到的 渡轮与先前分配给第三个时间表s3的轮渡进行重新分配, 即f1分配给s3, f3分配给s2, 以此类 推, 最后, 第m个时间表sm分配到f1, 由此完成m个所选船期表的循环交换, 并且所有所选择的 时间表均已更改。 0052 优选的, 在步骤S4中, 基于禁忌搜索TS设计接收准则, 具体如下: 0053 。

31、1)定义解决方案x的目标值obj(x)的计算公式为: 0054 obj(x)E(x)+ 1U(x)+ 2V(x)+ 3G(x); 0055 其中, E(x)为总成本和; U(x)为违反了船队规模约束的成本; V(x)为违反了泊位限 制约束的成本; G(x)为违反了旅行需求约束的成本; 1为违反了船队规模约束的惩罚系数; 2为违反了泊位限制约束的惩罚系数;3为违反了旅行需求约束的惩罚系数; 0056 2)对于各个违规成本: 0057 由于每个轮渡最多可以分配给一个轮渡时间表, 如果将轮渡同时分配给多个时间 表, 则每次使用都会给加上一个违规成本U(x); 0058 如果在任何时间周期内某个港口停。

32、泊的渡轮数量大于可用泊位的数量, 则将被计 为违规成本V(x); 0059 由于要求解决方案中的轮渡时间表能够满足所有要求, 如果轮渡时间表未完全满 足任何要求, 则将添加一项违规成本G(x); 0060 3)对于惩罚系数: 0061 1、 2和 3在开始时均以1作为初始值, 并根据搜索过程中接受的解决方案的可行 性进行动态调整: 0062 如果在最近接受的解决方案中违反了船队规模, 泊位限制或者旅行需求约束, 则 对应的惩罚系数将乘以1.1, 否则将被除以1.1。 0063 优选的, 步骤S5包括如下步骤: 说明书 4/14 页 9 CN 111581580 A 9 0064在每次迭代期间,。

33、 按照邻域顺序从第一个邻域开始搜索第一个邻域内的局 部最优, 将x的第一个邻域内的局部最优表示为x, 并基于接收准则, 判断x是否优 于x, 即判断局部最优是否有改善初始解: 0065 如果局部最优有改善初始解, 当前邻域中有更好的解决方案, 则将x代替x成为新 的初始解, 每当在邻域中找到更好的解决方案时, 重复此过程; 0066 如果在当前邻域中没有找到更好的解决方案, 则令 +1, 让搜索将切换到邻域 序列中的下一个邻域, 继续搜索局部最优; 0067 在上述过程中, 每次找到新的解决方案时, 令 1, 让搜索从序列中的第一个邻域 开始; 0068当最后一个邻域无法提供更好的解决方案, 。

34、或者达到了设置的计算时间 限制, 则终止搜索过程。 0069 本发明的第二目的通过下述技术方案实现: 一种存储介质, 存储有程序, 所述程序 被处理器执行时, 实现本发明第一目的所述的基于可变邻域下降混合算法的轮渡服务网络 优化方法。 0070 本发明的第三目的通过下述技术方案实现: 一种计算设备, 包括处理器以及用于 存储处理器可执行程序的存储器, 所述处理器执行存储器存储的程序时, 实现本发明第一 目的所述的基于可变邻域下降混合算法的轮渡服务网络优化方法。 0071 本发明相对于现有技术具有如下的优点及效果: 0072 (1)本发明基于可变邻域下降混合算法的轮渡服务网络优化方法, 先给出了。

35、FNDP- SA的整数规划模型, 并针对轮渡服务网络中存在大量可行的轮渡时间表, 采用精确算法来 解决大型实例在计算上会非常棘手的这一问题, 提出了一种混合算法, 先开发了两个启发 式算法, 一个是基于给定的服务弧(服务弧即航段)生成可行的渡轮时间表, 另一个是构造 初始解决方案, 然后开发了基于可变邻域下降(VND)算法来迭代地改善初始解, 并且考虑到 研究问题的性质, 还设计了一组邻域结构, 使混合算法能够在一系列越来越大的邻域中搜 索高质量的解决方案。 因此, 本发明采用可变邻域下降混合算法, 能够为乘客提供更优化的 渡轮服务方案, 同时也能减少运输数据暴增, 优化渡轮服务网络, 因此更。

36、适用于乘客和轮渡 信息规模较大的轮渡运输。 0073 (2)本发明方法根据违反船队规模、 泊位限制和旅行需求约束这些行为的违规成 本和对应的惩罚系数设计了接收准则, 在每一次寻找更优解的迭代中, 基于接收准则搜索 邻域内是否有更优的解决方案, 能够更方便地找出更优解, 多次迭代能够最大程度上提供 更好的解决方案。 0074 (3)本发明方法利用突变、 交换和循环交换这三种运算符来开发一系列不同的邻 域结构, 能够充分干扰现有解决方案, 同时又要保留重要部分, 实现对邻域的有效开发。 附图说明 0075 图1是本发明基于可变邻域下降混合算法的轮渡服务网络优化方法的流程图。 0076 图2是珠海群。

37、岛分布图。 说明书 5/14 页 10 CN 111581580 A 10 具体实施方式 0077 下面结合实施例及附图对本发明作进一步详细的描述, 但本发明的实施方式不限 于此。 0078 实施例1 0079 本实施例公开了一种基于可变邻域下降混合算法的轮渡服务网络优化方法, 如图 1所示, 步骤如下: 0080 S1、 针对轮渡服务网络, 构建FNDP-SA的整数规划模型。 0081 本实施例具体是通过合并泊位限制和容量分配策略, 得出FNDP-SA的集合划分公 式, 即整数规划模型: 0082 0083 subject to: 0084 0085 0086 0087 0088 其中, f。

38、为轮渡, F为轮渡集合; s为轮渡时间表, S为基于候选航段生成的所有轮渡 时间表的集合;为决策变量, 如果将时间表s分配给渡轮f, 则等于1, 否则,等于0; 为轮船f执行的时刻表s的运营成本; 0089 Cf为轮渡f的容量; d为乘客的旅行需求, 对于每个d, 其出发和目的地港口以及所 需的出发时间都是已知的, D为旅行需求集合; r为航段, R为候选航段,Rs为时间表 s中的候选航段; md为有需求d的乘客人数;是指航段r中可用于满足需求d的最大比率; 0090 为时间周期, T为时间周期集合; k为港口, P为港口集合; Bk为港口k的泊位数量; 等于1或者等于0,表示在 时期内, 时。

39、间表s占用了港口k的泊位;表示在 时期内, 时间表s没有占用港口k的泊位。 0091 表达式(1)为目标函数, 表示最小化所有已执行轮渡时间表的总运营成本; 表达式 (2)(4)为约束条件, 表达式(2)确保在时间范围内最多可以将一个渡轮分配给一个时间 表; 表达式(3)要求在容量分配策略下必须满足所有要求; 表达式(4)确保在任何时间周期 内每个港口上的占用泊位数量都不会超过可用泊位数量; 决策变量都是二进制的, 如表 达式(5)中所定义。 0092 S2、 对于步骤S1构建的FNDP-SA的整数规划模型, 由于该轮渡服务规划问题存在大 说明书 6/14 页 11 CN 111581580 。

40、A 11 量可行的轮渡时间表, 采用精确算法来解决大型实例在计算上是非常棘手的。 因此这里先 基于给定的航段, 采用第一启发式算法生成可行的轮渡时间表; 然后采用第二启发式算法, 根据轮渡时间表生成初始解, 初始解即是为乘客提供渡轮服务的初始解决方案。 0093 其中, 第一启发式算法先是在某个起始港口开始的航段生成轮渡时间表, 每个航 段仅用作一次初始航段。 如果以上选择的航段也终止于一个起始港口, 则可以将航段本身 作为可行的渡轮计划添加到最终集合中。 然后, 在满足连续性和时间条件的同时, 将航段反 复添加到当前渡轮计划中, 直到尝试了最大次数后再找不到其他可行的渡轮计划。 采用第 一启。

41、发式算法生成可行的轮渡时间表的过程如下: 0094S211、 设可行的轮渡时间表的集合可供选择的随机航段集合R*R; 令MAX 表示未能将航段扩展到给定时间表的连续迭代的最大次数; 0095S212、 判断R*是否为若是, 则结束算法; 若否, 则从中选择一随机航段r, rR*, R*R*r, 每个航段仅用作一次初始航段; 0096S213、 判断该随机航段r的出发港口r是否属于出发港口集合,P为港口 集合, 若是, 则创建一个新的轮渡时间表sr, 一个轮渡时间表是由一系列航段前后衔接 而成的航段序列, sr表示时间表中先选择一个航段r作为该航段序列中的第一个航段; 若否, 则返回步骤S212。

42、; 0097 S214、 设迭代次数count0; 当新的轮渡时间表s的目标港口s时, 令SS s; 这里的轮渡时间表s的目标港口也是s中最后一条航段的目标港口; 0098 S215、 令countcount+1, 若countMAX, 则选择新的随机航段rR, 若count MAX, 则返回步骤S212; 0099 S216、 判断新的随机航段r的出发港口r是否等于s, ts+ls+ 是否小于或等于 tr, ts为轮渡时间表s的出发时间, ls为轮渡时间表s的总服务时间, tr为航段r的出发时 间, 0100 若 r s且ts+ls+ tr, 则令ssr, count0; 若 r不等于 s或。

43、者ts+ls+ 大 于tr, 则返回步骤S215; 0101 S217、 输出最终的所有可行的轮渡时间表S。 0102 第二启发式算法描述了覆盖需求的基本思想, 通过迭代添加轮渡时间表并为每个 添加的时间表分配特定的轮渡来构建初始解决方案, 采用第二启发式算法生成初始解的过 程如下: 0103S221、 令表示初始解:令可供选择的随机旅行需求集合D*D, D为旅行需 求集合; 0104S222、 判断D*是否等于若是, 则结束算法; 若否, 则从中随机选择一个旅行需求 d*, d*D*, D*D*d*; 0105S223、 判断有需求d*的乘客人数是否大于0, 若否, 则返回步骤S222; 若。

44、是, 则随 机选择一个轮渡时间表sr1,r2,.,rnS; 0106S224、 判断需求d*是否可以被随机选择的轮渡时间表s服务, 即是否大 于0, 若否, 则返回步骤S222; 若是, 则为需求d*随机选择一个轮渡fF; 说明书 7/14 页 12 CN 111581580 A 12 0107 S225、 选择新的随机旅行需求dD, 并判断d是否属于D*, 若是, 则有需求d的乘 客人数表示一个航段r由轮渡f来执行时, 可用 于满足需求d的最大座位数量,表示时间表s内所有航段由轮渡f来执行时, 可用于服务需求d的最大座位总数; 初始解s,f, 并返回步骤S223; 若否, 则返回 步骤S22。

45、2; 0108 S226、 输出最终的所有初始解。 0109 S3、 设计可变邻域下降算法(VND)使用的一系列邻域, 邻域是指使用运算符对当前 的解决方案进行变换而得到潜在解的集合; 邻域结构是指解决方案中的轮渡时间表和分配 给时间表的轮渡; 设计的一系列邻域应探索与当前解决方案越来越远的区域, 以便有效地 摆脱局部最优。 0110 本实施例利用了突变(Mutate)、 交换(Swap)和循环交换(Cyclic Exchange)这三 种运算符来开发一系列不同的邻域结构 为邻域序号。 这些运算符能 够充分干扰现有解决方案, 同时又要保留重要部分。 Mutate和Swap运算符可以反复采用, 。

46、以 对现有解决方案进行足够的扰动。 开发过程如下: 0111 1)利用突变运算符从第一启发式算法生成的所有可行的轮渡时间表中随机选择 一个轮渡时间表, 0112 如果该时间表已包含在现有解决方案中, 则将当前分配给该时间表的轮渡进行随 机变异, 在船队中增加一条虚拟渡轮, 当选择了虚拟渡轮并将其分配给时间表时, 则该时间 表被视为已从现有解决方案中删除; 0113 如果现有解决方案中没有这个随机选择的时间表, 则为该时间表分配随机渡轮, 这等效于在以前的解决方案中添加新的轮渡时间表; 0114 2)利用交换运算符从第一启发式算法生成的所有可行的轮渡时间表中随机选择 两个轮渡时间表, 并交换分配。

47、给它们的轮渡, 0115 如果在现有解决方案中同时使用了这两个时间表, 则将简单地交换分配的渡轮; 0116 如果当前仅使用这两个时间表中的一个时间表, 则将这个被使用的时间表从当前 解决方案中删除, 而其渡轮将分配给另一个时间表; 0117 如果当前解决方案中未使用这两个时间表, 则选择新的随机时间表对, 直到当前 使用这两个时间表中的至少一个为止, 然后按照上述过程分配渡轮; 0118 3)利用循环交换运算符在一次迭代中干扰两个以上的轮渡时间表: 仅选择当前使 用的时间表来执行循环交换, 每次迭代选择一组m个时间表s1,f1,s2,f2,.,sm,fm, 0119 然后从第一个时间表s1开。

48、始, 将其分配到的渡轮与先前分配给第二个时间表s2的 轮渡进行重新分配, 即f1分配给s2, f2分配给s1, 然后从第二个时间表开始s2, 将其分配到的 渡轮与先前分配给第三个时间表s3的轮渡进行重新分配, 即f1分配给s3, f3分配给s2, 以此类 推, 最后, 第m个时间表sm分配到f1, 由此完成m个所选船期表的循环交换, 并且所有所选择的 时间表均已更改。 0120 例如, 表1为基于上述三个算子设计的VND的邻域结构集。 这里设置单个运算符最 多可安排4个轮渡时间表。 当 2时, 将采用Mutate运算符两次, 并且在每个相邻解决方案 说明书 8/14 页 13 CN 11158。

49、1580 A 13 中将两个时间表分配给不同的渡轮。 同样, 当 4时, 将选择两对不同的时间表以交换其分 配的渡轮。 并且, 列表中的第一个邻域结构通常对生成更高质量的解决方案贡献更大, 最后 的邻域结构有助于防止算法容易陷入局部最优状态。 0121 表1 0122 0123 S4、 考虑到基本的VND算法仅接受可改善当前状态的可行解决方案, 很容易使搜索 陷入局部最优状态, 在某些条件下接受不可行的解决方案又具有重大意义, 因此为了避免 搜索陷入局部最优状态, 基于禁忌搜索TS设计接收准则, 这一接收准则可接受不可行的处 罚方案, 具体如下: 0124 1)定义解决方案x的目标值obj(x。

50、)的计算公式为: 0125 obj(x)E(x)+ 1U(x)+ 2V(x)+ 3G(x); 0126 其中, E(x)为总成本和; U(x)为违反了船队规模约束的成本; V(x)为违反了泊位限 制约束的成本; G(x)为违反了旅行需求约束的成本; 1为违反了船队规模约束的惩罚系数; 2为违反了泊位限制约束的惩罚系数;3为违反了旅行需求约束的惩罚系数; 0127 2)对于各个违规成本: 0128 由于每个轮渡最多可以分配给一个轮渡时间表, 如果将轮渡同时分配给多个时间 表, 则每次使用都会给加上一个违规成本U(x); 0129 如果在任何时间周期内某个港口停泊的渡轮数量大于可用泊位的数量, 则。

展开阅读全文
内容关键字: 基于 可变 邻域 下降 混合 算法 轮渡 服务 网络 优化 方法
关于本文
本文标题:基于可变邻域下降混合算法的轮渡服务网络优化方法.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10481007.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1