• No results found

Modular Warehouse Control: Simultaneous Rectilinear Movement of Multiple Objects within a Limited Free Space Environment.

N/A
N/A
Protected

Academic year: 2020

Share "Modular Warehouse Control: Simultaneous Rectilinear Movement of Multiple Objects within a Limited Free Space Environment."

Copied!
164
0
0

Loading.... (view fulltext now)

Full text

(1)

ABSTRACT

SITTIVIJAN, PEERAPOL. Modular Warehouse Control: Simultaneous Rectilinear Movement of Multiple Objects within a Limited Free Space Environment. (Under the direction of Dr. Michael G. Kay.)

A public logistics network (PLN) has been proposed as an alternative to private logistics

networks for the ground transport of parcels using the analogy between the packages

transported in the network and the packets transmitted through the Internet. An integral part

of such a network is a large number of fully automated modular warehouses functioning

similar to routers in the Internet. In this dissertation, the algorithms to control the movement

of packages in such a modular warehouse have been developed. Precisely, the main purpose

of this dissertation is to develop efficient algorithms to control the simultaneous movement

of objects of various sizes within an area with limited free space and to apply the developed

algorithms for modular warehouse control. The details of the developed algorithms are as

follows.

First, algorithms are developed for a simpler version of the control problem where all

objects (packages) are unit squares. The developed algorithm is a combination of centralized

and decentralized approaches and is based on a unique priority level assigned to each

individual object. The basic algorithm is comprised of three main parts, namely, main

control, route planning and the tagging process. The main control portion controls the

movement of all objects at each time step and detects deadlocks, which indicate that some

objects are blocked and cannot move to their destinations. Route planning is used by each

(2)

Next, the use of priority assignment to prevent or resolve deadlocks in the movement of

unit-size objects is explored. In addition, two extensions to the basic algorithm are

implemented to improve performance, where the objectives considered are either to minimize

the maximum traversal time or to minimize the total/weighted average traversal time of the

objects in the system.

Finally, various simulations and experiments for unit-size algorithm are conducted to

examine the efficiency of the algorithm and identify the relations among parameters in the

system. Based on experiments, the algorithm for unit-size objects works efficiently even at a

95% utilization level of the available space in the warehouse.

For future work, the algorithm designed for the movement of unit-size objects can be

extended to that of multi-size objects. The main difficulty here is that an object can occupy

multiple modules. Therefore, the relationship between object and module is not one-to-one as

in the case of square unit-size objects. Consequently, the tagging process can grow

exponentially. In order to cope with this difficulty, the tagging process has to be implemented

(3)

Modular Warehouse Control: Simultaneous Rectilinear Movement of Multiple Objects within a Limited Free Space Environment

by

Peerapol Sittivijan

A dissertation submitted to the Graduate Faculty of North CarolinaStateUniversity

in partial fulfillment of the requirements for the degree of

Doctor of Philosophy

Industrial Engineering

Raleigh, North Carolina

2015

APPROVED BY:

_______________________________ ______________________________

Anita Vila-Parrish Matthias F. Stallmann

_______________________________ ______________________________

(4)

DEDICATION

I would like to thank and dedicate this work to my father, mother, grandfather and

(5)

BIOGRAPHY

Peerapol Sittivijan received his bachelor’s degree in civil engineering from Mahidol

University in 1999. He worked as transportation planner and analyst for five years in

Thailand Ministry of Transportation and MVA Consultant Company. He came to the United

States in 2008 to study Industrial Engineering and work as research assistant at Oklahoma

State University. In 2010, he received the Royal Thai Government Scholarship and began his

(6)

ACKNOWLEDGMENTS

I would like to express sincere gratitude to my advisor, Dr. Michael G. Kay for his

supervision, thoughtful advice and continual support throughout my work on this Ph.D.

dissertation. I learned things, improved skills and thoughts from his advice. His guidance

toward being a professional is an invaluable asset which I will carry in the future. I also

would like to thank Dr. Russell E. King, Dr. Donald P. Warsing, Dr. Anita Vila-Parrish and

Dr. Matthias F. Stallmann for serving as my committee and I appreciate their help and

support.

I would like to thank to my father, Wicharn Sittivijan, mother Luxanee Sittivijan,

grandfather Roj Sittiosoth and grandmother Pannee Sittiosoth for never giving up on me.

I also would like to thank my best friends; Dr. Karin Limapornwanitch, Boonngam

Eiamsuppawat, Wirawan Asapa for staying with me whenever I want. I would like to thank

all of my Thai and foreign friends at NCSU for their support through all these difficult years.

Finally, I would like to thank Google and Google Scholar, the best search engine in the

(7)

TABLE OF CONTENTS

LIST OF TABLES ... vii

LIST OF FIGURES ... viii

Chapter 1 Introduction... 1

1.1. Motivation and Applications ... 1

1.2. Problem Statement, Objectives, Contributions and Scope of Study ... 8

1.3. Organization of the Dissertation ... 9

Chapter 2 Literature Review ... 11

2.1. Related Problems, Complexity and Solving Algorithms ... 12

2.2. Rectilinear Path Planning ... 16

2.3. Motion Coordination of Multiple Moving Objects ... 18

2.4. Deadlock and Its Prevention, Avoidance and Resolution ... 21

2.5. Summary of the Literature ... 34

Chapter 3 Algorithm for Square Unit-size Objects ... 35

3.1. Preliminaries and Overall Concept ... 36

3.2. Route Planning ... 38

3.3. Tagging Process ... 48

3.4. Main Control ... 54

3.5. Runtime Analysis of the Algorithms ... 66

Chapter 4 Deadlock and Priority Assignment for Unit-size ... 67

4.1. Deadlock Characteristics ... 68

4.2. Deadlock Detection ... 69

4.3. Priority Assignment for Deadlock Prevention ... 71

4.4. Priority Assignment for Deadlock Recovery ... 81

Chapter 5 Improvement of Algorithm for Unit-size Objects ... 89

5.1 Adaptive Priority ... 90

5.2 Movement of Inactive Objects ... 94

Chapter 6 Experimental Results for Unit-size Objects ... 100

6.1 Simulation Details ... 100

6.1.1 Modular Warehouse Layout and Operations ... 100

(8)

6.1.3 Performance Metrics ... 105

6.1.4 Simulation Runtime ... 107

6.2 Comparison of the Basic Algorithm and the Improved Algorithms ... 108

6.3 Algorithm Parameters and Performance Metrics ... 117

6.4 Performance of Improved Algorithm at Utilization Levels ... 123

Chapter 7 Conclusion and Future Work ... 126

7.1 Conclusion ... 126

7.2 Future Work ... 127

7.3 Main Difference between Multi-size and Square Unit-size Objects ... 128

