舰船科学技术  2023, Vol. 45 Issue (4): 167-170    DOI: 10.3404/j.issn.1672-7649.2023.04.034   PDF    
航行多阶段应急资源调度系统设计
张小莹1,2, 黎冬楼2, 杨秀英2     
1. 武汉理工大学 中国应急管理研究中心,湖北 武汉 430070;
2. 海南科技职业大学 海南自由贸易港国际航运发展与物权数字化重点实验室,海南 海口 571126
摘要: 海上船舶航运的资源调度直接决定了航运过程的能耗水平和航运公司的利润率,一旦航运船舶出现火灾、触礁等紧急事故时,进行应急船舶资源的调度是非常重要的环节,对船舶资源管理水平、调度时效性等有较高的要求。GIS地理信息系统是一种集计算机、地图资源、用户、互联网络为一体的综合系统,本文介绍GIS系统的基本原理和功能,基于GIS系统和Visual Studio 2010开发了船舶航行多阶段应急资源调度系统,从系统的关键构成、软件开发等方面进行详细研究。
关键词: GIS系统     资源调度     软件开发    
Design of navigation multi-stage emergency resource scheduling system
ZHANG Xiao-ying1,2, LI Dong-lou2, YANG Xiu-ying2     
1. China Research Center for Emergency Management, Wuhan University of Technology, Wuhan 430070, China;
2. Key Laboratory of Philosophy and Social Science in Hainan Province of Hainan Vocational University of Science and Technology, Haikou 571126, China
Abstract: Resource scheduling of marine shipping directly determines the energy consumption level and the profit rate of shipping companies in the shipping process. In addition, in case of emergency accidents such as fire and reef collision, emergency ship resource scheduling is a very important link, which has high requirements for ship resource management level and scheduling timeliness. GIS GIS is a comprehensive system integrating computer, map resources, users and Internet. This paper introduces the basic principle and function of GIS system. Based on GIS system and Visual Studio 2010, a multi-stage emergency resource scheduling system for ship navigation is developed. The key components of the system and software development are studied in detail.
Key words: GIS system     resource scheduling     software development    
0 引 言

船舶资源的调度是实现船舶运输资源优化配置的重要形式,资源调度的效率也直接决定了物流航运公司的经济效率。船舶资源调度是一个多因素寻优问题,需要综合船舶的航行速度、航线规划、船舶货物能力、货运成本等因素,特别是近年来能源价格居高不下、海上航运业竞争日益激烈,更需要提升航运企业的船舶资源调度水平。

GIS地理信息系统目前在海上船舶管理方面应用非常成功,借助GIS系统的软硬件设备,可以方便获取航运船舶位置、航速、航线等关键信息。本文针对的船舶资源调度场景是多货物、多港口、多航线和多船舶的综合场景,充分结合GIS地理信息系统,基于Visual Studio 2010开发船舶航行应急资源调度系统。

1 GIS地理信息系统

GIS地理信息系统由以太网、硬件系统、计算机软件系统、服务器、地图模型、船舶终端等构成,原理图如图1所示。

图 1 GIS地理信息系统原理图 Fig. 1 GIS schematic diagram of GIS GIS

GIS地理信息系统的关键功能包括船舶显示、气象监测、船舶监控等。

1)船舶显示功能

GIS系统为了能够对目标海域的船舶进行实时监控,采集的船舶数据通过以太网的传输和同步后进入系统的数据库中,用户通过系统界面可以浏览目标船舶在海域的准确位置。将船舶不同位置、不同时间的数据连接起来,就构成了一段时间内船舶的航行轨迹。船舶显示功能是GIS系统的最基本功能,用户可以根据自己的需求进行数据的调用,获取船舶的航向、航速等实时动态。

GIS系统的数据调用格式为CM矢量海图数据[1],关键环节包括电子海图的综合显示封装和onap电子海图开发等,GIS系统的电子海图数据调用方式如图2所示。

图 2 GIS系统的电子海图数据调用方式 Fig. 2 The method of electronic chart data calling in GIS system

2)气象监测功能

GIS地理信息系统为船舶用户提供气象监测功能,可以每天定时的进行气象动态的更新,船舶终端和地面监测站可以通过访问地理信息系统的电子海图界面,获取特定海域的气象状态,制定更加合理的航行线路,提高航运的安全性。此外,基于地理信息系统的数据库,用户可以获取指定海域不同时间的气象状态信息,并进行短时间内的气象预测。该功能对于船舶航运公司制定货运计划,避开恶劣天气有重要的作用。

