船舶数据中心是指利用传感器、通信、物联网、互联网等技术手段,自动感知和获得船舶自身、海洋环境、物流、港口等方面的信息和数据,并基于计算机技术、自动控制技术和大数据处理分析技术,在船舶航行、港口管理、维护保养、货物运输等方面实现智能化运行的系统。由于海洋运输的发展,使得航道日益拥挤,同时船舶智能化程度的不断提高,船舶数据中心需要处理的数据呈现指数级增长,在这种情况下,如何合理调配数据中心的计算和存储资源就成了当下亟需解决的问题。
构建船舶数据中心调度算法的意义在于它能够显著提升港口船舶的运转效率和安全性。通过应用大数据技术,调度算法可以分析和处理大量船舶信息,优化船舶的进出港顺序和泊位分配,减少船舶在港口的等待时间,提高港口的运营效率。此外,有效的调度算法还能降低船舶碰撞事故的风险,通过实时调度减少港口内的船舶密度,确保船舶安全航行。在全球化贸易频繁的背景下,这种技术的应用对于促进船舶运输行业的健康稳步发展至关重要,它不仅提高了港口的运转效率,还为航运企业节约成本、减少环境污染提供了可能。因此,开发和实施高效的船舶调度算法对于提高整个航运行业的竞争力和可持续性具有重要的战略意义。
以“数据中心”和“调度算法”为关键词进行文献检索可以发现,近年来对两者的研究甚多,徐东红等[1]提出了一种基于A2C的数据中心任务调度算法,陈富强等[2]提出在不同网络任务状态下的多工作流合并组调度算法,并最终实现对多任务的智能调度。王立红等[3]以云数据中心任务调度为例,提出一种基于DDPG算法的任务调度算法,以实现最低能耗。曾磊等[4]提出将多群落粒子群优化算法应用到数据中心任务调度上,并通过优化适应度函数提升了调度效率。可以发现,国内学者的研究已经将多种算法应用到数据中心的任务调度上,且应用方向涉及物流、云平台、电力等多个行业领域,但是对船舶数据中心的应用研究则较少。本文旨在研究和开发一种高效能调度算法,用于优化船舶数据中心的资源分配和任务处理,以提高整体的服务质量和环境可持续性。通过构建混合整数线性规划数学模型,并结合强化学习算法,提出一种创新的自适应遗传模拟退火算法,以最小化船舶在港停留的总时间,减少港口拥堵,并降低船舶油耗。
1 船舶数据中心调度规划 1.1 船舶数据中心任务分配面临的挑战首先,船舶数据中心需要处理的数据量巨大且类型多样,包括船舶的航行数据、环境监测数据、货物信息以及港口操作数据等。这些数据的实时性和动态性要求数据中心能够快速响应,及时处理和分析,以确保船舶的航行安全和效率。然而,由于海上通信条件的限制,数据传输可能会延迟或中断,这对数据中心的任务分配和处理能力提出了更高要求[5]。
其次,船舶数据中心的任务分配还需要考虑到船舶的能源消耗和环境影响。随着全球对环境保护意识的增强,船舶数据中心在优化任务分配的同时,也需要尽可能地减少能源消耗和环境污染。这意味着数据中心需要采用节能的调度策略,比如通过优化算法来减少船舶的等待时间和提高燃油效率,从而降低船舶的运营成本和环境足迹。
最后,船舶数据中心的任务分配还面临着安全性和可靠性的挑战。船舶在海上航行时可能会遇到各种不可预测的情况,如恶劣天气、海盗威胁等,这些都可能对数据中心的稳定运行造成影响。
因此,数据中心的任务分配策略需要具备一定的灵活性和鲁棒性,以应对这些突发情况,确保船舶数据中心在各种环境下都能稳定运行,保障船舶的安全和货物的准时到达。因而本文提出使用混合整数线性规划模型对船舶数据中心调度算法需要实现的目标进行准确定义,并制定相应的约束条件,然后再使用自适应遗传模拟退火算法对定义的问题进行求解,从而实现船舶数据中心的高效能调度。
1.2 混合整数线性规划模型混合整数线性规划模型(Mixed Integer Linear Programming, MILP)是一种数学优化模型,它结合了线性规划和整数规划的特点,允许模型中既有连续变量也有整数变量,这种模型广泛应用于运筹学和工业工程中,用于解决资源分配、调度、路径规划等问题。
MILP模型能够精确地描述和优化复杂的调度问题,它通过定义决策变量、目标函数和约束条件来构建数学模型,从而实现对船舶数据中心任务的高效分配和调度[6]。这种模型特别适合处理具有明确约束和目标的优化问题,例如最小化船舶在港停留时间、减少港口拥堵和降低船舶油耗等。
目标函数:目标是最小化船舶在港停留的总时间,减少港口拥堵,并降低船舶油耗。这可以表示为:
$ {\text{Minimize }}\;Z = \sum\limits_{i,j,t} {{T_{ijt}}} \cdot {x_{ijt}} + \sum\limits_v {{F_v}} \text{,} $ |
式中:Tijt为船舶从港口i到港口j的任务上花费的时间,xijt为一个二进制变量,如果船舶在时间t执行该任务,则为1,否则为0。Fv为船舶v的油耗。
约束函数定义:对船舶数据中心任务调度制定了4个约束条件,分别如下:
1)任务完成约束:每个任务必须恰好被分配一次。
$ \sum\limits_t {{x_{ijt}}} = 1,\forall i,j 。$ |
这表示对于每一对港口i和j,必须有一个时间t被分配给这个任务。
2)船舶容量约束:每艘船舶的容量限制。
$ \sum\limits_{i,j} {{x_{ijt}}} \leqslant {C_v},\forall v,t 。$ |
式中:Cv为船舶v的容量。
3)时间窗口约束:船舶必须在指定的时间窗口内到达和离开港口。
规定若xijt=1,则必须满足Pijt≤dt≤Qijt,
式中:Pijt和Qijt分别为船舶i在港口的最早和最晚开始时间,dt为任务的持续时间。
4)非重叠约束:同一船舶在不同任务之间不能有重叠。
$ \sum\limits_{i,j} {({x_{ijt}} \cdot {T_{ijt}})} \leqslant T \forall v,t \text{,} $ |
式中:T为总的可用时间。
2 高效能调度算法设计 2.1 自适应遗传模拟退火算法设计模拟退火算法是一种概率启发式搜索算法,它通过模拟物质退火过程中的冷却过程来寻找问题的全局最优解。在船舶数据中心的调度问题中,模拟退火算法可以用来搜索MILP模型的解空间,特别是当问题规模较大或者解空间复杂时,模拟退火算法能够提供一种有效的搜索机制,以避免陷入局部最优解,并增加找到全局最优解的概率。自适应遗传模拟退火算法是一种结合了遗传算法和模拟退火算法优点的优化算法。在船舶数据中心调度算法中,这种算法可以用于优化数据中心的资源分配和任务调度,以提高效率和性能。结合MILP模型和模拟退火算法,自适应遗传模拟退火算法在船舶数据中心调度算法中的具体流程如图1所示。
![]() |
图 1 自适应遗传模拟退火算法流程 Fig. 1 Adaptive genetic simulated annealing algorithm flow |
1)初始化
定义数据中心的任务集合和资源集合。设定算法的参数,包括种群大小、交叉率、变异率、迭代次数、初始温度以及冷却速率等。
2)编码
将数据中心的任务和资源分配情况编码为染色体。例如,可以使用二进制编码或实数编码来表示任务的执行顺序和资源分配。
3)初始化种群
随机生成初始种群,每个个体代表一种可能的任务调度方案。
4)适应度评估
根据数据中心调度的目标函数(如最小化总完成时间、最大化资源利用率等)评估每个个体的适应度。
5)选择操作
根据个体的适应度,使用轮盘赌、锦标赛选择等方法选择优秀的个体进行交叉和变异操作。
6)交叉操作
使用自适应交叉概率,结合优先工序交叉(POX)等策略,生成新的子代。交叉概率可能随着迭代次数的增加而逐渐减小,以模拟退火的冷却过程。
7)变异操作
使用自适应变异概率,对子代进行变异操作,以保持种群的多样性。变异概率也可能随着迭代次数的增加而逐渐减小。
8)参数更新
根据模拟退火算法的原理,逐渐降低“温度”,即减少交叉和变异的概率,以促进算法的收敛。
9)适应度更新
对新生成的子代再次进行适应度评估,并与父代进行比较。
10)选择新一代种群
根据适应度选择,保留优秀的个体,淘汰适应度低的个体,形成新一代种群。
11)收敛判断
检查是否达到预设的迭代次数或满足其他停止条件,如适应度的改善程度。
12)输出最优解
如果满足收敛条件,输出最优的任务调度方案;否则,返回选择操作继续迭代。
这个流程结合了遗传算法的全局搜索能力和模拟退火算法的局部搜索能力,通过自适应地调整交叉和变异概率,可以在保持种群多样性的同时,加快算法的收敛速度,检查是否达到预设的迭代次数或满足其他停止条件,从而更有效地解决船舶数据中心的调度问题。
以适应度作为迭代终止的条件,初始适应度为0.1,初始变异概率为0.02,对自适应模拟退火算法、遗传算法、模拟退火算法进行仿真对比,结果如图2所示。可以发现自适应模拟退火算法对其他2种算法而言,在迭代次数较少的情况下能够较快找到最优解,适应值达到最大,最小迭代次数为250次。
![]() |
图 2 3种算法迭代速度对比 Fig. 2 Comparison of iteration speed of three algorithms |
数据中心的高效能调度一方面需要设计的模型和算法能够实现快速迭代和计算,另外一方面需要对所有船舶信息进行合理编码。船舶的抵港时间、船舶大小、航道通行规则以及泊位资源等因素都需要进行综合考虑。
以船舶进港顺序和泊位分配数据信息为例,使用多层次编码规则的设计可以将船舶的进港顺序和泊位分配信息集成到染色体编码中,从而在算法解码时能够直接得到船舶的进港时间表和泊位使用计划。这种编码方式不仅简化了传统算法中需要分别处理2个问题的复杂性,还提高了算法的效率和解的质量。
多层次编码具体实现过程:首先,染色体编码通常包含多个层次,每个层次代表船舶调度问题中的一个方面。上层表示船舶的进港次序,中层表示船舶靠泊位置,下层表示船舶的出港次序。这种结构允许同时优化多个目标,如减少船舶在港时间、提高泊位利用率等。此外,改进的交叉和变异机制能够有效提高解的多样性,减少算法陷入局部最优的风险。在交叉操作中,可以采用一种基于船舶优先级的交叉策略,即根据船舶的抵港时间和大小对染色体进行排序,并按照优先级进行交叉,从而保证新的解在一定程度上保留了原有解的优秀特性。对于变异操作,可以引入动态变异率,根据算法的迭代进程动态调整变异率,确保在搜索初期保持较高的解探索能力,而在收敛阶段减少变异率以提高解的稳定性。
因而多层次编码方案通过提供更精细的调度信息和更有效的优化算法,显著提升了船舶数据中心的调度效率和稳定性,从而实现了更高效、更智能的船舶调度。
2.3 仿真验证为了验证自适应模拟退火算法的有效性,以国内某大型港口的实际数据为基础,以船舶总等待时间、泊位利用率、准时率作为评判指标,船舶总等待时间指的是所有船舶在港口等待进港、等待泊位、等待装卸作业以及等待出港的总时间之和,泊位利用率是指在一定时间内,泊位被实际使用的时间占总可用时间的比例,准时率是指船舶按照预定时间表准时到达、离开港口或准时完成装卸作业的比例。准时率的计算方法为:
$ 准时率=\frac{准时完成的作业次数}{船舶总作业次数}\times 100{\text{%}} 。$ |
与遗传算法、模拟退火算法进行仿真比较,得到结果如表1所示。对表1数据进行对比,本文提出的自适应模拟退火算法能够显著减少船舶的总等待时间,提高泊位利用率,并有效提升了准时率。
![]() |
表 1 船舶调度仿真结果对比 Tab.1 Comparison of ship scheduling simulation results |
1)传统的遗传算法、模拟退火算法在调度上效率明显偏低,本文提出的基于自适应模拟退火算法在迭代次数为250次时能够获取最优解;
2)船舶数据中心高效能调度算法的实现不仅需要在调度模型上加以优化设计,同时还需要对船舶数据信息实施多层次编码,通过仿真验证后发现,本文提出的算法能够显著减少船舶的总等待时间,提高泊位利用率,并有效提升了准时率。
[1] |
徐东红, 李彬, 齐勇. 面向云数据中心基于改进A2C算法的任务调度策略[J/OL]. 计算机科学, 2024, 1−15.
|
[2] |
陈富强. 网络中计算任务调度建模与算法研究[D]. 成都: 电子科技大学, 2024.
|
[3] |
王立红, 张延华, 孟德彬, 等. 基于DDPG算法的云数据中心任务节能调度研究[J]. 高技术通讯, 2023, 33(9): 927-936. DOI:10.3772/j.issn.1002-0470.2023.09.004 |
[4] |
曾磊, 白金明, 刘琦. 多群落粒子群优化供应链数据中心任务调度[J]. 应用科学学报, 2023, 41(3): 419-430. DOI:10.3969/j.issn.0255-8297.2023.03.005 |
[5] |
马璐, 刘铭, 李超, 等. 面向6G边缘网络的云边协同计算任务调度算法[J]. 北京邮电大学学报, 2020, 43(6): 66-73. |
[6] |
孟嘉, 厉文婕, 于广荣, 等. 面向效用最大化的数据中心动态资源分配[J]. 计算机应用研究, 2021, 38(6): 1728-1733+1779. |