Loading [MathJax]/jax/output/SVG/jax.js

基于强化学习的成品油船装载方案自主生成技术研究

尼洪涛, 周清基, 柴松, 齐鸣

尼洪涛, 周清基, 柴松, 等. 基于强化学习的成品油船装载方案自主生成技术研究[J]. 中国舰船研究, 2023, 18(增刊 1): 1–10. DOI: 10.19693/j.issn.1673-3185.03474
引用本文: 尼洪涛, 周清基, 柴松, 等. 基于强化学习的成品油船装载方案自主生成技术研究[J]. 中国舰船研究, 2023, 18(增刊 1): 1–10. DOI: 10.19693/j.issn.1673-3185.03474
NI H T, ZHOU Q J, CHAI S, et al. Reinforcement learning-based autonomous generation technology of loading scheme for product oil tanker[J]. Chinese Journal of Ship Research, 2023, 18(Supp 1): 1–10. DOI: 10.19693/j.issn.1673-3185.03474
Citation: NI H T, ZHOU Q J, CHAI S, et al. Reinforcement learning-based autonomous generation technology of loading scheme for product oil tanker[J]. Chinese Journal of Ship Research, 2023, 18(Supp 1): 1–10. DOI: 10.19693/j.issn.1673-3185.03474
尼洪涛, 周清基, 柴松, 等. 基于强化学习的成品油船装载方案自主生成技术研究[J]. 中国舰船研究, 2023, 18(增刊 1): 1–10. CSTR: 32390.14.j.issn.1673-3185.03474
引用本文: 尼洪涛, 周清基, 柴松, 等. 基于强化学习的成品油船装载方案自主生成技术研究[J]. 中国舰船研究, 2023, 18(增刊 1): 1–10. CSTR: 32390.14.j.issn.1673-3185.03474
NI H T, ZHOU Q J, CHAI S, et al. Reinforcement learning-based autonomous generation technology of loading scheme for product oil tanker[J]. Chinese Journal of Ship Research, 2023, 18(Supp 1): 1–10. CSTR: 32390.14.j.issn.1673-3185.03474
Citation: NI H T, ZHOU Q J, CHAI S, et al. Reinforcement learning-based autonomous generation technology of loading scheme for product oil tanker[J]. Chinese Journal of Ship Research, 2023, 18(Supp 1): 1–10. CSTR: 32390.14.j.issn.1673-3185.03474

基于强化学习的成品油船装载方案自主生成技术研究

基金项目: 天津市交通运输科技发展计划资助项目(G2022-48)
详细信息
    作者简介:

    尼洪涛,男,1982年生,硕士,高级工程师。研究方向:企业级应用开发,人工智能。E-mail:hongtao.ni@szcu.edu.cn

    周清基,男,1986年生,博士,副教授。研究方向:海事航运数据分析和安全。E-mail:zqj@tju.edu.cn

    柴松,男,1985年生,博士

    通讯作者:

    周清基

  • 中图分类号: U674.13

Reinforcement learning-based autonomous generation technology of loading scheme for product oil tanker