7.4 Extension for Route Planning ... 129

7.5 Extension for Tagging Process ... 131

7.5.1 Simultaneous or Sequential Tagging Processes ... 133

7.5.2 Movement Direction ... 138

(9)

LIST OF TABLES

Table 1.1: Analogy between PLN and Internet. ... 2

Table 1.2: Gaps in the literature. ... 8

Table 6.1: Example of input data for modular warehouse operations. ... 103

Table 6.2: Results for simulation of algorithms at 80% utilization. ... 110

Table 6.3: Comparison of metric means between algorithms at 80% utilization. ... 111

Table 6.4: Results for simulation of algorithms at 20% utilization. ... 112

Table 6.5: Comparison of metric means between algorithms at 20% utilization. ... 114

Table 6.6: Comparison of basic algorithm and algorithm with inactive object movement at 60% utilization ... 117

Table 6.7: ANOVA between basic algorithm and algorithm with inactive object movement at 60% utilization ... 117

Table 6. 8: High and low values of each parameter ... 118

Table 6. 9: Results from full factorial experiment at 80% utilization. ... 120

Table 6.10: Results from full factorial experiment at 20% utilization. ... 121

Table 6. 11: Analysis of Variance at 95% confidence level for parameter settings at 80% utilization ... 122

Table 6.12: Analysis of Variance at 95% confidence level for parameter settings at 20% utilization ... 122

(10)

LIST OF FIGURES

Figure 1.1: Transshipment of packages through PLNs. ... 2

Figure 1.2: An example of PLN for home delivery logistics. ... 3

Figure 1.3: Module and container design. ... 4

Figure 1.4: Raising and lowering module wheels for container orthogonal movement. ... 5

Figure 1.5: Top view of a one-level four dock modular warehouse. ... 6

Figure 1.6: An illustration of package retrieval within a modular warehouse. ... 6

Figure 1.7: Three-layer control of a modular warehouse. ... 7

Figure 2.1: 15-puzzle problem. ... 12

Figure 2.2: Unobtainable final configuration from initial configuration. ... 13

Figure 2.3: Rush-Hour Puzzle... 14

Figure 2.4: Warehouseman problem. ... 15

Figure 2.5: A deadlock occurrence in a system with simultaneous resource utilization. ... 22

Figure 3.1: The problem of square unit-size objects. ... 37

Figure 3.2: Calculation of TCGNx, y, t based on neighbor occupation. ... 41

Figure 3.3: Rectilinear distance from a neighbor to destination. ... 42

Figure 3.4: Example of route planning process. ... 44

Figure 3.5: Example of searching process and result of route planning. ... 45

Figure 3.6: Illustration of tagging process ... 49

Figure 3.7: Decision Process in the main control algorithm. ... 56

Figure 3.8: A full example for the unit-size object algorithm. ... 58

Figure 4.1: An illustration of permanent deadlock. ... 69

Figure 4.2: An example of boundaries and classes. ... 72

Figure 4.3: Illustration of free, rigid and tight modules. ... 73

Figure 4.4: A simple path... 74

Figure 4.5: Two connected simple paths. ... 74

Figure 4.6: A circular path. ... 75

(11)

Figure 4.8: An example of Oi and its destination on a simple path with dead end. ... 79

Figure 4.9: A configuration with a simple path connecting two loose components. ... 80

Figure 4.10: Example of dynamic priority to resolve total deadlocks. ... 82

Figure 4.11: An Example of looping deadlock. ... 84

Figure 4.12: An example of looping deadlocks at edges. ... 86

Figure 4.13: How to resolve looping deadlocks at the edges. ... 87

Figure 5.1: An example of adaptive priority assignment ... 91

Figure 5.2: Packages adjusting priorities based on loading time and distance. ... 93

Figure 5.3: An example of inactive object movement to low utilized area ... 95

Figure 5.4: Tagging sequence of inactive objects ... 96

Figure 6.1: Illustration of modular warehouse operations at 80 % utilization. ... 101

Figure 6.2: Example of simulation input data at 80% utilization for five days (assuming a 5 sec. time step)... 104

Figure 6.3: Truck delay when loading packages. ... 106

Figure 6.4: Truck delay when unloading packages. ... 106

Figure 6.5: Mean of each metrics for algorithms at 80% utilization. ... 111

Figure 6.6: Mean of each metrics for algorithms at 20% utilization. ... 113

Figure 6.7: An example of inactive object movement at high utilization level. ... 115

Figure 6.8: An example of inactive object movement at low utilization level. ... 116

Figure 6.9: Mean values of loading performance metrics at various utilization levels ... 125

Figure 7.1: A multi-size object occupying multiple modules. ... 129

Figure 7. 2: Neighbors in case of unit-size and multi-size objects. ... 130

Figure 7.3: Calculation of ELBT for object 3. ... 131

Figure 7.4: An example of tagging process for multi-size objects. ... 132

Figure 7.5: Growth for tagging process of multi-size object. ... 133

Figure 7.6: Sequential tagging process to move object 11 from (1,1) to (1,2). ... 136

Figure 7.7: Illustration of first-tier module required by an object. ... 138

Figure 7.8: Possible moving direction for an object. ... 139

(12)
(13)

Chapter 1

Introduction

1.1.

Motivation and Applications

Jain [1], Kay [2], and Kay and Parlikad [3] proposed the concept of public logistics networks

(PLN) as an alternative to private logistics networks for the ground transport of parcels.

Currently, private company like UPS or FedEx commonly handle packages throughout its

own logistics network. Nevertheless, a private company is still limited in the scale of its

operation resulting in the use of a limited number of large-scale transshipment points which

causes packages to travel unnecessarily through those points before reaching their

destinations. In comparison, in a PLN, the different functions of the network can be

performed by multiple firms coordinating together. For instance, one company that owns one

or more distribution centers (DCs) can coordinate with another that owns one or more trucks.

This coordination would enable an economy of scale since each element of the network has

access to all of the network’s demand. Figure 1.1 shows that the transshipments of a package

P1 from DC1 to DC4, P2 from DC2 and to DC5 and P3 from DC3 to DC6. All

transshipments have a common link from DC7 to DC8, therefore they could form a single

truckload depending on their arrival time at DC7. In this sense, the operations of a PLN are

(14)

Figure 1.1: Transshipment of packages through PLNs. (Source: Jain [1])

Table 1.1: Analogy between PLN and Internet.

(Source: Kay [2])

A package in a PLN, similar to a packet in the Internet, can be sent from a retail store and

then routed through a sequence of public distribution centers (PDCs) located throughout the

network, functioning similar to routers in the Internet, and then delivered to a customer’s

home in a very short time, e.g., a matter of hours (see Figure 1.2). A similar concept termed

