<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    jsea
   </journal-id>
   <journal-title-group>
    <journal-title>
     Journal of Software Engineering and Applications
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    1945-3116
   </issn>
   <issn publication-format="print">
    1945-3124
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/jsea.2025.1810024
   </article-id>
   <article-id pub-id-type="publisher-id">
    jsea-146479
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Computer Science 
     </subject>
     <subject>
       Communications
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Optimal Unloading Path Search Algorithm Based on Enumeration: Optimization and Application Considering Transportation Constraints 
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Yangyuan
      </surname>
      <given-names>
       Sun
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aResearch and Innovation Center, COSCO Shipping Technology Co., Ltd., Shanghai, China
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     14
    </day> 
    <month>
     10
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    18
   </volume> 
   <issue>
    10
   </issue>
   <fpage>
    400
   </fpage>
   <lpage>
    412
   </lpage>
   <history>
    <date date-type="received">
     <day>
      22,
     </day>
     <month>
      September
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      17,
     </day>
     <month>
      September
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      17,
     </day>
     <month>
      October
     </month>
     <year>
      2025
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    With the deepening of global economic integration, maritime logistics has become the core pillar of international trade, carrying more than 80% of global trade volume. Among the factors influencing efficiency, the selection of vessel unloading paths directly affects operational efficiency and logistics costs, and is therefore a key determinant of competitiveness in maritime trade. At present, unloading path selection for vessels largely relies on manual experience, which often leads to inefficiency and redundant labor. To address the problem of optimizing unloading paths in maritime logistics, this study proposes an intelligent search algorithm that integrates an enumeration method with a cargo volume constraint principle. The approach exhaustively explores all possible unloading schemes and incorporates both the shortest path principle and destination-specific cargo constraints, thereby achieving an unloading path planning solution that is both economical and practical. Experimental results demonstrate that the algorithm can effectively reduce transportation costs and improve operational efficiency for maritime enterprises, offering a new perspective for intelligent logistics management under the trend of digital transformation.
   </abstract>
   <kwd-group> 
    <kwd>
     Maritime Logistics
    </kwd> 
    <kwd>
      Unloading Path Optimization
    </kwd> 
    <kwd>
      Enumeration Algorithm
    </kwd> 
    <kwd>
      Cargo Volume Constraint Principle
    </kwd> 
    <kwd>
      Intelligent Search Algorithm
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>In the context of economic globalization, trade exchanges have become increasingly frequent, and the volume of international trade continues to grow. According to statistics from the United Nations Conference on Trade and Development (UNCTAD), global maritime trade volume reached 12 billion tons in 2023, maintaining its absolute dominance among global trade transportation modes <xref ref-type="bibr" rid="scirp.146479-1">
     [1]
    </xref>-<xref ref-type="bibr" rid="scirp.146479-3">
     [3]
    </xref>. Maritime logistics not only accounts for more than 80% of global trade transportation demand but also plays a crucial role in ensuring the stable operation of international supply chains <xref ref-type="bibr" rid="scirp.146479-4">
     [4]
    </xref> <xref ref-type="bibr" rid="scirp.146479-5">
     [5]
    </xref>. Against this backdrop, how to scientifically and economically schedule transportation, particularly the rational planning of unloading paths, has become a key factor for shipping enterprises to enhance operational efficiency and reduce logistics costs.</p>
   <p>Traditionally, vessel unloading paths have been largely determined by manual experience and manual arrangements. While this approach can satisfy daily operational needs to some extent, it suffers from low efficiency and is prone to issues such as unreasonable path selection and delayed cargo delivery. These shortcomings increase transportation costs and reduce port turnaround efficiency <xref ref-type="bibr" rid="scirp.146479-6">
     [6]
    </xref>-<xref ref-type="bibr" rid="scirp.146479-8">
     [8]
    </xref>. With the rapid development of big data technologies, artificial intelligence, and intelligent optimization methods, an increasing number of transportation and logistics enterprises are undergoing digital transformation, leveraging intelligent algorithms to enhance the accuracy and efficiency of unloading path planning <xref ref-type="bibr" rid="scirp.146479-9">
     [9]
    </xref>-<xref ref-type="bibr" rid="scirp.146479-11">
     [11]
    </xref>. Therefore, it is of both theoretical significance and practical value to develop an efficient and economical optimization method for vessel unloading path planning.</p>
   <p>In the field of path optimization research, traditional graph theory-based shortest path algorithms, such as Dijkstra’s algorithm and the A* algorithm, have been widely applied in transportation systems and robot navigation <xref ref-type="bibr" rid="scirp.146479-12">
     [12]
    </xref>-<xref ref-type="bibr" rid="scirp.146479-14">
     [14]
    </xref>. However, these methods typically optimize only a single objective (e.g., path length minimization) and are less effective in handling the multiple complex constraints involved in vessel unloading <xref ref-type="bibr" rid="scirp.146479-15">
     [15]
    </xref>. For example, in multi-port unloading scenarios, optimization must account not only for path length but also for destination cargo volume limits, port handling capacities, vessel compartment layouts, and the operational sequence <xref ref-type="bibr" rid="scirp.146479-16">
     [16]
    </xref> <xref ref-type="bibr" rid="scirp.146479-17">
     [17]
    </xref>. The inclusion of these multidimensional constraints makes vessel unloading path optimization substantially more complex than the traditional Vehicle Routing Problem (VRP) <xref ref-type="bibr" rid="scirp.146479-18">
     [18]
    </xref>-<xref ref-type="bibr" rid="scirp.146479-20">
     [20]
    </xref>.</p>
   <p>To address such complex transportation scheduling problems, researchers have proposed a range of advanced methods. On one hand, exact optimization approaches, such as integer programming, branch-and-bound, and column generation, can achieve optimal solutions in small-scale cases <xref ref-type="bibr" rid="scirp.146479-21">
     [21]
    </xref> <xref ref-type="bibr" rid="scirp.146479-22">
     [22]
    </xref>, but often become impractical in large-scale maritime logistics scenarios due to their computational complexity <xref ref-type="bibr" rid="scirp.146479-23">
     [23]
    </xref>. On the other hand, heuristic and metaheuristic methods, including genetic algorithms, ant colony optimization, and variable neighborhood search, have been widely applied in VRP and its variants (e.g., VRPTW, CVRP, GVRP) <xref ref-type="bibr" rid="scirp.146479-24">
     [24]
    </xref>-<xref ref-type="bibr" rid="scirp.146479-27">
     [27]
    </xref>. These methods improve solution efficiency and scalability to some extent but are often challenged by slow convergence, instability of solutions, and sensitivity to parameter tuning <xref ref-type="bibr" rid="scirp.146479-28">
     [28]
    </xref> <xref ref-type="bibr" rid="scirp.146479-29">
     [29]
    </xref>.</p>
   <p>In recent years, some studies have focused on path optimization in the context of “green shipping” and smart ports, attempting to incorporate energy consumption and carbon emission constraints into unloading path design, with the aim of achieving low-carbon and energy-efficient operations <xref ref-type="bibr" rid="scirp.146479-5">
     [5]
    </xref> <xref ref-type="bibr" rid="scirp.146479-30">
     [30]
    </xref> <xref ref-type="bibr" rid="scirp.146479-31">
     [31]
    </xref>. Research has shown that green transportation models not only reduce fuel consumption but also alleviate port congestion and enhance environmental benefits <xref ref-type="bibr" rid="scirp.146479-32">
     [32]
    </xref> <xref ref-type="bibr" rid="scirp.146479-33">
     [33]
    </xref>. Nonetheless, these methods still face a trade-off between computational efficiency and solution accuracy in practical applications <xref ref-type="bibr" rid="scirp.146479-34">
     [34]
    </xref>. Particularly for vessel unloading path optimization, which involves unique structures and constraints, existing studies remain relatively limited <xref ref-type="bibr" rid="scirp.146479-35">
     [35]
    </xref>.</p>
   <p>In light of these challenges, this paper proposes an intelligent search method that integrates an enumeration algorithm with the cargo volume constraint principle. By exhaustively exploring all possible unloading path schemes and embedding the shortest path principle together with cargo volume restrictions into the search process, this method achieves a balance between economic efficiency and practical feasibility, while maintaining computational tractability. Experimental results demonstrate that the proposed approach can effectively reduce transportation costs, enhance port operational efficiency, and provide new insights for shipping enterprises seeking intelligent logistics management in the era of digital transformation.</p>
   <p>The remainder of this paper is organized as follows. Section II introduces the preliminary knowledge, including the basic concepts of the Ship Unloading Path Problem, the enumeration algorithm, and the principle of cargo capacity constraints. Section III presents the optimal unloading path search algorithm based on the enumeration method, with detailed steps of design and implementation. Section IV reports the numerical experiments conducted on real-world scheduling data from January to May 2023, followed by an analysis of the experimental results. Finally, Section V discusses the advantages, innovations, and limitations of the proposed algorithm, as well as possible directions for future improvements in Section V.</p>
  </sec><sec id="s2">
   <title>2. Preliminary Knowledge</title>
   <sec id="s2_1">
    <title>2.1. Basic Concepts of the Ship Unloading Path Problem</title>
    <p>The Ship Unloading Path Problem (SUPP) refers to the task of determining the optimal unloading path for a vessel that must call at multiple destination ports, under the constraints of cargo demand and operational requirements. The goal is to minimize transportation costs while maximizing operational efficiency <xref ref-type="bibr" rid="scirp.146479-5">
      [5]
     </xref>.</p>
    <p>Suppose a vessel needs to unload cargo at n ports, denoted as the set:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mn>
            1 
          </mn> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mn>
            2 
          </mn> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mi>
            n 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          } 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (1)</p>
    <p>The vessel’s total cargo volume is Q, and the amount unloaded at port 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        i 
      </mi> 
     </math> is 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          q 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math>, subject to the constraint:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           n 
         </mi> 
        </msubsup> 
        <mrow> 
         <msub> 
          <mi>
            q 
          </mi> 
          <mi>
            i 
          </mi> 
         </msub> 
        </mrow> 
       </mstyle> 
       <mo>
         = 
       </mo> 
       <mi>
         Q 
       </mi> 
      </mrow> 
     </math> (2)</p>
    <p>The objective of the unloading path problem is to identify a route 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         π 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              π 
            </mi> 
            <mn>
              1 
            </mn> 
           </msub> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              π 
            </mi> 
            <mn>
              2 
            </mn> 
           </msub> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              π 
            </mi> 
            <mi>
              n 
            </mi> 
           </msub> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> that visits all ports such that the sailing distance function：</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         D 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          π 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            i 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mrow> 
          <mi>
            n 
          </mi> 
          <mo>
            − 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
        </msubsup> 
        <mi>
          d 
        </mi> 
       </mstyle> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              π 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              π 
            </mi> 
            <mrow> 
             <mi>
               i 
             </mi> 
             <mo>
               + 
             </mo> 
             <mn>
               1 
             </mn> 
            </mrow> 
           </msub> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (3)</p>
    <p>is minimized, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         d 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mo> 
           </mo> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mi>
            j 
          </mi> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> denotes the sailing distance or cost between port i and port j.</p>
    <p>Therefore, the SUPP is essentially a path optimization problem with cargo volume constraints, whose computational complexity is similar to that of the Traveling Salesman Problem (TSP), but with more complex constraints <xref ref-type="bibr" rid="scirp.146479-32">
      [32]
     </xref>.</p>
   </sec>
   <sec id="s2_2">
    <title>2.2. Basic Principle of the Enumeration Algorithm</title>
    <p>The fundamental idea of the Enumeration Algorithm is to list all possible path schemes, examine their feasibility and cost one by one, and finally select the path with the minimum cost.</p>
    <p>In the Ship Unloading Path Problem, if a vessel needs to visit n ports, the total number of possible paths is:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         N 
       </mi> 
       <mo>
         = 
       </mo> 
       <mi>
         n 
       </mi> 
       <mo>
         ! 
       </mo> 
      </mrow> 
     </math> (4)</p>
    <p>For example, when n = 5, the total number of paths is 5! = 120; when n = 10, the total number of paths is approximately 3.6 × 10<sup>6</sup>. As n increases, the number of paths grows exponentially, a phenomenon known as combinatorial explosion <xref ref-type="bibr" rid="scirp.146479-33">
      [33]
     </xref>.</p>
    <p>Therefore, a pure enumeration algorithm is inefficient for large-scale unloading path problems. However, when combined with constraint-based pruning, it can effectively guarantee the global optimal solution for small- and medium-scale problems.</p>
   </sec>
   <sec id="s2_3">
    <title>2.3. Constrained Optimization and the Principle of Cargo Capacity Limitation</title>
    <p>A constrained optimization problem can be formalized as:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.146479-"></xref> 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         min 
       </mi> 
       <mi>
         f 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mtext>
           
       </mtext> 
       <mtext>
           
       </mtext> 
       <mtext>
           
       </mtext> 
       <mtext>
         s 
       </mtext> 
       <mtext>
         .t 
       </mtext> 
       <mtext>
         . 
       </mtext> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          g 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         ≤ 
       </mo> 
       <mn>
         0 
       </mn> 
       <mo>
         , 
       </mo> 
       <mtext>
           
       </mtext> 
       <msub> 
        <mi>
          h 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mn>
         0 
       </mn> 
      </mrow> 
     </math> (5)</p>
    <p>where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         f 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> represents the objective function, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          g 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          h 
        </mi> 
        <mi>
          j 
        </mi> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> denote the inequality and equality constraints, respectively.</p>
    <p>In the context of the Ship Unloading Path Problem, a typical cargo capacity constraint can be expressed as follows:</p>
    <p>1) Unloading constraint condition</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mstyle displaystyle="true"> 
        <msub> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            k 
          </mi> 
          <mo>
            ∈ 
          </mo> 
          <mi>
            π 
          </mi> 
         </mrow> 
        </msub> 
        <mrow> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mi>
            k 
          </mi> 
         </msub> 
        </mrow> 
       </mstyle> 
       <mo>
         = 
       </mo> 
       <mi>
         Q 
       </mi> 
      </mrow> 
     </math> (6)</p>
    <p>where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           k 
         </mi> 
        </mrow> 
       </msub> 
      </mrow> 
     </math> denotes the quantity of cargo unloaded at port 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          p 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
      </mrow> 
     </math> during the k-th step of the path, and Q represents the total cargo carried by the vessel.</p>
    <p>2) Remaining Cargo Constraint</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         Q 
       </mi> 
       <mo>
         − 
       </mo> 
       <mstyle displaystyle="true"> 
        <msubsup> 
         <mo>
           ∑ 
         </mo> 
         <mrow> 
          <mi>
            j 
          </mi> 
          <mo>
            = 
          </mo> 
          <mn>
            1 
          </mn> 
         </mrow> 
         <mi>
           k 
         </mi> 
        </msubsup> 
        <mrow> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <msub> 
            <mi>
              π 
            </mi> 
            <mi>
              j 
            </mi> 
           </msub> 
          </mrow> 
         </msub> 
        </mrow> 
       </mstyle> 
       <mo>
         ≥ 
       </mo> 
       <mn>
         0 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ∀ 
       </mo> 
       <mi>
         k 
       </mi> 
      </mrow> 
     </math> (7)</p>
    <p>which requires that after any unloading step mm, the remaining cargo on the vessel must be non-negative.</p>
    <p>3) Feasible Path Constraint</p>
    <p>If a given port does not meet its demand, the corresponding path is immediately deemed infeasible and pruned.</p>
    <p>By introducing such constraints, the search space in the enumeration process can be significantly reduced, thereby improving computational efficiency <xref ref-type="bibr" rid="scirp.146479-34">
      [34]
     </xref>.</p>
    <p>4) Intelligent Search and Pruning Strategies</p>
    <p>To address the inefficiency of enumeration algorithms, researchers commonly adopt pruning strategies. The core idea is that during the enumeration process, if a partial path is found unlikely to yield a better solution, the search along that branch is terminated early.</p>
    <p>Common pruning methods include:</p>
    <p>Bound-based pruning</p>
    <p>If the sum of the current partial path cost C<sub>partial</sub> and the theoretical minimum remaining cost LB already exceeds the known optimal solution C*, the branch can be discarded.</p>
    <p>Constraint-based pruning</p>
    <p>If the current partial path violates cargo capacity or operational sequence constraints, the branch is not expanded further.</p>
    <p>Heuristic-based pruning</p>
    <p>Paths lacking priority can be filtered early using heuristic functions (e.g., shortest-distance estimates) <xref ref-type="bibr" rid="scirp.146479-35">
      [35]
     </xref>.</p>
   </sec>
  </sec><sec id="s3">
   <title>3. Optimal Unloading Path Search Algorithm Based on Enumeration Method</title>
   <p>During a single voyage, after completing loading operations, the target vessel must proceed according to the schedule to several unloading ports in sequence. The core task of the shipping scheduling system is to determine an economical and feasible unloading path—that is, to decide the sequence of unloading ports while ensuring that each port’s demand is met and draft/cargo load limitations (cargo capacity constraints) are satisfied, as well as to provide corresponding arrival, completion, and departure times. The proposed algorithm is based on the principle of enumerating all candidate unloading sequences combined with cargo capacity validation. It prioritizes solutions that minimize sailing distance while meeting port cargo constraints, and, when necessary, provides a manual adjustment interface to enhance practical applicability in real-world operations.</p>
   <sec id="s3_1">
    <title>3.1. Algorithm Design</title>
    <p>In international shipping scheduling, obtaining the optimal unloading path under port loading and unloading constraints is a key factor for improving transportation efficiency and reducing operating costs. Given that the number of unloading ports is limited and the constraints are clearly defined, this study introduces the Enumeration Method. By exhaustively generating all possible unloading schemes and progressively filtering them based on business rules, the algorithm ultimately identifies the optimal unloading path that satisfies all constraints.</p>
    <p>The overall design of the algorithm follows the principle of “generate feasible solutions first, then gradually filter, and finally output the optimal solution”. It consists of five core steps:</p>
    <p>1) Information collection and data acquisition;</p>
    <p>2) Unloading scheme generation;</p>
    <p>3) Voyage path construction and distance calculation;</p>
    <p>4) Cargo capacity constraint validation;</p>
    <p>5) Optimal path search and manual adjustment.</p>
    <p>The overall framework is illustrated in <xref ref-type="fig" rid="fig1">
      Figure 1
     </xref>.</p>
    <fig id="fig1" position="float">
     <label>Figure 1</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.146479-"></xref>Figure 1. Flowchart of the algorithm.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9303453-rId45.jpeg?20251020025935" />
    </fig>
    <p>Through a human-computer interaction interface, the scheduling plan and the target vessel’s Maritime Mobile Service Identity (MMSI) are collected. Port-related data (loading port, unloading ports, and the unloading volume for each port) is retrieved from the database. The raw data then undergo a cleaning and preprocessing stage, which includes removing missing values, discarding invalid ports, filtering out identical loading and unloading ports, and verifying whether ports belong to the same navigation region. To accelerate subsequent computations, Redis in-memory caching is adopted for data storage and quick access.</p>
    <p>All unloading ports of the target vessel are first subject to a regional consistency check. If inconsistencies are detected, the input data must be reselected; if consistent, duplicate ports are removed, and permutations of the remaining ports are enumerated to produce all feasible unloading schemes.</p>
    <p>For example, when the vessel with MMSI = 636,022,324 has two unloading ports, NLVSG and DEBRA (as shown in <xref ref-type="table" rid="table1">
      Table 1
     </xref>), two feasible schemes can be generated:</p>
    <p>Scheme A: NLVSG → DEBRA</p>
    <p>Scheme B: DEBRA → NLVSG</p>
    <table-wrap id="table1">
     <label>
      <xref ref-type="table" rid="table1">
       Table 1
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.146479-"></xref>Table 1. Example of vessel information awaiting scheduling.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="10.17%"><p style="text-align:center">mmsi</p></td> 
       <td class="custom-bottom-td acenter" width="10.89%"><p style="text-align:center">start_time</p></td> 
       <td class="custom-bottom-td acenter" width="10.60%"><p style="text-align:center">end_time</p></td> 
       <td class="custom-bottom-td acenter" width="13.07%"><p style="text-align:center">start_port_code</p></td> 
       <td class="custom-bottom-td acenter" width="12.15%"><p style="text-align:center">Cargo_volume</p></td> 
       <td class="custom-bottom-td acenter" width="13.84%"><p style="text-align:center">End_port_code</p></td> 
       <td class="custom-bottom-td acenter" width="7.72%"><p style="text-align:center">Plan_id</p></td> 
       <td class="custom-bottom-td acenter" width="10.78%"><p style="text-align:center">Arrival_time</p></td> 
       <td class="custom-bottom-td acenter" width="10.78%"><p style="text-align:center">Unload_port</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="10.17%"><p style="text-align:center">636022324</p></td> 
       <td class="custom-top-td acenter" width="10.89%"><p style="text-align:center">2023-03-12 00:00:00</p></td> 
       <td class="custom-top-td acenter" width="10.60%"><p style="text-align:center">2023-03-18 12:42:00</p></td> 
       <td class="custom-top-td acenter" width="13.07%"><p style="text-align:center">BRPOR</p></td> 
       <td class="custom-top-td acenter" width="12.15%"><p style="text-align:center">6000</p></td> 
       <td class="custom-top-td acenter" width="13.84%"><p style="text-align:center">UYPTP</p></td> 
       <td class="custom-top-td acenter" width="7.72%"><p style="text-align:center">1</p></td> 
       <td class="custom-top-td acenter" width="10.78%"><p style="text-align:center">2023-03-17 07:54:00</p></td> 
       <td class="custom-top-td acenter" width="10.78%"><p style="text-align:center">NLVSG</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="10.17%"><p style="text-align:center">636022324</p></td> 
       <td class="acenter" width="10.89%"><p style="text-align:center">2023-03-18 12:42:00</p></td> 
       <td class="acenter" width="10.60%"><p style="text-align:center">2023-03-19 17:30:00</p></td> 
       <td class="acenter" width="13.07%"><p style="text-align:center">UYPTP</p></td> 
       <td class="acenter" width="12.15%"><p style="text-align:center">6000</p></td> 
       <td class="acenter" width="13.84%"><p style="text-align:center">UYPTP</p></td> 
       <td class="acenter" width="7.72%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="10.78%"><p style="text-align:center">2023-03-17 07:54:00</p></td> 
       <td class="acenter" width="10.78%"><p style="text-align:center">NLVSG</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="10.17%"><p style="text-align:center">636022324</p></td> 
       <td class="acenter" width="10.89%"><p style="text-align:center">2023-03-19 17:30:00</p></td> 
       <td class="acenter" width="10.60%"><p style="text-align:center">2023-03-20 13:39:36</p></td> 
       <td class="acenter" width="13.07%"><p style="text-align:center">UYPTP</p></td> 
       <td class="acenter" width="12.15%"><p style="text-align:center">4200</p></td> 
       <td class="acenter" width="13.84%"><p style="text-align:center">UYPTP</p></td> 
       <td class="acenter" width="7.72%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="10.78%"><p style="text-align:center">2023-03-17 07:54:00</p></td> 
       <td class="acenter" width="10.78%"><p style="text-align:center">DEBRA</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="10.17%"><p style="text-align:center">636022324</p></td> 
       <td class="acenter" width="10.89%"><p style="text-align:center">2023-03-20 13:39:36</p></td> 
       <td class="acenter" width="10.60%"><p style="text-align:center">2023-03-21 08:51:36</p></td> 
       <td class="acenter" width="13.07%"><p style="text-align:center">UYPTP</p></td> 
       <td class="acenter" width="12.15%"><p style="text-align:center">4000</p></td> 
       <td class="acenter" width="13.84%"><p style="text-align:center">UYPTP</p></td> 
       <td class="acenter" width="7.72%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="10.78%"><p style="text-align:center">2023-03-17 07:54:00</p></td> 
       <td class="acenter" width="10.78%"><p style="text-align:center">DEBRA</p></td> 
      </tr> 
     </table>
    </table-wrap>
    <p>1) Voyage Path Construction and Distance Calculation</p>
    <p>Based on the last loading port and the unloading ports specified in each unloading scheme, the voyage path is constructed step by step. The inter-port distance table is queried to obtain the distance between any two ports, from which the total voyage distance is calculated. For example, if UYPTP is the last loading port, then:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.146479-"></xref>Scheme A: UYPTP → NLVSG → DEBRA, with a total distance of 6663 nautical miles.</p>
    <p>Scheme B: UYPTP → DEBRA → NLVSG, with a total distance of 6909 nautical miles.</p>
    <p>According to the “shortest path priority” principle, the scheme with the shorter total distance is selected as the current unloading plan.</p>
    <p>2) Cargo Capacity Constraint Validation</p>
    <p>For the current unloading scheme, the vessel’s cargo load before and after each unloading port is calculated and compared against the maximum permissible load at that port to verify compliance with draft restrictions. If a port’s constraint is violated, the scheme with the next-shortest voyage distance is selected as the new candidate plan, and the validation process is repeated until all constraints are satisfied.</p>
    <p>3) Optimal Path Search and Manual Adjustment</p>
    <p>Once cargo capacity constraints are satisfied, the vessel’s estimated arrival, unloading completion, and departure times are further computed, and the results are written into the scheduling plan to generate the optimal unloading path (see <xref ref-type="table" rid="table2">
      Table 2
     </xref>). If scheduling personnel deem the result unreasonable due to factors such as policy changes or weather, they may manually input a preferred port sequence. The algorithm then recalculates the arrival and unloading completion times based on the user-defined order, revalidates the new scheme under the defined constraints, and updates the results, thereby producing the final optimal unloading path.</p>
    <p>Compared with traditional experience-based manual scheduling methods, this algorithm leverages real business data and systematic computational rules to achieve efficient and accurate unloading path optimization, demonstrating strong practical application value.</p>
    <table-wrap id="table2">
     <label>
      <xref ref-type="table" rid="table2">
       Table 2
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.146479-"></xref>Table 2. The scheduling results output by the algorithm proposed in this paper.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="8.86%"><p style="text-align:center">mmsi</p></td> 
       <td class="custom-bottom-td acenter" width="16.14%"><p style="text-align:center">start_unload_time</p></td> 
       <td class="custom-bottom-td acenter" width="14.36%"><p style="text-align:center">end_unload_time</p></td> 
       <td class="custom-bottom-td acenter" width="13.94%"><p style="text-align:center">start_port_code</p></td> 
       <td class="custom-bottom-td acenter" width="12.53%"><p style="text-align:center">cargo_volume</p></td> 
       <td class="custom-bottom-td acenter" width="14.18%"><p style="text-align:center">End_port_code</p></td> 
       <td class="custom-bottom-td acenter" width="7.48%"><p style="text-align:center">Plan_id</p></td> 
       <td class="custom-bottom-td acenter" width="12.50%"><p style="text-align:center">Arrival_time</p></td> 
      </tr> 
      <tr> 
       <td class="custom-top-td acenter" width="8.86%"><p style="text-align:center">636022324</p></td> 
       <td class="custom-top-td acenter" width="16.14%"><p style="text-align:center">2023-04-15 23:55:48</p></td> 
       <td class="custom-top-td acenter" width="14.36%"><p style="text-align:center">2023-04-18 21:12:36</p></td> 
       <td class="custom-top-td acenter" width="13.94%"><p style="text-align:center">NLVSG</p></td> 
       <td class="custom-top-td acenter" width="12.53%"><p style="text-align:center">−8200</p></td> 
       <td class="custom-top-td acenter" width="14.18%"><p style="text-align:center">DEBRA</p></td> 
       <td class="custom-top-td acenter" width="7.48%"><p style="text-align:center">1</p></td> 
       <td class="custom-top-td acenter" width="12.50%"><p style="text-align:center">2023-04-17 05:51:00</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="8.86%"><p style="text-align:center">636022324</p></td> 
       <td class="acenter" width="16.14%"><p style="text-align:center">2023-03-21 08:51:36</p></td> 
       <td class="acenter" width="14.36%"><p style="text-align:center">2023-04-15 23:55:48</p></td> 
       <td class="acenter" width="13.94%"><p style="text-align:center">UYPTP</p></td> 
       <td class="acenter" width="12.53%"><p style="text-align:center">−12,000</p></td> 
       <td class="acenter" width="14.18%"><p style="text-align:center">NLVSG</p></td> 
       <td class="acenter" width="7.48%"><p style="text-align:center">1</p></td> 
       <td class="acenter" width="12.50%"><p style="text-align:center">2023-04-13 14:19:48</p></td> 
      </tr> 
     </table>
    </table-wrap>
   </sec>
  </sec><sec id="s4">
   <title>4. Numerical Experiments</title>
   <p>To verify the effectiveness and practicality of the proposed optimal unloading path search algorithm based on enumeration, this study selected real scheduling plans from a shipping company covering the period from January to May 2023 as experimental data. These schedules were prepared by approximately ten schedulers, thereby reflecting the company’s actual operational conditions. The core objective of the experiment is to test the applicability and accuracy of the algorithm under real-world business data.</p>
   <p>To ensure a fair evaluation, the accuracy of the algorithm was defined based on professional schedulers’ validation. Specifically, an algorithm-generated unloading path was classified as “correct” under two conditions: (i) the sequence of ports exactly matched the original schedule prepared by schedulers, or (ii) although the sequence differed, the schedulers confirmed that the path satisfied all practical constraints (e.g., draft limitations, port regulations, unloading priorities) and was considered operationally reasonable. This definition allows the accuracy metric to capture both exact replications and logically acceptable alternatives.</p>
   <sec id="s4_1">
    <title>4.1. Data Sources and Experimental Design</title>
    <p>The experimental data cover vessel schedules from January to May 2023, including information on target vessels, loading and unloading ports, cargo volumes, and relevant scheduling constraints. Under the principles of maintaining reasonable unloading sequences and satisfying cargo volume restrictions, the algorithm automatically generates and optimizes unloading paths. The resulting numbers of unloading voyages are shown in <xref ref-type="fig" rid="fig2">
      Figure 2
     </xref>.</p>
    <fig id="fig2" position="float">
     <label>Figure 2</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.146479-"></xref>Figure 2. Number of vessel unloading voyages from January to May 2023.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/9303453-rId46.jpeg?20251020025936" />
    </fig>
   </sec>
   <sec id="s4_2">
    <title>4.2. Experimental Results and Analysis</title>
    <p>The experimental results demonstrate that the proposed algorithm achieved an overall accuracy exceeding 75% when applied to real scheduling plans from January to May 2023. Accuracy was evaluated by comparing the optimal unloading paths generated by the algorithm with those manually designed by professional schedulers. A solution was considered correct if it was judged by schedulers to be logically consistent with practical unloading operations.</p>
    <p>The findings reveal several key observations:</p>
    <p>1) Stability across different scenarios. The algorithm consistently maintained high stability across different months and task scales. Even in months with a large number of voyages—such as January and April, with 67 voyages each—it was still able to efficiently generate feasible solutions.</p>
    <p>2) Practicality ensured by capacity constraints. By integrating the cargo capacity constraint principle, the algorithm effectively prevented infeasible solutions caused by ship overloading, thereby ensuring that the output was operationally viable.</p>
    <p>3) Efficiency compared with manual scheduling. In contrast to traditional experience-based planning, the algorithm substantially reduced repetitive tasks and significantly shortened the time required for schedulers to design paths. This efficiency gain provides strong support for shipping enterprises undergoing digital transformation.</p>
    <p>Overall, the numerical experiments validate the effectiveness and applicability of the proposed algorithm in real-world business contexts, demonstrating both robustness and practical utility.</p>
   </sec>
  </sec><sec id="s5">
   <title>5. Discussion and Outlook</title>
   <sec id="s5_1">
    <title>5.1. Advantages and Innovation</title>
    <p>The enumeration-based optimal unloading path search algorithm proposed in this study offers several innovations by integrating path planning with real-world operational constraints. First, by generating all permutations of unloading ports, the algorithm ensures comprehensive path exploration and guarantees the identification of globally optimal solutions. In both the experimental dataset and common practice, the number of unloading ports per voyage does not exceed five, making this exhaustive approach computationally efficient and tractable. Unlike commonly used heuristic methods, this exhaustive approach is not only feasible in shipping scenarios with a limited number of ports but also provides strong interpretability, which is essential for practical decision-making.</p>
    <p>Second, the incorporation of cargo capacity constraints into path selection represents a key advancement. The algorithm rigorously verifies whether ship loading and unloading activities at each port satisfy draft restrictions, thereby producing results that are more consistent with actual operational requirements.</p>
    <p>Third, the design of a manual adjustment mechanism enhances practical usability. Scheduling personnel can refine system-generated solutions, which then trigger recalculation and validation. This design achieves a synergistic integration of intelligent computation and human expertise.</p>
    <p>Finally, the use of databases and caching technologies significantly improves data processing and query efficiency, aligning with the optimization trends of modern logistics information systems.</p>
    <p>Collectively, these innovations ensure that the algorithm not only guarantees the theoretical global optimality but also provides flexibility for handling business constraints and manual interventions. The proposed algorithm can be integrated into Terminal Operating Systems (TOS) or vessel management platforms to automatically generate optimal unloading sequences and estimated operation times, while allowing manual adjustments for practical contingencies. This integration can improve berth utilization, reduce vessel idle time, and enhance overall operational efficiency, offering a practical perspective for intelligent maritime logistics management.</p>
   </sec>
   <sec id="s5_2">
    <title>5.2. Limitations and Future Improvements</title>
    <p>Despite its advantages, the algorithm still has notable limitations. First, the computational complexity of enumeration increases factorially with the number of ports, which undermines efficiency in large-scale scenarios. Existing studies often address this challenge by adopting heuristic or branch-and-bound methods to improve scalability. Second, this study focuses solely on cargo capacity constraints, without accounting for additional critical dimensions such as time windows, fuel consumption, carbon emissions, and meteorological conditions. These factors are becoming increasingly important in the context of green and sustainable shipping. Third, the current algorithm relies on static data and lacks the ability to dynamically re-optimize solutions in response to disruptions such as adverse weather conditions or port congestion, thereby limiting its adaptability to real-time uncertainties. Finally, while manual adjustments provide flexibility, they remain heavily dependent on human experience and lack intelligent recommendation support, introducing potential risks of subjective bias.</p>
    <p>Future work may proceed in the following directions: 1) integrating enumerat ion with heuristic methods to balance exactness in small- and medium-scale problems with efficiency in large-scale cases; 2) expanding the range of constraints to construct multi-objective models that simultaneously address economic and environmental goals; 3) leveraging real-time data and predictive analytics to enhance adaptability and robustness; and 4) incorporating intelligent recommendation mechanisms into the manual adjustment process to reduce dependence on subjective experience.</p>
    <p>In conclusion, while the algorithm demonstrates strong interpretability and alignment with business requirements, further research is needed to improve its scalability, adaptability, and ability to handle multi-dimensional constraints in complex shipping environments.</p>
   </sec>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.146479-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     United Nations Conference on Trade and Development (UNCTAD) (2023) Review of Maritime Transport 2023. United Nations.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Stopford, M. (2009) Maritime Economics. 3rd Edituion, Routledge. 
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Rodrigue, J.P. and Notteboom, T. (2020) The Geography of Transport Systems. Routledge.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cullinane, K., Bergqvist, R. and Wilmsmeier, G. (2019) Maritime Logistics: A Guide to Contemporary Shipping and Port Management. Kogan Page.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Christiansen, M., Fagerholt, K., Nygreen, B. and Ronen, D. (2007) Maritime Transportation. Handbooks in Operations Research and Management Science, 14, 189-284. &gt;https://doi.org/10.1016/s0927-0507(06)14004-9
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Psaraftis, H.N. (2020) Maritime Informatics and Digitalization: Implications for Shipping. Maritime Economics&amp;Logistics, 22, 167-187.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Song, D.P. and Panayides, P. (2012) Maritime Logistics: Contemporary Issues. Emerald.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Meng, Q., Wang, S., Andersson, H. and Thun, K. (2014) Containership Routing and Scheduling in Liner Shipping: Overview and Future Research Directions. Transportation Science, 48, 265-280. &gt;https://doi.org/10.1287/trsc.2013.0461
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Notteboom, T., Pallis, T. and Rodrigue, J. (2021) Disruptions and Resilience in Global Container Shipping and Ports: The COVID-19 Pandemic versus the 2008-2009 Financial Crisis. Maritime Economics&amp;Logistics, 23, 179-210. &gt;https://doi.org/10.1057/s41278-020-00180-5
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Crainic, T.G. and Montreuil, B. (2016) Physical Internet Enabled Hyperconnected City Logistics. Transportation Research Procedia, 12, 383-398.&gt;https://doi.org/10.1016/j.trpro.2016.02.074 
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Dijkstra, E.W. (1959) A Note on Two Problems in Connexion with Graphs. Numerische Mathematik, 1, 269-271. &gt;https://doi.org/10.1007/bf01386390
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hart, P., Nilsson, N. and Raphael, B. (1968) A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on Systems Science and Cybernetics, 4, 100-107. &gt;https://doi.org/10.1109/tssc.1968.300136
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cordeau, J., Laporte, G., Savelsbergh, M.W.P. and Vigo, D. (2007) Vehicle Routing. Handbooks in Operations Research and Management Science, 14, 367-428. &gt;https://doi.org/10.1016/s0927-0507(06)14006-2
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Toth, P. and Vigo, D. (2014) Vehicle Routing: Problems, Methods, and Applications. SIAM.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Braekers, K., Ramaekers, K. and Van Nieuwenhuyse, I. (2016) The Vehicle Routing Problem: State of the Art Classification and Review. Computers&amp;Industrial Engineering, 99, 300-313. &gt;https://doi.org/10.1016/j.cie.2015.12.007
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Baldacci, R., Mingozzi, A. and Roberti, R. (2012) Recent Exact Algorithms for Solving the Vehicle Routing Problem under Capacity and Time Window Constraints. European Journal of Operational Research, 218, 1-6. &gt;https://doi.org/10.1016/j.ejor.2011.07.037
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Bektas, T. (2006) The Multiple Traveling Salesman Problem: An Overview of Formulations and Solution Procedures. Omega, 34, 209-219. &gt;https://doi.org/10.1016/j.omega.2004.10.004
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Desaulniers, G., Desrosiers, J. and Solomon, M.M. (2005) Column Generation. Springer.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref19">
    <label>19</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Laporte, G. (2009) Fifty Years of Vehicle Routing. Transportation Science, 43, 408-416. &gt;https://doi.org/10.1287/trsc.1090.0301
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref20">
    <label>20</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cordeau, J. and Laporte, G. (2007) The Dial-A-Ride Problem: Models and Algorithms. Annals of Operations Research, 153, 29-46. &gt;https://doi.org/10.1007/s10479-007-0170-8
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref21">
    <label>21</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Gendreau, M. and Potvin, J.Y. (2019) Handbook of Metaheuristics. 3rd Edition, Springer.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref22">
    <label>22</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Holland, J.H. (1975) Adaptation in Natural and Artificial Systems. University of Michigan Press.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref23">
    <label>23</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Dorigo, M. and Gambardella, L.M. (1997) Ant Colonies for the Travelling Salesman Problem. Biosystems, 43, 73-81. &gt;https://doi.org/10.1016/s0303-2647(97)01708-5
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref24">
    <label>24</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Glover, F. and Laguna, M. (1997) Tabu Search. Springer.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref25">
    <label>25</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mladenović, N. and Hansen, P. (1997) Variable Neighborhood Search. Computers&amp;Operations Research, 24, 1097-1100. &gt;https://doi.org/10.1016/s0305-0548(97)00031-2
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref26">
    <label>26</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Psaraftis, H.N. and Kontovas, C.A. (2014) Green Ship Routing and Scheduling: A State-of-the-Art Survey. Transportation Research Part C: Emerging Technologies, 13, 1-39.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref27">
    <label>27</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Wen, M., Pacino, D., Kontovas, C. and Psaraftis, H. (2016) A Multiple Ship Routing and Scheduling Problem with Emission Control Areas. Transportation Research Part D, 46, 15-28.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref28">
    <label>28</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhen, L., Wang, S. and Laporte, G. (2019) Green Routing and Scheduling for Two-echelon Multistrip Electric Vehicle Logistics Networks. European Journal of Operational Research, 272, 971-985.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref29">
    <label>29</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Acciaro, M., Ghiara, H. and Cusano, M.I. (2014) Energy Management in Seaports: A New Role for Port Authorities. Energy Policy, 71, 4-12. &gt;https://doi.org/10.1016/j.enpol.2014.04.013
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref30">
    <label>30</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Dinwoodie, J., Tuck, S., Knowles, H., Benhin, J. and Sansom, M. (2010) Carbon Emissions Mitigation Strategies in the Port Sector. Maritime Policy&amp;Management, 37, 367-384.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref31">
    <label>31</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cariou, P. and Wolff, F.C. (2017) Do Port Investments in Sustainability Pay Off? The Case of Air Pollution from Ships. Transportation Research Part D, 55, 370-384.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref32">
    <label>32</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Steenken, D., Voß, S. and Stahlbock, R. (2004) Container Terminal Operation and Operations Research—A Classification and Literature Review. OR Spectrum, 26, 3-49. &gt;https://doi.org/10.1007/s00291-003-0157-z
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref33">
    <label>33</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., et al. (1985) The Traveling Salesman Problem. Wiley.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref34">
    <label>34</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Bertsekas, D.P. (1999) Nonlinear Programming. Athena Scientific.
    </mixed-citation>
   </ref>
   <ref id="scirp.146479-ref35">
    <label>35</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Hansen, P. and Mladenović, N. (2001) Variable Neighborhood Search: Principles and Applications. European Journal of Operational Research, 130, 449-467. &gt;https://doi.org/10.1016/s0377-2217(00)00100-4
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>