<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Serverless Computing for Acceptance and Shipping Warehouse Zones Optimization</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oleksandr Muliarevych</string-name>
          <email>oleksandr.v.muliarevych@lpnu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lviv Polytechnic National University</institution>
          ,
          <addr-line>Stepana Bandery St. 14, Lviv, 79000</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>87</fpage>
      <lpage>96</lpage>
      <abstract>
        <p>The article is devoted to a key part of any e-commerce - customer's order execution. After overview of the main warehouse operations the input parameters and their potential combinations of acceptance and shipping zones calculation are described, which is a part of warehouse design complex task. This study demonstrates complexity of searching for optimal design solution because of big number of input parameters and constraints. In worst case, hundred of thousands parameter combinations should be evaluated to find the optimal one. Developed warehouse design system based on prediction model and serverless computing, which evaluates different parameter combinations decreases time for optimal result search and makes warehouse design more automated. Achieved results demonstrated in article help to compare efficience of different approaches for the most time-consuming part - computing subsystem: monolith architecture, microservices with horizontal auto-scaling and serverless lightweighted functional processing. Warehouse design, serverless, computing, acceptance and shipping zones, labor cost</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Nowadays, online shops are spread widely, everyone can search using internet any goods and order
them in several clicks. Under the hood, there are lot of business processes should be well organised to
make this possible, solving issues with the storage space rent and goods flows transfer and routing.
Warehouse operation is one of the main problems that appears for different industries and business
models that are not conducted with building and design new warehouse buildings [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. This fact causes
a high popularity of such called “logistics outsourcing” or when between 2 typical participants in a
goods flow: supplier and customer appear the third, who helps with goods storage, distribution, and
transfer, it is called also “third-party logistic” provider (3PL) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Third-party logistics provider – is
usually a firm which provides multiple logistics services for use by customers related to facilitate the
movement of parts and
      </p>
      <p>materials from suppliers to manufacturers and finished products from
manufacturers to distributors and retailers.</p>
      <p>
        Goods transportation,
warehousing, cross-docking,
inventory management, packaging and freight forwarding are provided together as a package of services
by the 3PL provider [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        Using 3PL providers, customers achieve next benefits: better quality of services, cost reduction,
better and easier control, focus on core competences, better order accuracy and time compression.
Customers doesn’t change warehouses often, usually it’s a long-term contract, which brings profit for
both side: manufacturer who rent a part of storage capacities with full set of order processing services
and 3PL provider who manage warehouse and try to keep utilization level of building at max ratio,
winwin strategy. The problem appears at the start point when customer has estimated input order data
required to be processed during next year, and he is searching for the best option with a lowest cost and
fast response between all available in his region 3PL providers. The same situation repeats when goods
volume changes and rebalance of estimated zone should be done as fast as possible. For sure, it’s a
usual task for professional logistics engineers [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], but a lot of manual calculation has several
disadvantages: 1) human failure probability on some step that is hard to detect; 2) in the case of huge
portions of input order data and big list of constraints from a customer, it could increase calculation
complexity and time for final result definition till the month or even more [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]; 3) set of options that
would be checked by professionals doesn’t guarantee that the best optimal by cost design option
wouldn’t be missed, because full combinatorial analysis is impossible task for manual execution.
      </p>
      <p>
        That’s why developing software and computer systems for logistics, especially automated
warehouse design, is so popular nowadays [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Deopware.com platform that includes methodology
and approaches described in this article isn’t an exclusion.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Warehouse Design</title>
      <p>
        Mentioned before Deopware.com platform as a software platform suite for computing and
evaluation of warehouse design efficiency, it offers reliable, scalable, and flexible services based on
mathematical algorithms and the latest IT solutions – combining pattern recognition [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and learnable
prediction model [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], serverless computing [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and microservice architecture [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Firstly, let’s overview what type of zones warehouse consists of and what list of parameters,
constraints and input order data used for evaluation. The processing areas for the goods flow are next
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]: 1) unloading and acceptance zone; 2) storage and collection zone; 3) control and picking zone; 4)
transport expedition zone; 5) shipping zone. This typical zoning is shown in Figure 1., where four
rectangle-zones inside of an abstract warehouse building are represented.
      </p>
      <p>
        Usually input data for design warehouse task contains next data: 1) warehouse operation mode