the Physical Internet (PI) is also proposed by Montreuil [4]. Kay [5] identified two integral

parts to realize such a PLN, namely, driverless delivery vehicles (DDV) and fully automated

storage systems for loading and unloading packages. Together, they make it possible to

create PLNs capable of delivering goods to homes at a cost lower than the cost of in-store

Public Logistics Network Internet

Packages transported Packets transmitted Distribution centers (DCs) Routers

(15)

shopping. This dissertation focuses on the second technology, fully automated storage system

development.

Figure 1.2: An example of PLN for home delivery logistics. (Source: Kay [5])

To be feasible, the proposed storage system must be a fully automated storage system in

terms of loading/unloading, sortation and storage activities and be flexible enough to allow a

large range of container sizes to move to any location at any time. Furthermore, the storage

system must have small fixed-cost increments so that the cost of PDCs is proportional to its

size since a large number of small PDCs is a key requirement for PLN realization.

To meet the above requirements, Kay [5] proposed the use of a β€œmodular warehouse.” A

modular warehouse uses a small square module with orthogonal pop-up powered wheels as

(16)

planar surface to move loads in containers which have recessed tracks on their underside that

interlock with the module wheels (see Figure 1.3 (b) and (c)). A container whose size is

larger than a module occupies several contiguous modules. By raising and lowering module

wheels, they allow the orthogonal movement of containers on the array of modules without

rotating the containers (see Figure 1.4).

(17)

Figure 1.4: Raising and lowering module wheels for container orthogonal movement. (Source: Kay [5])

Figure 1.5 illustrates an example of operations within a modular warehouse. There are four

loading/unloading docks in the example. Activities such as storing and retrieving a package

in the warehouse can be implemented by orthogonal movement of the packages. For

example, Figure 1.6 illustrates the clear path construction by moving other packages out of

(18)

Figure 1.5: Top view of a one-level four dock modular warehouse. (Source: Kay [5])

(19)

For the control of a modular warehouse, a three-layer system control is proposed as shown in

Figure 1.7. At the top level of the control is load planning. When a delivery vehicle arrives at

the warehouse, a load, comprised of several packages, from the vehicle is unloaded into the

warehouse with its information. Load information, e.g., a package’s destination and due date,

is used to identify a unique priority and storage location (destination) in the warehouse for

each package. Finally, the control algorithm plans a traversal path for each load to its

destination and then executes the movement. The control system reports the expected load

arrival time or any deadlocks occurring in the system.

(20)

1.2.

Problem Statement, Objectives, Contributions and Scope of Study

To properly design such a modular warehouse, various design issues must be addressed: how

to efficiently move packages with various sizes, locations and time requirement within the

warehouse; how many loading/unloading docks should there be and where should they be

located; what should be the size and shape of the warehouse; and what is the appropriate

density of packages in the warehouse. Experiments with various warehouse designs must be

conducted to answer these design issues.

To date, almost all previous work has focused on the movement of square unit-size

objects (see Chapter 2 and Table 1.2). Furthermore, these approaches are constrained by the

movement of only one object at a time and they assume that there is enough empty space in

the system. These assumptions are not appropriate for representing the movement of

packages in the proposed PLN modular warehouse where packages have various sizes and

free space is limited.

Table 1.2: Gaps in the literature.

This dissertation is aimed at developing an approach to handle the simultaneous

rectilinear movement of multiple multi-size objects within limited a free space environment.

It has been shown that finding even a feasible solution of this problem is already a PSPACE-sequential simultaneous sequential simultaneous

multi-size few none

unit-size many many many few

(21)

hard problem (Hopcroft et al. [6]). Therefore, the approach explored in this research is aimed

at heuristic rather than exact algorithm development. The heuristics developed here are tested

on various scenarios related to the primary design problems mention earlier.

In this work, the following assumptions are made:

1. Although the ultimate goal of this research is to apply the developed algorithms to test

the efficiency of the design a module-based warehouse, the algorithms developed are

mainly focused on solving only the abstract version of modular-based warehouse

operations called the β€œwarehouseman problem” (see Hopcroft et al. [6] and Sharma and

Aloimonos [54]).

2. The initial configuration and the desired final configuration (location of loads in the

warehouse) are assumed to be given. (See Figure 2.4).

3. The movement of an object in the system is constrained by the physical and mechanical

limits of the modular warehouse. More precisely, an object can move across only one

module in a single direction in a time step.

1.3.

Organization of the Dissertation

The remainder of the dissertation is organized as follows. Chapter 2 reviews related areas of

research where similar problems, such as the n-puzzle, warehouseman, and rush hour problems are reviewed. Path planning algorithms, motion coordination of multiple unit-size

and multi-size objects, flocking algorithms and deadlock handling in computer operating and

flexible manufacturing systems as well as multi-robot path planning are also reviewed.

(22)

multiple square unit-size objects. Then Chapter 4 describes the deadlocks that are possibly

occurred in the system and their characteristics. The relationship between priority assignment

and the deadlocks and how to properly assign priority to prevent or resolve the deadlocks are

also studied in this chapter. Chapter 5 presents two potential improvements of the basic

algorithm described in Chapter 3, namely, adaptive priority and movement of inactive

objects. Application of the developed algorithm for the movement of unit-size objects on the

simulation of a modular warehouse operations is implemented in Chapter 6. Various

experiments to compare basic and improved algorithms and to consider the effects of

parameter setting at different utilization levels have been presented in this chapter. Chapter 7

concludes the whole work studied in this dissertation and propose some ideas about the

future work. The extension of the algorithm to control the movement of unit-size objects to

(23)

Chapter 2

Literature Review

As mentioned in Chapter 1, the algorithm to control the movement of packages in a modular

warehouse must be able to efficiently control the simultaneous movement of multiple

multi-size objects within the area with limited free space. To the extent of our knowledge, such an

algorithm does not exist in the literature (see Table 1.2). However, there is some related

literature that can be used in the development of our algorithm for the control of the

movement of packages in a modular warehouse. The relationship between the development

of the algorithms in this research and previous work in the literature can be described as

follows. Sliding puzzles such as 15-puzzle, Rush-Hour and Warehouseman’s problem

sequentially move objects from one point to another point within an area with limited free

space. These sliding puzzles are reviewed to gain more understanding of the complexity of

our problem and the algorithms designed to solve these related problems. Another related

area of research is the motion coordination of multiple moving objects. Algorithms

developed in this area are mainly focused on the control of simultaneous movement of

objects, commonly with unit-size, within a confined space. The main assumption normally

applied for algorithms in this area of research is that there is enough empty space so that

conflicts among objects’ movement rarely occur. Rectilinear path planning is another related

area of research which mainly focuses on the path planning of a moving object among fixed