知识共享许可协议
基于强化学习的成品油船装载方案自主生成技术研究尼洪涛,采用知识共享署名4.0国际许可协议进行许可。
  • 摘要:
      目的  旨在基于强化学习方法研究液货舱装载方案自主生成技术。
      方法  以实际运营的成品油船载货量作为输入,以货舱及压载舱的装载率为目标,基于Unity ML-Agents构建智能体与环境,通过PyTorch框架对智能体进行训练,提出一种综合考虑装载时间与纵倾变化幅度的奖励函数计算方法,并以算例分析来验证所提方法的有效性。
      结果  结果显示,所训练的智能体能够学习良好的策略,并实现液货舱装载方案的自主生成。
      结论  研究结果表明,将强化学习用于解决多目标条件下的液货舱装载方案自主生成是合理可行的。
    Abstract:
      Objectives  This paper aims to study the automatic generation technology of loading and unloading schemes for the liquid cargo tank of oil tanker based on reinforcement learning.
      Methods  Using the cargo capacity of an actual operating oil tanker as input and the loading rates of the cargo tank and ballast water tank as the targets, an intelligent agent and environment were built based on Unity ML-Agents. The agent was trained using the PyTorch framework, and a reward function calculation method that comprehensively considers the loading time and the change in the trim amplitude was proposed. Finally, the example analysis were carried out to validate the validity of the proposed method.
      Results  The results show that, the trained agent can learn good strategies and achieve autonomous generation of liquid cargo tank loading schemes.
      Conclusions  The study showed that applying reinforcement learning to solve the problem of autonomous generation of liquid cargo tank loading schemes under multi-objective conditions is reasonable and feasible.
  • 2019年5月,交通运输部联合中央网信办、国家发改委、教育部、科学技术部、工业和信息化部、财政部共同发布了《智能航运发展指导意见》,提出了我国智能航运发展的战略目标和任务。随着智能船舶与智能航运的不断发展,以及人工智能、机器学习等技术的不断革新,智能技术已广泛应用于船舶系统和管理等领域[1]

    近年来,研究学者们通过引入强化学习技术,提出了一系列智能化、无人化的算法。这些方法通过学习和优化,可以用于船舶路径规划、船舶避障等方面,从而实现自主船舶的自主导航[2];也可以用于集装箱码头操作和货物自动化装卸等方面[3-4],例如基于Q-Learning算法的针对无人水面舰船的路径规划方法,通过考虑多个目标,包括时间、距离、安全等,实现路径规划的多目标优化[5];基于强化学习的船体腐蚀优化清洗路径的方法,通过考虑多个因素,包括清洗效率、清洗时间、清洗成本等,实现自主船舶船壳腐蚀清洗系统的优化控制[6];基于多智能体深度强化学习的船舶避碰方法,通过对船舶动态特征的建模和多智能体的协同控制,实现船舶自主避碰[7];基于多智能体强化学习技术的多船舶避碰方法,能够遵循国际海上避碰规则,并通过学习和协同控制,实现多船舶自主避碰[8];采用权重搜索遗传算法(weight coefficient searching genetic algorithm)制定液货船装卸计划[9];使用深度强化学习算法实现海上物流中滚装货物的自动化装卸作业,通过训练一个智能体自主管理滚装货物,并在避免与障碍物碰撞的同时执行装卸操作[10]。Unity ML-Agents(machine learning agents)工具可用来辅助训练和评估智能体,通过配备障碍物检测传感器,设置奖励函数从环境中实时获取反馈。通过对智能体的性能评估表明,其可成功学习所有所需操作,包括车道跟随、障碍物规避和滚装货物放置[11],现有研究展示了通过强化学习的智能自主系统来提高海上运输性能和服务质量的潜力,同时也展示了使用Unity ML-Agents辅助训练的便捷性与可靠性。

    液货船作为一种运输大规模液体货物的海上交通工具,其装卸过程因货物本身的危险性等因素,传统的液货船装卸方式存在诸多不足,如人力成本高、装卸效率低、安全隐患大等。作为智能船舶与无人航运研究的一个方向,液货船自动化装卸不仅需考虑船体稳定性、货物重量和船舶结构等多种因素,还需考虑到安全性和可靠性等方面的问题。在自动化装卸过程中,自主生成货舱装载方案是整个过程的重要一环,其会影响自动装卸的执行效率和安全性。目前,在这些方面应用强化学习的研究比较有限。同时,如何将影响装卸过程的诸多因素与相关知识引入到强化学习的环境模型中也是一个挑战。

    本文将以一艘运营中的成品油船作为研究对象,以载货量为输入、以决定货舱及压载舱的装载率为目标,应用Unity ML-Agents进行智能体与环境的构建,基于PyTorch[12]框架对智能体进行训练。为了能够让智能体具备优化装载方案的能力,本文根据优化目标,提出一种适用于该任务的奖励函数计算方法。

    对于智能体将执行的一个任务空间O(T),这个任务空间中的每个任务都需要在满足包括舱容、可用舱等限制条件下,将一定重量的液体货物分配到可以使用的货舱中。

    智能体所需学习的策略目标是得到一个优化后的策略πθ,即

    πθ:S×AR+ (1)

    式中:θ代表网络参数; S表示状态空间;A表示动作空间。

    智能体在上述策略下基于有限经验从不同初始状态完成任务。在时刻t,任务T的环境状态s可表示为

    stST(s) (2)

    智能体的训练模型将会根据策略预测出一组行动的概率分布,其中的动作记为at。接下来,智能体会通过执行动作at与环境进行交互并根据奖励函数得到即时奖励Rt。随后,智能体将感知下一个状态:

    st+1S(st+1|st,at) (3)

    通过迭代的方式,网络模型可以不断优化损失函数LT,该函数是对由初始状态到有限范围H的策略所遵循的轨迹τ的映射。

    τ=(s0,a0,R0,,sH,aH,RH) (4)

    轨迹的损失实际上等价于负的累计奖励,其表达式表示如下:

    LT(τ)=Ht=0Rt (5)

    整个策略的训练过程如下述算法所示。

      算法:策略学习的伪代码
      输入:训练任务O(T),最大迭代次数集合K,观察的轨迹数N,训练模型的超参数
      输出:策略πθ
      随机生成初始参数θ
      while 未达到最大迭代次数 do
     foreach Ki,Oi(T)属于(K,O(T)) do
      while kKi do
       抽取一批任务TOi(T)
       for 所有T do
         根据策略πθ,抽取N条轨迹
         计算关于θ的损失函数的梯度
       end
       根据计算出的梯度更新θ
      end
     end
    end

    系统由一个智能体和一个动态环境组成,环境包括货舱、压载舱以及船体,如图1所示。其中,货舱与压载舱装载率是动态的且随时间变化。智能体是学习和生成装载方案的算法,它将在环境中学习如何分配货舱与压载舱的装载率,并同时满足以下限制条件:可以进行装载操作的货舱及压载水舱,在训练过程中是部分随机的;智能体的首要目标,是将不超过船舶最大载货量的液体货物,装入可以进行装载操作的货舱之中;智能体应确保装载过程中船舶强度和稳性不超过限制范围;智能体应学会用尽可能短的时间,完成货物的装载。

    图  1  系统原理示意图
    Figure  1.  System schematic diagram

    本文使用Unity来创建环境和模拟训练过程。Unity可以实现逼真的视觉效果和物理效果,同时降低构建环境的复杂性。Unity提供的可视化功能,既可以在训练过程中用于帮助评估系统的可信度,也可以在训练完成后直观地展现模型的训练效果。

    智能体的实际训练过程,由Unity ML-Agents辅助完成。它可以使用PyTorch框架控制强化学习的过程,并通过一个底层Python接口与Unity中的模拟环境进行交互并控制学习环境。

    Unity ML-Agents 是一个开放源代码工具包,其可以帮助开发人员在Unity中训练和评估智能体的机器学习模型。该工具包可以支持各种强化学习算法,包括深度强化学习方法,例如深度Q网络[13](deep Q-network,DQN,)、近端策略优化[14](proximal policy optimization, PPO)及SAC算法[15](soft actor-critic, SAC)等。

    利用Unity ML-Agents可以方便地使用Unity引擎所提供的工具,从而为各种不同类型的智能体与环境创建模型,并可以在分析过程中实时观察智能体的行为与反馈。

    根据智能体学习的策略、限制条件并考虑模型训练效率,考虑环境主要包括船体(含重量分布)、液货舱和压载水舱。船体部分可用来在训练或推理过程中实时反馈由装载导致的船体姿态变化,其尺寸、空船重量和重心应与实船一致。本文分析对象为一艘实际运营的9000 t成品油船,船长117.60 m、型宽19.00 m、型深10.00 m,其布置情况如图2所示。该船空船重3 406.3 t,空船重心参数及数值见表1

    图  2  成品油船总布置图
    Figure  2.  General plan of product oil tanker
    表  1  空船重心
    Table  1.  Values for the gravity center of light ship
    参数数值
    重心距舯/m44.999
    重心高/m8.017
    重心距中/m0
    下载: 导出CSV 
    | 显示表格

    在构建环境时,需要建模的液货舱与压载舱会按照实际位置建模,对应舱室参数如表2所示。限于篇幅,本文仅以液货舱RCAR1P为例展示部分舱容信息,如表3所示。

    表  2  舱室参数
    Table  2.  Tank parameters
    舱室编号体积/m3重心距舯/m重心高/m重心距中/m
    RCAR1P548.2493.6486.124−2.713
    RCAR1S542.5993.6476.1272.738
    RCAR2P765.2282.6145.938−3.870
    RCAR2S768.2982.6175.9373.848
    RCAR3P1028.4570.1445.848−4.101
    RCAR3S1025.3270.1275.8484.101
    RCAR4P1247.7454.7745.821−4.146
    RCAR4S1249.1354.7745.8214.146
    RCAR5P1213.9038.0475.900−4.045
    RCAR5S1210.2038.0475.9004.045
    RWBT1P318.5895.0524.595−4.901
    RWBT1S328.7895.0524.4674.743
    RWBT2P258.1583.2593.399−6.606
    RWBT2S268.0683.2543.2986.363
    RWBT3P304.7170.6082.983−6.731
    RWBT3S317.2770.6042.8926.468
    RWBT4P352.4155.1002.961−6.682
    RWBT4S367.3555.1002.8686.412
    RWBT5P246.9041.0292.984−6.733
    RWBT5S256.8241.0322.8946.473
    RWBT6P228.1130.2463.275−6.526
    RWBT6S237.3830.3183.1466.301
    下载: 导出CSV 
    | 显示表格
    表  3  RCAR1P部分舱容表
    Table  3.  Summary of partial tank capacities of RCAR1P
    装载率/%体积/m3重心距舯/m重心高/m重心距中/m惯性矩/m4
    0.00.0094.1711.301−0.5873.93
    0.63.2693.1991.352−1.54743.54
    1.26.8493.1971.404−1.61349.25
    1.910.6393.2151.456−1.66456.27
    2.714.6293.2351.509−1.71263.87
    3.418.8293.2561.563−1.76072.08
    4.223.2293.2761.617−1.80880.93
    5.127.8293.2951.672−1.85690.02
    10.859.4793.4092.012−2.136143.87
    20.3111.2393.4892.496−2.340152.18
    29.9164.0893.5232.965−2.432160.86
    39.8218.0493.5433.432−2.493169.91
    49.8273.0993.5583.899−2.541179.35
    60.1329.2593.5714.369−2.582190.00
    70.6387.1993.5854.845−2.624208.36
    80.4440.5693.6015.276−2.665226.04
    90.3494.9193.6205.707−2.702217.93
    97.7535.3893.6386.024−2.722207.65
    98.8541.7093.6426.073−2.722120.97
    99.7546.4993.6466.111−2.71742.29
    100.0548.2493.6486.124−2.71321.11
    下载: 导出CSV 
    | 显示表格

    根据油船实际运营过程,同时为使模型得到一定程度的简化,以空载工况为起始状态对智能体进行训练。 智能体将对共计22个舱分别独立进行装载操作,并将采用连续动作模式,每次动作将增加或减少与之对应的某个舱的装载率。

    作为环境对智能体所采取动作的反馈,具体的奖励机制如下:

    1) 对于任务成功,当前货舱总载货量W大于等于目标货物重量Wt,奖励值为+1,结束当前回合(Episode)。

    2) 对于任务失败,装载过程中超出稳性或强度限制,奖励值为−1,结束当前回合。

    3) 每一步采取动作后,根据船体纵倾值Vtrim相对其限制范围边界的偏离程度,根据式(6)可以计算出纵倾奖励Rtrim,增加在这一步的奖励当中。式中,C1为纵倾奖励修正系数,根据多次测试,取0.0005,Ltrim为纵倾限值,取船长的1.5%,即1.764。

    Rtrim=C1×(Ltrim|Vtrim|)/Ltrim (6)

    4) 每一步采取动作后,根据当前货舱总载货量W从开始进行本回合装载实际经过的时间t,根据式(7)可得到时间奖励Rtime,增加在这一步的奖励中。

    Rtime=C2×W/t (7)

    式中:C2为时间奖励修正系数,根据多次测试的结果,取为0.9。

    综上,在每一步采取动作后,智能体所得到的奖励应为

    R={Rtime+Rtrim+1,Rtime+Rtrim1,Rtime+Rtrim, (8)

    训练过程中,收集的观察量包括:液货舱与压载舱的装载率;液货舱需要装载的目标货物重量;纵倾奖励值Rtrim;时间奖励值Rtime

    训练中每个回合在满足下述条件之一时,即会终止:液货舱已装货物总重量大于等于当前任务装载重量;船体稳性或强度超出限制范围;一个轮次可以模拟的最大步数,一般用于在训练进入无意义的迭代时提前终止当前回合,本文研究设为10000。

    经过对多次训练及其结果的比较,最终采用如表4所示的模型训练配置和主要超参数。

    表  4  模型配置与超参数
    Table  4.  Model configuration parameters and hyper-parameters
    参数数值
    batch_size2 048
    buffer_size20 480
    learning_rate0.001
    learning_rate_schedulelinear
    beta0.0015
    epsilon0.18
    lambd0.90
    num_epoch5
    hidden_units256
    num_layers3
    gamma0.99
    strength1.0
    time_horizon256
    max_steps1.5×107
    注:参数的具体描述和取值范围,可参见https://unity-technologies.github.io/ml-agents/Training-Configuration-File/
    下载: 导出CSV 
    | 显示表格

    图3 所示为智能体通过估计预测在短期内获得的奖励,即智能体在学习期间得到的所有状态下的平均估计值。在成功训练的过程中,该值在整个学习过程中会随着时间的推移而持续增加,直至稳定在某个值附近。图4所描述的是学习率的线性演变过程。

    图  3  累计奖励平均估计值曲线
    Figure  3.  Average cumulative reward curve for estimation
    图  4  学习率
    Figure  4.  Learning rate

    为了评估智能体的学习进度,可以采用熵、价值损失、策略损失等指标予以评价。其中,熵可以衡量模型决策的随机性和不确定性,如图5所示。熵反映了预期的信息内容,并量化了动作结果中出现的意外。在训练过程中,其值呈现下降趋势,但是在4百万步和8百万步附近有明显的增大然后继续下降,可以看出,智能体因为采取了与之前不同的尝试,使得熵在短期内增加。

    图  5 
    Figure  5.  Entropy

    价值损失指标可以帮助评估智能体学习的状态空间,通过其可计算每次迭代的价值函数的平均损失,从而反映模型预测各状态值的能力。如图6 所示,该价值损失在训练中先增加,在学习收敛后减少。这表明智能体准确地学习了状态空间,且整体变化趋势与图2中累计奖励的变化趋势相吻合,价值损失的突变通常出现在累计奖励的低点。另外,价值损失在4百万步和8百万步之后的突然增加,也表明智能体在进行了新的尝试,并在智能体学习了新的经验后开始降低。

    图  6  价值损失曲线
    Figure  6.  Value loss curve

    策略损失是策略损失函数的平均值,如图7所示。它能够反映策略的执行、发展和进化过程。结果表明,它在训练过程中振荡,并且当智能体选择最佳动作序列时,成功的事件会使策略振荡的幅度减小。

    图  7  策略损失曲线
    Figure  7.  Policy loss curve

    上述结果表明,本研究所训练的智能体已经能够学习良好的策略。使用适当的模型超参数,策略学习可以收敛到一个解决方案,在此解决方案中,智能体学习如何完成任务。收敛还确保了某种稳定性,并允许智能体利用其自身知识或经验,而不是无限制地探索环境或选择随机行动。利用训练好的模型,根据输入的目标载货重量可以由智能体自主生成分步的装载方案。

    算例1:目标载货重量5180 t,所有液货舱均可装载。

    图8图9所示为得到的分步装载方案。

    图  8  算例1货舱装载方案
    Figure  8.  Cargo tank loading scheme of Example 1
    图  9  算例1压载水舱装载方案
    Figure  9.  Ballast water tank loading scheme of Example 1

    图8可以看出,智能体在装载的前中期按照相同比率对各液货舱进行装载,且出现了重合的现象。在结束阶段,装载率才开始出现差异。从图9可以看出,对于压载水舱,智能体会进行较为频繁的调整,从而使纵倾满足优化目标。

    图10图11所示为算例1装载方案最终阶段的稳性和强度曲线,该方案稳性与强度均满足要求。

    图  10  算例1稳性曲线
    Figure  10.  Stability curve for Example 1
    图  11  算例1强度曲线
    Figure  11.  Strength curves for Example 1

    算例2:目标载货重量3950 t,液货舱RCAR1P、RCAR1S不装载。

    图12图13所示为得到的分步装载方案。

    图  12  算例2货舱装载方案
    Figure  12.  Cargo tank loading scheme for Example 2
    图  13  算例2压载水舱装载方案
    Figure  13.  Ballast water tank loading scheme for Example 2

    图12中可以看出,虽然智能体采取了与算例1相似的策略,但是在两个液货舱不可用的情况下,不同液货舱的装载率在更早的时候开始出现差异。从图13可以看出,与算例1相似,智能体会根据已经学习的策略对压载水舱的装载进行了较为频繁的调整。

    图14图15所示为算例2装载方案最终阶段的稳性曲线和强度曲线,该方案稳性与强度均满足要求。

    图  14  算例2稳性曲线
    Figure  14.  Stability curve for Example 2
    图  15  算例2强度曲线
    Figure  15.  Strength curves for Example 2

    表5统计了上述两个算例最终得到的装载重量及与目标重量的相对误差。从表中可知,在两个算例中智能体生成的方案与输入目标之间仍然存在一定的误差。

    表  5  两个算例得到的实际装载重量
    Table  5.  Statistics of actual loaded weight for the two examples
    目标重量/t实际重量/t相对误差/%
    算例15 1805238.9461.125
    算例23 9503955.7780.146
    下载: 导出CSV 
    | 显示表格

    表6统计了装载方案中,相邻两个步骤所对应的船舶纵倾值变化。从表中可以看出,通过将纵倾变化引入到奖励函数当中,智能体会采取尽可能减少纵倾变化幅度的方式来生成装载方案。

    表  6  两个算例得到的相邻步骤间的纵倾差值
    Table  6.  Difference of trim value between adjacent steps for the two examples
    步骤数差值平均值差值标准差
    算例1760.0370.002
    算例2690.0150.007
    下载: 导出CSV 
    | 显示表格

    通过对训练过程和算例结果的分析表明,智能体经过训练已经学习到了装载策略,并能够采用此策略来自主分配和调整货舱及压载舱的装载率以实现目标装货量的要求,而且能够保证在整个装载过程中使船舶满足稳性和强度的要求。

    本文以一艘运营中的成品油船为研究对象,以载货量作为输入、以决定货舱及压载舱的装载率作为目标,应用Unity ML-Agents构建进行智能体与环境,基于PyTorch框架训练智能体。针对优化目标要求,提出了一种适用于优化装载方案能力的奖励函数的计算方法。结果表明,将强化学习算法用于解决更复杂环境和工况下的装载方案生成问题是极具希望的方法,所作研究不仅能够满足船体稳性与强度作为策略学习的首要目标,同时通过引入一种新的奖励函数计算方法,还将减少装载时间以及装载过程中的纵倾变化幅度也纳入到策略学习的目标中。通过对训练过程以及算例结果的分析表明,经过训练后的智能体已经具备了根据目标载货量自主生成合理装载方案的能力。

    目前,所提方法自动生成的方案依然存在误差,该误差来自于研究所使用的装载计算工具和强化学习算法的计算过程,下一步工作将通过改进算法以减小误差。此外,在实际装卸过程中,船体管路设计、泵的能力等也是实现从自主生成装载方案到自主完成装卸过程中必须考虑的重要限制条件,因此探索包括所有装卸约束的多目标优化策略也将是未来需要进一步研究的首要任务之一。

  • 图  1   系统原理示意图

    Figure  1.   System schematic diagram

    图  2   成品油船总布置图

    Figure  2.   General plan of product oil tanker

    图  3   累计奖励平均估计值曲线

    Figure  3.   Average cumulative reward curve for estimation

    图  4   学习率

    Figure  4.   Learning rate

    图  5  

    Figure  5.   Entropy

    图  6   价值损失曲线

    Figure  6.   Value loss curve

    图  7   策略损失曲线

    Figure  7.   Policy loss curve

    图  8   算例1货舱装载方案

    Figure  8.   Cargo tank loading scheme of Example 1

    图  9   算例1压载水舱装载方案

    Figure  9.   Ballast water tank loading scheme of Example 1

    图  10   算例1稳性曲线

    Figure  10.   Stability curve for Example 1

    图  11   算例1强度曲线

    Figure  11.   Strength curves for Example 1

    图  12   算例2货舱装载方案

    Figure  12.   Cargo tank loading scheme for Example 2

    图  13   算例2压载水舱装载方案

    Figure  13.   Ballast water tank loading scheme for Example 2

    图  14   算例2稳性曲线

    Figure  14.   Stability curve for Example 2

    图  15   算例2强度曲线

    Figure  15.   Strength curves for Example 2

      算法:策略学习的伪代码
      输入:训练任务O(T),最大迭代次数集合K,观察的轨迹数N,训练模型的超参数
      输出:策略πθ
      随机生成初始参数θ
      while 未达到最大迭代次数 do
     foreach Ki,Oi(T)属于(K,O(T)) do
      while kKi do
       抽取一批任务TOi(T)
       for 所有T do
         根据策略πθ,抽取N条轨迹
         计算关于θ的损失函数的梯度
       end
       根据计算出的梯度更新θ
      end
     end
    end
    下载: 导出CSV

    表  1   空船重心

    Table  1   Values for the gravity center of light ship

    参数数值
    重心距舯/m44.999
    重心高/m8.017
    重心距中/m0
    下载: 导出CSV

    表  2   舱室参数

    Table  2   Tank parameters

    舱室编号体积/m3重心距舯/m重心高/m重心距中/m
    RCAR1P548.2493.6486.124−2.713
    RCAR1S542.5993.6476.1272.738
    RCAR2P765.2282.6145.938−3.870
    RCAR2S768.2982.6175.9373.848
    RCAR3P1028.4570.1445.848−4.101
    RCAR3S1025.3270.1275.8484.101
    RCAR4P1247.7454.7745.821−4.146
    RCAR4S1249.1354.7745.8214.146
    RCAR5P1213.9038.0475.900−4.045
    RCAR5S1210.2038.0475.9004.045
    RWBT1P318.5895.0524.595−4.901
    RWBT1S328.7895.0524.4674.743
    RWBT2P258.1583.2593.399−6.606
    RWBT2S268.0683.2543.2986.363
    RWBT3P304.7170.6082.983−6.731
    RWBT3S317.2770.6042.8926.468
    RWBT4P352.4155.1002.961−6.682
    RWBT4S367.3555.1002.8686.412
    RWBT5P246.9041.0292.984−6.733
    RWBT5S256.8241.0322.8946.473
    RWBT6P228.1130.2463.275−6.526
    RWBT6S237.3830.3183.1466.301
    下载: 导出CSV

    表  3   RCAR1P部分舱容表

    Table  3   Summary of partial tank capacities of RCAR1P

    装载率/%体积/m3重心距舯/m重心高/m重心距中/m惯性矩/m4
    0.00.0094.1711.301−0.5873.93
    0.63.2693.1991.352−1.54743.54
    1.26.8493.1971.404−1.61349.25
    1.910.6393.2151.456−1.66456.27
    2.714.6293.2351.509−1.71263.87
    3.418.8293.2561.563−1.76072.08
    4.223.2293.2761.617−1.80880.93
    5.127.8293.2951.672−1.85690.02
    10.859.4793.4092.012−2.136143.87
    20.3111.2393.4892.496−2.340152.18
    29.9164.0893.5232.965−2.432160.86
    39.8218.0493.5433.432−2.493169.91
    49.8273.0993.5583.899−2.541179.35
    60.1329.2593.5714.369−2.582190.00
    70.6387.1993.5854.845−2.624208.36
    80.4440.5693.6015.276−2.665226.04
    90.3494.9193.6205.707−2.702217.93
    97.7535.3893.6386.024−2.722207.65
    98.8541.7093.6426.073−2.722120.97
    99.7546.4993.6466.111−2.71742.29
    100.0548.2493.6486.124−2.71321.11
    下载: 导出CSV

    表  4   模型配置与超参数

    Table  4   Model configuration parameters and hyper-parameters

    参数数值
    batch_size2 048
    buffer_size20 480
    learning_rate0.001
    learning_rate_schedulelinear
    beta0.0015
    epsilon0.18
    lambd0.90
    num_epoch5
    hidden_units256
    num_layers3
    gamma0.99
    strength1.0
    time_horizon256
    max_steps1.5×107
    注:参数的具体描述和取值范围,可参见https://unity-technologies.github.io/ml-agents/Training-Configuration-File/
    下载: 导出CSV

    表  5   两个算例得到的实际装载重量

    Table  5   Statistics of actual loaded weight for the two examples

    目标重量/t实际重量/t相对误差/%
    算例15 1805238.9461.125
    算例23 9503955.7780.146
    下载: 导出CSV

    表  6   两个算例得到的相邻步骤间的纵倾差值

    Table  6   Difference of trim value between adjacent steps for the two examples

    步骤数差值平均值差值标准差
    算例1760.0370.002
    算例2690.0150.007
    下载: 导出CSV
  • [1] 张华, 孟昭燃, 齐鸣. 化学品船智能货物管理技术及最新应用[J]. 中国船检, 2022(9): 61–65. doi: 10.3969/j.issn.1009-2005.2022.09.017

    ZHANG H, MENG Z, QI M. Smart cargo management technology for chemical tankers and its latest applications[J]. China Ship Survey, 2022(9): 61–65 (in Chinese). doi: 10.3969/j.issn.1009-2005.2022.09.017

    [2]

    CHUN D H, ROH M I, LEE H W, et al. Deep reinforcement learning-based collision avoidance for an autonomous ship[J]. Ocean Engineering, 2021, 234: 109216. doi: 10.1016/j.oceaneng.2021.109216

    [3]

    DRUNGILAS D, KURMIS M, SENULIS A, et al. Deep reinforcement learning based optimization of automated guided vehicle time and energy consumption in a container terminal[J]. Alexandria Engineering Journal, 2023, 67: 397–407. doi: 10.1016/j.aej.2022.12.057

    [4]

    YAN N N, LIU G Z, XI Z. H A multi-agent system for container terminal management[C]//Proceedings of the 7th World Congress on Intelligent Control and Automation. Chongqing, China: IEEE, 2008.

    [5]

    YANG C P, ZHAO Y Q, CAI X, et al. Path planning algorithm for unmanned surface vessel based on multiobjective reinforcement learning[J]. Computational Intelligence and Neuroscience, 2023(8): 1–14.

    [6]

    LE A V, KYAW P T, VEERAJAGADHESWAR P, et al. Reinforcement learning-based optimal complete water-blasting for autonomous ship hull corrosion cleaning system[J]. Ocean Engineering, 2021, 220: 108477. doi: 10.1016/j.oceaneng.2020.108477

    [7]

    CHEN C, MA F, XU X B, et al. A novel ship collision avoidance awareness approach for cooperating ships using multi-agent deep reinforcement learning[J]. Journal of Marine Science and Engineering, 2021, 9(10): 1056. doi: 10.3390/jmse9101056

    [8]

    WEI G, KUO W. COLREGs-compliant multi-ship collision avoidance based on multi-agent reinforcement learning technique[J]. Journal of Marine Science and Engineering, 2022, 10(10): 1431. doi: 10.3390/jmse10101431

    [9] 齐鸣, 林嘉昊, 孙淼, 张勇. 权重搜索遗传算法在液货船装卸计划生成中的应用[J]. 中国舰船研究, 2022, 17(增刊 1): 28–36.

    QI M, LIN J H, SUN M, et al. Application of weight coefficient searching genetic algorithm in the plan generation of cargo loading and unloading for liquid cargo carrier[J]. Chinese Journal of Ship Research, 2022, 17(Supp 1): 28–36 (in Chinese).

    [10]

    OUCHEIKH R, LÖFSTRÖM T, AHLBERG E, et al. Rolling cargo management using a deep reinforcement learning approach[J]. Logistics, 2021, 5(1): 10. doi: 10.3390/logistics5010010

    [11]

    JULIANI A, BERGES V P, TENG E, et al. Unity: a general platform for intelligent agents[J/OL]. arXiv: 1809.02627 [cs. LG], 2020. [ 2020-05-06]. https://doi.org/10.48550/arXiv.1809.02627.

    [12]

    PASZKE A, GROSS S, MASSA F, et al. PyTorch: an imperative style, high-performance deep learning library[C]// Proceedings of the 33rd International Conference on Neural Information Processing Systems (NIPS'19). Vancouver, Canada : Curran Associates, Inc. , 2019: 8026–8037.

    [13]

    MNIH V, KAVUKCUOGLU K, SILVER D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015, 518(7540): 529–533. doi: 10.1038/nature14236

    [14]

    SCHULMAN J, WOLSKI F, DHARIWAL P, et al. Proximal policy optimization algorithms[J/OL]. arXiv: 1707.06347 [cs. LG] , 2017. [2017-08-28]. https://doi.org/10.48550/arXiv.1707.06347.

    [15]

    HAARNOJA T, ZHOU A, ABBEEL P, et al. Soft actor-critic: off-policy maximum entropy deep reinforcement learning with a stochastic actor[C]//Proceedings of the 35th International Conference on Machine Learning (ICML 2018). Stockholm, Sweden: Curran Associates, Inc. , 2018: 1861–1870.

图(15)  /  表(7)
计量
  • 文章访问数:  135
  • HTML全文浏览量:  22
  • PDF下载量:  9
  • 被引次数: 0
出版历程
  • 收稿日期:  2023-07-25
  • 修回日期:  2023-11-12
  • 网络出版日期:  2023-11-16

目录

/

返回文章
返回