<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="2.3" xml:lang="EN">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Mar. Sci.</journal-id>
<journal-title>Frontiers in Marine Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Mar. Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-7745</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fmars.2025.1614356</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Marine Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Research on artificial intelligence-driven container relocation problem for green ports</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Zheng</surname>
<given-names>Sisi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1230779/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Sha</surname>
<given-names>Jin</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="author-notes" rid="fn001">
<sup>*</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/3109894/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/funding-acquisition/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Kong</surname>
<given-names>Yinying</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2132231/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Yougan</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/579625/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-review-editing/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Mathematics and Statistics, Huizhou University</institution>, <addr-line>Huizhou, Guangdong</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>School of Mechanical Engineering, Guangdong Ocean University</institution>, <addr-line>Zhanjiang, Guangdong</addr-line>, <country>China</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>School of Statistics and Mathematics, Guangdong University of Finance and Economics</institution>, <addr-line>Guangzhou, Guangdong</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>Edited by: Guangnian Xiao, Shanghai Maritime University, China</p>
</fn>
<fn fn-type="edited-by">
<p>Reviewed by: Xinqiang Chen, Shanghai Maritime University, China</p>
<p>Qiaoyu Peng, Wuhan University of Science and Technology, China</p>
<p>Mingshuo Cao, Shanghai Maritime University, China</p>
</fn>
<fn fn-type="corresp" id="fn001">
<p>*Correspondence: Jin Sha, <email xlink:href="mailto:gdoutnt@126.com">gdoutnt@126.com</email>
</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>02</day>
<month>07</month>
<year>2025</year>
</pub-date>
<pub-date pub-type="collection">
<year>2025</year>
</pub-date>
<volume>12</volume>
<elocation-id>1614356</elocation-id>
<history>
<date date-type="received">
<day>18</day>
<month>04</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>09</day>
<month>06</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2025 Zheng, Sha, Kong and Wang</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Zheng, Sha, Kong and Wang</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<sec>
<title>Introduction</title>
<p>Container relocation in port yards represents a canonical NP-hard problem, characterized by high-dimensional nonlinear constraints and stringent real-time decision-making requirements.</p>
</sec>
<sec>
<title>Methods</title>
<p>This study proposes a unified framework integrating an Intelligent Decision-Driven Model (IDDM), an Adaptive Data Generator (ADG), and an Optimization&#x2013;Learning Closed-Loop Framework (OLCF).</p>
</sec>
<sec>
<title>Results</title>
<p>The IDDM leverages heuristic search and machine learning within a multi-stage decision mechanism to mitigate the curse of dimensionality; in two-dimensional scenarios involving 50&#x2013;100 containers, the model achieves an average response time of 9.83 &#xb1; 0.12 &#xb5;s and reduces relocation operations by 61.68%. In three-dimensional experiments at the scale of 10<sup>4</sup> containers, total computation time remains consistently below 60s, satisfying real-time scheduling requirements for automated guided vehicles (AGVs). Additionally, the ADG integrates physical constraints and spatial autocorrelation (Moran&#x2019;s I = 0.3064) to generate high-fidelity, three-dimensional yard configurations at a rate of 10<sup>5</sup> instances per cycle. Predictive models trained on this dataset achieve coefficient-of-determination values of <italic>R</italic>
<sup>2</sup> &#x2265; 0.85 (peaking at 0.882) across large-scale fully automated, medium-scale semi-automated, and small-scale conventional yard typologies. The OLCF methodology extracts and quantifies 17 key performance indicators. A multi-layer stacked ensemble predicts relocation counts with 90.76% accuracy (<italic>R</italic>
<sup>2</sup> = 0.9139), while a dynamic constraint-weighting mechanism balances movement frequency and energy consumption, thereby enhancing green operational efficiency in high-density container yards.</p>
</sec>
<sec>
<title>Discussion</title>
<p>From both theoretical and practical perspectives, this work establishes a multi-stage collaborative optimization pathway by systematically integrating data-driven and model-driven approaches, limits strategy-generation time for 10<sup>5</sup>-container-scale yards to under 60s, and provides a scalable technological paradigm for smart-port development, sustainable logistics, and the attainment of dual-carbon objectives.</p>
</sec>
</abstract>
<kwd-group>
<kwd>green ports</kwd>
<kwd>container relocation problem</kwd>
<kwd>artificial intelligence</kwd>
<kwd>intelligent decision-driven model</kwd>
<kwd>adaptive data generator</kwd>
<kwd>closed-loop framework</kwd>
</kwd-group>
<contract-num rid="cn002">&#x7ca4;&#x6559;&#x6587;&#x4ef6;[2024]30&#x53f7;, 2022GXJK211, 2024GXJK352</contract-num>
<contract-num rid="cn003">PX-972024027, 101502/R18014</contract-num>
<contract-num rid="cn004">HZSK2024GJ030</contract-num>
<contract-num rid="cn005">&#x60e0;&#x5927;&#x6587;[2024]173&#x53f7;</contract-num>
<contract-sponsor id="cn001">Guangdong Provincial Applied Science and Technology Research and Development Program<named-content content-type="fundref-id">10.13039/501100013050</named-content>
</contract-sponsor>
<contract-sponsor id="cn002">Department of Education of Guangdong Province<named-content content-type="fundref-id">10.13039/501100010226</named-content>
</contract-sponsor>
<contract-sponsor id="cn003">Guangdong Ocean University<named-content content-type="fundref-id">10.13039/501100015600</named-content>
</contract-sponsor>
<contract-sponsor id="cn004">Huizhou Science and Technology Bureau<named-content content-type="fundref-id">10.13039/501100020087</named-content>
</contract-sponsor>
<contract-sponsor id="cn005">Huizhou University<named-content content-type="fundref-id">10.13039/501100006410</named-content>
</contract-sponsor>
<counts>
<fig-count count="9"/>
<table-count count="8"/>
<equation-count count="39"/>
<ref-count count="53"/>
<page-count count="25"/>
<word-count count="13071"/>
</counts>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-in-acceptance</meta-name>
<meta-value>Ocean Solutions</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1" sec-type="intro">
<label>1</label>
<title>Introduction</title>
<sec id="s1_1">
<label>1.1</label>
<title>Research background</title>
<p>Modern logistics systems are undergoing significant transformation due to global value chain restructuring and the Fourth Industrial Revolution. This transformation features the integration of intelligent technologies with sustainable development paradigms. In response to global &#x201c;Dual Carbon&#x201d; objectives and new industrialization demands, the General Office of the State Council of China issued the &#x201c;14th Five-Year Plan for Modern Logistics Development&#x201d; (Guobanfa [2022] No. 17). This policy establishes &#x201c;intelligent and green&#x201d; development as the core strategy for logistics systems and promotes innovation in transportation routing, vehicle scheduling, and clean energy utilization driven by artificial intelligence (AI). Such policy orientation provides institutional support for applying combinatorial optimization (CO) theories and creates a framework for interdisciplinary research.</p>
</sec>
<sec id="s1_2">
<label>1.2</label>
<title>Technological bottlenecks</title>
<p>It is well established that the world&#x2019;s oceans cover more than 70 percent of the Earth&#x2019;s surface, and over 80 percent of global cargo is transported by sea. From transoceanic trade to the growing utilization of inland waterways, maritime and riverine shipping serve as the backbone of both global and regional economies. As traffic on inland waterways continues to rise, concerns over navigational safety and environmental impact have intensified, placing ever more stringent demands on green logistics (<xref ref-type="bibr" rid="B14">Chen et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B53">Zou et&#xa0;al., 2025</xref>).</p>
<p>Against this backdrop, transportation routing and optimized load efficiency represent core technological challenges within green logistics systems. Conventional CO methods have established mature theoretical frameworks for classical scenarios such as the Traveling Salesman Problem (TSP) and the Vehicle Routing Problem (VRP). However, these methods face inherent scalability limitations when addressing dynamic environmental constraints, nonlinear carbon-emission targets, and real-time decision-making requirements due to their NP-hard nature. For instance, container-port operations must simultaneously satisfy time-window constraints, handle dynamic task insertions, and respect resource-capacity limitations&#x2014;all of which impose strict demands on the responsiveness of optimization algorithms. Empirical studies indicate that conventional exact algorithms exhibit time complexities on the order of <inline-formula>
<mml:math display="inline" id="im1">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mn>2</mml:mn>
<mml:mi>n</mml:mi>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> when tackling threedimensional container-loading problems at the scale of thousands of containers. This complexity renders them unable to fulfill the millisecond-level decision-making requirements of modern automated terminals (<xref ref-type="bibr" rid="B51">Zhao et&#xa0;al., 2016</xref>).</p>
<p>
<xref ref-type="fig" rid="f1">
<bold>Figure&#xa0;1</bold>
</xref> illustrates the evolution of CO from an experience-driven approach to a data intelligencedriven approach. AI methods, particularly deep learning, offer two significant advantages. First, these methods automatically extract high-level decision rules through end-to-end feature learning, reducing reliance on domain expertise. Second, they enable the construction of general-purpose solvers with crossscenario transfer capabilities and real-time inference abilities. However, existing research faces three main limitations: approximate solutions lack strict theoretical guarantees; model performance varies with training data distribution; and generalization under high-dimensional dynamic constraints remains limited (<xref ref-type="bibr" rid="B17">Hu et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B5">Bi et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B19">Jiang et&#xa0;al., 2024</xref>). In response, recent work explores novel &#x201c;learning&#x2013;optimization&#x201d; collaborative frameworks. These include optimizing branch-and-bound strategies through reinforcement learning and employing graph neural networks to generate high-quality initial solutions that accelerate metaheuristic search. Such approaches are fundamentally reshaping CO methodology (<xref ref-type="bibr" rid="B25">Kool et&#xa0;al., 2018</xref>).</p>
<fig id="f1" position="float">
<label>Figure&#xa0;1</label>
<caption>
<p>Schematic diagram of the evolution of combinatorial optimization solution paradigms.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g001.tif">
<alt-text content-type="machine-generated">Flowchart showing two approaches for solving a combinatorial optimization problem. The first approach uses an exact or heuristic algorithm to achieve an optimal or near-optimal solution. The second approach involves machine learning-based model training, leading to a learned heuristic policy, which then provides an approximate solution through inference. Arrows indicate the progression between each stage.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s1_3">
<label>1.3</label>
<title>Port logistics</title>
<p>Container ports, serving as critical hubs in international trade, function as complex systems with multiple interacting agents, operational scales, and competing objectives. Among various challenges, the container relocation problem (CRP) has become a research focus due to its impact on economic efficiency and environmental sustainability. Industry data indicate that traditional operating methods result in container relocation rates of 30%&#x2013;40%, increasing energy consumption by 15%-20% and prolonging operational cycles by over 40% (<xref ref-type="bibr" rid="B26">Lee and Hsu, 2007</xref>; <xref ref-type="bibr" rid="B8">Carlo et&#xa0;al., 2014</xref>). From a computational complexity perspective, this problem can be modeled as a three-dimensional container loading problem with dynamic constraints, with the solution space growing exponentially with the number of containers. Recent studies demonstrate that novel algorithms based on mixed-integer programming (MIP) can reduce container relocation rates to 12%&#x2013;18% for problems involving thousands of containers while maintaining millisecond-level response times, meeting the real-time scheduling needs of modern automated ports (<xref ref-type="bibr" rid="B1">Almasan et&#xa0;al., 2022</xref>; <xref ref-type="bibr" rid="B37">Munikoti et&#xa0;al., 2024</xref>; <xref ref-type="bibr" rid="B31">Liu et&#xa0;al., 2024</xref>).</p>
</sec>
<sec id="s1_4">
<label>1.4</label>
<title>Innovative contributions</title>
<p>To address the challenges outlined above, this research presents a dual-engine &#x201c;intelligent optimization&#x2013;data-driven&#x201d; collaborative framework with three key methodological breakthroughs:</p>
<list list-type="bullet">
<list-item>
<p>An Intelligent Decision-Driven Model (IDDM) and Algorithm (IDDA). For the CRP in port terminals, an IDDM is developed with two critical improvements. First, a priority scoring mechanism is designed to map high-dimensional discrete decision space into a differentiable weight optimization problem, yielding approximately optimal solutions in polynomial time. Second, an IDDA is constructed to circumvent the curse of dimensionality through dynamic penalty function adjustment. The experimental results demonstrate that in typical two-dimensional scenarios (50&#x2013;100 containers), the model reduces container relocations by 61.68% with a per-container response time of 9.83 &#xb1; 0.12 &#xb5;s. This represents an improvement of three orders of magnitude over conventional algorithms. In three-dimensional scenarios with tens of thousands of containers, computation time remains under 60 seconds, thereby satisfying real-time port operation requirements;</p>
</list-item>
<list-item>
<p>An Adaptive Data Generator (ADG). Due to limitations in existing datasets regarding dimensional representation and scenario diversity, an ADG for the CRP is developed. Its core innovations include the application of constraint satisfaction paradigms to data generation. This application enables adaptive configuration and automated verification of multiple dynamic constraints. Additionally, it involves the construction of a three-dimensional spatial feature enhancement module that generates yard data with spatial autocorrelation (Moran&#x2019;s <italic>I</italic> = 0.3064, <italic>Z</italic> = 5.32, <italic>p&lt;</italic> 0.001). Compared to benchmark datasets, ADG significantly improves spatial feature simulation accuracy and provides high-quality data for algorithm training and evaluation;</p>
</list-item>
<list-item>
<p>An Optimization-Learning Closed-loop Framework (OLCF). To integrate the complementary advantages of optimization algorithms and AI methods, an OLCF with a bidirectional empowerment mechanism is designed. The first component is learning-assisted optimization, where interpretable machine learning methods are employed to identify 17 key features that guide algorithm search direction. The second component is optimization-guided learning, where a multi-level stacked ensemble model with ridge regression as its meta-learner (<italic>&#x3b1;</italic> = 0.5) achieves 90.76% prediction accuracy (<italic>R</italic>
<sup>2</sup> = 0.9139, <italic>p&lt;</italic> 0.001). In tests with 100,000 initial matrices, the framework completes container relocation prediction within 60 seconds, providing a robust foundation for intelligent decision-making in complex dynamic environments.</p>
</list-item>
</list>
</sec>
</sec>
<sec id="s2">
<label>2</label>
<title>Literature review</title>
<p>The optimization of container port logistics systems has become a key research topic in modern transportation, driven by the restructuring of global supply chains and the push for green logistics transformation. This section employs the CRP as an entry point to systematically review interdisciplinary advances in AI and CO.</p>
<sec id="s2_1">
<label>2.1</label>
<title>Combinatorial Optimization Paradigms</title>
<p>Combinatorial optimization solution paradigms have evolved through distinct stages, as illustrated in <xref ref-type="fig" rid="f2">
<bold>Figure&#xa0;2</bold>
</xref>. The core driving force stems from synergistic breakthroughs in computational theory and information technology. <xref ref-type="bibr" rid="B4">Bengio et&#xa0;al. (2021)</xref> and <xref ref-type="bibr" rid="B3">Bai et&#xa0;al. (2023)</xref> first presented a systematic theoretical framework integrating machine learning with CO&#x2014;known as Neural Combinatorial Optimization (NCO). They suggested that deep neural networks (DNNs) could implicitly learn high-level decision rules, potentially overcoming the theoretical limits of traditional algorithms in solution space search.</p>
<fig id="f2" position="float">
<label>Figure&#xa0;2</label>
<caption>
<p>Schematic diagram of the evolution of combinatorial optimization strategies.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g002.tif">
<alt-text content-type="machine-generated">Flowchart illustrating the evolution of optimization methods from Exact Methods (e.g., Branch &amp; Bound, Dynamic Programming) to Classical Heuristics, Metheuristics, and Learning-based methods, concluding with LLM-augmented Optimization. Transition periods highlighted are 1970s-80s for Classical Heuristics due to faster approximation needs, 1990s for Metheuristics due to nature inspiration, 2010s for Learning-based methods driven by data, and 2020s emphasizing an emerging paradigm for optimization.</alt-text>
</graphic>
</fig>
<p>At the implementation level, the TSP served as a typical validation scenario in early studies. The Hopfield network (<xref ref-type="bibr" rid="B16">Hopfield and Tank, 1985</xref>) was the first neural network model to solve nonlinear optimization problems; however, its unstable convergence limited large-scale applications. The Pointer Network presented by <xref ref-type="bibr" rid="B44">Vinyals et&#xa0;al. (2015)</xref> employed attention mechanisms to model sequential decisionmaking, elevating end-to-end optimization paradigms. Subsequent studies combined attention mechanisms (<xref ref-type="bibr" rid="B25">Kool et&#xa0;al., 2018</xref>), graph neural networks (<xref ref-type="bibr" rid="B23">Khalil et&#xa0;al., 2017</xref>), and reinforcement learning (<xref ref-type="bibr" rid="B38">Nazari et&#xa0;al., 2018</xref>) to scale problems to tens of thousands of nodes. <xref ref-type="bibr" rid="B21">Jing et&#xa0;al. (2022)</xref> proposed a cooperativecontrol strategy for dynamic on-ramp merging scenarios, significantly enhancing the real-time optimization performance of sequential decision-making and thereby providing robust safety assurance for traffic merging operations. <xref ref-type="bibr" rid="B13">Chen et&#xa0;al. (2023)</xref> developed an ensemble generative adversarial network framework to deliver high-precision ship detection under low-visibility conditions, thereby furnishing reliable perceptual support for combinatorial optimization tasks in complex maritime environments. These approaches enhanced model generalization in complex, large-scale scenarios, marking a paradigm shift from &#x201c;algorithm design&#x201d; to &#x201c;strategy learning&#x201d; (<xref ref-type="bibr" rid="B29">Lin et&#xa0;al., 2024</xref>).</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>CRP modeling theories</title>
<p>The Container Relocation Problem (CRP) represents a paradigmatic NP-hard challenge in container yard operations at port terminals. Under a predetermined retrieval sequence, its primary objective is to minimize the overall number of relocation moves necessary to retrieve each designated container. Established solution approaches predominantly employ dynamic programming formulations, branch-and-bound algorithms, and heuristic search strategies to produce often suboptimal solutions within acceptable computational budgets.</p>
<p>CRP modeling theories are commonly divided into three key stages (<xref ref-type="table" rid="T1">
<bold>Table&#xa0;1</bold>
</xref>). The early exploration stage (1990&#x2013;2010) was dominated by heuristic rules. The mid-stage development (2010&#x2013;2020) focused on MIP, while the current innovation stage (2020&#x2013;present) shifted toward data-driven methods. In a pioneering study, <xref ref-type="bibr" rid="B46">Watanabe (1992)</xref> established the first prediction model for the number of container relocations. However, practical applications were limited by overly idealized static assumptions. Subsequently, <xref ref-type="bibr" rid="B10">Caserta et&#xa0;al. (2012)</xref> confirmed the NP-hard property of CRP through rigorous mathematical derivation and presented the standard model framework (CRP-I/II). <xref ref-type="bibr" rid="B50">Zehendner et&#xa0;al. (2015)</xref> significantly improved MIP problem-solving efficiency by applying upper-lower bound theory, marking an important milestone in CRP research. <xref ref-type="bibr" rid="B40">Petering and Hussein (2013)</xref> increased the computational efficiency of the CRP-III model through variable reduction techniques. However, the algorithm still exhibited exponential space complexity in three-dimensional scenarios, spurring the rapid development of learning algorithms.</p>
<table-wrap id="T1" position="float">
<label>Table&#xa0;1</label>
<caption>
<p>Comparison of developmental stages in CRP modeling theories.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="center">Development Stage</th>
<th valign="top" align="center">Core Method</th>
<th valign="top" align="center">Main Contributions</th>
<th valign="top" align="center">Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">Early Exploration (1990-2010)</td>
<td valign="top" align="center">Heuristic Rules</td>
<td valign="top" align="center">Established basic problem definitions and classification systems (<xref ref-type="bibr" rid="B46">Watanabe, 1992</xref>)</td>
<td valign="top" align="center">Lacked rigorous mathematical proofs</td>
</tr>
<tr>
<td valign="top" align="center">Mid-Stage<break/>Development<break/>(2010-2020)</td>
<td valign="top" align="center">MIP</td>
<td valign="top" align="center">Proposed standard models<break/>CRP-I/II/III (<xref ref-type="bibr" rid="B10">Caserta et&#xa0;al., 2012</xref>;<break/>
<xref ref-type="bibr" rid="B40">Petering and Hussein, 2013</xref>; <xref ref-type="bibr" rid="B50">Zehendner et&#xa0;al., 2015</xref>)</td>
<td valign="top" align="center">Computational complexity remains exponential</td>
</tr>
<tr>
<td valign="top" align="center">Current Innovation (2020-present)</td>
<td valign="top" align="center">Data-Driven Optimization</td>
<td valign="top" align="center">Achieved polynomial-time approximate algorithms (<xref ref-type="bibr" rid="B15">Galle et&#xa0;al., 2018</xref>; <xref ref-type="bibr" rid="B20">Jin, 2020</xref>)</td>
<td valign="top" align="center">Exhibits sensitivity to training data quality</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Learning algorithms for the CRP</title>
<p>With the rapid advancement of AI technologies, algorithms capable of autonomously learning efficient container relocation strategies for the CRP have been developed, aiming to outperform classical heuristics and exact methods across problem instances of varying scales. <xref ref-type="table" rid="T2">
<bold>Table&#xa0;2</bold>
</xref> presents a comparative overview of these methods, detailing their algorithmic frameworks, experimental configurations, datasets, and principal findings.</p>
<table-wrap id="T2" position="float">
<label>Table&#xa0;2</label>
<caption>
<p>Comparison of learning algorithms for the CRP.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="center">Study</th>
<th valign="top" align="center">Algorithmic Framework</th>
<th valign="top" align="center">Experimental Setting</th>
<th valign="top" align="center">Dataset Source</th>
<th valign="top" align="center">Key Findings</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B32">Liu et&#xa0;al. (2023)</xref>
</td>
<td valign="top" align="center">Dynamic<break/>Attention<break/>Mechanism</td>
<td valign="top" align="center">2D<break/>single-bay yard</td>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B10">Caserta et&#xa0;al. (2012)</xref> benchmark instances</td>
<td valign="top" align="center">Reduces relocation counts significantly compared to classical<break/>heuristics and consistently produces optimal or near-optimal solutions across multiple scales.</td>
</tr>
<tr>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B49">Ye et&#xa0;al. (2023)</xref>
</td>
<td valign="top" align="center">Supervised Learning</td>
<td valign="top" align="center">2D<break/>single-bay yard</td>
<td valign="top" align="center">Self-generated random instances</td>
<td valign="top" align="center">Achieves 94% classification accuracy in predicting relocation requirements;<break/>feature-attribution analysis identifies the primary determinants of<break/>relocation counts, guiding further optimization.</td>
</tr>
<tr>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B43">Tang et&#xa0;al. (2024)</xref>
</td>
<td valign="top" align="center">Predictive<break/>Model + DRL</td>
<td valign="top" align="center">3D multi-bay yard</td>
<td valign="top" align="center">Historical import&#x2013;export<break/>records from a real port</td>
<td valign="top" align="center">Substantially reduces average relocations compared to rule-based and non-predictive RL approaches,<break/>demonstrating robust performance under randomized retrieval sequences.</td>
</tr>
<tr>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B48">Yan et&#xa0;al. (2024)</xref>
</td>
<td valign="top" align="center">Beam Search<break/>+ DRL</td>
<td valign="top" align="center">2D<break/>single-bay yard</td>
<td valign="top" align="center">Simulated scenario instances</td>
<td valign="top" align="center">Achieves near-optimal strategy quality, while beam-search<break/>integration further reduces relocation operations and maintains superior<break/>performance across varied random test scenarios.</td>
</tr>
<tr>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B30">Liu et&#xa0;al. (2025)</xref>
</td>
<td valign="top" align="center">Q-learning +<break/>Heuristic Rules</td>
<td valign="top" align="center">2D<break/>single-bay yard</td>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B10">Caserta et&#xa0;al. (2012)</xref> benchmark instances</td>
<td valign="top" align="center">Consistently yields optimal or near-optimal solutions on public benchmarks, outperforming<break/>state-of-the-art exact algorithms and<break/>heuristics in relocation efficiency for large-scale instances.</td>
</tr>
<tr>
<td valign="top" align="center">
<xref ref-type="bibr" rid="B45">Wang et&#xa0;al. (2025)</xref>
</td>
<td valign="top" align="center">Operations-<break/>Research<break/>Model + DRL</td>
<td valign="top" align="center">2D<break/>single-bay yard</td>
<td valign="top" align="center">Mixed-integer programming&#x2013; generated simulation data</td>
<td valign="top" align="center">Incorporation of operations-research lower-bound information<break/>significantly accelerates training<break/>convergence, resulting in more stable solution quality and enhanced generalization.</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Deep reinforcement learning (DRL) methods autonomously generate efficient container-relocation strategies without requiring manually designed rules, achieving substantial reductions in the number of relocation operations. Moreover, integrating DRL with classical optimization techniques or heuristic rules further enhances solution optimality and algorithmic robustness.</p>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Sustainable logistics optimization methods</title>
<p>In the context of carbon neutrality strategies, logistics system optimization has gradually exhibited features of multi-objective collaboration. <xref ref-type="bibr" rid="B35">McKinnon et&#xa0;al. (2015)</xref> conducted an empirical study demonstrating that real-time dynamic route planning could reduce carbon emissions in urban distribution networks by 12&#x2013;18%. <xref ref-type="bibr" rid="B18">Jiang et&#xa0;al. (2023)</xref> further verified this finding using a DRL framework. The multi-objective reward function presented in their study achieved significant improvements on the Pareto frontier between energy efficiency and timeliness. Additionally, a bibliometric analysis conducted by <xref ref-type="bibr" rid="B39">Nikseresht et&#xa0;al. (2024)</xref> indicated that the integration of Internet of Things (IoT) and Digital Twin technologies has become an important technical approach for reducing supply chain carbon emissions. Furthermore, decision-optimization problems in the field of maritime engineering have received widespread attention. For example, <xref ref-type="bibr" rid="B7">Cao et&#xa0;al. (2024)</xref> developed a decision-making framework for Chinese-style cruise ship design that is based on the informativeness-weight method and a group-consensus reaching model, providing a new approach for the multi-objective optimization of maritime equipment.</p>
</sec>
<sec id="s2_5">
<label>2.5</label>
<title>Research approaches</title>
<p>Based on a systematic review of existing literature, several research gaps have been identified. First, no universal theoretical framework exists for dynamic constraint modeling in three-dimensional scenarios, making adaptation to diverse port operating conditions difficult. Second, data generation mechanisms largely rely on human experience and cannot adequately support large-scale model training or cross-scenario generalization. To address these shortcomings, this research presents three innovative approaches:</p>
<list list-type="bullet">
<list-item>
<p>MIP Model Based on Obstructing Container Relocation Strategies: This model leverages the inherent characteristics of the problem to compress the solution space, resulting in higher solving efficiency and better scalability in complex real-world scenarios;</p>
</list-item>
<list-item>
<p>Rapid Label Generation System: An automated label generation mechanism is designed to reduce manual annotation costs while offering scalable data support for large-scale model training and cross-scenario applications;</p>
</list-item>
<list-item>
<p>Cooperative Optimization Mechanism for Container Handling Efficiency and Energy Consumption: Within a sustainable decision-making framework, this mechanism integrates operational efficiency with carbon emission factors to provide data support and algorithmic assurance for the green transformation of port logistics.</p>
</list-item>
</list>
<p>These theoretical and methodological innovations facilitate the evolution of CO from &#x201c;algorithmic innovation&#x201d; to &#x201c;system optimization&#x201d; and offer a new methodological foundation for intelligent and green upgrading of port logistics.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Intelligent decision-driven model</title>
<p>In the context of a three-dimensional container yard, this section presents an Intelligent Decision-Driven Model (IDDM) for the CRP. The model employs a priority sequence to guide the optimization process, thereby effectively mitigating secondary container relocations triggered by extraction operations.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Problem description</title>
<p>Modern container port scheduling systems typically face three primary constraints:</p>
<list list-type="bullet">
<list-item>
<p>Spatial Constraints: Limited yard capacity conflicts with rapidly increasing throughput demands;</p>
</list-item>
<list-item>
<p>Temporal Constraints: Operational timeliness requirements conflict with high-frequency turnover needs;</p>
</list-item>
<list-item>
<p>Economic Constraints: Equipment energy consumption and labor costs require balancing in dynamic environments.</p>
</list-item>
</list>
<p>Intelligent scheduling systems often address these constraints through a multi-attribute collaborative clustering strategy. A dynamic partitioning mechanism is established based on comprehensive evaluation of container properties: physical attributes (weight and dimensions), logistics attributes (multimodal transport routes and destination port clusters), and commercial attributes (shipper priority and tariff status). This process forms a four-dimensional topological structure represented as &#x201c;block &#x2192; bay &#x2192; stack &#x2192; tier,&#x201d; as shown in <xref ref-type="fig" rid="f3">
<bold>Figure&#xa0;3</bold>
</xref>.</p>
<fig id="f3" position="float">
<label>Figure&#xa0;3</label>
<caption>
<p>Schematic diagram of container yard spatial topology.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g003.tif">
<alt-text content-type="machine-generated">Illustration of a warehouse storage system with a 3D view on the left showing stacked containers labeled &#x201c;slot.&#x201d; The right side depicts an overhead view with marked bays numbered one to six and tiers numbered one to eight. A vertical lifting mechanism is shown in the center.</alt-text>
</graphic>
</fig>
<p>To ensure the feasibility and prediction accuracy of the constructed model, this study adopts the following core assumptions:</p>
<list list-type="bullet">
<list-item>
<p>Closed System Assumption: The total number of containers remains unchanged throughout the operation cycle, i.e., <inline-formula>
<mml:math display="inline" id="im2">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>S</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>Static Configuration Assumption: The initial stacking state tensor <inline-formula>
<mml:math display="inline" id="im3">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the target container extraction sequence <inline-formula>
<mml:math display="inline" id="im4">
<mml:mi>Q</mml:mi>
</mml:math>
</inline-formula> are determined during preprocessing;</p>
</list-item>
<list-item>
<p>Tensor Representation: The three-dimensional stacking state of the yard is represented by the tensor <inline-formula>
<mml:math display="inline" id="im5">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula>
<mml:math display="inline" id="im6">
<mml:mi>T</mml:mi>
</mml:math>
</inline-formula>, <inline-formula>
<mml:math display="inline" id="im7">
<mml:mi>S</mml:mi>
</mml:math>
</inline-formula>, and <inline-formula>
<mml:math display="inline" id="im8">
<mml:mi>B</mml:mi>
</mml:math>
</inline-formula> denote vertical tiers, horizontal stacks, and bays, respectively;</p>
</list-item>
<list-item>
<p>Temporal Constraints: Container extraction operations must satisfy time monotonicity, i.e., <inline-formula>
<mml:math display="inline" id="im9">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>Physical Constraints: Single-step operations are performed only on containers at stack tops. Target containers at the top can be directly extracted; otherwise, container relocation must occur first;</p>
</list-item>
<list-item>
<p>Dynamic Obstructing Assumption: If obstructing containers exist above the target container (i.e., instantaneous obstructing set <inline-formula>
<mml:math display="inline" id="im10">
<mml:mrow>
<mml:msub>
<mml:mi>&#x212c;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&gt;</mml:mo>
</mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>), these containers must be relocated before the target container can be extracted.</p>
</list-item>
</list>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Model development</title>
<sec id="s3_2_1">
<label>3.2.1</label>
<title>Symbol system</title>
<p>
<xref ref-type="table" rid="T3">
<bold>Table&#xa0;3</bold>
</xref> summarizes the definitions of the primary parameters and decision variables incorporated in the model.</p>
<table-wrap id="T3" position="float">
<label>Table&#xa0;3</label>
<caption>
<p>Definitions of model parameters and variables.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="center">Symbol</th>
<th valign="top" align="center">Domain</th>
<th valign="top" align="left">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">
<italic>T,S,B</italic>
</td>
<td valign="top" align="center">
<inline-formula>
<mml:math display="inline" id="im11">
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td valign="top" align="left">Maximum stacking height (<italic>T</italic>), number of stacks (<italic>S</italic>), and number of bays (<italic>B</italic>).</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>N</italic>
</td>
<td valign="top" align="center">&#x2264; <italic>T</italic> &#xd7;<italic>S</italic> &#xd7;<italic>B</italic> &#x2212;(<italic>T</italic> &#x2212;1)</td>
<td valign="top" align="left">Total number of containers.</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>Y<sub>ijk</sub>
</italic>
</td>
<td valign="top" align="center">{0,1<italic>,&#x2026;,N</italic>}</td>
<td valign="top" align="left">Priority code assigned to the container at position (<italic>i,j,k</italic>).</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>Q</italic>
</td>
<td valign="top" align="center">{<italic>q</italic>
<sub>1</sub>
<italic>,&#x2026;,q<sub>N</sub>
</italic>}</td>
<td valign="top" align="left">Prescribed retrieval sequence.</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>w<sub>ijk</sub>
</italic>
</td>
<td valign="top" align="center">{0,1}</td>
<td valign="top" align="left">Indicator that an obstructing container is present above (<italic>i,j,k</italic>).</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>x<sub>ijk</sub>
</italic>
</td>
<td valign="top" align="center">{0,1}</td>
<td valign="top" align="left">Indicator that the container at (<italic>i,j,k</italic>) can be retrieved directly.</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>f<sub>ijk</sub>
</italic>
</td>
<td valign="top" align="center">{0,1}</td>
<td valign="top" align="left">Indicator that a relocation operation occurs at (<italic>i,j,k</italic>).</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>s<sub>ijk</sub>
</italic>
</td>
<td valign="top" align="center">
<inline-formula>
<mml:math display="inline" id="im12">
<mml:mrow>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td valign="top" align="left">Spatio-temporal aggregate cost coefficient at (<italic>i,j,k</italic>).</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>&#x3b4;</italic>(<italic>j</italic>)</td>
<td valign="top" align="center">{0,1}</td>
<td valign="top" align="left">Indicator that two stacks belong to the same bay.</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>&#x3c8;</italic>(<italic>j</italic>)</td>
<td valign="top" align="center">&#x2014;</td>
<td valign="top" align="left">Lexicographic priority vector of stack <italic>j</italic>.</td>
</tr>
<tr>
<td valign="top" align="center">
<italic>&#x3b1;,&#x3bb;</italic>
</td>
<td valign="top" align="center">
<inline-formula>
<mml:math display="inline" id="im13">
<mml:mrow>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td valign="top" align="left">Weighting coefficients for relocation cost (<italic>&#x3b1;</italic>) and priorityloss (<italic>&#x3bb;</italic>).</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>(1) Indices <italic>i</italic>, <italic>j</italic>, and <italic>k</italic> denote tier, stack, and bay positions, respectively. (2) The upper bound <italic>N</italic> &#x2264; <italic>T</italic> &#xd7;<italic>S</italic> &#xd7;<italic>B</italic> &#x2212;(<italic>T</italic> &#x2212;1) guarantees that at least one column of height <italic>T</italic> remains partially empty, thus permitting direct extraction without relocating.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s3_2_2">
<label>3.2.2</label>
<title>Decision workflow</title>
<p>
<xref ref-type="fig" rid="f4">
<bold>Figure&#xa0;4</bold>
</xref> illustrates the operational workflow of the IDDM, which comprises four sequential stages:</p>
<list list-type="bullet">
<list-item>
<p>Initialization: The initial yard configuration <italic>Y</italic>
<sub>0</sub> and the prescribed retrieval sequence <italic>Q</italic> are loaded;</p>
</list-item>
<list-item>
<p>Obstruction Identification: For the current target container, the obstructing set <inline-formula>
<mml:math display="inline" id="im14">
<mml:mrow>
<mml:msub>
<mml:mi>&#x212c;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>of all containers above it is determined;</p>
</list-item>
<list-item>
<p>Optimal Decision Making: Subject to the multi-objective function and associated constraints, the optimal sequence of operations&#x2014;relocations and/or retrievals&#x2014;is computed;</p>
</list-item>
<list-item>
<p>Execution and Update: The selected operation&#x2014;either a relocation or the direct retrieval of the target container&#x2014;is executed; the yard state is then updated, and the workflow repeats for the next target.</p>
</list-item>
</list>
<fig id="f4" position="float">
<label>Figure&#xa0;4</label>
<caption>
<p>Schematic representation of the decision-making workflow within the IDDM framework.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g004.tif">
<alt-text content-type="machine-generated">Flowchart illustrating a process with four sequential stages: &#x201c;Initialization,&#x201d; &#x201c;Obstructing Container Detection,&#x201d; &#x201c;Decision Optimization,&#x201d; and &#x201c;Retrieval/Relocation Operations,&#x201d; each connected by directional arrows.</alt-text>
</graphic>
</fig>
</sec>
<sec id="s3_2_3">
<label>3.2.3</label>
<title>Key constraints</title>
<p>Key constraints ensuring model feasibility include (see <xref ref-type="disp-formula" rid="eq1">Equations 1</xref>&#x2013;<xref ref-type="disp-formula" rid="eq5">5</xref>):</p>
<p>&#x2022; Stack Height Safety Constraint:</p>
<disp-formula id="eq1">
<label>(1)</label>
<mml:math display="block" id="M1">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>h</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>max&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This constraint prevents overstacking safety hazards by ensuring;</p>
<p>&#x2022; Extract Accessibility:</p>
<disp-formula id="eq2">
<label>(2)</label>
<mml:math display="block" id="M2">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x21d2;</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Container extraction operations are permitted only on containers at stack tops, following the &#x201c;last in, first out&#x201d; principle;</p>
<p>&#x2022; Relocation Necessity:</p>
<disp-formula id="eq3">
<label>(3)</label>
<mml:math display="block" id="M3">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x21d4;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>&#x2203;</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Container relocation operations are triggered only when obstructing containers exist above the target container;</p>
<p>&#x2022; Cost Mapping Mechanism:</p>
<disp-formula id="eq4">
<label>(4)</label>
<mml:math display="block" id="M4">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>otherwise</mml:mtext>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This equation links operational cost <inline-formula>
<mml:math display="inline" id="im15">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>with the obstructing container indicator <inline-formula>
<mml:math display="inline" id="im16">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, reflecting that more relocations result in higher costs;</p>
<p>&#x2022; Priority Lexicographic Order:</p>
<disp-formula id="eq5">
<label>(5)</label>
<mml:math display="block" id="M5">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi>j</mml:mi>
<mml:mtext>'</mml:mtext>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x227a;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Optimization then proceeds strictly according to the lexicographic order &#x227a;.</p>
</sec>
<sec id="s3_2_4">
<label>3.2.4</label>
<title>Objective function</title>
<p>Assuming that the system operates as a deterministic Markov Decision Process and that the retrieval schedule <italic>Q</italic> and yard state are fully known over the entire planning horizon, the IDDM framework achieves a dynamic trade-off between operational efficiency and cost by minimizing the following composite objective function (see <xref ref-type="disp-formula" rid="eq6">Equation 6</xref>):</p>
<disp-formula id="eq6">
<label>(6)</label>
<mml:math display="block" id="M6">
<mml:mrow>
<mml:mtext>min</mml:mtext>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mstyle>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mstyle>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>&#x3bb;</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>rank</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, the first term corresponds to the aggregate spatio&#x2013;temporal cost; the second term reflects the relocation cost; and the third term imposes a priority-loss penalty, as quantified by the lexicographic rank of <inline-formula>
<mml:math display="inline" id="im17">
<mml:mrow>
<mml:mi>&#x3c8;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Multi-bay relocation example</title>
<p>A small-scale yard section comprising four bays, four stacks per bay, and three tiers is examined (<xref ref-type="fig" rid="f5">
<bold>Figure&#xa0;5</bold>
</xref>). Each slot is numbered sequentially from 1 to 42, with empty positions denoted by 0. <xref ref-type="fig" rid="f6">
<bold>Figure&#xa0;6</bold>
</xref> depicts the container retrieval workflow under the four-stage lexicographic strategy:</p>
<list list-type="bullet">
<list-item>
<p>Obstruction Identification (Stage 1). Determine the target container and its obstructing set;</p>
</list-item>
<list-item>
<p>Bay Coordination (Stage 2). Prioritize relocations within the same bay;</p>
</list-item>
<list-item>
<p>Minimization of Additional Obstructing (Stage 3). Among cost-equivalent alternatives, select the stack that introduces the fewest new obstructing containers;</p>
</list-item>
<list-item>
<p>Minimization of Lateral Movement (Stage 4). Choose the relocation requiring the shortest horizontal transfer distance;</p>
</list-item>
<list-item>
<p>Stack Height Balancing (Stage 5). If multiple candidates remain, select the stack with the lowest tier height to preserve downstream operational flexibility.</p>
</list-item>
</list>
<fig id="f5" position="float">
<label>Figure&#xa0;5</label>
<caption>
<p>Schematic diagram of the initial yard-stacking configuration indicating each container&#x2019;s priority level.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g005.tif">
<alt-text content-type="machine-generated">A 3D block structure on the left is shown alongside a chart divided into four sections labeled Bay 1 to Bay 4. Each bay lists numbers in a grid format. Bay 1: 0, 0, 14, 25, 1, 4, 17, 36, 33, 6, 20, 11. Bay 2: 2, 0, 0, 8, 34, 39, 40, 29, 27, 15, 9, 23. Bay 3: 21, 7, 0, 0, 42, 24, 32, 37, 5, 22, 18, 19. Bay 4: 12, 41, 35, 26, 38, 3, 28, 13, 16, 31, 30, 10. An arrow points from the blocks to the chart.</alt-text>
</graphic>
</fig>
<fig id="f6" position="float">
<label>Figure&#xa0;6</label>
<caption>
<p>Process flowchart of the container retrieval procedure executed in parallel across the four operational stages.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g006.tif">
<alt-text content-type="machine-generated">Flowchart illustrating container relocation steps across four bays, including retrieval and relocation processes over nine steps. Key actions include retrieving containers sequentially and relocating obstructing containers, with strategies such as &#x201c;minimizing obstructing containers&#x201d; and &#x201c;same-bay priority.&#x201d; The process shows containers are moved to achieve optimal retrieval with a total of twenty-two relocations, concluding after step nine. Further steps are omitted.</alt-text>
</graphic>
</fig>
<p>Parallel implementation of the multi-stage lexicographic strategy markedly reduces the computational complexity of cross-bay relocations and improves overall operational efficiency in real-world yard operations, thereby underscoring its substantial potential for practical engineering application.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Intelligent decision-driven algorithm</title>
<p>For the optimization problem of container relocation in three-dimensional container yards, this section presents an Intelligent Decision-Driven Algorithm (IDDA) for the CRP. The algorithm combines a hierarchical decision-making mechanism with heuristic strategies to build a closed-loop optimization process consisting of &#x201c;target identification &#x2192; feasibility analysis &#x2192; dynamic container relocation &#x2192; state update&#x201d;.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Hierarchical decision-making framework</title>
<p>The algorithm adopts a five-stage progressive decision-making architecture. Its core innovation lies in integrating a triple-sorting heuristic with a bay cooperation mechanism.</p>
<sec id="s4_1_1">
<label>4.1.1</label>
<title>Environment modeling and initialization</title>
<p>First, a three-dimensional yard state matrix <inline-formula>
<mml:math display="inline" id="im18">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is constructed to precisely characterize the physical layout of the yard, where:</p>
<list list-type="bullet">
<list-item>
<p>
<italic>T</italic> denotes the maximum number of stackable tiers (constrained by the safety threshold <italic>H</italic>
<sub>max</sub>);</p>
</list-item>
<list-item>
<p>
<italic>S</italic> represents the total number of stacks (typically organized by bay areas);</p>
</list-item>
<list-item>
<p>
<italic>B</italic> signifies the number of bays (used in computing the inter-bay movement penalty coefficient <italic>&#x3b2;</italic>).</p>
</list-item>
</list>
<p>Subsequently, the operation sequence <italic>O</italic> is initialized as &#x2205;, the container relocation counter <italic>R</italic> is set to 0, and the system&#x2019;s start timestamp <italic>T</italic>
<sub>start</sub> is recorded to provide a basis for subsequent performance evaluations. Additionally, the initial number of containers <italic>N</italic> is calculated using an indicator function that counts all occupied positions (see <xref ref-type="disp-formula" rid="eq7">Equation 7</xref>):</p>
<disp-formula id="eq7">
<label>(7)</label>
<mml:math display="block" id="M7">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>=</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">P</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im19">
<mml:mi mathvariant="script">P</mml:mi>
</mml:math>
</inline-formula> denotes the set of all possible coordinates in the yard, thereby ensuring comprehensive global state awareness.</p>
</sec>
<sec id="s4_1_2">
<label>4.1.2</label>
<title>Task sequence planning</title>
<p>Based on the predetermined container extraction sequence <inline-formula>
<mml:math display="inline" id="im20">
<mml:mrow>
<mml:mi>Q</mml:mi>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula>, a priority queue is constructed via a dual-indexing mechanism:</p>
<list list-type="bullet">
<list-item>
<p>Temporal Dimension: Adheres to the first-in-first-out (FIFO) principle;</p>
</list-item>
<list-item>
<p>Spatial Dimension: Clusters factors such as destination port to optimize the loading sequence.</p>
</list-item>
</list>
<p>The pre-calculated initial container extraction plan enables subsequent dynamic scheduling to effectively reduce the frequency of adjustments.</p>
</sec>
<sec id="s4_1_3">
<label>4.1.3</label>
<title>Dynamic priority scheduling</title>
<p>For each target container <italic>c</italic> &#x2208; <italic>Q</italic> in the sequence, the following steps are executed:</p>
<p>Step 1: Target Localization</p>
<p>Tensor slicing and fast retrieval techniques determine the three-dimensional coordinates of the target container (see <xref ref-type="disp-formula" rid="eq8">Equation 8</xref>):</p>
<disp-formula id="eq8">
<label>(8)</label>
<mml:math display="block" id="M8">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mtext>arg&#xa0;</mml:mtext>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mo>{</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>c</mml:mi>
<mml:mo>&#x2227;</mml:mo>
<mml:mtext>slot</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Step 2: Accessibility Detection</p>
<p>The existence of obstructing containers above the target container is evaluated as (see <xref ref-type="disp-formula" rid="eq9">Equation 9</xref>):</p>
<disp-formula id="eq9">
<label>(9)</label>
<mml:math display="block" id="M9">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mrow>
<mml:mtext>access</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Step 3: Operation Decision</p>
<p>Based on the accessibility detection result, one of the following procedures is executed:</p>
<list list-type="bullet">
<list-item>
<p>If <inline-formula>
<mml:math display="inline" id="im21">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mrow>
<mml:mtext>access</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is true, the target container is directly extracted from the stack top; that is, set <inline-formula>
<mml:math display="inline" id="im22">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>Otherwise, the container relocation subroutine <inline-formula>
<mml:math display="inline" id="im23">
<mml:mrow>
<mml:mi>&#x2133;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is invoked to relocate the obstructing containers. Once no obstructing containers remain above the target container, the formal extraction is performed.</p>
</list-item>
</list>
</sec>
<sec id="s4_1_4">
<label>4.1.4</label>
<title>Multi-objective container relocation strategy</title>
<p>When obstructing containers are detected, a triple sorting function is defined (see <xref ref-type="disp-formula" rid="eq10">Equations 10</xref>&#x2013;<xref ref-type="disp-formula" rid="eq14">14</xref>):</p>
<disp-formula id="eq10">
<label>(10)</label>
<mml:math display="block" id="M10">
<mml:mrow>
<mml:mtext>&#x3a6;</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>&#x2329;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x232a;</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where:</p>
<p>&#x2022;<inline-formula>
<mml:math display="inline" id="im24">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> quantifies the potential obstructing risk of the candidate stack to proactively reduce subsequent relocation operations:</p>
<disp-formula id="eq11">
<label>(11)</label>
<mml:math display="block" id="M11">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>&#x2022;<inline-formula>
<mml:math display="inline" id="im25">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> evaluates the horizontal movement distance to optimize short-term operational efficiency:</p>
<disp-formula id="eq12">
<label>(12)</label>
<mml:math display="block" id="M12">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>&#x2016;</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:msub>
<mml:mo>&#x2016;</mml:mo>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>|</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mi>D</mml:mi>
<mml:mrow>
<mml:mtext>bay</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>&#x2022;<inline-formula>
<mml:math display="inline" id="im26">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the available stack height, measuring space utilization and operational stability:</p>
<disp-formula id="eq13">
<label>(13)</label>
<mml:math display="block" id="M13">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The optimal target stack is selected through lexicographic minimization:</p>
<disp-formula id="eq14">
<label>(14)</label>
<mml:math display="block" id="M14">
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>arg&#xa0;lexmin</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext>&#x3a6;</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im27">
<mml:mi mathvariant="script">S</mml:mi>
</mml:math>
</inline-formula> denotes the set of feasible stacks. The algorithm prioritizes container relocation within the same bay <inline-formula>
<mml:math display="inline" id="im28">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>|</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> to reduce additional penalties from inter-bay movements.</p>
</sec>
<sec id="s4_1_5">
<label>4.1.5</label>
<title>State Update and Feedback</title>
<p>To adapt to complex dynamic environments, a dual state update mechanism is implemented:</p>
<list list-type="bullet">
<list-item>
<p>Explicit Update: After each container operation, the yard state matrix <italic>Y</italic> and operation sequence <italic>O</italic> are immediately updated. This process iterates until all target containers are successfully extracted;</p>
</list-item>
<list-item>
<p>Implicit Update: Based on impact predictions for subsequent operations, the weights of the triple sorting function are dynamically adjusted to balance container relocation cost, movement distance, and stack utilization.</p>
</list-item>
</list>
<p>After each iteration, the container relocation rate indicator is re-evaluated (see <xref ref-type="disp-formula" rid="eq15">Equation 15</xref>):</p>
<disp-formula id="eq15">
<mml:math display="block" id="M15">
<mml:mrow>
<mml:mtext>&#x394;</mml:mtext>
<mml:mi>&#x3b7;</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</disp-formula>
<p>(15)</p>
<p>When &#x394;<italic>&#x3b7; &gt; &#x3b7;</italic>
<sub>th</sub>, where <italic>&#x3b7;</italic>
<sub>th</sub> is the preset threshold, a strategy adjustment mechanism is triggered to prevent convergence to local optima.</p>
</sec>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Hierarchical decision-making algorithm</title>
<p>
<xref ref-type="statement" rid="st1">
<bold>Algorithm 1</bold>
</xref> presents the complete pseudocode of IDDA, which combines hierarchical decision-making with dynamic feedback, enabling continuous optimization under multi-objective constraints.</p>
<statement id="st1">
<label>Algorithm 1</label>
<title>Intelligent decision-driven algorithm (IDDA).</title>
<p>
<preformat>&#xD;
1:<bold>Input:</bold> Yard state tensor<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im29">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula></named-content>, container extraction sequence <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im30">
<mml:mi>Q</mml:mi>
</mml:math>
</inline-formula></named-content>
&#xD;
2:<bold>Output:</bold> Operation sequence <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im31">
<mml:mi>O</mml:mi>
</mml:math>
</inline-formula></named-content>, number of container relocations <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im32">
<mml:mi>R</mml:mi>
</mml:math>
</inline-formula></named-content>, and total execution time <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im33">
<mml:mi>T</mml:mi>
</mml:math>
</inline-formula></named-content>
&#xD;
3:<bold>Procedure MAIN</bold>(<italic>Y,Q</italic>)&#xD;
4:&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im34">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mo>&#x2205;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>R</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mtext>start</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>clock</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
5:&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im35">
<mml:mrow>
<mml:mi mathvariant="script">P</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>&#x232a;</mml:mo>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
6:&#x2003;<bold>for</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im36">
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
<bold>to</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im37">
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mi>Q</mml:mi>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>do</bold>
&#xD;
7:&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im38">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>T</mml:mi>
<mml:mi>A</mml:mi>
<mml:mi>R</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
8:&#x2003;&#x2003;<bold>if</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im39">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>then</bold>
&#xD;9:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im40">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
10:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im41">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext>append</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>Extract</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
11:&#x2003;&#x2003;else&#xD;
12:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im42">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>&#x2133;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
13:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im43">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
14:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im44">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext>append</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>Extract</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
15:&#x2003;&#x2003;<bold>end if</bold>
&#xD;
16:&#x2003;<bold>end for</bold>
&#xD;
17:&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im45">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>clock</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mtext>start</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
18:&#x2003;<bold>return</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im46">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
19: <bold>end Procedure</bold>
&#xD;
20: <bold>Function</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im47">
<mml:mi>&#x2133;</mml:mi>
</mml:math>
</inline-formula></named-content>(<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im48">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>R</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula></named-content>)&#xD;
21: &#x2003;<bold>for</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im49">
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
<bold>to</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im50">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>do</bold>
&#xD;
22:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im51">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mo>{</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>max&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
23:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im52">
<mml:mrow>
<mml:mtext>&#x3a6;</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>&#x3d5;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
24:&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im53">
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>arg&#xa0;</mml:mtext>
<mml:munder>
<mml:mrow>
<mml:mtext>lexmin</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mo>&#x2009;</mml:mo>
<mml:mtext>&#x3a6;</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
25:&#x2003;&#x2003;&#x2003;<bold>if</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im54">
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>&#x2260;</mml:mo>
<mml:mo>&#x2205;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>then</bold>
&#xD;
26:&#x2003;&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im55">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mtext>top</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
27:&#x2003;&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im56">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
28:&#x2003;&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im57">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo>.</mml:mo>
<mml:mtext>append</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>Move</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>*</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
29:&#x2003;&#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im58">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
30:&#x2003;&#x2003;&#x2003;<bold>else</bold>
&#xD;
31:&#x2003;&#x2003;&#x2003;&#x2003;<bold>for</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im59">
<mml:mrow>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
<mml:mo>&#x2216;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>do</bold>
&#xD;
32:&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<bold>Inter-bay container relocation (similar to &#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;lines 21&#x2013;29)</bold>
&#xD;
33:&#x2003;&#x2003;&#x2003;&#x2003;<bold>end for</bold>
&#xD;
34:&#x2003;&#x2003;&#x2003;<bold>end if</bold>
&#xD;
35:&#x2003;&#x2003;<bold>end for</bold>
&#xD;
36:&#x2003;&#x2003;<bold>return</bold> (<italic>O, R</italic>)&#xD;
37: <bold>end Function</bold>

</preformat>
</p>
</statement>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Innovative advantages</title>
<p>Compared with traditional container relocation strategies, IDDA offers three main advantages:</p>
<list list-type="bullet">
<list-item>
<p>Multi-objective Collaborative Mechanism: The algorithm integrates dynamic programming (<xref ref-type="bibr" rid="B52">Zhu et&#xa0;al., 2012</xref>) with heuristic rules (<xref ref-type="bibr" rid="B24">Kim and Hong, 2006</xref>). It simultaneously considers container relocation cost, obstructing risk, and space utilization through its triple sorting function. This approach significantly enhances decision completeness and environmental adaptability compared with conventional Lower Bound 1 (LB1) methods (<xref ref-type="bibr" rid="B42">Tanaka and Takii, 2016</xref>). This mechanism effectively addresses more complex and variable operational scenarios;</p>
</list-item>
<list-item>
<p>Adaptive Decision Architecture: The algorithm employs a two-layer decision framework, first attempting intra-bay container relocation to reduce inter-bay operation frequency; if no feasible solution exists, it resorts to inter-bay alternatives. Coupled with real-time state monitoring and feedback-based tuning, this strategy adapts dynamically to environmental changes, thereby reducing overall operating costs;</p>
</list-item>
<list-item>
<p>Preventive Optimization Strategy: A conflict prediction model based on statistical learning proactively reduces the probability of subsequent container relocations. This strategy mitigates efficiency losses from high-frequency relocations and ensures stable, efficient performance for long-sequence operations.</p>
</list-item>
</list>
<p>IDDA integrates CO theory with intelligent decision-making methods, providing a computationally efficient and practically feasible solution for high-frequency operational environments such as automated terminals.</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Optimization-learning closed-loop framework</title>
<p>This section introduces the Optimization-Learning Closed-loop Framework (OLCF) for the NP-hard three-dimensional CRP. The framework addresses the scalability limitations of traditional approaches and enhances both solution efficiency and quality through a coordinated design of feature engineering and optimization algorithms.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Data analysis</title>
<p>High-quality datasets are a prerequisite for the successful application of AI algorithms. This study systematically reviews and analyzes typical benchmark datasets widely used in international academia. Among these, the Block Relocation Problem (BRP) dataset published by Tanaka et&#xa0;al. at Okayama University provides significant reference value (see <ext-link ext-link-type="uri" xlink:href="https://sites.google.com/site/shunjitanaka/brp">https://sites.google.com/site/shunjitanaka/brp</ext-link>). That platform offers two classical datasets describing container layouts in a single bay using a two-dimensional matrix (see <xref ref-type="fig" rid="f7">
<bold>Figure&#xa0;7</bold>
</xref>). However, when applying the model to three-dimensional scenarios involving multiple bays, the single-bay model must be expanded into a higher-dimensional cooperative optimization framework. The complexity of three-dimensional scenarios is reflected in three key aspects:</p>
<list list-type="bullet">
<list-item>
<p>Cooperative operations across multiple bays: The algorithm must avoid strategies that sequentially empty adjacent bays, because such strategies violate physical constraints and may cause safety hazards such as shifts in the yard&#x2019;s center of gravity;</p>
</list-item>
<list-item>
<p>Spatiotemporal constraints across bays: Equipment scheduling across different bays significantly increases the dimensionality and complexity of the problem;</p>
</list-item>
<list-item>
<p>Exponential growth of the solution space: In a three-dimensional environment, the complexity of planning container extraction paths grows exponentially.</p>
</list-item>
</list>
<fig id="f7" position="float">
<label>Figure&#xa0;7</label>
<caption>
<p>Schematic diagram of the encoding structure of the two-dimensional benchmark datasets. <bold>(a)</bold> Caserta&#x2013;Vo&#xdf; Dataset. <bold>(b)</bold> Zhu et&#xa0;al. Dataset.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g007.tif">
<alt-text content-type="machine-generated">Diagram a shows a 3x3 grid labeled by tier and stack, with numbers 1, 5, 4 in the first row, 7, 6, 9 in the second, and 3, 2, 8 in the third. Diagram b displays a 5x3 grid, with numbers 15, 14, blank in the first row, 4, 9, 12 in the second, 13, 5, 8 in the third, 3, 10, 6 in the fourth, and 2, 11, 7 in the fifth.</alt-text>
</graphic>
</fig>
<p>Due to these factors, the three-dimensional CRP presents extreme challenges. Existing studies remain limited, and most test cases are relatively small-scale. For example, in the study by <xref ref-type="bibr" rid="B27">Lee and Lee (2010)</xref>, the maximum problem size was only 6 bays &#xd7; 16 stacks &#xd7; 10 tiers (approximately 720 containers, see <xref ref-type="fig" rid="f8">
<bold>Figure&#xa0;8</bold>
</xref>). This falls far short of meeting the operational requirements of real port terminals. This limitation indirectly reflects how the high complexity of the three-dimensional CRP has hindered the exploration of larger-scale applications.</p>
<fig id="f8" position="float">
<label>Figure&#xa0;8</label>
<caption>
<p>Schematic diagram of the Lee&#x2013;Lee three-dimensional Dataset structure. <bold>(a)</bold> Aerial view of the container yard. <bold>(b)</bold> Hierarchical structure of instances.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g008.tif">
<alt-text content-type="machine-generated">Grid and diagram illustrating container storage. The grid shows rows numbered from one to nine and beyond, with bays one, two, three, and more. Diagram labeled &#x201c;a.&#x201d; details an instance named R020306_0020_001 with specifications for bays, rows, height, containers, and types. Diagram &#x201c;b.&#x201d; lists numbers representing bay, row, container counts, and container ID.</alt-text>
</graphic>
</fig>
<sec id="s5_1_1">
<label>5.1.1</label>
<title>Benchmark dataset</title>
<list list-type="bullet">
<list-item>
<p>Caserta&#x2013;Vo&#xdf; two-dimensional Dataset (<xref ref-type="bibr" rid="B11">Caserta and Vo&#xdf;, 2009</xref>)</p>
</list-item>
<list-item>
<p>Spatial Representation: A two-dimensional matrix <inline-formula>
<mml:math display="inline" id="im60">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> i describes the container layout, where <italic>T</italic> denotes the number of tiers and <italic>S</italic> represents the number of stacks. Each matrix element indicates the unique priority of a container;</p>
</list-item>
<list-item>
<p>Scale Characteristics: The dataset encompasses 21 different dimension combinations with sizes ranging from 3 &#xd7; 3 to 10 &#xd7; 10;</p>
</list-item>
<list-item>
<p>Data Capacity: Each dimension includes 40 instances, totaling 840 samples;</p>
</list-item>
<list-item>
<p>Buffer Mechanism: A fixed dual-layer buffer (<italic>T</italic> + 2) is employed, reserving two extra tiers for relocation operations;</p>
</list-item>
<list-item>
<p>Coding Structure: The file naming format is &#x201c;data T-S-N.bat&#x201d; (see <xref ref-type="fig" rid="f7">
<bold>Figure&#xa0;7a</bold>
</xref>). The first line contains the number of tiers and the container count, while subsequent lines record the container priority distribution for each tier.</p>
</list-item>
</list>
<p>&#x2022; Zhu et&#xa0;al. two-dimensional Dataset (<xref ref-type="bibr" rid="B52">Zhu et&#xa0;al., 2012</xref>)</p>
<list list-type="bullet">
<list-item>
<p>Spatial Representation: Similarly, a two-dimensional matrix represents both unique and duplicate priorities;</p>
</list-item>
<list-item>
<p>Scale Characteristics: The dataset covers 125 dimension combinations, ranging from 3 &#xd7; 6 to 10 &#xd7; 10;</p>
</list-item>
<list-item>
<p>Data Capacity: For each dimension combination, 100 instances are generated, yielding a total of 12,500 samples per data category;</p>
</list-item>
<list-item>
<p>Coding Structure: A hierarchical progressive coding scheme is adopted (see <xref ref-type="fig" rid="f7">
<bold>Figure&#xa0;7b</bold>
</xref>). The first line specifies the number of tiers and the total container count; subsequent lines record the container priority distribution for each tier.</p>
</list-item>
</list>
<p>&#x2022; Lee&#x2013;Lee three-dimensional Dataset (<xref ref-type="bibr" rid="B27">Lee and Lee, 2010</xref>)</p>
<list list-type="bullet">
<list-item>
<p>Spatial Representation: A three-dimensional matrix <inline-formula>
<mml:math display="inline" id="im61">
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x211d;</mml:mi>
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> is used, where <italic>B</italic> denotes the number of bays, <italic>S</italic> the number of stacks, and <italic>T</italic> the number of tiers;</p>
</list-item>
<list-item>
<p>Instance Types: Two types of instances are provided: random instances and upside-down instances;</p>
</list-item>
<list-item>
<p>Scale Characteristics: For random instances, the dimension combinations range from 1 &#xd7; 16 &#xd7; 6 to 10&#xd7;16&#xd7;8, covering 10 combinations. The upside-down instances cover the same 10 combinations;</p>
</list-item>
<list-item>
<p>Data Capacity: Random instances include 5 instances per combination (totaling 50). Upside-down instances include 2 instances per combination (totaling 20);</p>
</list-item>
<list-item>
<p>Coding Structure: The file naming format is &#x201c;XBBRRHH_YYYY_ZZZ.txt&#x201d; (see <xref ref-type="fig" rid="f8">
<bold>Figure&#xa0;8</bold>
</xref>), where X indicates either random or upside-down; BB denotes the number of bays; RR, the number of stacks; HH, the number of tiers; YYYY represents the container count; and ZZZ is the instance number. The first line specifies the spatial dimensions, and subsequent lines record the container priority distribution for each tier.</p>
</list-item>
</list>
</sec>
<sec id="s5_1_2">
<label>5.1.2</label>
<title>Dataset limitations</title>
<p>Although the aforementioned benchmark datasets provide significant support for theoretical research, they exhibit several limitations:</p>
<list list-type="bullet">
<list-item>
<p>Scale Constraints: The largest scale is only on the order of 10<sup>2</sup>, with the largest instance containing 720 containers (i.e., 10&#xd7;16&#xd7;8). This scale does not meet the large-scale data requirements necessary for deep model training;</p>
</list-item>
<list-item>
<p>Insufficient Dimensions: Existing three-dimensional datasets are sparse and small-scale, making it challenging to adequately support precise modeling and optimization of real three-dimensional relocation operations;</p>
</list-item>
<list-item>
<p>Distribution Bias: The spatial distribution of containers shows notable clustering, which limits the generalization capabilities of algorithms and makes it difficult to cover the complex, dynamic scenarios encountered in actual port environments.</p>
</list-item>
</list>
</sec>
<sec id="s5_1_3">
<label>5.1.3</label>
<title>Adaptive data generator</title>
<p>To overcome these limitations, an Adaptive Data Generator (ADG) for the CRP, driven by constraint satisfaction, is presented. It comprises three core modules:</p>
<list list-type="bullet">
<list-item>
<p>Dynamic Sampling Module: Dynamic programming strategies generate the distribution of nonzero elements by considering both the number of remaining columns and the count of available elements. This module dynamically allocates the nonzero element count in each column to ensure the overall distribution meets predefined constraints;</p>
</list-item>
<list-item>
<p>Constraint Verification Module: Multiple checks are performed on the generated nonzero element distribution to ensure that counts in each tier and column lie within reasonable ranges, conforming to the physical structure and safety requirements of container yards;</p>
</list-item>
<list-item>
<p>Backtracking Correction Module: A backtracking algorithm fills the matrix with specific numerical values. Different numerical combinations are attempted at various levels to enhance efficiency while ensuring unique solutions.</p>
</list-item>
</list>
<p>The core idea of ADG is to first use dynamic programming to produce a nonzero element distribution matrix that satisfies constraints, and then sequentially fill in actual values using a backtracking algorithm, ultimately yielding distinct three-dimensional data structures.</p>
<p>Through extensive experiments, the data generated by <xref ref-type="statement" rid="st2">
<bold>Algorithm 2</bold>
</xref> exhibits significant yet moderate spatial autocorrelation (Moran&#x2019;s <italic>I</italic> = 0.3064, <italic>Z</italic> = 5.32, <italic>p&lt;</italic> 0.001), effectively simulating the distribution characteristics of real container yards. Compared with traditional data generation methods, this generator offers several advantages:</p>
<statement id="st2">
<label>Algorithm 2</label>
<title>Adaptive data generator (main algorithm pseudocode).</title>
<p>
<preformat>&#xD;
1: <bold>Parameters:</bold>
&#xD;
2: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im62">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula></named-content>: max number of nonzero elements per column&#xD;
3: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im63">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula></named-content>: number of columns&#xD;
4: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im64">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula></named-content>: number of bays&#xD;
5: &#x2003;<italic>T</italic> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im65">
<mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula></named-content>: target number of generated structures&#xD;
6: &#x2003;The generated 3D structure is <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im66">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>*</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula></named-content>.&#xD;
7: <bold>Procedure</bold> <sc>GenerateConstrainedStructures</sc>(<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im67">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula></named-content>)&#xD;
8: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im68">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mo>&#x2205;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula></named-content> &#x2003;<bold># Set for unique 3D structures</bold>
&#xD;
9: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im69">
<mml:mrow>
<mml:mtext>&#x3a9;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mo>&#x2205;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula></named-content> &#x2003;<bold># Set for storing string representations</bold>
&#xD;
10: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im70">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content> &#x2003;<bold># Counter for successful generation</bold>
&#xD;
11: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im71">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content> &#x2003;<bold># Counter for attempts</bold>
&#xD;
12: &#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im72">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mtext>max&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>5</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>4</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
13: &#x2003;<bold>while</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im73">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>and</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im74">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mtext>max&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>do</bold>
&#xD;
14: &#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im75">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
15: &#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im76">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>&#x39b;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>SAMPLEDIMENSION</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
16: &#x2003;&#x2003;<bold>if</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im77">
<mml:mrow>
<mml:mtext>&#x39b;</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mo>&#x2205;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>then</bold>
&#xD;
17: &#x2003;&#x2003;&#x2003;<bold>continue # Skip if distribution &#x2003;&#x2003;&#x2003;&#x2003;&#x2003;generation fails</bold>
&#xD;
18: &#x2003;&#x2003;<bold>end if</bold>
&#xD;
19: &#x2003;&#x2003;<bold>if not</bold> CHECKCONSTRAINTS <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im78">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mtext>&#x39b;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>then</bold>
&#xD;
20: &#x2003;&#x2003;&#x2003;<bold>continue</bold>
&#xD;
21: &#x2003;&#x2003;<bold>end if</bold>
&#xD;
22: &#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im79">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>SHUFFLE</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content> &#x2003;<bold># Random number pool</bold>
&#xD;
23: &#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im80">
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
</mml:mrow>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2205;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
<mml:mrow>
<mml:mo>&#x2009;</mml:mo>
<mml:mtext>for</mml:mtext>
<mml:mo>&#x2009;</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2026;</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2009;</mml:mo>
<mml:mtext>for</mml:mtext>
<mml:mo>&#x2009;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&#x2026;</mml:mo>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula></named-content> &#x2003;&#x2003;&#x2003;&#x2003;<bold># Initialize empty structure</bold>
&#xD;
24: &#x2003;&#x2003;<bold>if not</bold> BACKTRACKFIX <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im81">
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>P</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2009;</mml:mo>
<mml:mtext>&#x39b;</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>then</bold>
&#xD;
25: &#x2003;&#x2003;&#x2003;<bold>continue # Skip if backtracking fails</bold>
&#xD;
26: &#x2003;&#x2003;<bold>end if</bold>
&#xD;
27: &#x2003;&#x2003;<italic>&#x3c3;</italic> &#x2190; SERIALIZE(<italic>X</italic>)&#xD;
28: &#x2003;&#x2003;<bold>if</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im82">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
<mml:mo>&#x2209;</mml:mo>
<mml:mtext>&#x3a9;</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>then</bold>
&#xD;
29: &#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im83">
<mml:mrow>
<mml:mtext>&#x3a9;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x3a9;</mml:mtext>
<mml:msup>
<mml:mo>&#x222a;</mml:mo>
<mml:mo>&#x200b;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mi>&#x3c3;</mml:mi>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
30: &#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im84">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>A</mml:mi>
<mml:msup>
<mml:mo>&#x222a;</mml:mo>
<mml:mo>&#x200b;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
31: &#x2003;&#x2003;&#x2003;<named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im85">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2190;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content>
&#xD;
32: &#x2003;&#x2003;&#x2003;<bold>if</bold> <named-content content-type="inline-article"><inline-formula>
<mml:math display="inline" id="im86">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2009;</mml:mo>
<mml:mtext>mod&#xa0;</mml:mtext>
<mml:mo>&#x2009;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula></named-content> <bold>then</bold>
&#xD;
33: &#x2003;&#x2003;&#x2003;&#x2003;OUTPUTPROGRESS(<italic>&#x3b3;, T, &#x3b1;</italic>, ELAPSEDTIME())&#xD;
34: &#x2003;&#x2003;&#x2003;<bold>end if</bold>
&#xD;
35: &#x2003;&#x2003;<bold>end if</bold>
&#xD;
36: &#x2003;<bold>end while</bold>
&#xD;37: &#x2003;<bold>return <italic>A</italic> # Return the set of 3D structures</bold>
</preformat>
</p>
</statement>
<list list-type="bullet">
<list-item>
<p>Three-dimensional Topology Modeling: Direct extension to a three-dimensional structure (tier&#x2013;stack&#x2013;bay) with an integrated physical constraint-based buffer design that better meets practical operational requirements;</p>
</list-item>
<list-item>
<p>Intelligent Optimization: Integration of dynamic programming with heuristic search strategies to flexibly evaluate and generate feasible container relocation plans;</p>
</list-item>
<list-item>
<p>Massive Data Generation: Capable of generating up to 10<sup>5</sup> non-repetitive instances in a single run, enhancing data diversity and complexity.</p>
</list-item>
</list>
</sec>
<sec id="s5_1_4">
<label>5.1.4</label>
<title>Data-generation constraints</title>
<p>To guarantee that the generated data remain both realistic and adequately diverse, the ADG framework implements a multi-tiered hierarchy of constraints derived from real-world operational rules. These constraints are divided into two principal categories (see <xref ref-type="disp-formula" rid="eq16">Equations 16</xref>&#x2013;<xref ref-type="disp-formula" rid="eq23">23</xref>):</p>
<sec id="s5_1_4_1">
<label>5.1.4.1</label>
<title>Physical-structure constraints</title>
<p>&#x2022; Stack-height limit</p>
<disp-formula id="eq16">
<label>(16)</label>
<mml:math display="block" id="M16">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mrow>
<mml:mtext>max&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im87">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the observed height of the stack in Bay <italic>k</italic> of Stack <italic>j</italic>, and <italic>H</italic>
<sub>max</sub> denotes the maximum permissible safe stacking height.</p>
<p>&#x2022; Bottom-layer non-emptiness</p>
<p>If Stack <italic>j</italic> contains any containers, then</p>
<disp-formula id="eq17">
<label>(17)</label>
<mml:math display="block" id="M17">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2260;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>thereby ensuring that containers are stacked contiguously from the base upward.</p>
<p>&#x2022; Contiguous-stacking constraint</p>
<p>For any level <inline-formula>
<mml:math display="inline" id="im88">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, if</p>
<disp-formula id="eq18">
<label>(18)</label>
<mml:math display="block" id="M18">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Then</p>
<disp-formula id="eq19">
<label>(19)</label>
<mml:math display="block" id="M19">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mtext>&#x2200;</mml:mtext>
<mml:mn>1</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</disp-formula>
<p>thus preventing unsupported containers.</p>
<p>&#x2022; Balance-distribution constraint</p>
<p>Let <inline-formula>
<mml:math display="inline" id="im89">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denote the set of all stack heights across every bay. The standard deviation is required to satisfy</p>
<disp-formula id="eq20">
<label>(20)</label>
<mml:math display="block" id="M20">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mtext>max&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <italic>&#x3b4;</italic>
<sub>max</sub> specifies the maximum permissible tilt of the storage yard.</p>
</sec>
<sec id="s5_1_4_2">
<label>5.1.4.2</label>
<title>Operational-logic constraints</title>
<p>&#x2022; Priority-uniqueness constraint</p>
<disp-formula id="eq21">
<label>(21)</label>
<mml:math display="block" id="M21">
<mml:mrow>
<mml:mtext>&#x2200;</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2260;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2260;</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2228;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#x2228;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:msup>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:msup>
<mml:mi>k</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>thereby guaranteeing that each non-zero priority is assigned to exactly one container.</p>
<p>&#x2022; Temporal-consistency constraint</p>
<p>Define the retrieval sequence as <italic>Q</italic> = (<italic>q</italic>
<sub>1</sub>
<italic>,q</italic>
<sub>2</sub>
<italic>,&#x2026;,q<sub>N</sub>
</italic>). Assigned priorities satisfy</p>
<disp-formula id="eq22">
<label>(22)</label>
<mml:math display="block" id="M22">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>p</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&lt;</mml:mo>
<mml:mi>&#x3c0;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mi>p</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<p>thus enforcing a strictly monotonic relationship between lower priority values and earlier retrieval.</p>
<p>&#x2022; Feasibility constraint</p>
<p>The initial stacking configuration must ensure the existence of at least one feasible extraction sequence for the specified retrieval order <italic>Q</italic>, thereby precluding unsolvable scenarios.</p>
<p>&#x2022; Obstruction-container ratio control</p>
<p>At any time <italic>t</italic>, let <inline-formula>
<mml:math display="inline" id="im90">
<mml:mrow>
<mml:msub>
<mml:mi>&#x212c;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> be the set of obstructing containers and <italic>N</italic> the total container count. This ratio is required to satisfy</p>
<disp-formula id="eq23">
<label>(23)</label>
<mml:math display="block" id="M23">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mtext>min&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2264;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>&#x212c;</mml:mi>
<mml:mi>t</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo>|</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:mfrac>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mtext>max&#xa0;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>thus maintaining the obstruction proportion within acceptable bounds.</p>
<p>By incorporating these constraints, the generated data more accurately emulate real-world port operations. Section 6 provides comparative experiments to quantitatively assess the suitability of ADG across diverse port environments.</p>
</sec>
</sec>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Feature engineering</title>
<p>Based on the large-scale sample set constructed by ADG, key features are extracted from multiple dimensions, including container priority distribution and the three-dimensional spatial layout of the yard. To meet the spatiotemporal constraints of relocation operations and improve optimization efficiency, this section extends and refines feature extraction for three-dimensional scenarios based on previous research on two-dimensional CRP (<xref ref-type="bibr" rid="B49">Ye et&#xa0;al., 2023</xref>).</p>
<sec id="s5_2_1">
<label>5.2.1</label>
<title>Initial yard storage state parameters</title>
<p>To precisely characterize the overall storage configuration at the initial time, a series of core parameters and vectors describe the yard&#x2019;s scale and load distribution characteristics (see <xref ref-type="disp-formula" rid="eq24">Equations 24</xref>&#x2013;<xref ref-type="disp-formula" rid="eq35">35</xref>).</p>
<list list-type="simple">
<list-item>
<p>&#x2022; Core Scale Indicators</p>
</list-item>
</list>
<list list-type="bullet">
<list-item>
<p>
<inline-formula>
<mml:math display="inline" id="im91">
<mml:mrow>
<mml:mi>B</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>: Total number of bays, representing the horizontal scale of the yard;</p>
</list-item>
<list-item>
<p>
<inline-formula>
<mml:math display="inline" id="im92">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>: Total number of stacks, characterizing the vertical scale of the yard;</p>
</list-item>
<list-item>
<p>
<inline-formula>
<mml:math display="inline" id="im93">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>: Maximum stackable tiers, indicating the vertical space capacity;</p>
</list-item>
<list-item>
<p>
<inline-formula>
<mml:math display="inline" id="im94">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi>&#x2124;</mml:mi>
<mml:mo>+</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>: Total initial number of containers, reflecting the overall system load;</p>
</list-item>
<list-item>
<p>
<bold>N</bold> = [<italic>N</italic>
<sub>1</sub>
<italic>,&#x2026;,N<sub>B</sub>
</italic>]<italic>
<sup>T</sup>
</italic>: Initial container count vector for bays, where <italic>N<sub>k</sub>
</italic> denotes the container count in the <italic>k</italic>-th bay.</p>
</list-item>
</list>
<list list-type="simple">
<list-item>
<p>&#x2022; Load and Distribution Balance</p>
</list-item>
</list>
<list list-type="bullet">
<list-item>
<p>The storage balance index measures load differences among bays:</p>
</list-item>
</list>
<disp-formula id="eq24">
<label>(24)</label>
<mml:math display="block" id="M24">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>B</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:msqrt>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:mover accent="true">
<mml:mi>N</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>B</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>A larger <inline-formula>
<mml:math display="inline" id="im95">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> indicates a more imbalanced load distribution among bays, which necessitates more inter-bay container relocations and significantly influences algorithmic strategy selection.</p>
</sec>
<sec id="s5_2_2">
<label>5.2.2</label>
<title>Capacity characteristics</title>
<p>In three-dimensional CRP scenarios, capacity utilization is a key indicator of storage pressure and resource usage efficiency. This subsection presents multidimensional capacity characteristics:</p>
<list list-type="bullet">
<list-item>
<p>Capacity Evaluation in Three-Dimensional CRP Scenarios</p>
</list-item>
<list-item>
<p>Theoretical Maximum Capacity</p>
</list-item>
</list>
<disp-formula id="eq25">
<label>(25)</label>
<mml:math display="block" id="M25">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, the term (<italic>T</italic> &#x2212; 1) is subtracted to reserve necessary buffer space for relocation operations;</p>
<p>&#x2022; Overall Space Utilization</p>
<disp-formula id="eq26">
<label>(26)</label>
<mml:math display="block" id="M26">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">U</mml:mi>
<mml:mrow>
<mml:mtext>total</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mrow>
<mml:mtext>max</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This indicator reflects overall resource utilization efficiency and indirectly gauges the complexity level of relocation operations;</p>
<p>Bay Utilization Vector</p>
<disp-formula id="eq27">
<label>(27)</label>
<mml:math display="block" id="M27">
<mml:mrow>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>U</mml:mi>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>B</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This vector represents capacity occupancy rates in both horizontal and vertical dimensions for each bay, providing a quantitative basis for zonal optimization strategies;</p>
<p>&#x2022; Utilization Peak</p>
<disp-formula id="eq28">
<label>(28)</label>
<mml:math display="block" id="M28">
<mml:mrow>
<mml:mtext>Peak</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>U</mml:mi>
</mml:mstyle>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>max</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munder>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>B</mml:mi>
</mml:mfrac>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>B</mml:mi>
</mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>U</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This metric quantifies the degree of local congestion. A higher value indicates more pronounced congestion, suggesting that relocation operations may occur more frequently in that area;</p>
<p>&#x2022; Safety Stock Ratio</p>
<disp-formula id="eq29">
<label>(29)</label>
<mml:math display="block" id="M29">
<mml:mrow>
<mml:mtext>Buffer</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>Number</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>of</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>available</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>spaces</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>100</mml:mn>
<mml:mo>%</mml:mo>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This ratio represents the proportion of free space available for container relocation and temporary transfer operations, crucial for ensuring operational flexibility and safety.</p>
</sec>
<sec id="s5_2_3">
<label>5.2.3</label>
<title>Three-dimensional storage distribution characteristics</title>
<p>To precisely characterize the spatial distribution of the initial storage state in three dimensions, two key matrices are introduced:</p>
<p>&#x2022; Tier&#x2013;Bay Column Occupancy Matrix</p>
<disp-formula id="eq30">
<label>(30)</label>
<mml:math display="block" id="M30">
<mml:mrow>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>C</mml:mi>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Column</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:msub>
<mml:mrow>
<mml:mtext>Column</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, <inline-formula>
<mml:math display="inline" id="im96">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>Column</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> denotes the number of stacks occupied in bay <italic>k</italic> at tier <italic>i</italic>. This matrix analyzes load distribution across different tiers within each bay;</p>
<p>&#x2022; Stack&#x2013;Bay Height Matrix</p>
<disp-formula id="eq31">
<label>(31)</label>
<mml:math display="block" id="M31">
<mml:mrow>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>H</mml:mi>
</mml:mstyle>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Height</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Height</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, <inline-formula>
<mml:math display="inline" id="im97">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>Height</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> indicates the actual stacking height of stack <italic>j</italic> in bay <italic>k</italic>. This matrix assesses spatial resource occupancy across stacks and assists in prioritizing relocation operations.</p>
</sec>
<sec id="s5_2_4">
<label>5.2.4</label>
<title>Priority space mapping</title>
<p>In a three-dimensional storage environment, each location possesses not only spatial coordinates but also multiple attributes, such as priority. To facilitate feature extraction by intelligent optimization models&#x2014;especially DRL&#x2014;a three-dimensional tensor representation is constructed:</p>
<disp-formula id="eq32">
<label>(32)</label>
<mml:math display="block" id="M32">
<mml:mrow>
<mml:mi mathvariant="script">Y</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mstyle mathvariant="bold" mathsize="normal">
<mml:mi>Y</mml:mi>
</mml:mstyle>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2003;</mml:mtext>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo>}</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, <inline-formula>
<mml:math display="inline" id="im98">
<mml:mrow>
<mml:msub>
<mml:mi>Y</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>denotes the priority of the container at position (<italic>i,j,k</italic>) (an empty position is denoted by 0). This tensor fully characterizes the priority state of any stacking location and can be directly employed by neural network models for multidimensional feature learning and extraction.</p>
</sec>
<sec id="s5_2_5">
<label>5.2.5</label>
<title>Container relocation operation complexity</title>
<p>To quantify the complexity of relocation operations under various storage layouts and priority distributions, several core indicators are defined, considering the requirements of CO and DRL:</p>
<p>Bay-Level Container Relocation Upper Bound [Based on the Caserta Paradigm (<xref ref-type="bibr" rid="B10">Caserta et&#xa0;al., 2012</xref>)]</p>
<disp-formula id="eq33">
<label>(33)</label>
<mml:math display="block" id="M33">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mi>B</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>

<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im99">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. This formula estimates the potential maximum number of container relocations in a single bay and provides a theoretical upper bound for optimization algorithms;</p>
<p>&#x2022; Three-Dimensional Scenario Container Relocation Upper Bound</p>
<disp-formula id="eq34">
<label>(34)</label>
<mml:math display="block" id="M34">
<mml:mrow>
<mml:mtext>Total</mml:mtext>
<mml:mo>&#x2009;</mml:mo>
<mml:mtext>UB</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>&gt;</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:mrow>
</mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<p>where <inline-formula>
<mml:math display="inline" id="im100">
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>B</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. In three-dimensional environments, container relocation may occur across different bays and stacks, resulting in higher complexity. This indicator quantifies the theoretical upper bound for relocation operations in a three-dimensional setting;</p>
<p>&#x2022; Container Relocation Lower Bound Estimation</p>
<disp-formula id="eq35">
<label>(35)</label>
<mml:math display="block" id="M35">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mi>C</mml:mi>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>Height</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:msup>
<mml:mi>i</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msup>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>Height</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo>)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:mstyle>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Here, <inline-formula>
<mml:math display="inline" id="im101">
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>&#xb7;</mml:mo>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denotes the indicator function, and <inline-formula>
<mml:math display="inline" id="im102">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mtext>&#x2032;</mml:mtext>
<mml:mi>j</mml:mi>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the priority of the container at that location. This estimation dynamically assesses the potential relocation pressure for each stack, providing guidance for local decision-making in intelligent algorithms.</p>
<p>In summary, a multidimensional and systematic feature framework is constructed for the threedimensional CRP, covering elements such as initial storage state, spatial capacity utilization, threedimensional distribution characteristics, priority mapping, and operation complexity. These features significantly improve the solution efficiency of traditional CO methods while providing high-quality data inputs for integrating advanced AI techniques with operations research methods. This framework establishes a solid theoretical and practical foundation for the deep fusion of AI and operations research.</p>
</sec>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Numerical experiments</title>
<p>This section provides a rigorous evaluation of the ADG and IDDA frameworks in both two-dimensional and three-dimensional container-yard scenarios. A multi-dimensional evaluation methodology, combining statistical inference with computational complexity analysis, is employed to assess improvements in solution quality, computational efficiency, and scalability.</p>
<sec id="s6_1">
<label>6.1</label>
<title>Applicability analysis of the ADG framework in diverse port environments</title>
<p>Modern ports are categorized into three distinct classes based on automation level, scale, and operational mode: large fully automated ports, medium semi-automated ports, and small conventional ports. To assess the generalizability of the ADG framework across these contexts, bespoke parameter templates were developed for each port class, covering:</p>
<list list-type="bullet">
<list-item>
<p>Physical parameters: storage yard height, number of bays, stacks, etc.;</p>
</list-item>
<list-item>
<p>Operational parameters: utilization ratio, priority assignment strategy, and handling-time variability, etc.</p>
</list-item>
</list>
<p>To quantify the impact of this parameterization on model performance, 10,000 synthetic samples were randomly generated for each port scenario and partitioned into training (80%) and testing (20%) sets. Experiments were conducted with identical random seeds, repeated in triplicate, and results were averaged to enhance robustness and reproducibility. <xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref> summarizes the key parameter configurations alongside the corresponding model training outcomes for the three port categories.</p>
<table-wrap id="T4" position="float">
<label>Table&#xa0;4</label>
<caption>
<p>Parameter configurations and performance metrics of the ADG in different port environments.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">Parameter</th>
<th valign="top" align="left">Port Type</th>
<th valign="top" align="center">Large Fully Automated Port</th>
<th valign="top" align="center">Medium Semi- Automated Port</th>
<th valign="top" align="center">Small Traditional Port</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" rowspan="4" align="left">Physical<break/>Parameters</td>
<td valign="top" align="left">Maximum Stack Height<break/>
<italic>H</italic>
<sub>max</sub>
</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">4</td>
</tr>
<tr>
<td valign="top" align="left">Number of Bays (<italic>B</italic>)</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">6</td>
</tr>
<tr>
<td valign="top" align="left">Number of Stacks (<italic>S</italic>)</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">6</td>
</tr>
<tr>
<td valign="top" align="left">Balance Factor <italic>&#x3b4;</italic>
<sub>max</sub>
</td>
<td valign="top" align="center">0.4</td>
<td valign="top" align="center">0.3</td>
<td valign="top" align="center">0.2</td>
</tr>
<tr>
<td valign="top" rowspan="4" align="left">Operational Parameters</td>
<td valign="top" align="left">Utilization-Ratio Range (%)</td>
<td valign="top" align="center">60&#x2013;90</td>
<td valign="top" align="center">50&#x2013;80</td>
<td valign="top" align="center">40&#x2013;70</td>
</tr>
<tr>
<td valign="top" align="left">Priority Assignment Strategy</td>
<td valign="top" align="center">Strict priority</td>
<td valign="top" align="center">Strict priority</td>
<td valign="top" align="center">Mixed priority</td>
</tr>
<tr>
<td valign="top" align="left">Operation-Time Variability (%)</td>
<td valign="top" align="center">10&#x2013;15</td>
<td valign="top" align="center">15&#x2013;20</td>
<td valign="top" align="center">20&#x2013;30</td>
</tr>
<tr>
<td valign="top" align="left">Balance Impact Factor</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">0.3</td>
<td valign="top" align="center">0.2</td>
</tr>
<tr>
<td valign="top" rowspan="4" align="left">Model<break/>Performance</td>
<td valign="top" align="left">Mean Squared Error (MSE)</td>
<td valign="top" align="center">5.86</td>
<td valign="top" align="center">3.57</td>
<td valign="top" align="center">3.61</td>
</tr>
<tr>
<td valign="top" align="left">Coefficient of<break/>Determination (R&#xb2;)</td>
<td valign="top" align="center">0.851</td>
<td valign="top" align="center">0.851</td>
<td valign="top" align="center">0.882</td>
</tr>
<tr>
<td valign="top" align="left">Relative Prediction Error (%)</td>
<td valign="top" align="center">9.3</td>
<td valign="top" align="center">9.2</td>
<td valign="top" align="center">7.8</td>
</tr>
<tr>
<td valign="top" align="left">Computation Time (ms/sample)</td>
<td valign="top" align="center">7.5</td>
<td valign="top" align="center">6.8</td>
<td valign="top" align="center">6.3</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>As presented in <xref ref-type="table" rid="T4">
<bold>Table&#xa0;4</bold>
</xref>, the coefficient of determination (R&#xb2;) for all three port-type models exceeds 0.85, evidencing that the ADG furnishes high-quality training data while ensuring accurate predictions of container relocation counts. Notably, the small traditional port model achieved the highest R&#xb2; (0.882), a result attributable to the greater regularity and fewer disturbances in small-scale port scenarios, which facilitates the model&#x2019;s ability to capture underlying operational patterns. Further analysis indicates that yard height (<italic>H</italic>
<sub>max</sub>) and utilization ratio serve as the primary drivers influencing container relocation counts. Moreover, the priority strategy employed by each port exerts a significant influence on handling efficiency, with the magnitude of this effect contingent upon port scale.</p>
<p>Overall, the model effectively reflects the relationship between yard scale and operational efficiency. Through predefined parameter templates, dynamic parameter adjustments, and an adjustable constraintweight mechanism, the ADG exhibits exceptional adaptability across various port environments.</p>
</sec>
<sec id="s6_2">
<label>6.2</label>
<title>IDDA performance evaluation</title>
<p>The data employed in this subsection were generated by the ADG framework. The primary motivations for this methodology are as follows: (1) Data Availability and Privacy Constraints: Real-world operational datasets are often classified as proprietary or subject to stringent privacy regulations. Publicly accessible historical trajectory records offering comprehensive, continuous, multi-port coverage&#x2014;including extreme event scenarios&#x2014;are exceedingly scarce. (2) Multi-Scenario Coverage and Algorithmic Validation: The ADG framework facilitates parameterized simulation of a broad spectrum of operational scenarios&#x2014;ranging from routine throughput to peak congestion, equipment failures, and other emergent events&#x2014;thereby enabling a systematic evaluation of algorithmic robustness under diverse, extreme operating conditions.</p>
<sec id="s6_2_1">
<label>6.2.1</label>
<title>Benchmark testing in two-dimensional scenarios</title>
<p>To verify the effectiveness of IDDA in two-dimensional scenarios, an evaluation system focusing on the number of relocation operations and computational time was established. Four representative algorithms were selected for comparative analysis under the standardized testing framework of Caserta&#x2013;Vo&#xdf; (<xref ref-type="bibr" rid="B10">Caserta et&#xa0;al., 2012</xref>): the KH algorithm (<xref ref-type="bibr" rid="B24">Kim and Hong, 2006</xref>), the DH algorithm (<xref ref-type="bibr" rid="B2">Aydin, 2006</xref>), the CM algorithm (<xref ref-type="bibr" rid="B9">Caserta et&#xa0;al., 2009</xref>), and the LA algorithm (<xref ref-type="bibr" rid="B40">Petering and Hussein, 2013</xref>). The experiments utilized the developed ADG to produce 100,000 sets of two-dimensional yard instances, covering specifications ranging from 3 &#xd7; 3 to 10 &#xd7; 10. The hardware environment was uniformly configured with an Intel Core i7-12700F processor and 16 GB RAM. <xref ref-type="table" rid="T5">
<bold>Table&#xa0;5</bold>
</xref> summarizes the performance of the algorithms across different scales, where all results represent the averages of multiple independent runs.</p>
<table-wrap id="T5" position="float">
<label>Table&#xa0;5</label>
<caption>
<p>Performance comparison of algorithms in two-dimensional scenarios (Container Relocation Operations, Relocs: TEU; Time: s).</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Tier&#xd7;Stack</th>
<th valign="top" colspan="2" align="center">KH</th>
<th valign="top" colspan="2" align="center">DH</th>
<th valign="top" colspan="2" align="center">CM</th>
<th valign="top" colspan="2" align="center">LA</th>
<th valign="top" colspan="2" align="center">IDDA (Proposed)</th>
</tr>
<tr>
<th valign="top" align="center">Relocs</th>
<th valign="top" align="center">Time</th>
<th valign="top" align="center">Relocs</th>
<th valign="top" align="center">Time</th>
<th valign="top" align="center">Relocs</th>
<th valign="top" align="center">Time</th>
<th valign="top" align="center">Relocs</th>
<th valign="top" align="center">Time</th>
<th valign="top" align="center">Relocs</th>
<th valign="top" align="center">Time</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">3&#xd7;3</td>
<td valign="top" align="center">7.1</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">5.6</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">5.1</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">5.4</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>2.4</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">3&#xd7;4</td>
<td valign="top" align="center">10.7</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">7.3</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">6.3</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">6.5</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>2.4</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">3&#xd7;5</td>
<td valign="top" align="center">14.5</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">8.0</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">7.0</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">7.3</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>2.5</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">4&#xd7;4</td>
<td valign="top" align="center">16.0</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">12.2</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">10.4</td>
<td valign="top" align="center">0.2</td>
<td valign="top" align="center">9.9</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>4.1</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">4&#xd7;5</td>
<td valign="top" align="center">23.4</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">15.7</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">13.0</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">16.5</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>4.8</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">4&#xd7;6</td>
<td valign="top" align="center">26.2</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">17.3</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">14.0</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">19.8</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>5.5</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">4&#xd7;7</td>
<td valign="top" align="center">32.2</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">20.2</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">16.4</td>
<td valign="top" align="center">0.5</td>
<td valign="top" align="center">21.5</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>6.3</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">5&#xd7;5</td>
<td valign="top" align="center">37.5</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">23.9</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">18.8</td>
<td valign="top" align="center">0.8</td>
<td valign="top" align="center">19.7</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>7.5</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">5&#xd7;6</td>
<td valign="top" align="center">45.5</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">27.9</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">22.1</td>
<td valign="top" align="center">0.8</td>
<td valign="top" align="center">22.6</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>8.6</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">5&#xd7;7</td>
<td valign="top" align="center">52.3</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">31.9</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">25.8</td>
<td valign="top" align="center">1.43</td>
<td valign="top" align="center">24.8</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>9.6</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">5&#xd7;8</td>
<td valign="top" align="center">61.8</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">36.4</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">30.1</td>
<td valign="top" align="center">1.46</td>
<td valign="top" align="center">27.8</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>10.7</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">5&#xd7;9</td>
<td valign="top" align="center">72.4</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">40.3</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">33.1</td>
<td valign="top" align="center">1.41</td>
<td valign="top" align="center">30.7</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>11.8</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">6&#xd7;6</td>
<td valign="top" align="center">37.3</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">41.3</td>
<td valign="top" align="center">1.74</td>
<td valign="top" align="center">32.4</td>
<td valign="top" align="center">1.74</td>
<td valign="top" align="center">32.6</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>12.1</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">6&#xd7;10</td>
<td valign="top" align="center">75.1</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">61.5</td>
<td valign="top" align="center">1.95</td>
<td valign="top" align="center">49.5</td>
<td valign="top" align="center">1.95</td>
<td valign="top" align="center">46.8</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>17.8</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;6</td>
<td valign="top" align="center">141.6</td>
<td valign="top" align="center">0.1</td>
<td valign="top" align="center">107.4</td>
<td valign="top" align="center">4.73</td>
<td valign="top" align="center">102</td>
<td valign="top" align="center">4.73</td>
<td valign="top" align="center">85.0</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>32.9</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;10</td>
<td valign="top" align="center">178.6</td>
<td valign="top" align="center">0.2</td>
<td valign="top" align="center">152.4</td>
<td valign="top" align="center">6.34</td>
<td valign="top" align="center">128.3</td>
<td valign="top" align="center">6.34</td>
<td valign="top" align="center">119.5</td>
<td valign="top" align="center">
<italic>&lt;</italic>1</td>
<td valign="top" align="center">
<bold>45.8</bold>
</td>
<td valign="top" align="center">
<bold>0.00001</bold>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>&#x201c;<italic>&lt;</italic>1&#x201d; indicates that higher-precision time data were not provided in reference (<xref ref-type="bibr" rid="B40">Petering and Hussein, 2013</xref>); the boldfaced values in the table represent the best performance indicators for each corresponding scale.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The experimental results demonstrate that IDDA offers significant advantages in both solution quality and computational efficiency:</p>
<list list-type="bullet">
<list-item>
<p>Superior Solution Quality: As the problem scale increases, IDDA consistently achieves lower container relocation counts than competing algorithms. For instance, on a 10 &#xd7; 10 scale, IDDA registers only 45.82 TEU, a 61.68% reduction compared to the second-best algorithm, LA (&#x394; = 73.68 TEU, <italic>p&lt;</italic> 0.001). Polynomial regression analysis indicates that the advantage coefficient of IDDA grows superlinearly as the scale expands (<italic>R</italic>
<sup>2</sup> = 0.98, <italic>p&lt;</italic> 0.001), demonstrating excellent asymptotic approximation performance and strong scalability for large-scale NP-hard problems;</p>
</list-item>
<list-item>
<p>Breakthrough in Computational Efficiency: While maintaining high-quality solutions, IDDA reaches microsecond-level responses (9.83 &#xb1; 0.12 &#xb5;s), approximately three orders of magnitude faster than traditional algorithms (Cohen&#x2019;s <italic>d</italic> = 4.72). This breakthrough is critical for real-time decision-making scenarios such as intelligent port scheduling.</p>
</list-item>
</list>
</sec>
<sec id="s6_2_2">
<label>6.2.2</label>
<title>Benchmark testing in three-dimensional scenarios</title>
<p>To further assess the applicability and efficacy of the proposed IDDA algorithm in three-dimensional container-yard scheduling, the evaluation framework and hardware environment were kept consistent with those employed in the two-dimensional benchmark tests. Standardized three-dimensional instances from <xref ref-type="bibr" rid="B27">Lee and Lee (2010)</xref> served as test cases, and IDDA&#x2019;s performance was rigorously benchmarked against three established methods&#x2014;the LL algorithm (<xref ref-type="bibr" rid="B27">Lee and Lee, 2010</xref>), the BJ algorithm (<xref ref-type="bibr" rid="B6">Bian and Jin, 2013</xref>), and the LL Heuristic algorithm (<xref ref-type="bibr" rid="B28">Lin et&#xa0;al., 2015</xref>)&#x2014;across various bay&#x2013;stack&#x2013;tier configurations and container volumes (see <xref ref-type="table" rid="T6">
<bold>Table&#xa0;6</bold>
</xref>). All results represent the averages of multiple independent runs, ensuring statistical validity.</p>
<table-wrap id="T6" position="float">
<label>Table&#xa0;6</label>
<caption>
<p>Average retrieval moves (TEU) across various algorithms in three-dimensional scenarios.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="left">Instance</th>
<th valign="top" align="center">Bay</th>
<th valign="top" align="center">Stack</th>
<th valign="top" align="center">Tier</th>
<th valign="top" align="center">Volume (TEU)</th>
<th valign="top" align="center">LL</th>
<th valign="top" align="center">BJ</th>
<th valign="top" align="center">LL Heuristic</th>
<th valign="top" align="center">IDDA</th>
<th valign="top" align="center">Improvement Rate</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">R011606_0070</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">70</td>
<td valign="top" align="center">125.4</td>
<td valign="top" align="center">108.2</td>
<td valign="top" align="center">110.2</td>
<td valign="top" align="center">
<bold>90.6</bold>
</td>
<td valign="top" align="center">17.79%</td>
</tr>
<tr>
<td valign="top" align="center">R021606_0140</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">140</td>
<td valign="top" align="center">230.2</td>
<td valign="top" align="center">211.4</td>
<td valign="top" align="center">213.4</td>
<td valign="top" align="center">
<bold>189.8</bold>
</td>
<td valign="top" align="center">11.06%</td>
</tr>
<tr>
<td valign="top" align="center">R041606_0280</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">280</td>
<td valign="top" align="center">454.2</td>
<td valign="top" align="center">427.6</td>
<td valign="top" align="center">433.0</td>
<td valign="top" align="center">
<bold>388.6</bold>
</td>
<td valign="top" align="center">10.25%</td>
</tr>
<tr>
<td valign="top" align="center">R061606_0430</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">430</td>
<td valign="top" align="center">709.8</td>
<td valign="top" align="center">658.8</td>
<td valign="top" align="center">657.4</td>
<td valign="top" align="center">
<bold>619</bold>
</td>
<td valign="top" align="center">5.84%</td>
</tr>
<tr>
<td valign="top" align="center">R081606_0570</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">570</td>
<td valign="top" align="center">945.4</td>
<td valign="top" align="center">875.6</td>
<td valign="top" align="center">876.2</td>
<td valign="top" align="center">
<bold>810.6</bold>
</td>
<td valign="top" align="center">7.49%</td>
</tr>
<tr>
<td valign="top" align="center">R101606_0720</td>
<td valign="top" align="center">10</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">720</td>
<td valign="top" align="center">1169.2</td>
<td valign="top" align="center">1095.8</td>
<td valign="top" align="center">1093.0</td>
<td valign="top" align="center">
<bold>1002</bold>
</td>
<td valign="top" align="center">8.33%</td>
</tr>
<tr>
<td valign="top" align="center">R011608_0090</td>
<td valign="top" align="center">1</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">90</td>
<td valign="top" align="center">191.4</td>
<td valign="top" align="center">142.0</td>
<td valign="top" align="center">152.0</td>
<td valign="top" align="center">
<bold>130.4</bold>
</td>
<td valign="top" align="center">14.21%</td>
</tr>
<tr>
<td valign="top" align="center">R021608_0190</td>
<td valign="top" align="center">2</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">190</td>
<td valign="top" align="center">367.8</td>
<td valign="top" align="center">307.6</td>
<td valign="top" align="center">315.2</td>
<td valign="top" align="center">
<bold>302.8</bold>
</td>
<td valign="top" align="center">3.93%</td>
</tr>
<tr>
<td valign="top" align="center">R041608_0380</td>
<td valign="top" align="center">4</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">380</td>
<td valign="top" align="center">768.6</td>
<td valign="top" align="center">610.6</td>
<td valign="top" align="center">623.8</td>
<td valign="top" align="center">
<bold>600.6</bold>
</td>
<td valign="top" align="center">3.72%</td>
</tr>
<tr>
<td valign="top" align="center">R061608_0570</td>
<td valign="top" align="center">6</td>
<td valign="top" align="center">16</td>
<td valign="top" align="center">8</td>
<td valign="top" align="center">570</td>
<td valign="top" align="center">1242</td>
<td valign="top" align="center">907.6</td>
<td valign="top" align="center">926.2</td>
<td valign="top" align="center">
<bold>894.2</bold>
</td>
<td valign="top" align="center">3.45%</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>Boldface values denote the best performance for each instance; the &#x201c;Improvement Rate&#x201d; indicates the percentage reduction in average moves achieved by IDDA relative to the second-best method, LL Heuristic.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>Based on the analysis of the experimental data, the following key conclusions can be drawn:</p>
<list list-type="bullet">
<list-item>
<p>Overall solution-quality advantage. Across all ten test instances&#x2014;with varying bay&#x2013;stack&#x2013;tier configurations and container volumes&#x2014;IDDA consistently achieved the lowest average number of moves. The smallest improvement was 3.5% (instance R061608_0570), while the largest reached 17.8% (instance R011606_0070), demonstrating that IDDA provides stable and substantial enhancements in solution quality across diverse spatial arrangements;</p>
</list-item>
<list-item>
<p>Scale sensitivity and scalability. As container volumes increase from 70 TEU to 720 TEU, the performance gap between IDDA and traditional heuristic methods widens steadily. This pattern indicates that IDDA maintains favorable asymptotic approximation properties and scalability when addressing large-scale, NP-hard three-dimensional yard-scheduling problems.</p>
</list-item>
</list>
</sec>
<sec id="s6_2_3">
<label>6.2.3</label>
<title>Performance evaluation in large-scale three-dimensional scenarios</title>
<p>To assess IDDA performance in large-scale three-dimensional container yards, 15 dimensional configurations were designed, ranging from 5 &#xd7; 20 &#xd7; 12 to 10 &#xd7; 25 &#xd7; 16. For each configuration, 5,000 independent instances were generated to simulate the high-dimensional complexity observed in real port terminals. The evaluation metrics included: total operations (TEU), relocation operations (TEU), computation time per instance (seconds), and scheduling efficiency (%). <xref ref-type="table" rid="T7">
<bold>Table&#xa0;7</bold>
</xref> summarizes the statistical results, including averages and standard deviations.</p>
<table-wrap id="T7" position="float">
<label>Table&#xa0;7</label>
<caption>
<p>Performance evaluation of IDDA for large-scale instances in three-dimensional scenarios.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="middle" rowspan="2" align="center">Tier&#xd7;Stack&#xd7;Bay</th>
<th valign="top" colspan="2" align="center">Operations (TEU)</th>
<th valign="top" colspan="2" align="center">Relocations (TEU)</th>
<th valign="top" colspan="2" align="center">Per Time (s)</th>
<th valign="top" colspan="2" align="center">Efficiency (%)</th>
</tr>
<tr>
<th valign="top" align="center">Average</th>
<th valign="top" align="center">SD</th>
<th valign="top" align="center">Average</th>
<th valign="top" align="center">SD</th>
<th valign="top" align="center">Average</th>
<th valign="top" align="center">SD</th>
<th valign="top" align="center">Average</th>
<th valign="top" align="center">SD</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">5&#xd7;20&#xd7;12</td>
<td valign="top" align="center">87</td>
<td valign="top" align="center">15</td>
<td valign="top" align="center">43</td>
<td valign="top" align="center">9</td>
<td valign="top" align="center">0.005</td>
<td valign="top" align="center">0.001</td>
<td valign="top" align="center">51.05%</td>
<td valign="top" align="center">3.89%</td>
</tr>
<tr>
<td valign="top" align="center">6&#xd7;20&#xd7;12</td>
<td valign="top" align="center">111</td>
<td valign="top" align="center">18</td>
<td valign="top" align="center">60</td>
<td valign="top" align="center">11</td>
<td valign="top" align="center">0.007</td>
<td valign="top" align="center">0.001</td>
<td valign="top" align="center">46.17%</td>
<td valign="top" align="center">3.42%</td>
</tr>
<tr>
<td valign="top" align="center">7&#xd7;20&#xd7;12</td>
<td valign="top" align="center">135</td>
<td valign="top" align="center">21</td>
<td valign="top" align="center">78</td>
<td valign="top" align="center">14</td>
<td valign="top" align="center">0.016</td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">42.52%</td>
<td valign="top" align="center">3.17%</td>
</tr>
<tr>
<td valign="top" align="center">8&#xd7;20&#xd7;12</td>
<td valign="top" align="center">159</td>
<td valign="top" align="center">24</td>
<td valign="top" align="center">97</td>
<td valign="top" align="center">17</td>
<td valign="top" align="center">0.012</td>
<td valign="top" align="center">0.002</td>
<td valign="top" align="center">39.50%</td>
<td valign="top" align="center">2.86%</td>
</tr>
<tr>
<td valign="top" align="center">9&#xd7;20&#xd7;12</td>
<td valign="top" align="center">186</td>
<td valign="top" align="center">27</td>
<td valign="top" align="center">117</td>
<td valign="top" align="center">19</td>
<td valign="top" align="center">0.014</td>
<td valign="top" align="center">0.002</td>
<td valign="top" align="center">36.99%</td>
<td valign="top" align="center">2.65%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;20&#xd7;12</td>
<td valign="top" align="center">213</td>
<td valign="top" align="center">30</td>
<td valign="top" align="center">139</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">0.016</td>
<td valign="top" align="center">0.003</td>
<td valign="top" align="center">34.93%</td>
<td valign="top" align="center">2.41%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;20&#xd7;13</td>
<td valign="top" align="center">203</td>
<td valign="top" align="center">30</td>
<td valign="top" align="center">134</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">0.016</td>
<td valign="top" align="center">0.003</td>
<td valign="top" align="center">34.15%</td>
<td valign="top" align="center">2.46%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;20&#xd7;14</td>
<td valign="top" align="center">192</td>
<td valign="top" align="center">30</td>
<td valign="top" align="center">128</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">0.015</td>
<td valign="top" align="center">0.003</td>
<td valign="top" align="center">33.56%</td>
<td valign="top" align="center">2.55%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;20&#xd7;15</td>
<td valign="top" align="center">184</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">124</td>
<td valign="top" align="center">21</td>
<td valign="top" align="center">0.015</td>
<td valign="top" align="center">0.005</td>
<td valign="top" align="center">33.03%</td>
<td valign="top" align="center">2.62%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;20&#xd7;16</td>
<td valign="top" align="center">176</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">119</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">0.014</td>
<td valign="top" align="center">0.003</td>
<td valign="top" align="center">32.53%</td>
<td valign="top" align="center">2.69%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;21&#xd7;16</td>
<td valign="top" align="center">184</td>
<td valign="top" align="center">29</td>
<td valign="top" align="center">124</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">0.016</td>
<td valign="top" align="center">0.003</td>
<td valign="top" align="center">32.58%</td>
<td valign="top" align="center">2.62%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;22&#xd7;16</td>
<td valign="top" align="center">194</td>
<td valign="top" align="center">30</td>
<td valign="top" align="center">131</td>
<td valign="top" align="center">22</td>
<td valign="top" align="center">0.019</td>
<td valign="top" align="center">0.01</td>
<td valign="top" align="center">32.54%</td>
<td valign="top" align="center">2.55%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;23&#xd7;16</td>
<td valign="top" align="center">202</td>
<td valign="top" align="center">31</td>
<td valign="top" align="center">136</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">0.02</td>
<td valign="top" align="center">0.009</td>
<td valign="top" align="center">32.57%</td>
<td valign="top" align="center">2.45%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;24&#xd7;16</td>
<td valign="top" align="center">212</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">143</td>
<td valign="top" align="center">23</td>
<td valign="top" align="center">0.024</td>
<td valign="top" align="center">0.014</td>
<td valign="top" align="center">32.55%</td>
<td valign="top" align="center">2.42%</td>
</tr>
<tr>
<td valign="top" align="center">10&#xd7;25&#xd7;16</td>
<td valign="top" align="center">221</td>
<td valign="top" align="center">32</td>
<td valign="top" align="center">149</td>
<td valign="top" align="center">24</td>
<td valign="top" align="center">0.021</td>
<td valign="top" align="center">0.004</td>
<td valign="top" align="center">32.61%</td>
<td valign="top" align="center">2.36%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Key conclusions from the experimental results are as follows:</p>
<list list-type="bullet">
<list-item>
<p>Algorithm Stability and Statistical Robustness: In scenarios covering 15 configurations with a total of 75,000 test instances, IDDA exhibits stable performance across metrics such as total operations, container relocations, and efficiency, with standard deviations within 2.36% to 3.89%. This indicates strong convergence and generalization capabilities, meeting industrial robustness requirements;</p>
</list-item>
<list-item>
<p>Vertical Scalability and Nonlinear Complexity: When the number of tiers increases from 5 to 10 (with Stack &#xd7; Bay held at 20 &#xd7; 12), total operations rise from 87 to 213 (a 145% increase), and container relocations grow from 43 to 139 (a 223% increase), while scheduling efficiency drops from 51.05% to 34.93%. This trend confirms the &#x201c;curse of dimensionality&#x201d; and emphasizes stacking height as a primary source of complexity in the three-dimensional CRP;</p>
</list-item>
<list-item>
<p>Diminishing Marginal Returns of Bay Expansion: Keeping &#x201c;Tier &#xd7; Stack&#x201d; at 10 &#xd7; 20 but increasing the number of bays from 12 to 16 reduces total operations and container relocations by 17.4% and 14.4%, respectively. However, scheduling efficiency levels off, showing a typical diminishing marginal return;</p>
</list-item>
<list-item>
<p>Horizontal Dimension and Computational Complexity: With &#x201c;Tier &#xd7; Bay&#x201d; fixed at 10&#xd7;16, increasing the number of stacks from 20 to 25 results in an approximate 25% increase in total operations and container relocations. Nonetheless, scheduling efficiency remains around 32.5%, and the computation time per instance rises only slightly (from 0.014 to 0.021 seconds), consistent with CO theory regarding the heterogeneous impact of different dimensions;</p>
</list-item>
<list-item>
<p>Engineering Feasibility of Millisecond-Level Computation: Under all tested configurations, IDDA maintains response times in the millisecond range (0.005 to 0.024 seconds). Even in the largest configuration (10 &#xd7; 25 &#xd7; 16), computation does not exceed 0.151 seconds, fulfilling real-time optimization requirements for practical port operations;</p>
</list-item>
<list-item>
<p>Container Relocation Ratio as a Performance Bottleneck: Across various configurations, as stacking height increases, efficiency decreases from 51.05% to 32.53%, while horizontal or vertical expansions yield only limited improvements. This indicates that container relocation remains the main bottleneck for performance enhancement and a critical focus for future algorithmic improvements.</p>
</list-item>
</list>
<p>As illustrated in <xref ref-type="fig" rid="f9">
<bold>Figure&#xa0;9</bold>
</xref>, the three-dimensional surface&#x2014;constructed based on the number of tiers (Tier), bay positions (Bay), and relocation rate (Z-axis)&#x2014;visually illustrates the nonlinear increase in complexity that occurs as yard scale expands across different dimensions. When the number of tiers rises from 5 to 10, the relocation rate increases markedly, producing a distinct &#x201c;phase-change surface&#x201d; on the plot, emphasizing the critical impact of vertical expansion on problem complexity. By contrast, lateral and longitudinal expansions display relatively gradual gradients, further supporting that the three-dimensional CRP exhibits diverse difficulty characteristics across different dimensions.</p>
<fig id="f9" position="float">
<label>Figure&#xa0;9</label>
<caption>
<p>Phase transition surface for problem complexity.</p>
</caption>
<graphic mimetype="image" mime-subtype="tiff" xlink:href="fmars-12-1614356-g009.tif">
<alt-text content-type="machine-generated">Three-dimensional surface plot showing the relocation ratio as a percentage, with axes for Bay, Tier, and a color gradient representing the relocation ratio. The plot contrasts vertical expansion (Tier) represented in red and bay expansion (Bay) shown in blue. The data points form a sloping surface, decreasing from approximately 70% to 30% relocation ratio.</alt-text>
</graphic>
</fig>
</sec>
</sec>
<sec id="s6_3">
<label>6.3</label>
<title>OLCF performance evaluation</title>
<sec id="s6_3_1">
<label>6.3.1</label>
<title>Effectiveness of feature engineering</title>
<p>A dataset representing a container yard scenario (6 bays, 6 stacks, 6 tiers) was constructed via ADG. Systematic feature engineering was then applied to 100,000 initial matrices, with the number of container relocations output by IDDA serving as the target variable. This transformation treats the CRP as a prediction task. The dataset includes 178 feature variables and one target variable, culminating in a 100,000 &#xd7; 179 data scale.</p>
<p>To quantify the correlation between features and the target variable, the Pearson correlation coefficient was utilized. The results show that certain features demonstrate a significant linear correlation with container relocation count:</p>
<list list-type="bullet">
<list-item>
<p>Total initial container count, the relocation upper bound for three-dimensional scenarios, overall space utilization, and container relocation count are significantly positively correlated (<italic>&#x3c1;</italic> &#x2248; 0.56), indicating that higher loading and space utilization lead to greater relocation demands;</p>
</list-item>
<list-item>
<p>Safety stock ratio is negatively correlated with container relocation count (<italic>&#x3c1;</italic> &#x2248;&#x2212;0.56), implying that a larger degree of available vacant space coincides with fewer relocations;</p>
</list-item>
<list-item>
<p>Stacking amount at higher tiers shows a moderate positive correlation with container relocation count (<italic>&#x3c1;</italic> &#x2248; 0.47 &#x2212; 0.51), suggesting that as stacking height increases, the likelihood of container relocations rises significantly.</p>
</list-item>
</list>
<p>These findings indicate that container relocation is influenced by both macroscopic factors (loading, space utilization) and local stacking conditions, providing insights for subsequent model development and feature selection.</p>
</sec>
<sec id="s6_3_2">
<label>6.3.2</label>
<title>Architecture design</title>
<p>Before model construction, the dataset was partitioned into training, validation, and test sets in a 7:1.5:1.5 ratio via stratified random sampling. Five-fold cross-validation and a fixed random seed were used to ensure stability and reproducibility of results. For predicting the container relocation count, various learning models (<xref ref-type="bibr" rid="B47">Wolpert, 1992</xref>; <xref ref-type="bibr" rid="B12">Chen and Guestrin, 2016</xref>; <xref ref-type="bibr" rid="B22">Ke et&#xa0;al., 2017</xref>; <xref ref-type="bibr" rid="B33">Lundberg and Lee, 2017</xref>; <xref ref-type="bibr" rid="B41">Prokhorenkova et&#xa0;al., 2018</xref>) were systematically evaluated:</p>
<list list-type="bullet">
<list-item>
<p>Linear Regression: Baseline model using the least squares method;</p>
</list-item>
<list-item>
<p>Ridge Regression: Incorporates <italic>L</italic>
<sub>2</sub> regularization. The hyperparameter <italic>&#x3b1;</italic> was optimized using grid search and 5-fold cross-validation over a logarithmic interval of [10<sup>&#x2212;3</sup>,10<sup>3</sup>];</p>
</list-item>
<list-item>
<p>ElasticNet: Combines <italic>L</italic>
<sub>1</sub> and <italic>L</italic>
<sub>2</sub> penalties to balance feature selection and model complexity;</p>
</list-item>
<list-item>
<p>Random Forest: An ensemble method based on multiple decision trees, with hyperparameters (number of trees, maximum depth, min samples per leaf) tuned for performance;</p>
</list-item>
<list-item>
<p>Gradient Boosting Regression: Employs a forward-additive ensemble learning framework;</p>
</list-item>
<list-item>
<p>XGBoost: An efficient gradient boosting framework capable of capturing nonlinear relationships;</p>
</list-item>
<list-item>
<p>LightGBM: A high-performance gradient boosting model based on gradient histograms;</p>
</list-item>
<list-item>
<p>CatBoost: Implements a symmetric tree strategy to mitigate categorical bias and enhance training efficiency;</p>
</list-item>
<list-item>
<p>Deep Neural Network Model: Constructs a five-layer fully connected network using the ReLU activation function and the Adam optimizer, enhancing model performance through increased training epochs, network structure optimization, and regularization;</p>
</list-item>
<list-item>
<p>Stacking Ensemble: Uses Ridge Regression (<italic>&#x3b1;</italic> = 0.5) as the meta-learner, stacking outputs from multiple base models across several layers.</p>
</list-item>
</list>
</sec>
<sec id="s6_3_3">
<label>6.3.3</label>
<title>Architecture evaluation</title>
<p>During the training phase, models were initially fitted on the training set, then optimized on the validation set through hyperparameter search, and finally evaluated on the test set for predictive performance. The evaluation metrics included MSE, RMSE, MAE, <italic>R</italic>
<sup>2</sup>, and accuracy. <xref ref-type="table" rid="T8">
<bold>Table&#xa0;8</bold>
</xref> presents the predictive performance of the models for the CRP.</p>
<table-wrap id="T8" position="float">
<label>Table&#xa0;8</label>
<caption>
<p>Comparison of predictive model performance.</p>
</caption>
<table frame="hsides">
<thead>
<tr>
<th valign="top" align="center">Model Name</th>
<th valign="top" align="center">MSE</th>
<th valign="top" align="center">RMSE</th>
<th valign="top" align="center">MAE</th>
<th valign="top" align="center">
<italic>R</italic>
<sup>2</sup>
</th>
<th valign="top" align="center">Accuracy</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top" align="center">Linear Regression</td>
<td valign="top" align="center">1.7645</td>
<td valign="top" align="center">1.3283</td>
<td valign="top" align="center">1.0541</td>
<td valign="top" align="center">0.8377</td>
<td valign="top" align="center">87.29%</td>
</tr>
<tr>
<td valign="top" align="center">Ridge Regression</td>
<td valign="top" align="center">1.7624</td>
<td valign="top" align="center">1.3276</td>
<td valign="top" align="center">1.0534</td>
<td valign="top" align="center">0.8379</td>
<td valign="top" align="center">87.29%</td>
</tr>
<tr>
<td valign="top" align="center">ElasticNet</td>
<td valign="top" align="center">1.7789</td>
<td valign="top" align="center">1.3338</td>
<td valign="top" align="center">1.0595</td>
<td valign="top" align="center">0.8364</td>
<td valign="top" align="center">87.24%</td>
</tr>
<tr>
<td valign="top" align="center">Random Forest</td>
<td valign="top" align="center">3.7439</td>
<td valign="top" align="center">1.9349</td>
<td valign="top" align="center">1.5451</td>
<td valign="top" align="center">0.6557</td>
<td valign="top" align="center">81.48%</td>
</tr>
<tr>
<td valign="top" align="center">Gradient Boosting Regression</td>
<td valign="top" align="center">2.8912</td>
<td valign="top" align="center">1.7004</td>
<td valign="top" align="center">1.3556</td>
<td valign="top" align="center">0.7341</td>
<td valign="top" align="center">83.73%</td>
</tr>
<tr>
<td valign="top" align="center">XGBoost</td>
<td valign="top" align="center">1.0590</td>
<td valign="top" align="center">1.0294</td>
<td valign="top" align="center">0.8364</td>
<td valign="top" align="center">0.9026</td>
<td valign="top" align="center">90.15%</td>
</tr>
<tr>
<td valign="top" align="center">LightGBM</td>
<td valign="top" align="center">1.1093</td>
<td valign="top" align="center">1.0532</td>
<td valign="top" align="center">0.8520</td>
<td valign="top" align="center">0.8980</td>
<td valign="top" align="center">89.92%</td>
</tr>
<tr>
<td valign="top" align="center">CatBoost</td>
<td valign="top" align="center">1.0487</td>
<td valign="top" align="center">1.0241</td>
<td valign="top" align="center">0.8305</td>
<td valign="top" align="center">0.9035</td>
<td valign="top" align="center">90.21%</td>
</tr>
<tr>
<td valign="top" align="center">Deep Neural Network</td>
<td valign="top" align="center">1.1487</td>
<td valign="top" align="center">1.0717</td>
<td valign="top" align="center">0.8705</td>
<td valign="top" align="center">0.8942</td>
<td valign="top" align="center">89.75%</td>
</tr>
<tr>
<td valign="top" align="center">Stacking Ensemble</td>
<td valign="top" align="center">
<bold>0.9347</bold>
</td>
<td valign="top" align="center">
<bold>0.9668</bold>
</td>
<td valign="top" align="center">
<bold>0.7854</bold>
</td>
<td valign="top" align="center">
<bold>0.9139</bold>
</td>
<td valign="top" align="center">
<bold>90.76%</bold>
</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>The boldfaced values in the table represent the best performance indicators for each indexes.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The results support the following conclusions:</p>
<list list-type="simple">
<list-item>
<p>&#x2022; Performance Advantage of Stacking Ensemble</p>
</list-item>
</list>
<list list-type="bullet">
<list-item>
<p>Best Prediction Accuracy: The stacking ensemble achieves the highest prediction accuracy (90.76%) and <italic>R</italic>
<sup>2</sup> (0.9139), surpassing the best individual model (CatBoost) by 0.55 percentage points;</p>
</list-item>
<list-item>
<p>Statistical Significance: Friedman test and Nemenyi <italic>post-hoc</italic> test (<italic>p&lt;</italic> 0.01) indicate that the differences are statistically significant;</p>
</list-item>
<list-item>
<p>Multi-Level Learning: The stacking ensemble leverages linear, tree-based, and deep learning models to capture nonlinear relationships and feature interactions.</p>
</list-item>
</list>
<list list-type="simple">
<list-item>
<p>&#x2022; Key Feature Analysis</p>
</list-item>
</list>
<list list-type="bullet">
<list-item>
<p>Structural Features: Variables such as maximum stackable tiers, theoretical maximum capacity, and total number of stacks directly affect relocation operations;</p>
</list-item>
<list-item>
<p>Spatial Features: Overall space utilization and the safety stock ratio strongly impact relocation demand.</p>
</list-item>
</list>
<list list-type="simple">
<list-item>
<p>&#x2022; Trade-off between Performance and Efficiency</p>
</list-item>
</list>
<list list-type="bullet">
<list-item>
<p>Stacking Ensemble: Achieves optimal prediction accuracy with sufficient computational resources;</p>
</list-item>
<list-item>
<p>CatBoost: Offers a favorable balance between accuracy and efficiency;</p>
</list-item>
<list-item>
<p>Linear Models: Provide strong interpretability, making them suitable where model transparency is crucial.</p>
</list-item>
</list>
<list list-type="simple">
<list-item>
<p>&#x2022; Application Scenario Adaptation</p>
</list-item>
</list>
<list list-type="bullet">
<list-item>
<p>High-Precision Scenarios: Stacking ensemble is recommended;</p>
</list-item>
<list-item>
<p>Real-Time Requirements: CatBoost or lightweight neural networks are advisable;</p>
</list-item>
<list-item>
<p>Interpretability Requirements: Linear regression with enhanced features should be considered.</p>
</list-item>
</list>
<p>In summary, the experiments verify the effectiveness of ensemble learning and feature engineering in predicting container relocation counts, offering a scientifically sound basis for model selection in real-world applications. The results indicate that when computational resources are abundant, the stacking ensemble achieves optimal predictive performance. However, if a balance between accuracy and efficiency is desired, CatBoost or linear regression with enhanced features is a preferable alternative.</p>
</sec>
</sec>
<sec id="s6_4">
<label>6.4</label>
<title>Energy saving and carbon emission reduction estimation</title>
<p>This section applies an indirect estimation approach to quantify the benefits of energy savings and CO<sub>2</sub> emission reductions enabled by the proposed algorithm for green port development.</p>
<sec id="s6_4_1">
<label>6.4.1</label>
<title>Energy consumption conversion assumptions</title>
<p>This section utilizes unit operation energy consumption coefficients commonly reported in the open literature to perform estimations:</p>
<p>&#x2022; RTG (Rubber-Tyred Gantry) Crane Handling Energy Consumption: Industry reports and field measurements indicate that an electrified RTG crane consumes approximately 4 kWh per complete horizontal transfer and relocation operation, with typical literature values between 3 and 4 kWh per operation (<xref ref-type="bibr" rid="B34">Mathias et&#xa0;al., 2022</xref>).</p>
<p>For consistency in subsequent quantitative analyses, this section defines the average energy consumption of a &#x201c;complete container relocation operation&#x201d; (encompassing both the STS quay crane cycle and the RTG handling cycle) as (see <xref ref-type="disp-formula" rid="eq36">Equation 36</xref>):</p>
<disp-formula id="eq36">
<label>(36)</label>
<mml:math display="block" id="M36">
<mml:mrow>
<mml:mn>8</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>o</mml:mtext>
<mml:mtext>p</mml:mtext>
<mml:mtext>e</mml:mtext>
<mml:mtext>r</mml:mtext>
<mml:mtext>a</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>i</mml:mtext>
<mml:mtext>o</mml:mtext>
<mml:mtext>n</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>o</mml:mtext>
<mml:mtext>p</mml:mtext>
<mml:mtext>e</mml:mtext>
<mml:mtext>r</mml:mtext>
<mml:mtext>a</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>i</mml:mtext>
<mml:mtext>o</mml:mtext>
<mml:mtext>n</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>12</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>o</mml:mtext>
<mml:mtext>p</mml:mtext>
<mml:mtext>e</mml:mtext>
<mml:mtext>r</mml:mtext>
<mml:mtext>a</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>i</mml:mtext>
<mml:mtext>o</mml:mtext>
<mml:mtext>n</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
</sec>
<sec id="s6_4_2">
<label>6.4.2</label>
<title>Carbon emission conversion assumptions</title>
<p>This section presumes that the electricity supply originates primarily from the local power grid. According to the &#x201c;2021 Power Generation Carbon Dioxide Emission Factors&#x201d; announcement issued jointly by the <xref ref-type="bibr" rid="B36">Ministry of Ecology and Environment and National Bureau of Statistics of China (2024)</xref>, the national average emission factor is 0.5568&#xa0;kg CO<sub>2</sub> per kWh. Consequently, the carbon emissions for a single container relocation operation can be determined as follows (see <xref ref-type="disp-formula" rid="eq37">Equation 37</xref>):</p>
<disp-formula id="eq37">
<label>(37)</label>
<mml:math display="block" id="M37">
<mml:mrow>
<mml:mn>12</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>o</mml:mtext>
<mml:mtext>p</mml:mtext>
<mml:mtext>e</mml:mtext>
<mml:mtext>r</mml:mtext>
<mml:mtext>a</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>i</mml:mtext>
<mml:mtext>o</mml:mtext>
<mml:mtext>n</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.5568</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>g</mml:mtext>
<mml:mtext>C</mml:mtext>
<mml:msub>
<mml:mtext>O</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>6.6816</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>g</mml:mtext>
<mml:mtext>C</mml:mtext>
<mml:msub>
<mml:mtext>O</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>o</mml:mtext>
<mml:mtext>p</mml:mtext>
<mml:mtext>e</mml:mtext>
<mml:mtext>r</mml:mtext>
<mml:mtext>a</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>i</mml:mtext>
<mml:mtext>o</mml:mtext>
<mml:mtext>n</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
<p>This conversion factor derives from authoritative national data and reflects both the national average level and regional applicability.</p>
</sec>
<sec id="s6_4_3">
<label>6.4.3</label>
<title>Data sources and calculation method</title>
<p>In the three-dimensional scenario benchmark test, a yard configuration of 6 &#xd7; 16 &#xd7; 8 served as the basis for comparative analysis. For identical test instances, the LL heuristic algorithm averaged 926.2 relocation operations, while the proposed IDDA algorithm required only 894.2 operations, thus saving approximately 32 relocation moves (see <xref ref-type="table" rid="T6">
<bold>Table&#xa0;6</bold>
</xref>).</p>
<p>Accordingly, the energy savings for a single test instance are estimated as follows (see <xref ref-type="disp-formula" rid="eq38">Equation 38</xref>):</p>
<disp-formula id="eq38">
<label>(38)</label>
<mml:math display="block" id="M38">
<mml:mrow>
<mml:mtext>&#x394;</mml:mtext>
<mml:mtext>E</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>32</mml:mn>
<mml:mtext>o</mml:mtext>
<mml:mtext>p</mml:mtext>
<mml:mtext>e</mml:mtext>
<mml:mtext>r</mml:mtext>
<mml:mtext>a</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>i</mml:mtext>
<mml:mtext>o</mml:mtext>
<mml:mtext>n</mml:mtext>
<mml:mtext>s</mml:mtext>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>12</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>o</mml:mtext>
<mml:mtext>p</mml:mtext>
<mml:mtext>e</mml:mtext>
<mml:mtext>r</mml:mtext>
<mml:mtext>a</mml:mtext>
<mml:mtext>t</mml:mtext>
<mml:mtext>i</mml:mtext>
<mml:mtext>o</mml:mtext>
<mml:mtext>n</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>384</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
</mml:mrow>
</mml:math>
</disp-formula>
<p>The corresponding reduction in carbon emissions is therefore calculated as (see <xref ref-type="disp-formula" rid="eq39">Equation 39</xref>):</p>
<disp-formula id="eq39">
<label>(39)</label>
<mml:math display="block" id="M39">
<mml:mrow>
<mml:mtext>&#x394;</mml:mtext>
<mml:mtext>C</mml:mtext>
<mml:msub>
<mml:mtext>O</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>384</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>&#xd7;</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>0.5568</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>g</mml:mtext>
<mml:mtext>C</mml:mtext>
<mml:msub>
<mml:mtext>O</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo stretchy="false">/</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>W</mml:mtext>
<mml:mtext>h</mml:mtext>
<mml:mo>&#xa0;</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mn>213.7</mml:mn>
<mml:mo>&#xa0;</mml:mo>
<mml:mtext>k</mml:mtext>
<mml:mtext>g</mml:mtext>
<mml:mtext>C</mml:mtext>
<mml:msub>
<mml:mtext>O</mml:mtext>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</disp-formula>
<p>Under hundred-container-scale three-dimensional yard experimental conditions, the IDDA algorithm yields an energy saving of approximately 384 kWh per operational cycle compared to the traditional heuristic algorithm, corresponding to a reduction of approximately 213.7&#xa0;kg of CO<sub>2</sub> emissions. This preliminary estimate underscores the proposed algorithm&#x2019;s potential for energy and emission reductions in green port operations.</p>
</sec>
</sec>
</sec>
<sec id="s7" sec-type="conclusions">
<label>7</label>
<title>Conclusions</title>
<p>This study systematically integrates combinatorial optimization theory and artificial intelligence techniques to address the CRP, providing a comprehensive solution comprising mathematical model formulation, algorithm development, data generation, and collaborative learning frameworks. The principal findings are summarized as follows:</p>
<sec id="s7_1">
<label>7.1</label>
<title>Intelligent decision-driven model and high-performance algorithm</title>
<list list-type="bullet">
<list-item>
<p>Computational Efficiency: In two-dimensional scenarios involving 50&#x2013;100 containers, the hybrid heuristic-search and machine-learning algorithm achieves an average per-decision response time of 9.83 &#xb1; 0.12 &#xb5;s, representing a three-order-of-magnitude improvement over conventional methods. In three-dimensional experiments at the 10<sup>4</sup>-container scale, total computation time remains below 60s, fully meeting the real-time scheduling requirements of automated guided vehicles (AGVs);</p>
</list-item>
<list-item>
<p>Solution Quality and Scalability: In two-dimensional experiments, the average relocation count is reduced by 61.7% relative to benchmark algorithms. In three-dimensional standard scenarios, the average move count declines by 3.5%&#x2013;17.8%, with performance improvements becoming more pronounced as yard capacity grows from 70 TEU to 720 TEU.</p>
</list-item>
</list>
</sec>
<sec id="s7_2">
<label>7.2</label>
<title>Adaptive three-dimensional data-generation and multi-scenario generalization framework</title>
<list list-type="bullet">
<list-item>
<p>Data Diversity: The proposed generator incorporates spatial autocorrelation and physical constraints, yielding datasets with Moran&#x2019;s I = 0.3064 and producing up to 10<sup>5</sup> unique 3D yard instances per run, thereby providing abundant, high-quality training samples;</p>
</list-item>
<list-item>
<p>Scenario Adaptability: Generated datasets cover large-scale fully automated, medium-scale semiautomated, and small-scale conventional yard typologies. Predictive models trained on these datasets achieve <italic>R</italic>
<sup>2</sup> &#x2265; 0.85 (peaking at 0.882) across all scenarios, demonstrating robust generalization capabilities.</p>
</list-item>
</list>
</sec>
<sec id="s7_3">
<label>7.3</label>
<title>Optimization&#x2013;learning closed-loop collaborative paradigm</title>
<list list-type="bullet">
<list-item>
<p>Feature Engineering: Seventeen key performance indicators are extracted from optimal solutions and quantified via explainable machine learning techniques, enabling dynamic adjustment of algorithm parameters and constraint weights;</p>
</list-item>
<list-item>
<p>Predictive Modeling: A multi-layer stacked ensemble attains 90.76% accuracy in relocation count prediction (<italic>R</italic><sup>2</sup> = 0.9139), exhibiting high stability and computational efficiency across 10<sup>5</sup> simulated 6 &#xd7; 6 &#xd7; 6 workflows;</p>
</list-item>
<list-item>
<p>Policy Optimization: A dynamic constraint-weighting mechanism balances movement counts and energy consumption, substantially reducing overall energy expenditure and enhancing operational efficiency in high-density container yards.</p>
</list-item>
</list>
<p>From a theoretical standpoint, this study proposes a multi-stage collaborative optimization framework that synergizes data-driven and model-driven strategies, thereby advancing research on NP-hard combinatorial optimization problems. In practical terms, the methodology limits strategy-generation time for 10<sup>5</sup>container-scale yards to under 60 s and offers a scalable technological paradigm for smart-port development, sustainable logistics operations, and the achievement of national carbon-neutrality objectives. In a hundred-container-scale three-dimensional yard experiment, the IDDA algorithm demonstrated savings of approximately 384 kWh of electric energy per operation cycle relative to the traditional heuristic algorithm, thereby reducing approximately 213.7&#xa0;kg of CO<sub>2</sub> emissions. Furthermore, the feature-engineering framework provides standardized data interfaces for sensor deployment and intelligent upgrades of logistics equipment.</p>
<p>Future research should focus on three primary directions:</p>
<list list-type="bullet">
<list-item>
<p>Real-world validation: Conduct end-to-end experiments in operational port environments to systematically evaluate the model&#x2019;s robustness and stability;</p>
</list-item>
<list-item>
<p>Generator optimization under complex conditions: Refine the design and training strategies of the ADG framework to enhance its adaptability and fault tolerance in scenarios involving multi-equipment coordination and equipment failures;</p>
</list-item>
<list-item>
<p>Unified multi-objective optimization framework: Integrate carbon emissions, operational costs, and safety risks into a unified optimization framework, while examining the generalization and adaptability of deep reinforcement learning and graph neural networks in complex dynamic environments to enable globally optimal scheduling and decision support for port operations.</p>
</list-item>
</list>
</sec>
</sec>
</body>
<back>
<sec id="s8" sec-type="data-availability">
<title>Data availability statement</title>
<p>The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: The datasets for optimization algorithms and AI techniques at various scales are available at <uri xlink:href="https://github.com/paosi1122/CRP">https://github.com/paosi1122/CRP</uri>.</p>
</sec>
<sec id="s9" sec-type="author-contributions">
<title>Author contributions</title>
<p>SZ: Software, Funding acquisition, Writing &#x2013; review &amp; editing, Formal Analysis, Conceptualization, Visualization, Methodology, Validation. JS: Funding acquisition, Validation, Conceptualization, Writing &#x2013; original draft, Methodology, Visualization, Formal Analysis. YW: Writing &#x2013; review &amp; editing, Supervision. YK: Writing &#x2013; review &amp; editing, Supervision.</p>
</sec>
<sec id="s10" sec-type="funding-information">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research and/or publication of this article. This research was supported by the following projects: the 2022 Youth Project of the Guangdong Basic and Applied Basic Research Fund (grant number 2022A1515110437); the 2022 Guangdong Provincial Department of Education Innovation Team Project (grant number 2022WCXTD009); the 2024 Guangdong Provincial Department of Education Scientific Research Project-Key Field Special Project (grant number 2024ZDZX2088); the 2024 Guangdong Province Graduate Education Innovation Plan Project (grant number 2024SFKC_042); the 2024 Guangdong Province Undergraduate University Teaching Quality and Teaching Reform Initiative Project: A Course Reform Study on &#x201c;Mathematical Modeling&#x201d; for Mathematics Majors through Deep Integration of Data Empowerment and Ideological-Political Guidance (Yuejiao Document [2024] No. 30); the 2024 Guangdong Province Education Science Planning Project (grant number 2024GXJK352); the 2022 Guangdong Provincial Education Science Planning Project (grant number 2022GXJK211); the 2024 Huizhou Philosophy and Social Science Planning Project (grant number HZSK2024GJ030); the 2024 Guangdong Ocean University Education and Teaching Reform Project (grant number PX-972024027); the Guangdong Ocean University Scientific Research Start-up Fund Project (grant number 101502/R18014); and the 2024 Huizhou University Teaching Quality and Teaching Reform Project: &#x201c;Integrating Ideological and Political Education with Competition Motivation in Mathematical Modeling: An Innovative Teaching Approach&#x201d; (Huizhou University Document [2024] No. 173).</p>
</sec>
<sec id="s11" sec-type="COI-statement">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec id="s12" sec-type="ai-statement">
<title>Generative AI statement</title>
<p>The author(s) declare that no Generative AI was used in the creation of this manuscript.</p>
</sec>
<sec id="s13" sec-type="disclaimer">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Almasan</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Su&#xe1;rez-Varela</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Rusek</surname> <given-names>K.</given-names>
</name>
<name>
<surname>Barlet-Ros</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Cabellos</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Perello</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Deep reinforcement learning meets graph neural networks: Exploring a routing optimization use case</article-title>. <source>Comput. Commun.</source> <volume>196</volume>, <fpage>184</fpage>&#x2013;<lpage>194</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.comcom.2022.09.029</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Aydin</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2006</year>). <source>Improved Rehandling Strategies for Container Retrieval Process</source> (<publisher-loc>Istanbul, Turkey</publisher-loc>: <publisher-name>Sabanci University</publisher-name>).</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bai</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Z. L.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Tang</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Analytics and machine learning in vehicle routing research</article-title>. <source>Int. J. Production Res.</source> <volume>61</volume>, <fpage>4</fpage>&#x2013;<lpage>30</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1080/00207543.2021</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bengio</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Lodi</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Prouvost</surname> <given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Machine learning for combinatorial optimization: A methodological tour d&#x2019;horizon</article-title>. <source>Eur. J. Operational Res.</source> <volume>290</volume>, <fpage>405</fpage>&#x2013;<lpage>421</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ejor.2020.07.063</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bi</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Ma</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Learning generalizable models for vehicle routing problems via knowledge distillation</article-title>. <source>Adv. Neural Inf. Process. Syst.</source> <volume>35</volume>, <fpage>31226</fpage>&#x2013;<lpage>31238</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.2210.07686</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bian</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Jin</surname> <given-names>Z. H.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Optimization on retrieving containers based on multi-phase hybrid dynamic programming</article-title>. <source>Proc. - Soc. Behav. Sci.</source> <volume>96</volume>, <fpage>844</fpage>&#x2013;<lpage>855</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.sbspro.2013.08.096</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cao</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Jin</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Hu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Huang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>A decision framework for chinese-style cruise ship design based on informativeness weight method and group consensus reaching model</article-title>. <source>Advanced Eng. Inf.</source> <volume>62</volume>, <elocation-id>102698</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.aei.2024.102698</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Carlo</surname> <given-names>H. J.</given-names>
</name>
<name>
<surname>Vis</surname> <given-names>I. F. A.</given-names>
</name>
<name>
<surname>Roodbergen</surname> <given-names>K. J.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Storage yard operations in container terminals: Literature overview, trends, and research directions</article-title>. <source>Eur. J. Operational Res.</source> <volume>235</volume>, <fpage>412</fpage>&#x2013;<lpage>430</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ejor.2013.10.054</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Caserta</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Schwarze</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Vo&#xdf;</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>A new binary description of the blocks relocation problem and benefits in a look ahead heuristic</article-title>,&#x201d; in <source>European Conference on Evolutionary Computation in Combinatorial Optimization</source> (<publisher-name>Springer</publisher-name>, <publisher-loc>Berlin/Heidelberg, Germany</publisher-loc>), <fpage>37</fpage>&#x2013;<lpage>48</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/978-3-642-01009-54</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Caserta</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Schwarze</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Vo&#xdf;</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>A mathematical formulation and complexity considerations for the blocks relocation problem</article-title>. <source>Eur. J. Operational Res.</source> <volume>219</volume>, <fpage>96</fpage>&#x2013;<lpage>104</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ejor.2011.12.039</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Caserta</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Vo&#xdf;</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2009</year>). &#x201c;<article-title>A corridor method-based algorithm for the pre-marshalling problem</article-title>,&#x201d; in <source>Applications of Evolutionary Computation (EvoWorkshops 2009)</source>, vol. <volume>5484</volume>. (<publisher-name>Springer</publisher-name>, <publisher-loc>Berlin/Heidelberg, Germany</publisher-loc>), <fpage>788</fpage>&#x2013;<lpage>797</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/978-3-642-01129-089</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Chen</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Guestrin</surname> <given-names>C.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>XGBoost: A scalable tree boosting system</article-title>,&#x201d; in <conf-name>Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</conf-name>, (<publisher-loc>San Francisco, California, USA</publisher-loc>: <publisher-name>Association for Computing Machinery</publisher-name>). <fpage>785</fpage>&#x2013;<lpage>794</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1145/2939672.2939785</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Wei</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Xin</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zhao</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Xian</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Ship detection under low-visibility weather interference via an ensemble generative adversarial network</article-title>. <source>J. Mar. Sci. Eng.</source> <volume>11</volume>, <elocation-id>2065</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/jmse11112065</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Prasad</surname> <given-names>D. K.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Postolache</surname> <given-names>O.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Pixel-wise ship identification from maritime images via a semantic segmentation model</article-title>. <source>IEEE Sensors J.</source> <volume>22</volume>, <fpage>18180</fpage>&#x2013;<lpage>18191</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/JSEN.2022.3195959</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Galle</surname> <given-names>V.</given-names>
</name>
<name>
<surname>Manshadi</surname> <given-names>V. H.</given-names>
</name>
<name>
<surname>Boroujeni</surname> <given-names>S. B.</given-names>
</name>
<name>
<surname>Woensel</surname> <given-names>T. V.</given-names>
</name>
<name>
<surname>Fransoo</surname> <given-names>J. C.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>The stochastic container relocation problem</article-title>. <source>Transportation Sci.</source> <volume>52</volume>, <fpage>1035</fpage>&#x2013;<lpage>1058</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1287/trsc.2018.0828</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hopfield</surname> <given-names>J. J.</given-names>
</name>
<name>
<surname>Tank</surname> <given-names>D. W.</given-names>
</name>
</person-group> (<year>1985</year>). <article-title>neural&#x201c; computation of decisions in optimization problems</article-title>. <source>Biol. Cybernetics</source> <volume>52</volume>, <fpage>141</fpage>&#x2013;<lpage>152</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/BF00339943</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zheng</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Packing computing servers into the vessel of an underwater data center considering cooling efficiency</article-title>. <source>Appl. Energy</source> <volume>314</volume>, <elocation-id>118986</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.apenergy.2022.118986</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Cao</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Song</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Ensemble-based deep reinforcement learning for vehicle routing problems under distribution shift</article-title>. <source>Adv. Neural Inf. Process. Syst.</source> <volume>36</volume>, <fpage>53112</fpage>&#x2013;<lpage>53125</lpage>. <uri xlink:href="https://proceedings.neurips.cc/paper_files/paper/2023/file/a68120d2eb2f53f7d9e71547591aef11-Paper-Conference.pdf">https://proceedings.neurips.cc/paper_files/paper/2023/file/a68120d2eb2f53f7d9e71547591aef11-Paper-Conference.pdf</uri>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Geng</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Q.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>UNCO: Towards unifying neural combinatorial optimization through large language model</article-title>. <source>arXiv</source>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.2408.12214</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jin</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>On the integer programming formulation for the relaxed restricted container relocation problem</article-title>. <source>Eur. J. Operational Res.</source> <volume>281</volume>, <fpage>475</fpage>&#x2013;<lpage>482</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ejor.2019.08.041</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jing</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Pei</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Yan</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Han</surname> <given-names>C.</given-names>
</name>
<name>
<surname>Selpi</surname>
</name>
<name>
<surname>Andreotti</surname> <given-names>E.</given-names>
</name>
<etal/>
</person-group>. (<year>2022</year>). <article-title>Safety benefit of cooperative control for heterogeneous traffic on-ramp merging</article-title>. <source>Transportation Saf. Environ.</source> <volume>4</volume>, <elocation-id>tdac031</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1093/tse/tdac031</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ke</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Meng</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Finley</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Wang</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Ma</surname> <given-names>W.</given-names>
</name>
<etal/>
</person-group>. (<year>2017</year>). &#x201c;<article-title>Lightgbm: A highly efficient gradient boosting decision tree</article-title>,&#x201d; in <source>Advances in Neural Information Processing Systems</source>, vol. <volume>30</volume>. (<publisher-loc>Red Hook, NY, United States</publisher-loc>: <publisher-name>Curran Associates Inc</publisher-name>).</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Khalil</surname> <given-names>E.</given-names>
</name>
<name>
<surname>Dai</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Dilkina</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Song</surname> <given-names>L.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Learning combinatorial optimization algorithms over graphs</article-title>. <source>Adv. Neural Inf. Process. Syst.</source> <volume>30</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.1704.01665</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kim</surname> <given-names>K. H.</given-names>
</name>
<name>
<surname>Hong</surname> <given-names>G. P.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>A heuristic rule for relocating blocks</article-title>. <source>Comput. Operations Res.</source> <volume>33</volume>, <fpage>940</fpage>&#x2013;<lpage>954</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.cor.2004.08.005</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kool</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Hoof</surname> <given-names>H. V.</given-names>
</name>
<name>
<surname>Welling</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Attention, learn to solve routing problems</article-title>! <source>arXiv</source>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.1803.08475</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lee</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Hsu</surname> <given-names>N. Y.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>An optimization model for the container pre-marshalling problem</article-title>. <source>Comput. Operations Res.</source> <volume>34</volume>, <fpage>3295</fpage>&#x2013;<lpage>3313</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.cor.2005.12.006</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lee</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Lee</surname> <given-names>Y. J.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>A heuristic for retrieving containers from a yard</article-title>. <source>Comput. Operations Res.</source> <volume>37</volume>, <fpage>1139</fpage>&#x2013;<lpage>1147</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.cor.2009.10.005</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lin</surname> <given-names>D. Y.</given-names>
</name>
<name>
<surname>Lee</surname> <given-names>Y. J.</given-names>
</name>
<name>
<surname>Lee</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>The container retrieval problem with respect to relocation</article-title>. <source>Transportation Res. Part C: Emerging Technol.</source> <volume>52</volume>, <fpage>132</fpage>&#x2013;<lpage>143</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.trc.2015.01.024</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lin</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhou</surname> <given-names>B.</given-names>
</name>
<name>
<surname>Zheng</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Cross-problem learning for solving vehicle routing problems</article-title>. <source>arXiv</source>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.2404.11677</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Feng</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zeng</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>A q-learning-based algorithm for the block relocation problem</article-title>. <source>J. Heuristics</source> <volume>31</volume>, <fpage>14</fpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/s10732-024-09545-y</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Peng</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Wu</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>F.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>An efficient node selection policy for monte carlo tree search with neural networks</article-title>. <source>INFORMS J. Computing</source>. doi:&#xa0;<pub-id pub-id-type="doi">10.1287/ijoc.2023.0307</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Liu</surname> <given-names>F.</given-names>
</name>
<name>
<surname>Ye</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>Z.</given-names>
</name>
</person-group> (<year>2023</year>). &#x201c;<article-title>Dynamic attention model &#x2013; a deep reinforcement learning approach for container relocation problem</article-title>,&#x201d; in <source>Advances and Trends in Artificial Intelligence. Theory and Applications. IEA/AIE 2023. Lecture Notes in Computer Science</source>, vol. <volume>13926</volume>. (<publisher-name>Springer</publisher-name>, <publisher-loc>Cham</publisher-loc>), <fpage>273</fpage>&#x2013;<lpage>285</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1007/978-3-031-36822-624</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lundberg</surname> <given-names>S. M.</given-names>
</name>
<name>
<surname>Lee</surname> <given-names>S. I.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>A unified approach to interpreting model predictions</article-title>,&#x201d; in <source>Advances in Neural Information Processing Systems</source>, vol. <volume>30</volume>. (<publisher-loc>Red Hook, NY, United States</publisher-loc>: <publisher-name>Curran Associates, Inc.</publisher-name>).</citation>
</ref>
<ref id="B34">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mathias</surname> <given-names>T. N.</given-names>
</name>
<name>
<surname>Shinoda</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Sugimura</surname> <given-names>Y.</given-names>
</name>
</person-group> (<year>2022</year>). &#x201c;<article-title>2022a-os5&#x2013;2 energy consumption behavior analysis of transfer cranes toward a dx container terminal</article-title>,&#x201d; in <conf-name>Conference Proceedings of The Japan Society of Naval Architects and Ocean Engineers, No. 35</conf-name>. <fpage>277</fpage>&#x2013;<lpage>280</lpage> (<publisher-loc>Tokyo, Japan</publisher-loc>: <publisher-name>The Japan Society of Naval Architects and Ocean Engineers</publisher-name>).</citation>
</ref>
<ref id="B35">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>McKinnon</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Browne</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Whiteing</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Piecyk</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2015</year>). <source>Green Logistics: Improving the Environmental Sustainability of Logistics</source> (<publisher-loc>London, UK</publisher-loc>: <publisher-name>Kogan Page</publisher-name>).</citation>
</ref>
<ref id="B36">
<citation citation-type="book">
<person-group person-group-type="author">
<collab>Ministry of Ecology and Environment and National Bureau of Statistics of China</collab>
</person-group> (<year>2024</year>). <source>Announcement on Releasing the CO Emission Factors of Power Generation in 2021 (Announcement No. 12 of 2024)</source> (<publisher-loc>Beijing, China</publisher-loc>: <publisher-name>Ministry of Ecology and Environment of the People&#x2019;s Republic of China; National Bureau of Statistics of China</publisher-name>).</citation>
</ref>
<ref id="B37">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Munikoti</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Agarwal</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Das</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Halappanavar</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Natarajan</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Challenges and opportunities in deep reinforcement learning with graph neural networks: A comprehensive review of algorithms and applications</article-title>. <source>IEEE Trans. Neural Networks Learn. Syst.</source> <volume>35</volume>, <fpage>15051</fpage>&#x2013;<lpage>15071</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TNNLS.2023.3283523</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nazari</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Oroojlooy</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Snyder</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Takac</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Reinforcement learning for solving the vehicle routing problem</article-title>. <source>Adv. Neural Inf. Process. Syst.</source> <volume>31</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.1802.04240</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nikseresht</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Golmohammadi</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Zandieh</surname> <given-names>M.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Sustainable green logistics and remanufacturing: A bibliometric analysis and future research directions</article-title>. <source>Int. J. Logistics Manage.</source> <volume>35</volume>, <fpage>755</fpage>&#x2013;<lpage>803</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1108/ijlm-03-2023-0085</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Petering</surname> <given-names>M. E.</given-names>
</name>
<name>
<surname>Hussein</surname> <given-names>M. I.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>A new mixed integer program and extended look-ahead heuristic algorithm for the block relocation problem</article-title>. <source>Eur. J. Operational Res.</source> <volume>231</volume>, <fpage>120</fpage>&#x2013;<lpage>130</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ejor.2013.05.037</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Prokhorenkova</surname> <given-names>L.</given-names>
</name>
<name>
<surname>Gusev</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Vorobev</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Dorogush</surname> <given-names>A. V.</given-names>
</name>
<name>
<surname>Gulin</surname> <given-names>A.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Catboost: Unbiased boosting with categorical features</article-title>,&#x201d; in <source>Advances in Neural Information Processing Systems</source>, vol. <volume>31</volume>. (<publisher-loc>Red Hook, NY, United States</publisher-loc>: <publisher-name>Curran Associates, Inc.</publisher-name>).</citation>
</ref>
<ref id="B42">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tanaka</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Takii</surname> <given-names>K.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A faster branch-and-bound algorithm for the block relocation problem</article-title>. <source>IEEE Trans. Automation Sci. Eng.</source> <volume>13</volume>, <fpage>181</fpage>&#x2013;<lpage>190</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TASE.2015.2434417</pub-id>
</citation>
</ref>
<ref id="B43">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tang</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Ye</surname> <given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Lu</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Huang</surname> <given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Regulating the imbalance for the container relocation problem: A deep reinforcement learning approach</article-title>. <source>Comput. Ind. Eng.</source> <volume>191</volume>, <elocation-id>110111</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.cie.2024.110111</pub-id>
</citation>
</ref>
<ref id="B44">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Vinyals</surname> <given-names>O.</given-names>
</name>
<name>
<surname>Fortunato</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Jaitly</surname> <given-names>N.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Pointer networks</article-title>. <source>Adv. Neural Inf. Process. Syst.</source> <volume>28</volume>. doi:&#xa0;<pub-id pub-id-type="doi">10.48550/arXiv.1506.03134</pub-id>
</citation>
</ref>
<ref id="B45">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname> <given-names>P.</given-names>
</name>
<name>
<surname>Xu</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Tao</surname> <given-names>J.</given-names>
</name>
<name>
<surname>Qin</surname> <given-names>W.</given-names>
</name>
<etal/>
</person-group>. (<year>2025</year>). <article-title>Learning-based hybrid algorithms for container relocation problem with storage plan</article-title>. <source>Transportation Res. Part E: Logistics Transportation Rev.</source> <volume>197</volume>, <elocation-id>104048</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.tre.2025.104048</pub-id>
</citation>
</ref>
<ref id="B46">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Watanabe</surname> <given-names>I.</given-names>
</name>
</person-group> (<year>1992</year>). <article-title>Analysis on characteristics and relationship between annual handling ability and stowing capacity in container terminals</article-title>. <source>J. Soc. Naval Architects Japan</source> <volume>171</volume>, <fpage>621</fpage>&#x2013;<lpage>625</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.2534/jjasnaoe1968.1992.621</pub-id>
</citation>
</ref>
<ref id="B47">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wolpert</surname> <given-names>D. H.</given-names>
</name>
</person-group> (<year>1992</year>). <article-title>Stacked generalization</article-title>. <source>Neural Networks</source> <volume>5</volume>, <fpage>241</fpage>&#x2013;<lpage>259</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/S0893-6080(05)80023-1</pub-id>
</citation>
</ref>
<ref id="B48">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yan</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Song</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Kim</surname> <given-names>K. H.</given-names>
</name>
<name>
<surname>Feng</surname> <given-names>X.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>Optimizing container relocation operations by using deep reinforcement learning</article-title>. <source>Maritime Policy Manage.</source> <volume>1&#x2013;23</volume>, <page-range>1&#x2013;23</page-range>. doi:&#xa0;<pub-id pub-id-type="doi">10.1080/03088839.2024.2424865</pub-id>
</citation>
</ref>
<ref id="B49">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ye</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Ye</surname> <given-names>R.</given-names>
</name>
<name>
<surname>Zheng</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>Machine learning guides the solution of blocks relocation problem in container terminals</article-title>. <source>Transportation Res. Rec.</source> <volume>2677</volume>, <fpage>721</fpage>&#x2013;<lpage>737</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1177/03611981221117157</pub-id>
</citation>
</ref>
<ref id="B50">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zehendner</surname> <given-names>E.</given-names>
</name>
<name>
<surname>Caserta</surname> <given-names>M.</given-names>
</name>
<name>
<surname>Feillet</surname> <given-names>D.</given-names>
</name>
<name>
<surname>Vo&#xdf;</surname> <given-names>S.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>An improved mathematical formulation for the blocks relocation problem</article-title>. <source>Eur. J. Operational Res.</source> <volume>245</volume>, <fpage>415</fpage>&#x2013;<lpage>422</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1016/j.ejor.2015.03.032</pub-id>
</citation>
</ref>
<ref id="B51">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhao</surname> <given-names>X.</given-names>
</name>
<name>
<surname>Bennell</surname> <given-names>J. A.</given-names>
</name>
<name>
<surname>Bektas</surname> <given-names>T.</given-names>
</name>
<name>
<surname>Yang</surname> <given-names>J.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A comparative review of 3d container loading algorithms</article-title>. <source>Int. Trans. Operational Res.</source> <volume>23</volume>, <fpage>287</fpage>&#x2013;<lpage>320</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1111/itor.12094</pub-id>
</citation>
</ref>
<ref id="B52">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname> <given-names>W.</given-names>
</name>
<name>
<surname>Qin</surname> <given-names>H.</given-names>
</name>
<name>
<surname>Lim</surname> <given-names>A.</given-names>
</name>
<name>
<surname>Rodrigues</surname> <given-names>B.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Iterative deepening a* algorithms for the container relocation problem</article-title>. <source>IEEE Trans. Automation Sci. Eng.</source> <volume>9</volume>, <fpage>710</fpage>&#x2013;<lpage>722</lpage>. doi:&#xa0;<pub-id pub-id-type="doi">10.1109/TASE.2012.2198642</pub-id>
</citation>
</ref>
<ref id="B53">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zou</surname> <given-names>Y.</given-names>
</name>
<name>
<surname>Xiao</surname> <given-names>G.</given-names>
</name>
<name>
<surname>Li</surname> <given-names>Q.</given-names>
</name>
<name>
<surname>Biancardo</surname> <given-names>S. A.</given-names>
</name>
</person-group> (<year>2025</year>). <article-title>Intelligent maritime shipping: A bibliometric analysis of internet technologies and automated port infrastructure applications</article-title>. <source>J. Mar. Sci. Eng.</source> <volume>13</volume>, <elocation-id>979</elocation-id>. doi:&#xa0;<pub-id pub-id-type="doi">10.3390/jmse13050979</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>