(24)

of our algorithm. Furthermore, the control of the movement of packages in a modular

warehouse can be considered as a system with simultaneous resource utilization. A deadlock

which is a common problem in this type of the system, can also occur in our system. Other

systems with simultaneous resource utilization are computer operating systems, flexible

manufacturing systems and multi-robot coordination planning. The deadlock problem in

these areas was reviewed to gain a better understanding of common deadlock characteristics

and how deadlocks in these systems are handled.

2.1.

Related Problems, Complexity and Solving Algorithms

A simple form of the problem where multiple objects are moved in a confined space is the

15-puzzle and its extension to (n2–1) problems. In this game, fifteen squared tiles numbered

from one to fifteen are located in a square tray of size 4 Γ— 4; therefore, there is one empty

space left in the tray. Given an initial configuration, the objective of the game is to move tiles

orthogonally so that a desired final configuration can be achieved as shown in Figure 2.1.

Figure 2.1: 15-puzzle problem.

15 7 1 13

11 8 3 10

9 6 5

4 12 2 14

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15

(25)

(a) (b)

Ratner and Warmuth [7] showed that the decision question β€œIs there a solution for

transforming the initial configuration into the final configuration requiring at most k moves?” is NP-complete. Wilfong [8] also showed that even for an easier version of the problem,

where the objective is to move a square object from an initial position to a destination in the

presence of multiple moving square obstacles, the problem to find the minimum number of

moves is NP-hard. Spitznagel [9] proved that, for the 15-puzzle problem, only the final

configurations with even permutations from an initial configuration can be obtainable.

Figure 2.2 shows an unobtainable final configuration in (b) from the initial configuration

in (a) because configuration in (a) has to be permutated one time i.e. switching tiles 14

and 15 to obtain configuration in (b) and one is an odd number.

Figure 2.2: Unobtainable final configuration from initial configuration. (Source: Spitznagel [9])

Another related problem is the Rush-Hour problem (see Figure 2.3). Rush-Hour is a

module-based game that involves moving a target car to an exit located on the center of

(26)

either horizontally or vertically only. The other cars in the module are moved in such a

way to clear a path for the target car to the designated exit.

Figure 2.3: Rush-Hour Puzzle. (Source: Example Programs [10])

Tromp [12] showed that the version of Rush-Hour where all objects are 1Γ—2 is

PSPACE-complete. Flake and Baum [11] showed that a further generalized version of Rush-Hour,

where cars can be a rectangular of any size, is PSPACE-complete.

An extension of the n-puzzle problem where the blocks are allowed to have different sizes is called the warehouseman’s problem as shown in Figure 2.4. Hopcroft et al. [13]

showed the decision question of the problem β€œDoes there exist β€˜a feasible solution’ to

(27)

6ob j_7

5 ob j_9

4ob j_4 ob j_2 ob j_3 3

2 ob j_1

1ob j_8 ob j_5 ob j_6

1 2 3 4 5 6 7

6 ob j_7

5ob j_4 ob j_9

4 ob j_2

3 ob j_3

2ob j_8

1 ob j_1 ob j_5 ob j_6

1 2 3 4 5 6 7

Figure 2.4: Warehouseman problem.

In terms of the algorithms to solve these problems, Drogoul and Dubreuil [14] proposed

an agent-based and distributed approach to solve the n-puzzle problem. In their algorithm, the overall goal to move all tiles to their desired final positions is divided into sub-goals for

each tile. Different, but not unique priorities are given to the tiles; therefore, looping caused

by a conflict of the movement of the objects with the same priority can occur. The looping

can be avoided by choosing one tile to move forward or to flee from other tiles at a time.

Culberson and Schaeffer [15] solved the 15-puzzle using the A* algorithm and improved the

lower bound of the route search by introducing reduction databases. Bauer [16] solved the

problem using the combination of Iterative Deepening A* (IDA*) and Manhattan Pair

Distance (MPD) to estimate a better lower bound of the distance to destination for each

move. Parberry [17] proposed a real-time algorithm to solve the puzzle by first moving tiles

which have a destination at the edges. This reduces the size of the problem from (nΓ—n) to ((n–1) Γ— (n–1)) in the next iteration. Gue and Kim [18] developed an algorithm to identify

(28)

minimum movement of an object from one position to another position in a puzzle-based

storage system. However, the computational time for their exact algorithm grows

exponentially when the size of the problem becomes larger. In this case, they suggested a

good heuristic movement to control the movement of an object in puzzle-based storage

system.

2.2.

Rectilinear Path Planning

Algorithms to move an object from one point to another point in a confined area where that

object is restricted to move horizontally or vertically have been developed. Lee [19]

developed the algorithm to find the minimum rectilinear distance between a starting and a

target point in the presence of rectilinear obstacles. In this case, the system is comprised of

modules and the algorithm finds the path by considering neighbors of the current module as

candidates to be the next module to move based on pre-identified criteria. Hoel [20] extended

Lee’s algorithm by storing frontier modules instead of a single list, retracing modules

immediately when they are reached rather than when they are expanded and using an

encoding scheme with two bits per module. Hoel [20] claimed that these changes made the

algorithm more efficient in term of computational time. Hadlock [21] proposed a shortest

path algorithm for a grid graph, a simple class of planar graphs for which the vertices can be

assigned integer coordinates so that neighbors agree in one coordinate and differ by one in

the other coordinate. By applying stacks to store neighbors towards target and away from

(29)

Soukup [22] proposed an algorithm combining line search and expansion techniques similar

to that of Lee’s algorithm to generate a path between a starting and target points in the

presence of polygonal obstacles. The algorithm is claimed to be faster than Lee’s algorithm;

however, when the area becomes congested, the path found can be suboptimal. Wu et al. [23]

proposed the concept of a track graph, a subspace of the plane where obstacle areas are

subtracted, to find the shortest path and minimum spanning tree from one point to another

point in the plane in the presence of rectilinear obstacles. Clarkson et al. [24] proposed the

use of a visibility graph to find shortest path through polygonal obstacles where the vertices

represent starting and target points and 2n points, where n is the number of endpoints of obstacles.

Rezende et al. [25] proposed an algorithm to find the shortest path in the presence of

rectangular barriers. The algorithm consists of two phases: preprocessing and query phases.

Planar subdivision containing a source point and barriers is constructed, then a query point

can be located and a shortest path connecting it to the source point can be identified. The

worst-case computational time of preprocessing is 𝑂(𝑛log𝑛) and that of query is 𝑂(log𝑛 + π‘˜), where k is the number of turns on the reported path. Mitchell [26] employed the continuous Dijkstra technique of propagating a wavefront to compute the rectilinear shortest

path among polygonal obstacles in the plane. More detailed review of rectilinear path