(expected working hours and time shifts); 2) delivery standard (frequency and volume of income
supplies, income pallets, packaging units properties; expected income vehicles parameters); 3) storage
standard (extrapolated and adjusted set of orders and products, using which we can evaluate the volume
of commodity flow and it’s unevenness ratio; set of racks, additional criterias for a forward-reserve
problem solving [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]); 4) selection and shipping standard (order packaging units, outbound vehicles
parameters, shipment working hours, due dates for delivery); 5) transporters standard (warehouse
specific transposters properties); 6) optional building constraints (size of building, piles, forbidden
areas, existed communications, etc.).
palletized and packaged in trucks at the warehouse; 2) pallets are homogeneous; 3) goods are accepted
after full unloading of cars; 4) the time for acceptance of goods corresponds to the time of car unloading;
5) there is no pronounced trend to increase/ decrease the warehouse stocks; 6) there are no special
requirements for storage, handling, commodity management; 7) the storage pallet parameters
correspond to the pallet acceptance parameters; 8) orders are shipped after a full check by the
forwarding agent of their compliance with the route [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the time for checking the routes corresponds
to the vehicle loading time. 9) the zones with special conditions for commodity flow storage and
processing are not required; 10) the works on unloading/acceptance of the goods and the works on order
shipment are performed at different times. Consequently, to save resources and warehouse space, it is
advisable to use a combined acceptance/shipping zone.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Acceptance and shipping zones evaluation</title>
      <p>To calculate the required capacity of the acceptance/shipping zone, as well as the required resources,
it’s required to determine the composition of the first acceptance/shipping post and calculate the
required number of posts. Since the loading and unloading fronts are combined, the indicators are
calculated separately for the incoming and outcoming commodity flows with the subsequent
comparison of the data obtained and the adoption of the highest values.</p>
      <p>Let’s determine the required number of acceptance and shipping posts. To do this, firstly we need
to calculate the number of vehicles arriving per day for unloading, considering the non-uniformity of
deliveries. The daily number of vehicles arriving for unloading is determined by the formula:
  .  . =</p>
      <p>(  .  . ×   . )
(Н . ×   . ×   . )
,
,
(1)
(3)
where Vi.o. – is an average daily volume of commodity flow, represented in m3,</p>
      <p>Rin. – input goods storage unevenness ratio,
Hp. – height (m) of goods on the pallet,
Sp. – area (m2) occupied by the pallet,
Fi. – number of pallets that could be placed in the vehicle that arrive.</p>
      <p>Using calculated number of income vehicles (M in.V.) from (1) and selected unloading procedure
options we can calculate the required number of posts for processing the incoming commodity flow:
(  .  . ×   . ) (2)</p>
      <p>Т .</p>
      <p>where M in.G. – is the number of parallel a processing incoming commodity flows or gates in the
warehouse needed to fulfill acceptance zone requirements,</p>
      <p>t unload. – is a time (minutes) for the arrived vehicle unloading, considering technological downtime
and auxiliary time,</p>
      <p>Tin. – is a scheduled processing time interval of unloading and acceptance of goods.</p>
      <p>It’s important to mention, we accept that the goods arrive palletized and packaged in trucks at the
warehouse, pallets are homogeneous, accepted after full unloading of vehicle. The time for acceptance
of goods corresponds to the time of car unloading.</p>
      <p>Evaluation of output goods flow is similar with input, income goods. Determine the required number
of shipping vehicles using next formula:
 
.  . =
(  .  . ×</p>
      <p>. )
(Н . ×   . ×   . )
,
where Rout. – output goods storage unevenness ratio,</p>
      <p>Ho. – height (m) of goods on the packed order’s packaging unit,
So. – area (m2) occupied by the packed order’s packaging unit,
Fo. – number of packaging units that could be placed in the shipping vehicle.</p>
      <p>Using calculated number of outcome vehicles (M out.V.) and selected shipping procedure options
we can calculate the required number of posts for processing the outcoming commodity flow:
(  .  . ×   ℎ . ) (4)
 
.  . =

.
where M out.G. – is the number of parallel processing outcoming commodity flows or gates in
warehouse needed to fulfill shipping zone requirements,</p>
      <p>t ship. – is a time (minutes) for the vehicle loading, considering technological downtime and
auxiliary time,</p>
      <p>Tout. – is a scheduled processing time interval of order packaging and shipment of goods.</p>
      <p>Usual practice for optimizing warehouse space utilization is to combine input and output gates. For
example, if the calculation results in 3 input gates and 10 output gates, then the resulting combination
could be: 7 sets of dock equipment (sectional gates, dokshelter, dockleveler) for servicing the
lowtonnage vehicles and 3 sets of dock equipment (sectional gates, dokshelter, dockleveler) for servicing
both low-tonnage and large-tonnage vehicles. For such a scenario, critical condition added – output and
input work shifts shouldn’t be overlapped.</p>
      <p>Let’s determine the required acceptance and shipping zones capacities. Firstly, need to note, the
