一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种单向航道船舶靠离泊规划算法的制作方法

2022-10-26 09:47:01 来源:中国专利 TAG:

1.本发明涉及船舶靠离泊计划领域,尤其涉及一种单向航道船舶靠离泊规划算法。


背景技术:

2.船舶靠泊、离泊、移泊过程中,港池、航道中航行的安全性,深吃水船根据所靠泊位乘潮靠泊,拖轮对靠泊、离泊、移泊的影响,泊位装卸效率等因素;在满足上述因素前提下,合理安排船舶靠离泊时间,可以提高通航效率。
3.因此,如何合理安排船舶靠离泊的时间,提高通航效率是目前亟需解决的问题;针对于此,我们设计了一种单向航道船舶靠离泊规划算法。


技术实现要素:

4.本发明的目的是为了合理安排船舶靠离泊的时间,提高通航效率,而提出的一种单向航道船舶靠离泊规划算法。
5.为了实现上述目的,本发明采用了如下技术方案:
6.一种单向航道船舶靠离泊规划算法,其特征在于,根据船舶的重要性建立混合整数规划模型,合理规划船舶的靠离泊方案,具体包括以下步骤:
7.s1,对不同阶段的船舶进行特征选择,优先级设置1-5级,强调船自身重要性对船舶靠离泊的影响;
8.s2,建立顺序惩罚矩阵,由船舶到港顺序及优先级得到理论靠离泊顺序;
9.s3,对决策变量靠泊时间、离泊时间定义正负偏差变量,施加软约束,保证模型可行性与准确性;
10.s4,根据不同约束条件的影响范围,寻找最优计算范围,将不同港池泊位进行划分,减少单船计算次数,提高运算速度;
11.s5,针对港池、航道中船舶之间靠离泊的安全要求,根据船舶信息以及停靠泊位,得到靠离泊航行轨迹,综合分析任意两航行轨迹之间的相关性,将其转化为约束条件,保证航行过程中安全性;
12.s6,将潮汐变化的影响转化为可通航时间段,乘潮靠离泊过程保证在可通航时间段内完成,并将其转化为线性约束,以此保证靠离泊过程中潮水制约;
13.s7,依据各船靠离泊过程中拖轮使用数量、起始时刻与靠离泊时间的关系,得到各船使用拖轮的开始、结束时间;考虑拖轮在任意两次靠离泊动态之间航行时间,通过线性约束保证拖轮高效完成各项计划,进而保证靠离泊计划对拖轮使用的需求;
14.s8,移泊过程仅对港池内船舶进出港产生影响,针对移泊可能产生的安全问题,将其转化为移泊影响水域内安全保证问题,再根据船舶信息以及停靠泊位、移泊泊位,得到船舶航行轨迹,分析任意两航行轨迹之间相关性,作为基础信息,将其转化为线性约束保证航行过程中安全性问题。
15.s9,依据上述约束条件,构建目标函数,设置以在港船舶等待时间最小、泊位利用
率最高为求解目标,对模型进行求解。
16.优选地,所述建立混合整数规划模型是采用gurob i优化器进行模型求解。
17.优选地,所述s5中针对港池、航道中船与船之间靠离泊的安全问题不包括移泊过程。
18.优选地,所述将问题转化为在港池、航道中任意两船靠离泊保证安全问题具体解释为:任意a、b船,区别过程为,a船靠泊-b船靠泊,a船靠泊-b船离泊,在a船离泊-b船靠泊,a船离泊-b船离泊。
19.优选地,所述s7中通过线性约束保证拖轮有足够时间完成各项计划中约束条件有拖轮数量约束、每条拖轮工作一条船的弹性时间约束、多条拖轮工作时间相互不冲突约束。
20.优选地,所述多条拖轮工作时间相互不冲突约束包含有每一条拖轮作业不同船之间不冲突。
21.优选地,所述s8中移泊过程仅会对港池内船舶进出港产生影响,针对移泊可能产生的安全问题,将问题转化为在港池中任意靠离泊与移泊保证安全问题具体解释为:任意m船靠泊、n船离泊、q船移泊,区别过程为,m船靠泊-q船移泊,n船离泊-q船移泊。
22.本发明的有益效果为:
23.本发明针对港池、航道中船与船之间靠离泊的安全问题,将问题转化为在港池、航道中任意两船靠离泊保证安全问题,接着再根据船舶信息以及停靠泊位,得到靠离泊航行轨迹,分析任意两航行轨迹之间影响,作为基础信息,将其转化为线性约束保证航行过程中安全性问题,通过创建港口安全基础信息库,高效、准确表达在靠离泊过程中船舶在港池、航道中的相互影响,能够合理安排船舶靠离泊的时间,提高通航效率。
具体实施方式
24.下面将结合本发明中的实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
25.一种单向航道船舶靠离泊规划算法,其特征在于,根据船舶的重要性建立混合整数规划模型,合理规划船舶的靠离泊方案,具体包括以下步骤:
26.s1,对不同阶段的船舶进行特征选择,优先级设置1-5级,强调船自身重要性对船舶靠离泊的影响;
27.s2,建立顺序惩罚矩阵,由船舶到港顺序及优先级得到理论靠离泊顺序;
28.s3,对决策变量靠泊时间、离泊时间定义正负偏差变量,施加软约束,保证模型可行性与准确性;
29.s4,根据不同约束条件的影响范围,寻找最优计算范围,将不同港池泊位进行划分,减少单船计算次数,提高运算速度;
30.s5,针对港池、航道中船舶之间靠离泊的安全要求,根据船舶信息以及停靠泊位,得到靠离泊航行轨迹,综合分析任意两航行轨迹之间的相关性,将其转化为约束条件,保证航行过程中安全性;
31.s6,将潮汐变化的影响转化为可通航时间段,乘潮靠离泊过程保证在可通航时间段内完成,并将其转化为线性约束,以此保证靠离泊过程中潮水制约;
32.s7,依据各船靠离泊过程中拖轮使用数量、起始时刻与靠离泊时间的关系,得到各
船使用拖轮的开始、结束时间;考虑拖轮在任意两次靠离泊动态之间航行时间,通过线性约束保证拖轮高效完成各项计划,进而保证靠离泊计划对拖轮使用的需求;
33.s8,移泊过程仅对港池内船舶进出港产生影响,针对移泊可能产生的安全问题,将其转化为移泊影响水域内安全保证问题,再根据船舶信息以及停靠泊位、移泊泊位,得到船舶航行轨迹,分析任意两航行轨迹之间相关性,作为基础信息,将其转化为线性约束保证航行过程中安全性问题。
34.s9,依据上述约束条件,构建目标函数,设置以在港船舶等待时间最小、泊位利用率最高为求解目标,对模型进行求解。
35.本发明中,所述建立混合整数规划模型是采用gurobi优化器进行模型求解。
36.针对s2中建立顺序惩罚矩阵,由船舶到港顺序,以及重要性得到理论靠离泊顺序,对实际调度中改变的靠离泊顺序部分进行惩罚,以尽量保证原有靠离泊顺序,具体解释如下:
[0037][0038]
其中表示i1船靠泊完成之后多少分钟后i2靠泊(仅考虑船自身因素);
[0039]
其中表示i1船离泊完成之后多少分钟后i2离泊(仅考虑船自身因素);
[0040]
其中表示i1船靠泊完成之后多少分钟后i2离泊(仅考虑船自身因素);
[0041]
其中表示i1船离泊完成之后多少分钟后i2靠泊(仅考虑船自身因素);
[0042]
针对s3中对决策变量靠泊时间、离泊时间定义正负偏差变量,对其做软约束,保证模型可行性与准确性,具体解释如下:
[0043][0044]
flex_ship_arrivali为弹性时间约束项,可通过控制此项的取值范围(设置const的取值)来限制靠泊时间的弹性范围
[0045][0046]
flex_ship_leavei为弹性时间约束项,可通过控制此项的取值范围(设置const的取值)来限制靠泊时间的弹性范围。
[0047]
本发明中,所述s5中针对港池、航道中船与船之间靠离泊的安全问题不包括移泊过程。
[0048]
本发明中,所述将问题转化为在港池、航道中任意两船靠离泊保证安全问题具体解释为:任意a、b船,区别过程为,a船靠泊-b船靠泊,a船靠泊-b船离泊,在a船离泊-b船靠泊,a船离泊-b船离泊。
[0049]
针对s5中,具体的解释如下,
[0050]
·
靠泊与靠泊之间:对于i1,i2两靠泊船,其靠泊时间应有先后顺序且不冲突,此时已知每艘船所分配的泊位,其中const
11
项表示将i1船分配给k1靠泊,i2船分配k2靠泊时需要满足的间隔时间且为已知量,具体数值存于外部excel矩阵中。
[0051][0052][0053][0054]
k1,k2已知(k1为i1已分配泊位,k2为i2已分配泊位)
[0055]
·
离泊与离泊之间:对于i1,i2两离泊船,其离泊时间应有先后顺序且不冲突,其中const
12
项表示将i1船分配给k1离泊,i2船分配k2离泊时需要满足的间隔时间,同理const
12
项为已知量,const
12
具体数值存于外部excel矩阵中。
[0056][0057]
[0058][0059]
k1,k2已知(k1为i1离泊泊位,k2为i2离泊泊位)
[0060]
·
靠泊与离泊之间:对于任意的i1靠泊船,i2离泊船,其靠离泊时间应有先后顺序且不冲突,其中const
131
项表示将i1船分配给k1先靠泊,i2船分配k2后离泊时需要满足的间隔时间,const
132
项表示将i1船分配给k1后靠泊,i2船分配k2先泊时需要满足的间隔时间,同样这里对于船舶的分配泊位已知,故const
131
与const
132
为已知常量存于外部excel矩阵中。
[0061][0062][0063]
未靠泊,i2离泊,i1≠i2,非移泊船
[0064][0065]
未靠泊,i2离泊,i1≠i2非移泊船
[0066]
k1,k2已知(k1为i1可靠泊位,k2为i2离泊泊位);
[0067]
针对s6中将潮水制约转化为可通航时间段,乘潮靠离泊过程保证在可通航时间段内完成,并将其转化为线性约束,以此保证靠离泊过程中潮水制约,具体解释为:
[0068]
·
靠泊:对于第i条靠泊船,根据潮位约束,其在一天内存在s1段可通航时间段,要求其靠泊时间必须介于这s1段中同一段可通航时间段内。对每一艘船的靠泊时间而言,s1段可通航时间段仅有其中一段包含靠泊时间,这s1个虚拟变量就表示选择哪一段可通航时间段,仅有一段取1,表示靠泊时间在该段中。
[0069][0070]
这里的为靠泊时口门到泊位的航行时间,这里泊位分配已完成,每条船所分配的泊位已知。故对于特定的泊位k来遍历寻找其s1段可通航时间,由下面的求和式来选择具体的一段靠泊可通航时间;
[0071][0072]
·
离泊:机理同靠泊;
[0073][0074][0075]
这里的为离泊时泊位到口门的航行时间,这里泊位分配已完成,每条船所分配的泊位已知;故对于特定的泊位k来遍历寻找其s2段可通航时间,由下面的求和式来选择具体的一段离泊可通航时间;
[0076]
本发明中,所述s7中通过线性约束保证拖轮有足够时间完成各项计划中约束条件有拖轮数量约束、每条拖轮工作一条船的弹性时间约束、多条拖轮工作时间相互不冲突约束。
[0077]
本发明中,所述多条拖轮工作时间相互不冲突约束包含有每一条拖轮作业不同船之间不冲突。
[0078]
针对s7中通过线性约束保证拖轮有足够时间完成各项计划中约束条件有拖轮数量约束、每条拖轮工作一条船的弹性时间约束、多条拖轮工作时间相互不冲突约束,具体解释为:
[0079]
拖轮数量约束
[0080]
靠泊:
[0081][0082]
对第i条船,其靠泊所需的拖轮数量小于等于分配给它的拖轮数量。
[0083]
离泊:
[0084][0085]
对第i条船,其离泊所需的拖轮数量小于等于分配给它的拖轮数量。
[0086]
此外,保证每艘船拖轮安排数量尽可能小,增加目标函数进行控制。
[0087][0088]
每条拖轮工作一条船的弹性时间约束。
[0089]
·
拖轮在靠泊船处的开始工作时间:
[0090]
time_tugboat_arrival_start
ij
[0091]
≤time_ship_arrival
i-consti flex_arrival_start
ij
[0092]
m
51
(1-distribute_tugboat
ij
)
[0093]
上式表示第j条拖轮工作第i条船的开始时间要在该船靠泊之前的一段时间中,其中consti就表示第i条船在靠泊前多久需要分配给其的拖轮开始工作;flex_arrival_start
ij
表示给拖轮的开始工作时间一个弹性的范围,其取值范围由以下不等式确定:(const为人工设置常量,表达时间弹性范围)
[0094][0095]
·
拖轮在靠泊船处的结束工作时间
[0096]
第j条拖轮工作第i条船的结束时间要在该船靠泊时间附近,flex_arrival_end
ij
同理表示弹性时间变量。
[0097]
time_tugboat_arrival_end
ij
[0098]
≥time_ship_arrival
i-flex_arrival_end
ij
[0099]-m
52
(1-distribute_tugboat
ij
)
[0100]
pv_separate
ij
≤distribute_tugboat
ij
[0101]
这里的pv_separate
ij
为动态生成的虚拟变量,其表示分配给同一艘船舶的多条拖轮中,可提前释放几条拖轮,并且这里的弹性时间flex_arrival_end
ij
变量仅作用于可提前释放的拖轮中,而不可提前释放的拖轮工作结束时间与船舶的靠泊时间保持一致。
[0102][0103]
上式表示至少留下两条拖轮工作至船靠泊结束。
[0104][0105]
上式表示弹性时间范围,const为人工设置常量。
[0106]
·
拖轮在离泊船处的开始工作时间
[0107][0108]
·
拖轮在离泊船处的结束工作时间
[0109][0110][0111]
多条拖轮工作时间相互不冲突:每一条拖轮作业不同船之间不冲突;
[0112]
·
靠泊与靠泊之间:i1船与i2船同时靠泊,第j条拖轮在前一条船作业完成后间隔一段时间才能作业下一条靠泊船,这里任意的i1船与i2船分别表示先后顺序的不同。
[0113][0114][0115]
i2靠泊且均需要拖轮,且
[0116]
其中表示拖轮在两船之间作业间隔的时间,其与前后两船的泊位有关。
[0117]
·
离泊与离泊之间:第j条拖轮在前一条船作业完成后间隔一段时间才能作业下一条离泊船,这里任意的i1船与i2船分别表示先后顺序的不同。
[0118][0119][0120]
i2离泊且均需要拖轮,且
[0121]
其中表示拖轮在两船之间作业间隔的时间,其与前后两船的泊位有关;
[0122]
·
靠泊与离泊之间:第j条拖轮在前一条船作业完成后间隔一段时间才能作业下一条船,这里任意的i1船与i2船分别表示先后顺序的不同。
[0123][0124][0125]
靠泊,i2离泊且均需要拖轮,
[0126]
其中表示拖轮在两船之间作业间隔的时间,其与前后两船的泊位有关;
[0127]
本发明中,所述s8中移泊过程仅会对港池内船舶进出港产生影响,针对移泊可能产生的安全问题,将问题转化为在港池中任意靠离泊与移泊保证安全问题具体解释为:任意m船靠泊、n船离泊、q船移泊,区别过程为,m船靠泊-q船移泊,n船离泊-q船移泊;针对上述具体的解释为:
[0128]
靠泊与移泊离泊之间
[0129]
i1船在同一港池内由k1泊位移泊其他泊位,i2船靠泊k2泊位,当i1船离开k1泊位影响i2船靠泊,则需要考虑i2船靠泊与i1船离泊的安全问题,c为i1船移泊时常。
[0130][0131][0132]
由k1泊位移泊,i2靠泊,i1≠i2[0133][0134]
移泊离泊,i2靠泊,i1≠i2[0135]
k1,k2已知(k1为i1移泊离泊泊位,k2为i2靠泊泊位)
[0136]
靠泊与移泊靠泊之间
[0137]
i1船在同一港池内由其他泊位移泊k1泊位,i2船由k2泊位靠泊,当i1船因为移泊在k1泊位处影响i2船在k2泊位靠泊,则需要考虑i2船靠泊与i1船移泊靠泊的安全问题,c为i1船移泊时常。
[0159]
k1,k2已知(k1为i1移泊离泊泊位,k2为i2靠泊泊位)
[0160]
本发明,针对港池、航道中船与船之间靠离泊的安全问题,将问题转化为在港池、航道中任意两船靠离泊保证安全问题,接着再根据船舶信息以及停靠泊位,得到靠离泊航行轨迹,分析任意两航行轨迹之间影响,作为基础信息,将其转化为线性约束保证航行过程中安全性问题,通过创建港口安全基础信息库,高效、准确表达在靠离泊过程中船舶在港池、航道中的相互影响,能够合理安排船舶靠离泊的时间,提高通航效率。
[0161]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献