(30)

2.3.

Motion Coordination of Multiple Moving Objects

Algorithms for the simultaneous movement of objects within the area with unlimited free

space have been developed in the area of motion coordination. The literature on planning the

motion coordination of multiple moving objects can be classified into two main approaches:

centralized and decentralized/decoupled. The centralized approach plans the motion of all

objects using a centralized path planner. In this case, moving objects are treated as a

composite object. Schwartz and Sharir [28] proposed the module decomposition method to

solve the problem. Γ“'DΓΊnlaing and Yap [29] proposed the retraction method. Gurewitz et al.

[30] combined the module decomposition approach with dynamic programming.

Tournassoud [31] and Barraquand et al. [32] used the potential field approach to solve the

problem. Svestka and Overmars [33] and Sanchez and Latombe [34] used probabilistic

roadmap (PRM) in this context. An important advantage of the centralized approach is the

possibility of completeness, i.e., the ability to find a feasible solution if one exists and global

optimality. However, the time complexity of the centralized approach increases exponentially

with the number of moving objects and their degree of freedom to move.

On the other hand, the decentralized or decoupled approach plans the motion of each

moving object separately. Because each moving object is planned separately, completeness

and global optimality are not guaranteed. However, the time complexity is also reduced for

solving sub-problems for each object. Another issue for the decentralized approach is how to

avoid collisions among moving objects because the motion of each object is planned

(31)

Lozano-Perez [35] proposed the method of assigning priorities to each moving object and planning

their motions sequentially based on their assigned priorities. Using a configuration

space-time, the lower priority objects consider, when planning their motions, constraints imposed

by the motion of higher priority and stationary objects. In this case, the assigned priorities are

static and not changed during the planning processes. Yeung and Bekey [36] mentioned that

by assigning static priorities to moving objects, it might be difficult to optimize performance

of tasks; therefore, assigning priorities, which is a way to resolve conflicts among paths of

moving objects, should not be fixed but should vary according to the conflicts that occur.

Another approach in solving conflicts among moving objects is to decompose the motion

coordination problem into two sub-problems (Kant and Zucker [37]). The first sub-problem

is to plan a collision-free path for each moving object without taking into account the

existence of other moving objects. The second sub-problem is to vary the velocities of the

moving objects along their planned paths so as to avoid collisions. The velocity varying can

be considered in space-time configuration. Yeung and Bekey [36] also proposed a method of

assigning priorities to moving objects to resolve conflicts. Priorities are assigned based on

domain-specific knowledge describing the objects’ current situations such as their urgency to

reach goal locations and the degree to which they are free to modify their planned path.

Azarm and Schmidt [38] suggested assigning a dynamic priority when a conflict occurs.

They considered all possible permutations of priority order and the one which provides the

optimal set, in terms of minimum movement conflicts for the subsequent operation of path

(32)

hill-climbing to find the priority order when a conflict occurs, which minimizes the overall path

lengths.

Ferrari et al. [40], Guo and Parker [41], Clark et al. [42], Gayle et al. [43], Langerwisch and Wagner [44] and Krontiris and Bekris [45] proposed similar ideas for movement conflict

resolution by locally varying velocities or paths when conflicts occur. Recently, Basu et al.

[46] proposed a divide-and-solve technique to solve the problem. In this framework, the total

space is divided into sub-spaces and the movement of objects in each sub-space is planned.

The objects which have to cross from one sub-space to another sub-space first move to the

border of their own sub-space then move to the other sub-space. Ryan [47] proposed a

similar concept of dividing the total space into sub-spaces using a subgraph representation.

LaValle [48] proposed applying a game theoretic approach to solve the problem. In his work,

the coordination motion for moving objects can be formulated based on the concept of

non-cooperative game theory and stochastic optimal control. Liu et al. [49] proposed solving the

problem by applying a meta-heuristic ant colony algorithm where possible paths between

initial positions and goal positions are ant paths. Conflict resolution among moving objects is

solved based on a first-come first-serve strategy. Yu and LaValle [50] formulated the path

planning for multi-agent problem as an integer linear programming and solved the problem

to find collision free paths for agents. In the context of a warehouse, Hama et al. [51] applied

an artificial neural network (ANN) for planning motion coordination of moving objects in

cellular warehouse. In this case, each mobile agent is autonomous and trained to find a path

to its goal position using training sets. Conflict resolution among agents is implemented

(33)

of that agent. Stiefelhagen et al. [52] studied the effect of motion planning schemes on the

performance of cellular warehouse, i.e., the time required by delivery objects to reach their

goal positions. Surprisingly, based on their experiments, the results showed that the amount

of blocked modules increased when the intelligence and complexity of the motion planning

schemes were increased and when the filling rate increased. They also suggested that for

limited resource based systems such as automated warehouse, future research should focus

on the collision handling. Both Hama et al. [51] and Stiefelhagen et al. [52] considered only

unit-sized objects. Sarrafzadeh and Maddila [53] considered the movement of a square unit-size

object in the presence of movable and fixed square unit-size obstacles. They give the conditions

(namely, the number of empty modules) required to guarantee the movement of the object from

its initial to final positions under various conditions.

For non-unit sized objects, Sharma and Aloimonos [54] proposed solving the

warehouseman’s problem by imposing constraints on the sizes of objects and the distribution

of free space to make the problem, which is otherwise P-SPACE complete, able to be solved

in polynomial time. In their work, the free space for arranging objects is provided as a part of

the warehouse. The main issue remaining unsolved based on this previous work is

determining the lower bound or minimum requirement of the free space based on the sizes of

the objects.

2.4.

Deadlock and Its Prevention, Avoidance and Resolution

For a system with simultaneous resource utilization, deadlock is a common problem. As

(34)

needs resource 1 to finish the process while process 2 needs resource 2 and currently

occupies resource 1.

Figure 2.5: A deadlock occurrence in a system with simultaneous resource utilization.

According to the literature, the deadlock problem in the system with simultaneous resource

utilization has been studied within three main contexts, namely, computer operating systems,

flexible manufacturing system, and multi-robot planning systems. The details of how to deal

with deadlock problem in each context are described as follows.

In computer operating systems, Coffman et al. [55] gave the necessary and sufficient

conditions for deadlock occurrence as follows. The first condition is mutual exclusivity, i.e.,

tasks claim exclusive control of the resource they require. Secondly, there is no preemption

in the system, i.e., resources cannot be forcibly removed from the tasks holding them until

the resources are used to completion. Thirdly, processes hold resources allocated to them

while waiting for additional resources. The last condition is circular wait, i.e., a circular

claim of tasks exists such that each task holds one or more resources that are being requested Process 1

Resource 1

(35)

by the next task in the claim. Havender [56] described the deadlock problems in the context