batch of goods is accepted after full vehicle unloading and the acceptance time of the batch of goods
corresponds to the time of vehicle unloading. Therefore, to ensure process continuity in the zone, it is
advisable to unload the next batch during the acceptance of the batch of goods. To ensure work
performance according to this approach, the capacity of one acceptance post should allow us to place a
commodity volume equal to double the volume of goods in the vehicle back at a time. This is
represented by the next formula:</p>
      <p>.  . = 2 ×   .,</p>
      <p>. =   .  . × Н . ×   .,
Thus, the required zone and capacity of the acceptance post will be calculated using next formula:
(6)
Finally, the storage space for acceptance zone per one single gate calculated by next formula:
 
. =
(  .  . ×   . )</p>
      <p>.
where U acc. – utilization level of acceptance zone.</p>
      <p>By multiplying the obtained values from formulas (5) - (7) by the required number of unloading
and acceptance posts, we obtain the required characteristics of the general acceptance zone.</p>
      <p>Shipment zone calculation is like the acceptance zone definition. Complete orders in the route are
placed in front of the gate. Since the order transfer time to the forwarder corresponds to the order loading
time on the back of vehicles, the required capacity and area of the shipping sector through one gate will
be as follows:</p>
      <p>.  . = 2 ×  .,
  ℎ . =   .  . × Н . ×  .,</p>
      <p>(  .  . ×  . )
  ℎ . =</p>
      <p>ℎ .
where U ship. – area usage ratio of shipping zone.</p>
      <p>By multiplying the obtained values from formulas (8) - (10) by the required number of shipping
posts, we obtain the required characteristics of the general shipment zone.</p>
      <p>As usually acceptance and shipping zones are overlapped, it is enough to use the general combined
zone space using the maximum obtained value:
 
./ ℎ . 
= 
( 
. ,   ℎ . ),</p>
      <p>Gates are placed at one side of the warehouse with step according to gate size. The diagram of the
acceptance/shipping zone is presented in Figure 2. In different literature, this zone could also be named
as inbound / outbound zone, income/packaging &amp; sending zone, etc.</p>
      <p>The general big square is a building available for design of warehouse, the left side of which is
marked for calculated overlapped acceptance / shipping zone. On the left border of the building there
are gates with vehicles, from example described early, when we have 3 input gates and 10 output gates,
so here we have mixed types of vehicles for different directions of commodity flows.</p>
      <p>Now let’s assume that as input we have a warehouse building with its height, width, and length.
We can arrange gates from any side of a building, also we have a set of 10 different trucks that could
be used for delivery of goods to warehouse and for shipping orders. Each vehicle has its own constraints,
like space, loading space width. In the warehouse we have 5 different types of forklifts to use for
execution of orders, moving products from packing zone to shipping zone that influence execution time
and aisles width. Of course, there is a bigger number of constraints, but we will use only limited, for
example: 1) building with possible side options to arrange gates (4 combinations); 2) separate or
combined acceptance and shipping zones (2 combinations); 3) acceptance vehicle type (10
combinations); 4) shipping vehicle type (10 combinations); 5) transporter type (5 combinations).</p>
      <p>
        To evaluate each combination of parameters that brings us a design solution of acceptance and