3)船舶监控功能

配合系统的船舶显示功能,GIS地理信息系统为用户提供了船舶搜索和监控工具,能够方便地进行远洋船舶的航行监控。地理信息系统的船舶监控功能不仅仅局限于船舶位置的监控,而是一种深层次的船舶航行状态、设备运行质量的全方位监控。

用户在使用GIS系统的船舶监控功能时,以某一点为中心进行圆形或矩形区域的船舶检索,目标船舶锁定以后,可以定时对船舶的航行速度、货运状态、动力系统等关键信息进行实时跟踪。

2 基于GIS的船舶航行多阶段应急资源调度系统开发 2.1 船舶航行多阶段应急资源调度系统GIS服务器设计

本文结合GIS地理信息系统,进行船舶航行多阶段应急资源调度系统的开发,调度系统的核心是GIS服务器。通常,GIS服务器部署在Web Service服务器上,服务器接收用户的指令,为用户提供动态监视、地点和区域查询、路径和地图生成等服务。

GIS服务器的框架图如图3所示。

图 3 GIS服务器的框架图 Fig. 3 The framework diagram of the GIS server
2.2 船舶航行多阶段应急资源调度系统显示模块设计

显示模块是资源调度系统与用户的信息交互媒介,本文使用GeoServer开源地图引擎配合OpenLayers脚本程序进行显示模块的开发,用户可实现地图数据分布、特征数据查询、插入等操作。

OpenLayers脚本作为一个开源的JavaScript库,具有地图快速显示功能,通过API进行地图资源的访问,与服务器解耦。

OpenLayers本质上是一个地图容器,它的工作原理如图3所示。

图 4 OpenLayers脚本工作原理图 Fig. 4 OpenLayers working diagram of the script

OpenLayers脚本能够实现图层layer的自定义[2]和叠加显示,基于OpenLayers脚本,船舶航行应急资源调度系统的显示模块能够完成下述功能:

1)电子海图的基本显示和操作功能

比如海图的放大缩小、收藏、标记等。

2)船舶的实时位置显示功能

基于OpenLayers脚本的显示模块不仅可以实时监测船舶用户的实时位置信息,还可以通过图层变换使地图随着船舶位置更新进行位置变换。

3)航迹显示功能

显示模块可以将船舶的历史轨迹显示在电子海图上,用户能够调用6个月以内的船舶航迹数据。

4)海图自定义功能

用户可以根据需求定义电子海图的比例尺、布局等显示单元,并能够在电子海图上进行位置和目标船舶编码的搜索功能。

5)路径寻优功能

显示模块可以根据海域内船舶航行数据和气象条件进行路径寻优,用户只需要输入船舶的起始点与终点,显示模块可以为用户提供最优的路径。

6)交通流量计算

显示模块可以计算当前航线的交通流量,并计算海域内船舶数量的概率值,如下式:

$ P\left( X \right) = k\frac{{\left( {\lambda t} \right)k{e^{ - \lambda t}}}}{{k!}}\;\;,\left( {k = 0,1,\cdots } \right) 。$

式中: $ P\left( X \right) $ 为航线内船舶数量为k时的概率; $ \lambda $ 为航线上船舶的到达率; $ k $ 为船舶的数量。

可知,航线上有小于x艘船的概率为:

$ P\left( {X < x} \right) = \sum\limits_{k = 0}^x {} \frac{{\left( {\lambda t} \right)k{e^{ - \lambda t}}}}{{k!}}\; \text{,} $

航线上有大于x且小于y艘船概率为:

$\begin{split}& P\left( {x < X < y} \right) = \sum\limits_{k = x}^y k \frac{{\left( {\lambda t} \right)k{e^{ - \lambda t}}}}{{k!}}\; \text{,} \\ &P\left( {X = 0} \right) = {e^{ - \lambda t}} ,{\rm{others}}。\end{split}$

7)船舶航行速度分布建模

OpenLayers脚本通过采集大量的系统数据,将船舶航行速度拟合为连续型随机变量,并用正态分布的数学模型表示。系统的船舶航行速度概率密度函数和分布函数如下:

$ \begin{gathered} f\left( x \right) = \frac{1}{{\sqrt {\sqrt 2 {\text{π}} \sigma } }}{e^{\frac{{{{\left( {x - u} \right)}^2}}}{{2{{\text{π}} ^2}}}}}, \\ F\left( x \right) = \int_{ - \infty }^\infty {f\left( x \right)} {\rm{d}}x = \frac{1}{{\sqrt {\sqrt 2 {\text{π}} \sigma } }}\int_{ - \infty }^\infty {} {e^{\frac{{{{\left( {x - u} \right)}^2}}}{{2{{\text{π}} ^2}}}}}。\\ \end{gathered} $

$ \sigma $ u为正态分布系数,船舶航行速度正态分布示意如图5所示。

图 5 船舶航行速度正态分布示意图 Fig. 5 Diagram of normal distribution of ship speed
2.3 船舶航行多阶段应急资源调度系统用户信息管理模块设计

用户信息管理模块是调度系统的重要组成,功能包括用户信息及任务管理等,用户信息管理模块采用MySQL数据库技术,模块可实现的功能包括:

1)建立用户的数据库模型,将调度系统的用户权限数据、登录信息、船舶监测任务信息、电子海图、视频和图文信息、船舶资源调度任务信息等集成到数据库模型中。

2)结合MySQL数据库[3]技术建立调度系统的资源表格管理信息,实现快速的数据查询、增删。

3)用户信息管理模块提供资源调度系统的分类查询功能,并保存查询结果,以备后续的数据分析和调用。

4)当用户需要新的数据需求时,用户信息管理模块可以提供多种数据项,比如编码、标识、IP地址、资源调度序列等。

用户信息管理模块的原理图如图6所示。

图 6 用户信息管理模块的原理图 Fig. 6 Schematic diagram of user information management module
3 船舶航行多阶段应急资源调度系统软件开发

在船舶应急资源调度系统的软件开发过程中,本文采用的开发环境为Visual Studio 2010,该开发环境具有集成性、并行性等众多优点,能够实现多项目、多用户系统的开发。

使用的程序开发语言为Visual Basic6.0语言,这种语言具有模块化、面向对象等特点,同步能够满足程序开发和界面开发,通过建立ActiveX控件可以建立内容丰富的用户界面。

Visual Basic语言的特点包括:

1)可视化编程

Visual Basic 6.0将应用程序和数据封装起来,开发人员在进行设计时能够实现程序的可视化操作,从而提高了程序开发的效率。

2)事件驱动

Visual Basic程序由一个主程序和若干个子程序构成,针对某个特定的事件进行程序的编制[4]

本文基于Visual Studio 2010开发的船舶航行应急资源调度系统界面如图7所示。

图 7 船舶航行应急资源调度系统界面 Fig. 7 Interface of marine navigation emergency resource scheduling system
4 结 语

本文结合GIS地理信息系统的软硬件资源,基于Visual Studio 2010开发环境,开发了船舶航行多阶段应急资源调度系统,并对系统的原理、功能模块、程序界面等进行了详细介绍。

参考文献
[1]
郑红星, 朱徐涛. 双向航道集装箱港口船舶调度优化算法[J]. 计算机应用, 2021, 41(10): 3049-3055.
ZHENG Hong-xing, ZHU Xu-tao. Ship scheduling optimization algorithm for bidirectional channel container port[J]. Journal of Computer Applications, 2021, 41(10): 3049-3055.
[2]
谭哲一, 王正培. 面向复杂航道的引航员与船舶集成调度优化[J]. 系统工程理论与实践, 2021, 41(2): 332-344.
TAN Zhe-yi, WANG Zheng-pei. Pilot and ship integrated scheduling optimization for complex waterways [J]. Systems Engineering Theory & Practice, 201, 41(2): 332-344.
[3]
李晓玲. 基于动态规划算法的散货港口船舶调度优化[J]. 计算机仿真, 2020, 37(11): 393-397.
LI Xiao-ling. Ship scheduling optimization of bulk cargo port based on dynamic programming algorithm[J]. Computer Simulation, 2020, 37(11): 393-397.
[4]
杨立乾. 基于轴辐式网络的集装箱支线运输多船型船舶调度模型[J]. 中国管理科学, 2015, 23(S1): 860-864.
YANG Li-qian. Multi-ship scheduling model for container feeder transport based on hub-and-spoke network[J]. Chinese Journal of Management Science, 2015, 23(S1): 860-864.