of multitasking software design, i.e., the system that allows processing tasks to be performed

concurrently. He mentioned that all multitasking systems are subjected to deadlock and if one

occurs, there were no known general techniques to correct the situation. In this context, a

deadlock arises when a group of tasks becomes interlocked in such a way that all these tasks

require resources from each other and cannot be progressed and completed. He also proposed

approaches to avoid deadlock situations as follows. The first approach is to request a

resource for a task while another resource has been allocated to it only if it can be

demonstrated that no other group of interlocked tasks will exist concurrently that have been

allocated the required resource or will later require the resource allocated to the original task.

Secondly, required resources are requested collectively and a task does not proceed until all

required resources have been obtained. For the last approach, if holding a formerly obtained

resource may prevent acquisition of an additional resource, release the original resource

before obtaining the additional resource.

Holt [57] proposed deadlock detection algorithms for computer systems. In his work, a

computer system has three main components, namely, processes, reusable resources, and

consumable resources. A reusable resource represents physical objects such as tape drives or

disk tracks. A reusable resource can be acquired by a process and released to be available

again when the process finished its tasks. On the other hand, a consumable resource

represents logical objects such as messages and signals. A consumable resource can be

consumed by a process and a new consumable resource can be produced again by its

(36)

is blocked when it cannot acquire required resources to complete its tasks and if a process

will never be able to be unblocked again then the process is said to be deadlocked. A general

resource graph was used to represent a computer system where its nodes representing

processes and resources and edges representing interactions. A general resource graph can be

reduced by deleting edges of an unblocked process. Based on this representation, a sufficient

condition to show that there are no deadlocks in a computer system is that if a general

resource graph can be completely reducible then there is no deadlocks in the system.

However, the complexity of showing that a general resource graph is completely reducible is

n! where n is the number of nodes in the graph. For some special classes of computer systems such as systems with single unit request or systems with only consumable or reusable

resources, more efficient algorithms to detect deadlocks were proposed.

Obermarck [58] proposed an algorithm to detect deadlock among transactions running

concurrently in distributed processing network. In this context, a transaction is an abstraction

for the application processing performed to take a database from one state to another state.

When a transaction is suspended waiting for a second transaction and the second transaction

is waiting, either directly or indirectly, for the first transaction, it results a circular waiting

condition called deadlock. The deadlock detection algorithm is based on directed graph

called transaction-wait-for graph (TWFG) in which nodes represent transactions and directed

edges represent a transaction is waiting for another transaction. In this case, a deadlock is

defined as the relationship between transactions waiting for other transactions in such a

manner that none can proceed and is represented in TWFG as a cycle. Therefore, the

(37)

cannot be broken. Bracha and Toueg [59] also applied wait-for-graph (WFG), similar to that

proposed by Holt [57], to detect deadlocks in distributed computer operating system. In

WFG, nodes correspond to processes in the system and a directed edge (v,u) corresponds to a process v that issued a request to a process u for some services or resources that u is holding. An active process is one that is not waiting for any other process. When an active process

requires some processes to carry out an action on its behalf, it sends request messages to all

the processes able to perform the action then that active process becomes blocked and waits

until the requested action to be carried out. States in the system change from issuing and

granting of requests called transformations and a schedule is a sequence of transformations.

A process or node in WFG is identified as deadlocked if there is no schedule that can change

that process from blocked to active states. Briefly, the deadlock detection algorithm tries

every possible way to change the state of a suspected process or node from being blocked to

active. At the end of the algorithm, if the blocked process cannot become active, then it can

be concluded that the process is deadlocked.

ZΓΆbel [60] reviewed and classified studies related to deadlock problems in computer

operating system. Three main approaches were generally used to handle deadlocks in

computer operating system: detection/recovery, prevention, and avoidance. For the detection

and recovery approach, deadlocks are acceptable and can occur in the system. The reasons

are either deadlocks presume a low frequency of occurrence or recovery from deadlocks is

easy to implement. The deadlock prevention approach does not allow deadlocks to occur in

the system in the planning stage. Only processes or transactions which are ensured not lead to

(38)

not occur in the system must be followed. Generally, these restrictions reduce resource

utilization efficiency. Deadlock avoidance differs from deadlock prevention in that the

avoidance approaches are generally not complete, i.e., it is not guaranteed that deadlock will

not occur in the system. For each state transition in the system, the next transition state is

examined whether it can cause deadlock or not. If the next transition state can be deadlocked

then it will be avoided or other measures will be implemented to avoid the deadlock in the

next transition to occur. However, even if the next immediate state cannot cause a deadlock,

the state transition after the immediate state might cause deadlocks. Khonsari et al. [61]

compared deadlock recovery and avoidance algorithms used in wormhole-switched

networks. The deadlock avoidance algorithm studied was Duato’s routing algorithm. The

algorithm uses two classes of virtual channels to avoid deadlocks. Three deadlock recovery

algorithms were considered, namely, compressionless routing, software-based routing, and

Disha routing. Compressionless and Disha routing algorithms use blocking time to detect a

deadlock, i.e., if blocking time exceeds a pre-specified value then it is presumed to be

deadlocked. All deadlock recovery algorithms use buffer channels to solve deadlocks when

detected. Based on the performance analysis implemented by analytical models, the results

reveal that in most cases deadlock recovery routing algorithms exhibit superior performance

characteristics over their deadlock avoidance counterparts.

In the context of flexible manufacturing system, based on Coffman et al. [55], the first

three necessary and sufficient conditions for deadlock always hold in this context; therefore,

preventing the last condition, avoiding circular wait, is the only means to avoid deadlock in

(39)

automated manufacturing systems. They mentioned that, in computer systems, it is normally

assumed that only bounds on the total number of resources required by each process is

known; however, in automated manufacturing systems, each job enters the system and

follows a specific working sequence, thus both the number and sequence of resources

required for each process are known in this case. Similar to computer operating system, three

main approaches can be applied to handle deadlocks, namely, prevention, detection/recovery

and avoidance. In the aspect of modeling, there were, at least, three modeling approaches

extensively deployed, namely, directed graph/digraph, automata, and Petri nets. The authors

mentioned that there was no conclusive evidence for the superiority of any one approach.

According to the authors’ review, prevention strategies usually use information about process

resource requirements and each process has to specify all required resources before

transactions begin. An advantage of prevention approach is that it does not require the

knowledge of the system state to realize the control leading to a simple offline control law.

For detection and recovery approaches, a monitoring mechanism is used to detect the

deadlock occurrence and the usual recovery scheme is to pre-empt some deadlock resources

by using a buffer. The authors recommended utilizing deadlock detection and recovery when

deadlock is rare and detection and recovery process is not expensive and faster than deadlock