shipping zones. We can calculate the total expenditure incurred by employees that combine the number
of required employees and spent time on order execution – evaluated value is so called “labor cost” [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
To achieve optimal labor cost value, we need to check all possible combinations of parameters. In the
described example, it will be 4 x 2 x 10 x 10 x 5 = 4000 combinations. To check them all manually in
real design tasks is a waste of time for engineers because customers wouldn’t wait so much time [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ],
faster result – more chance to success.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. System architecture and test results</title>
      <p>The input data for each warehouse design task, excluding specific conditions and constraints, always
contains order data – orders and products. Each order consists of id, shipping due date, target client
info, some specific customer properties and a list of order positions, pair product and its quantity. This
data could be extrapolated from real data for the last operational year or created virtual with some
expectations and forecastings. Using this data, we can calculate input and output good volume flows,
unevenness ratio and other criteria required for internal operational calculation.</p>
      <p>
        The architecture of a system at the top level is demonstrated in Figure 3. Input data is uploaded to a
sub-system of data and limits processing. As a result, we receive calculated statistics about input data
and potential pattern [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], that could be used in the optimal result prediction sub-system for searching
for similar evaluated already warehouse design tasks to find out potential optimal combinations of
parameters.
      </p>
      <p>Processed input data with goods volume value as an ordinate and time grouped by fiscal quarters as
an abscissa for 200000 orders per year totally are shown in Figure 4. Here we can see goods volume
fluctuations – unevenness ratio, load peaks and dependency on seasons and important dates. It’s very
important to consider this during warehouse design tasks to avoid creating battlenacks in operational
flows or delays in shipping orders as it is not acceptable from a business point of view.</p>
      <p>The most sensitive sub-system to performance is the search for an optimal combination task executor
(see Figure 3), which should use prepared and processed input data and constraints with a list of
parameter combinations. The aim is to run an evaluation of each combination – find its summary labor
cost value, then define which combination is the most optimal – its labor cost value is minimal.</p>
      <p>
        For that purpose, the task manager caches processed input data and constraints in-memory task cache
DB and creates tasks for execution in SQS queue (Amazon Simple Queue Service) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. The N executors
triggers execution when events are fired via queue, so the number of light-weighted functions with
cached context that evaluate separate combination correlates with the number of task complexity.
      </p>
      <p>We achieve 2 main benefits using serverless computing: saving of resources – we don’t use any
resources in case we have no active tasks; maximum efficiency of used resources – we run the required
number of executors used at max ratio of cpu and RAM load exactly for task execution.</p>
      <p>But more interesting is the reduction of execution time for warehouse design tasks, which can be
demonstrated by the diagram in Figure 5. Here we have tested different architecture approaches used
for executing the same warehouse design tasks with input data of 100000 orders with up to 500000
products and different sets of combinations for each run: 32, 64, 100, 200, 500 and 1000 (you can see
them as a group on the abscissa of diagram). The ordinate of the diagram is the time of execution of
warehouse design tasks, evaluating all combinations for optimal labor cost search, measured in seconds.</p>
      <p>So, architecture approaches from left to right are: 1) simple monolith, here we have a regular
32core single virtual machine (VM); 2) microservices architecture with horizontal auto-scaling depends
on the load that appear during increasing number of combination tasks for evaluation in task queue,
using a set of 10 VMs, each one identical to single 32-core VM; 3) serverless computing (running up
to 1000 parallel function executors).</p>
      <p>What we can see from graphics is that, in the small number of combinations (up to 32, till fully load
cores of a VM) the leader is for sure a monolith, it’s up to 1.5-2 times faster than i.e., microservice
architecture because of start-up, initialization context, proxy, and other utility efforts. But starting from
100 combinations, the approach with monolith becomes the looser and at the 1000 combinations we
have nearly 1.5 minutes for it, compared to less than 11 seconds using microservices architecture and
nearly 5 seconds using serverless computing.</p>
      <p>For better comparison of execution time there is a helper graphic in Figure 6 with the percentage
difference of time execution between different architecture approaches, marked at the top of figure. The
dash line demonstrates comparison of serverless computing architecture to monolith and the dotdash
line – serverless computing architecture to microservices with auto-scaling. The abscissa of the graphic
is the scope of measured test cases for the described number of combinations, till 1000.</p>
      <p>As we can see from graphic, at 1000 combinations load serverless computing is up to 55% faster
than microservice architecture and up to 94% faster than single monolith computing. But speed isn’t
the only the main criteria important for business, another one option is to save money. The serverless
architecture is the best choise for that purpose, while there is no computation – there is no need to keep
computing resources running. In Figure 7 there is a demo from Deopware.com how developed system’s
user interface looks like. The typical user – is a logistic engineer 3PL. On demo picture several simple
evaluated design scenarios are shown with the list of all scenarios with costs.</p>
      <p>Described developed system used by Deopware.com with multi-tenant environments that are
deployed on popular cloud providers (Google, Amazon) because of serverless computing brings up to
65% of resources savings per month. The network part that includes dedicated IP addresses is billed on
a permanent basis constantly, the same as storage of data. But CPU, RAM, and everything else using
serverless computing is fully dependent on the load that customers create. For demonstration, there is a
snapshot of resources savings in Figure 8. In percentages on the ordinate is value of resources saved
using a serverless approach comparing to equal regular set of VMs in GCS (Google cloud provider
services). The statistic was accumulated for one of the environments – tenant-1 in production during 30
days, presented on the abscissa.</p>
      <p>In addition, using serverless computing there is possibility to determine calculation time, faster client
need to achieve result, more executors would be used, with more costs per hour. To demonstrate
performance of system used by Deopware.com, in Table 1 is shown a set of tasks executed using
different scaling ratios.</p>
      <p>The main characteristic of each task is prepared number of parameters and constraints combinations
