买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于可变邻域下降混合算法的轮渡服务网络优化方法_暨南大学_202010325030.5 

申请/专利权人:暨南大学

申请日:2020-04-23

公开(公告)日:2023-03-28

公开(公告)号:CN111581580B

主分类号:G06F17/10

分类号:G06F17/10;G06Q10/04;G06Q10/083;G06Q10/109

优先权:

专利状态码:有效-授权

法律状态:2023.03.28#授权;2020.09.18#实质审查的生效;2020.08.25#公开

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

主权项:1.一种基于可变邻域下降混合算法的轮渡服务网络优化方法,其特征在于,步骤如下:S1、针对轮渡服务网络,构建FNDP-SA的整数规划模型;在步骤S1中,通过合并泊位限制和容量分配策略,得出FNDP-SA的集合划分公式,即整数规划模型: subjectto: 其中,f为轮渡,F为轮渡集合;s为轮渡时间表,S为基于候选航段生成的所有轮渡时间表的集合;为决策变量,如果将时间表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为目标函数,表示最小化所有已执行轮渡时间表的总运营成本;表达式2~4为约束条件,表达式2确保在时间范围内最多可以将一个渡轮分配给一个时间表;表达式3要求在容量分配策略下必须满足所有要求;表达式4确保在任何时间周期内每个港口上的占用泊位数量都不会超过可用泊位数量;决策变量都是二进制的,如表达式5中所定义;S2、对于步骤S1构建的FNDP-SA的整数规划模型,先基于给定的航段,采用第一启发式算法生成可行的轮渡时间表;然后采用第二启发式算法,根据轮渡时间表生成初始解,初始解即是为乘客提供渡轮服务的初始解决方案;在步骤S2中,基于给定的航段,采用第一启发式算法生成可行的轮渡时间表,过程如下:S211、设可行的轮渡时间表的集合可供选择的随机航段集合R*=R;令MAX表示未能将航段扩展到给定时间表的连续迭代的最大次数; S212、判断R*是否为若是,则结束算法;若否,则从中选择一随机航段r,r∈R*,R*=R*\{r},每个航段仅用作一次初始航段;S213、判断该随机航段r的出发港口αr是否属于出发港口集合Π,P为港口集合,若是,则创建一个新的轮渡时间表s={r},一个轮渡时间表是由一系列航段前后衔接而成的航段序列,s={r}表示时间表中先选择一个航段r作为该航段序列中的第一个航段;若否,则返回步骤S212;S214、设迭代次数count=0;当新的轮渡时间表s的目标港口βs∈Π时,令S=S∪s;S215、令count=count+1,若count≤MAX,则选择新的随机航段r'∈R,若countMAX,则返回步骤S212;S216、判断新的随机航段r'的出发港口αr'是否等于βs,ts+ls+π是否小于或等于tr',ts为轮渡时间表s的出发时间,ls为轮渡时间表s的总服务时间,tr'为航段r'的出发时间,若αr'=βs且ts+ls+π≤tr',则令s=s∪r',count=0;若αr'不等于βs或者ts+ls+π大于tr',则返回步骤S215;S217、输出最终的所有可行的轮渡时间表S;在步骤S2中,采用第二启发式算法,根据轮渡时间表生成初始解,过程如下:S221、令Δ表示初始解:令可供选择的随机旅行需求集合D*=D,D为旅行需求集合;S222、判断D*是否等于若是,则结束算法;若否,则从中随机选择一个旅行需求d*,d*∈D*,D*=D*\{d*};S223、判断有需求d*的乘客人数md*是否大于0,若否,则返回步骤S222;若是,则随机选择一个轮渡时间表s={r1,r2,...,rn}∈S;S224、判断需求d*是否可以被随机选择的轮渡时间表s服务,即是否大于0,若否,则返回步骤S222;若是,则为需求d*随机选择一个轮渡f∈F;S225、选择新的随机旅行需求d'∈D,并判断d'是否属于D*,若是,则有需求d'的乘客人数表示一个航段r由轮渡f来执行时,可用于满足需求d'的最大座位数量,表示时间表s内所有航段由轮渡f来执行时,可用于服务需求d'的最大座位总数;初始解Δ=Δ∪{s,f},并返回步骤S223;若否,则返回步骤S222;S226、输出最终的所有初始解;S3、设计可变邻域下降算法使用的一系列邻域;在步骤S3中,利用突变、交换和循环交换这三种运算符来开发一系列不同的邻域结构κ为邻域序号;突变运算符和交换运算符可反复使用;邻域是指使用运算符对当前的解决方案进行变换而得到潜在解的集合;邻域结构是指解决方案中的轮渡时间表和分配给时间表的轮渡;开发过程如下:1利用突变运算符从第一启发式算法生成的所有可行的轮渡时间表中随机选择一个轮渡时间表,如果该时间表已包含在现有解决方案中,则将当前分配给该时间表的轮渡进行随机变异,在船队中增加一条虚拟渡轮,当选择了虚拟渡轮并将其分配给时间表时,则该时间表被视为已从现有解决方案中删除;如果现有解决方案中没有这个随机选择的时间表,则为该时间表分配随机渡轮,这等效于在以前的解决方案中添加新的轮渡时间表;2利用交换运算符从第一启发式算法生成的所有可行的轮渡时间表中随机选择两个轮渡时间表,并交换分配给它们的轮渡,如果在现有解决方案中同时使用了这两个时间表,则将简单地交换分配的渡轮;如果当前仅使用这两个时间表中的一个时间表,则将这个被使用的时间表从当前解决方案中删除,而其渡轮将分配给另一个时间表;如果当前解决方案中未使用这两个时间表,则选择新的随机时间表对,直到当前使用这两个时间表中的至少一个为止,然后按照上述过程分配渡轮;3利用循环交换运算符在一次迭代中干扰两个以上的轮渡时间表:仅选择当前使用的时间表来执行循环交换,每次迭代选择一组m个时间表{s1,f1},{s2,f2},...,{sm,fm},然后从第一个时间表s1开始,将其分配到的渡轮与先前分配给第二个时间表s2的轮渡进行重新分配,即f1分配给s2,f2分配给s1,然后从第二个时间表开始s2,将其分配到的渡轮与先前分配给第三个时间表s3的轮渡进行重新分配,即f1分配给s3,f3分配给s2,以此类推,最后,第m个时间表sm分配到f1,由此完成m个所选船期表的循环交换,并且所有所选择的时间表均已更改;S4、为避免搜索陷入局部最优状态,基于禁忌搜索TS设计接收准则;S5、采用基于可变邻域下降算法迭代地对初始解进行改善:在每一次迭代中,基于接收准则,搜索邻域内是否有更优的解决方案,直至搜索过程终止,以此完成对初始解决方案的优化。

全文数据:

权利要求:

百度查询: 暨南大学 一种基于可变邻域下降混合算法的轮渡服务网络优化方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。