generation. For deadlock avoidance algorithm, the authors recommend that the algorithm

should consider not only deadlock states but also unsafe states, i.e., the states that are not

deadlocks but unavoidably lead to deadlock states. To ensure that a state transition is safe,

generally, all possible sequences of transitions must be considered. Araki et al. [63] showed

(40)

four properties that a useful deadlock avoidance policy should have are as follows. An

avoidance algorithm should guarantee deadlock-free situation in the system. It should also be

computationally tractable. It should still maintain flexibility of resource allocation in the

system.

Finally, correctness and scalability of an avoidance algorithm should be independent of

system configuration. From the modeling aspect, there are three main modeling approaches,

namely, graph theoretic, automata, and Petri nets. Wysk et al. [65] first applied a graph

theoretic approach to study deadlock in flexible manufacturing system. In their study, each

machine can perform only one operation at a time, i.e., the capacity of each machine is equal

to one. A directed graph, of which the nodes represent resources and the edges represent all

possible transitions based on the processes in a system, is deployed. The necessary and

sufficient conditions for deadlock in a system are that there is, at least, a cycle formed by the

part routing and the number of jobs occupying the nodes of the cycle must be equal to the

numbers of nodes and edges of the cycle.

Cho et al. [66], Kumaran [67], and Fanti et al. [68] proposed to utilize two directed

graphs instead of only one graph to describe dynamic behavior of the system. The first graph

represents static system where vertices represent all the resources pertaining to each working

procedure and edges represent sequence of working procedures based on resource utilization.

The other directed graph is a sub-graph of the first graph represent the dynamic behavior. In

the second graph, edges represent only the utilization of resources at the current time step and

those that will be used in the next immediate step. The necessary and sufficient condition of

(41)

dynamic behavior. However, for this type of deadlock avoidance algorithm, even the next

immediate state is safe; it can also inevitably lead to the deadlock situations. This type of

state is called impending flow deadlock state. In order to overcome this situation, Fanti et al.

([68], [69]) introduced the second level deadlock (SLD). For the deadlock avoidance policy

with one-step look-ahead, the authors showed that if there is no SLD in the next step then it

can guarantee that deadlock will not exist in the system. The next modeling approach is

automata. Reveliotis and Ferreira [70] pioneered the finite state automata to formulate

deadlock problems in automated manufacturing system. An automated manufacturing system

was modeled as a finite state automaton with static routing. Policies such as resource

upstream neighborhood deadlock prevention and resource order deadlock avoidance were

then derived from the automaton models.

The last modeling technique is Petri nets. Viswanadham el al. [71] proposed Petri net

models for deadlock avoidance and prevention algorithm. Their algorithm considers only a

total deadlock where no parts in the system can complete their routes but not a partial

deadlock where only some parts in the system are deadlocked. Both prevention and

avoidance policy use the exhaustive reachability analysis to enumerate all possible markings

according to an initial marking. This could be prohibitive if the state space is large. Banaszak

and Krogh [72] proposed a deadlock avoidance algorithm in flexible manufacturing systems

with concurrently competing process flows. Petri nets were used to model the system and

called production Petri net (PPN). A PPN, G, is five-tuple where 𝐺 = {𝑃, 𝑇, 𝐼, 𝑂, 𝑀0}. P is a place in a Petri net and represents production process sequence and resource availability in

(42)

transition and represents flow of jobs from one sequence to another sequence in the

production processes for each product. I and O are input and output arcs linking production sequence and resource availability places. 𝑀0 is the initial marking of the production system where all resources are still available. The authors showed the necessary conditions for

deadlock occurrence and define the restricted policies to ensure that these necessary

conditions cannot be satisfied under the restricted policies thus a deadlock cannot occur. Set

of resources are classified into two categories, unshared and shared resources. Unshared

resources are required only once in only one production sequence and shared resources are

vice versa. A zone is comprised of shared and unshared resources. The avoidance policy has

two rules. First, in case of unshared resources, a transition can be fired only if a job enters a

new zone and the capacity of unshared resources in that zone exceed the number of jobs

currently in that zone. Second, in case of shared resources, a transition can be fired only if all

the resources in the remainder of that zone must be available except the one held by the job.

It can be shown that if the processing of jobs in the system follows these rules then it can be

guaranteed that a deadlock will not occur. Ezpeleta et al. [73] proposed a particular class of

Petri net called systems of simple sequential processes (S3PR). For S3PR, a place represents a

resource and a transition represents a production process. The deadlock situations, in this

case, strongly connect to a substructure of the net called siphon. A siphon is a proper subset,

S, of places in Petri nets where its preset is also a proper subset of its post-set. The sufficient condition to guarantee a deadlock not arising in the system is that the number of markings in

(43)

authors suggest to add a buffer place into the siphons for which a deadlock could occur to

prevent the deadlock.

In the context of multi-robot planning, Rooker and Birk [74] studied multi-robot

exploration under the constraints of wireless networking. In their study, the deadlock

situations occur when the different robots want to move to different parts of the explored

environment but they are blocked in their movement by the communication maintenance

constraint. They tried to control the multi-robot pack to avoid the deadlock situation but all

strategies failed. Thus, they proposed another means to deal with the deadlock situation,

detecting and recover situation from the deadlocks. First, to detect deadlocks, the authors

proposed two criteria: no progress in the exploration and limited movement of the robots.

The detection of no progress can be implemented by checking if all the robots are not

updating their internal map and there are no new information received for a long period of

time. However, only the no-progress condition alone is not enough to conclude whether robot

pack are facing deadlock situation. For example, at the end of an exploration when almost the

entire environment is explored, it can happen that the robots have to travel a larger distance

and take a longer time until finding a new frontier. Thus the detection of robot movement is

an integral part of the deadlock detection. To check if a robot is moving significantly, the

minimum and maximum limits of the x and y coordinates of the robots are stored. For each time step, the new position of a robot is compared with the minimum and maximum

coordinates visited so far. If the new x or y coordinate is smaller than the minimum or larger than the maximum values then they are updated. After a certain number of time steps, the

(44)

is smaller than a certain pre-specified distance then the robot is considered to be stuck. For a

predetermined period of time steps, if these two conditions are satisfied, then we can

conclude that deadlocks occur for a pack of robots and the recovery scheme must be

implemented. To recover robots from the deadlocks, the main task of exploring frontier is

temporarily suspended. Then, one robot among the pack of robots confronting deadlocks is

assigned to be meeting point and other robots after suspending task for frontier exploration

try to travel and meet the meeting point robot. By doing this, deadlock situations can be

solved and robots are reassigned to main task of exploring frontier again. Qutub et al. [75]

studied planning deadlock situations for multi-robot cooperation with plan-merging

paradigm. In this case, temporal relations between robots plan-merging activities can create