for evaluation and searching the optimal one by labor cost. In the list of commercial tasks, per each of
them are demonstrated execution times required for full combination evaluation solved on different
scaling of serverless computing: 100, 500 and 1000 executors. The range of combinations in tasks
approximately from 3000 till 21000. Using executors pool scaling from 100 to 1000 the calculation
time of tasks could be reduced in 7 times and more.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Summary</title>
      <p>The developed system for automated warehouse design using serverless computing and prediction
model enables reducing time for search of parameter’s combination that will help to achieve optimal
labor cost value in acceptable time comparing to manual evaluation of several selected potentially good
combinations, that highly boosts the performance of 3PL provider companies.</p>
      <p>The selected computing architecture has the main impact on performance. Tested three different
approaches: a monolith single virtual machine, microservices with horizontal auto-scaling and the
serverless architecture. The results demonstrate that serverless computing is slower on low complexity
tasks with parallel processing threads nearly 1.5 times higher than the number of single VM’s cores.
But starting from medium and high complexity compared to other two variants, the advantage become
obvious. Moreover, the serverless computing approach is less expensive and more resources saved
compared to microservices even with autoscaling, because of fast startup and less context size.</p>
    </sec>
    <sec id="sec-6">
      <title>6. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Heragu</surname>
          </string-name>
          , Facilities Design. CRC Press,
          <year>2018</year>
          , pp.
          <fpage>261</fpage>
          -
          <lpage>314</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ekeskar</surname>
          </string-name>
          ,
          <article-title>Exploring Third-Party Logistics and Partnering in Construction: A Supply</article-title>
          . Linköping University Electronic Press,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Grzybowska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Awasthi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Sawhney</surname>
          </string-name>
          ,
          <source>Sustainable Logistics and Production in Industry 4.0: New Opportunities and Challenges</source>
          . Springer Nature,
          <year>2019</year>
          , pp.
          <fpage>31</fpage>
          -
          <lpage>57</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Stephens</surname>
          </string-name>
          ,
          <source>Manufacturing Facilities Design &amp; Material Handling</source>
          ,
          <fpage>6</fpage>
          -th ed.. Purdue University Press,
          <year>2019</year>
          , pp.
          <fpage>287</fpage>
          -
          <lpage>301</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C. M.</given-names>
            <surname>Bishop</surname>
          </string-name>
          ,
          <source>Pattern Recognition and Machine Learning</source>
          . Springer New York,
          <year>2016</year>
          , pp.
          <fpage>179</fpage>
          -
          <lpage>196</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Heng</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. McColl</surname>
          </string-name>
          ,
          <source>Mathematics for Future Computing and Communications</source>
          . Cambridge University Press,
          <year>2021</year>
          , pp.
          <fpage>309</fpage>
          -
          <lpage>329</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Poccia</surname>
          </string-name>
          ,
          <string-name>
            <surname>AWS</surname>
          </string-name>
          <article-title>Lambda in Action: Event-driven serverless applications</article-title>
          .
          <source>Simon and Schuster</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>287</fpage>
          -
          <lpage>334</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Raj</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Vanga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chaudhary</surname>
          </string-name>
          ,
          <article-title>Cloud-native Computing: How to Design, Develop, and Secure Microservices and Event-Driven Applications</article-title>
          . John Wiley &amp; Sons,
          <year>2022</year>
          . - pp.
          <fpage>129</fpage>
          -
          <lpage>163</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Walter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Boysen</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Scholl, “
          <article-title>The discrete forward-reserve problem - allocating space, selecting products, and area sizing in forward order picking”</article-title>
          ,
          <source>European Journal of Operational Research</source>
          , vol.
          <volume>229</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>585</fpage>
          -
          <lpage>594</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>O.</given-names>
            <surname>Muliarevych</surname>
          </string-name>
          , “
          <article-title>Solving dynamic asymmetrical Travelling Salesman Problem in conditions of partly unknown data”, Lviv-</article-title>
          <string-name>
            <surname>Slavsk</surname>
          </string-name>
          , Lviv Polytechnik Publ., TCSET'
          <year>2016</year>
          vol.
          <volume>1</volume>
          , pp.
          <fpage>446</fpage>
          -
          <lpage>448</lpage>
          ,
          <year>February 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G.</given-names>
            <surname>Bonaccorso</surname>
          </string-name>
          , Machine Learning Algorithms, 1st ed..
          <source>Packt Publishing</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>476</fpage>
          -
          <lpage>507</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>