waiting cycle and planning deadlocks. The planning dependency graphs were used to detect

such waiting cycles and deadlocks. When detected, deadlocks can be recovered by

master-slave approach where a robot becomes the master of the other robots in the deadlocks and

resolves conflicts.

Lin and Hsu [76] studied the cooperation and deadlock-handling in a multi-robot system

used for object movement. In this system, robots are cooperated to move an object. A

deadlock can occur when there is a waiting cycle in the system. For example, there are four

robots, π‘Ÿ1, π‘Ÿ2, π‘Ÿ3 and π‘Ÿ4 and two objects π‘œ1and π‘œ2 that need at least three robots to move each of them. π‘Ÿ1 and π‘Ÿ2 are trying to move π‘œ1 and waiting for π‘Ÿ3or π‘Ÿ4. At the same time, π‘Ÿ3and π‘Ÿ4

are trying to move π‘œ2 and waiting for π‘Ÿ1or π‘Ÿ2. In this case, both tasks are deadlock and cannot be completed. The authors proposed three schemes to handle with the deadlock situation in

(45)

condition for deadlock occurrence is that if any robots stays in waiting state for more than

2(N–1) MTT where N is the total number of robots in the system and MTT is the maximum travel time within the environment, then the system is deadlocked. If a deadlock is detected,

then it can be resolved by reassigning robots to do one task before the other tasks. The other

two schemes for dealing with deadlocks are to prevent deadlocks from occurring. This can be

implemented by assuring that the waiting cycle will not occur in the system. The first

deadlock prevention scheme is to assign priorities to the objects to be moved. Then if the

conflict occurs, the higher priority object always acquires enough of the required robots.

Another possible prevention scheme is to provide the feasible movement sequence to objects

such that the higher order objects in the sequence always acquire the required number of

robots and complete the task before other lower order objects are considered.

Yingying and Jingping [77] applied the ant colony algorithm for multi-robot

cooperation. In their study, the difficulty of the tasks to be implemented by robots was not

known in advance and task deadlock could occur. Task deadlock is the situation where robots

persist in trying a task beyond their capability so that they cannot complete that task and lose

chance to try other tasks. In order to avoid task deadlock, the authors introduce an adaptive

attenuation factor to the ant colony algorithm. The adaptive attenuation factor reduces the

pheromone level and probability to attract more robots to a task if that task has no progress

for some period of time. Regele and Levi [78] proposed heuristic priority adjustment for

multi-robot path planning cooperation. Basically, each robot tries to arrive at its destination

as soon as possible. In case of conflict, a higher priority robot can move before a lower

(46)

In principle, if a robot is blocked, then its priority is raised; if not, then its priority is lowered.

The authors mentioned that deadlocks can occur in the situations where there are a large

number of robots within a limited free space. In the scenario with more than fifty percent of

the space occupied by robots, the proposed algorithm was not able to complete the tasks by

navigating all robots to their destination and deadlocks occurred that could not be resolved.

2.5.

Summary of the Literature

In summary, the relationship between the developed algorithms in this research and the

previous work in the literature can be shown in Table 2.1.

Table 2.1: Relationship between the developed algorithms and previous in the literature.

Related research How to apply in this research

15-puzzle and its extension To reallize the complexity of the problem ([7],[13]) at hand and know how to properly design the algorithm e.g. exact or hueristic. In addtion, the ideas to control the sequential movement of objects within limited free space area ([15]-[18]), can be applied to the developed

algorithms.

Rectilinear route planning The ideas to control the movement of single object among fixed obstacle ([19],[21]) can be applied to the developed algorithms.

Motion coordination of multiple moving objects

The ideas of controlling the movement of multiple objects within the unlimited free space area

([35],[36],[37],[38],[52],[53]) can be applied to the developed algorithms.

How to handle deadlocks in the system with simultaneous resource utilization

Ideas for how to detect, prevent from, avoid and recover from the deadlocks in in the system with simultaneous resource utilization ([55],[57],[65],[66]-[68],[71],[74]-[78]) can be applied to handle the deadlocks in our system.

(47)

Chapter 3

Algorithm for Square Unit-size Objects

As reviewed in Chapter 2, the most basic case of object movement control is the movement

of a single object among fixed obstacles, e.g., rectilinear path planning, sliding puzzle

problems. In this case, only efficient route planning is necessary for the movement of that

single object to its destination. A more complicated case is when there are multiple objects

moving simultaneously, e.g., motion coordination among moving obstacles. In this case,

route planning alone is not enough to achieve the goal of bringing all moving objects to their

destinations because of the conflicts that might occur among the moving objects. Various

ideas in the literature have been proposed to resolve the movement conflicts assuming that

there is enough free space to maneuver the movement. However, the degree of complexity in

resolving the movement conflicts also increases as the number of objects increases and free

space for the movement decreases.

In this chapter, the algorithm for the simultaneous rectilinear movement of square

unit-size objects is introduced. The algorithm is designed to work efficiently, especially, when the

utilization or density (i.e., the number of the objects per free space area) is high. Section 3.1

describes some preliminaries and the overall concept of the algorithm. Sections 3.2 to 3.4

discuss the details of each main part of the algorithm, namely, route planning, the tagging

process, and overall control. Section 3.5 shows the worst-case runtime analysis of the

(48)

3.1.

Preliminaries and Overall Concept

The following preliminary concepts are needed to understand the operation of the system and

the algorithm:

1. The area W under consideration is denoted by a rectangular region comprised of m Γ— n

unit square modules and all distances are restricted to be rectilinear.

2. At any instant, a module can be occupied by a single object or is empty.

3. There are two types of objects in the system, namely, active and inactive objects. An

active object has a specific destination that it is required to move to. An inactive object

has no specific destination; however, an inactive object can be changed to an active one if

system operators specify its destination. An inactive object would correspond to a

package that is being stored at the warehouse for an extended period of time which might

need to be moved out of the way of an active object.

4. Each object in the system has a unique priority.

5. An object can only move (push) lower priority objects.

According to the system defined above, given an initial configuration of square unit-size

objects in a confined rectangular space and a final configuration specifying destinations of

active objects as illustrated in Figure 3.1, the algorithm heuristically tries to move all active

objects to their destinations while minimizing traversal time. For example, the active object

number 15 (object 15) has its initial position at (1,4) in the initial configuration and its

destination at (6,1) in the final configuration, while object number 3 (object 3) is inactive

Figure

Figure 1.2: An example of PLN for home delivery logistics. (Source: Kay [5])
Figure 1.6: An illustration of package retrieval within a modular warehouse.
Figure 1.7: Three-layer control of a modular warehouse.
Figure 2.3: Rush-Hour Puzzle.
+7

References

Related documents