# Mathematical Formulation for Mobile Robot Scheduling Problem in a Manufacturing Cell

Quang-Vinh Dang, Izabela Nielsen, Kenn Steger-Jensen

► To cite this version:

Quang-Vinh Dang, Izabela Nielsen, Kenn Steger-Jensen. Mathematical Formulation for Mobile Robot Scheduling Problem in a Manufacturing Cell. International Conference on Advances in Production Management Systems (APMS), Sep 2011, Stavanger, Norway. pp.37-44, 10.1007/978-3-642-33980-6_5. hal-01524247

HAL Id: hal-01524247

https://inria.hal.science/hal-01524247

Submitted on 17 May 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Mathematical Formulation for Mobile Robot Scheduling
## Problem in a Manufacturing Cell

Quang-Vinh Dang¹, Izabela Nielsen¹, Kenn Steger-Jensen¹

¹Department of Mechanical and Manufacturing Engineering, Aalborg University,
Fibigerstræde 16, 9220 Aalborg, Denmark
{vinhise, izabela, kenn}@m-tech.aau.dk

**Abstract.** This paper deals with the problem of finding optimal feeding sequence in a manufacturing cell with feeders fed by a mobile robot with manipulation arm. The performance criterion is to minimize total traveling time of the robot in a given planning horizon. Besides, the robot has to be scheduled in order to keep production lines within the cell working without any shortage of parts fed from feeders. A mixed-integer programming (MIP) model is developed to find the optimal solution for the problem. In the MIP formulation, a method based on the (s, Q) inventory system is applied to define time windows for multiple-part feeding tasks. A case study is implemented at an impeller production line in a factory to demonstrate the result of the proposed MIP model.

**Keywords:** Scheduling, Mobile Robot, MIP, Feeding Sequence

# 1 Introduction

Production systems nowadays range from fully automated to strictly manual. While the former is very efficient in high volumes but less flexible, the latter is very flexible but less cost-efficient. Therefore, manufactures visualize the need for transformable production systems that combines the best of both worlds by using new assistive automation and mobile robots. With embedded batteries and manipulation arms, mobile robots are more flexible to perform certain tasks such as transporting and feeding materials, machine tending, pre-assembly or quality inspection at different workstations of production lines. These tasks have such relatively low level of complexity that mobile robots are able to take over. Besides, using mobile robots can lead to less energy usage or less tool-changing costs than commonly industrial robots attached to a fixed surface. These advantages pave the way for mobile robot to be implemented in the transformable production systems. Within the scope of this study, a given problem is particularly considered for a single mobile robot which will automate multiple-part feeding tasks by not only transporting but also collecting containers of parts and employing them into the feeders needed. However, to utilize mobile robots in an efficient manner requires the ability to properly schedule these feeding tasks. Hence, it is important to plan in which sequence mobile robots process feeding operations so that they could effectively work while satisfying a number of technological constraints.
Robot scheduling problem which is NP-hard has attracted interest of researchers in recent decades. Dror and Stulman [4] dealt with the problem of optimizing one-dimensional robot's service movements. Crama and van de Klundert [1] considered the flow shop problem with one transporting robot and one type of product to find shortest cyclic schedule for the robot. Afterwards, they demonstrated that the sequence of activities whose execution produces one part yields optimal production rates for three-machine robotic flow shops [2]. Crame et al. [3] also presented a survey of cyclic robotic scheduling problem along with their existing solution approaches. Kats and Levner [5], [6] considered m-machine production line processing identical parts served by a mobile robot to find the minimum cycle time for 2-cyclic schedules. Maimon et al. [7] introduced a neural network method for a material-handling robot task-sequencing problem. Suárez and Rosell [8] dealt with the particular real case of feeding sequence selection in a manufacturing cell consisting of four parallel identical machines. Several feeding strategies and simulation model were built to select the best sequence. Most of the work and theory foundation considered scheduling robots which are usually inflexible, move on prescribed path and repeatedly perform a limited sequence of activities. There is still lack of scheduling a free-ranging mobile robot which is able to move around within a manufacturing cell to process multiple-part feeding tasks consisting of collecting, transporting, and delivering containers of parts to feeders. The scheduling problem becomes interesting as the robot has been coordinated to manufacturing so that robot's services maintain production in the lines. Therefore, in this paper we focus on scheduling a single mobile robot for multiple-part feeding tasks whose time windows could be determined based on the inventory system (s, Q) as well as predefined maximum and minimum levels of parts in feeders.

The remainder of this paper is organized as follows: in the next section, problem statement is described while the mathematical model is formulated in Section 3. A case study is investigated to demonstrate the result of the proposed model in Section 4. Finally, conclusions are drawn in Section 5.

## 2 Problem Description

Fig. 1 below shows a typical layout of the manufacturing cell. In particular, the work is developed for a real cell that produces parts for the pump manufacturing industry at a factory in Denmark. The cell consists of a central storage known as a part supermarket, a single mobile robot, and several production lines including multiple machines which are fed by multiple feeders. An operator is responsible to put parts into small load carriers (SLCs) which are placed in the storage. The robot will retrieve and carry several SLCs containing parts from the storage, move to feeder locations, feed all parts inside each SLC to each feeder, then return to the storage to unload all empty SLCs and take filled SLCs. Because of the limitation on capacity, the feeders have to be served a number of times in order maintain production without any shortage of parts. The mobile robot thus has a set of feeding tasks to carry out during a given planning horizon.
<figure><img src="image_2.png" /><figcaption>Fig. 1. Layout of the manufacturing cell</figcaption></figure>

To enable the construction of a multiple-part feeding schedule of the mobile robot, the following assumptions are made: an autonomous mobile robot is considered in disturbance free environment; the robot is able to carry one or several SCLs at a time; all tasks are periodic, independent, and assigned to the same robot; working time and traveling time of the robot between any locations, and consuming rates of parts in feeders are known; all feeders of machines have to be fed up to maximum levels and the robots starts from the storage at the initial stage. In order to accomplish all the movements with a smallest consumed amount of battery energy, the total traveling time of the robot is an important objective to be considered. Hence, it is important to determine in which way the robot should feed the feeders of machines in order to minimize its total traveling time within the manufacturing cell while preventing the production lines from stopping working.

## 3 Mathematical Formulation

In this study, a mix-integer programming (MIP) model is developed to determine an optimal route of the mobile robot visiting a number of locations to process multiple-part feeding tasks. The model is inspired by well-known traveling salesman problem [9] and the (s, Q) inventory system [10]. The latter is applied to define time windows for the feeding tasks. In practice, the MIP model can be applied to small-scale problems with a few numbers of feeders and short planning horizon. Under these scenarios, the MIP model is reasonably fast to give exact optimal solutions, which can be used as reference points to quantify the scale of benefits achieved by a meta-heuristic method further developed. Notations, time windows, and a formulation for the MIP model are extensively described in the following subsections.
## 3.1 Notations

$N$ : set of all tasks ($N = \{0, 1, 2, ..., n\}$ where 0: task at the storage)

$n_i$ : number of times task $i$ has to be executed

$R$ : set of all possible routes ($R = \{1, 2, ..., R_{max}\}$ where $R_{max} = \sum n_i, \forall i \in N \setminus \{0\}$)

$e_{ik}$ : k-th release time of task $i$

$d_{ik}$ : k-th due time of task $i$

$p_i$ : periodic time of task $i$

$w_i$ : working time of robot at task $i$ location

$t_{ij}$ : traveling time of robot from task $i$ location to task $j$ location

$c_i$ : consuming rate of parts in feeder at task $i$ location

$v_i$ : minimum level of parts in feeder at task $i$ location

$u_i$ : maximum level of parts in feeder at task $i$ location

$Q$ : maximum number of SLCs could be carried by robot

$T$ : planning horizon

Decision variables:

$$x_{ik}^{jlr} = \begin{cases} 1 & \text{if robot travels from } k\text{-th task } i \text{ location to } l\text{-th task } j \text{ location in the route } r \\ 0 & \text{otherwise} \end{cases}$$

$y_{ik}$ : route number to which k-th task $i$ belongs

$s_{ik}$ : k-th starting time of task $i$

## 3.2 Time Windows

Time windows of multiple-part feeding tasks of the mobile robot could be determined as shown in Equation (1), (2), and (3) below.

$$p_i = (u_i - v_i)c_i, \forall i \in N \setminus \{0\} \qquad (1)$$

$$e_{ik+1} = e_{ik} + p_i, \forall i \in N \setminus \{0\}, k = 1 \div n_i \qquad (2)$$

$$d_{ik} = e_{ik} + (v_i - 0)c_i, \forall i \in N \setminus \{0\}, k = 1 \div n_i \qquad (3)$$

Task for feeder $i$ whose periodic time is calculated as Equation (1) has a number of times/executions $n_i = \lfloor T / p_i \rfloor$ to be performed. The release time of an execution of task $i$ is set when the number of parts inside feeder $i$ falls to a certain level $v_i$ (Equation (2)); while the due time of an execution of task $i$ is defined when there are no parts in feeder $i$ (Equation (3)).

## 3.3 Mixed-Integer Programming Model

$$\text{Objective function: } \min \sum_{i \in N} \sum_{k=1}^{n_i} \sum_{j \in N} \sum_{l=1}^{n_j} \sum_{r \in R} t_{ij} x_{ik}^{jlr} \qquad (4)$$

$$e_{ik} \le s_{ik} \le d_{ik} \qquad \forall i \in N \setminus \{0\}, k = 1 \div n_i \qquad (5)$$
$$ \sum_{j \in N \setminus \{0\}} \sum_{l=1}^{n_i} x_{01}^{jl1} = 1 \qquad (6) $$

$$ \sum_{j \in N \setminus \{0\}} \sum_{l=1}^{n_i} \sum_{r \in R} x_{01}^{jlr} \le 1 \qquad (7) $$

$$ \sum_{i \in N} \sum_{k=1}^{n_i} x_{ik}^{ikr} = 0 \qquad \forall r \in R \qquad (8) $$

$$ \sum_{r \in R} x_{ik}^{jlr} \le |Z| - 1 \qquad \forall i, j \in N, k = 1 \div n_i, l = 1 \div n_j, i \neq j, Z \subseteq Z_T, Z \neq \Phi \qquad (9) $$

$$ \sum_{j \in N} \sum_{l=1}^{n_i} \sum_{r \in R} x_{ik}^{jlr} = 1 \qquad \forall i \in N \setminus \{0\}, k = 1 \div n_i \qquad (10) $$

$$ \sum_{i \in N} \sum_{k=1}^{n_i} \sum_{r \in R} x_{ik}^{jlr} = 1 \qquad \forall j \in N \setminus \{0\}, l = 1 \div n_j \qquad (11) $$

$$ \sum_{i \in N} \sum_{k=1}^{n_i} \sum_{j \in N \setminus \{0\}} \sum_{l=1}^{n_i} x_{ik}^{jlr} \le Q \qquad \forall r \in R \qquad (12) $$

$$ s_{ik} + \left( w_i + t_{ij} \sum_{r \in R} x_{ik}^{jlr} \right) - L \left( 1 - \sum_{r \in R} x_{ik}^{jlr} \right) + (y_{jl} - y_{ik}) \times (t_{i0} + w_0 + t_{0j} - t_{ij}) \le s_{jl} \qquad (13) $$
$\forall i, j \in N, k = 1 \div n_i, l = 1 \div n_j$

$$ y_{jl} = \sum_{i \in N} \sum_{k=1}^{n_i} \sum_{r \in R} r \times x_{ik}^{jlr} \qquad \forall j \in N \setminus \{0\}, l = 1 \div n_j \qquad (14) $$

$$ y_{jl} \ge y_{ik} \sum_{r \in R} x_{ik}^{jlr} \qquad \forall i, j \in N, k = 1 \div n_i, l = 1 \div n_j \qquad (15) $$

$$ x_{ik}^{jlr} \in \{0,1\} \qquad \forall r \in R, \forall i, j \in N, k = 1 \div n_i, l = 1 \div n_j \qquad (16) $$

$$ y_{ik}: \text{positive integer variable} \qquad \forall i \in N, k = 1 \div n \qquad (17) $$

The objective function (4) minimizes the total traveling time of the robot. Constraint (5) ensures that starting time of an execution of a task satisfies its time window. Constraints (6) and (7) indicate that the robot starts from the storage at the initial stage. Constraint (8) prevents the robot repeating an execution of a task. Constraint (9) eliminates the sub-tours among executions of tasks, where Z is a subset of Z_T, where Z_T is a set of all executions of tasks at feeders and the storage, and Φ denotes an empty set. Constraints (10) and (11) force an execution of a task in one route to be done exactly one. Constraint (12) forbids the robot to feed more SLCs than the maximum number of SLCs Q it allows to carry. Constraint (13) handles the traveling time requirements between any pair of executions of tasks, where L is a given sufficiently large constant. In case two executions of the same task or different tasks are connected but they are not in the same route, the robot should visit the storage to unload empty SLCs and load filled ones. Constraint (14) assigns an execution of a task to a route and constraint (15) guarantees the ascending sequence of route numbers for executions of tasks. Constraints (16) and (17) imply the types of variables.
## 4 Case Study

To examine performance of the MIP model, a case study is investigated at the CR factory at Grundfos A/S. The chosen area for this case study is the CR 1-2-3 impeller production line which produces impellers for industrial pumps. The CR line consists of four feeders that have to be served by the mobile robot. These feeders are indexed from 1 to 4 and named Back Plate, Van Feeder 1, Van Feeder 2, and Front Plate respectively. Besides, different feeders are filled by different kinds of parts, namely back plates for feeder 1, vanes for feeder 2 and 3, front plates for feeder 4. On the CR line, a number of vanes are welded together with back and front plates to produce an impeller. Fig. 2 below particularly illustrates the aforementioned production area where the proposed model has been implemented in the factory.

<figure><img src="image_3.png" /><figcaption>Fig. 2. CR 1-2-3 impeller production line</figcaption></figure>

The maximum number of SLCs carried by the robot is 3. The average number of parts per SLC fed to feeder 1 or 4 is 125 (approximately 2 kg/SLC), while the average number of parts per SLC fed to feeder 2 or 3 is 1100 (approximately 1 kg/SLC). The maximum levels, minimum levels, consuming rates of parts, and working time of the robot are given in Table 1, while Table 2 shows traveling time of the robot from one location of a task to another (feeder 0 means the central storage).

<table><caption>Table 1. Maximum, minimum levels, consuming rates, and working time of robot at feeders</caption><thead><tr><th>Feeder</th><th>0</th><th>1</th><th>2</th><th>3</th><th>4</th></tr></thead><tbody><tr><td>Maximum level (part)</td><td>-</td><td>250</td><td>2000</td><td>2000</td><td>250</td></tr><tr><td>Minimum level (part)</td><td>-</td><td>125</td><td>900</td><td>900</td><td>125</td></tr><tr><td>Consuming rate (s/part)</td><td>-</td><td>4.5</td><td>1.5</td><td>1.5</td><td>4.5</td></tr><tr><td>Working time of robot (s)</td><td>90</td><td>42</td><td>42</td><td>42</td><td>42</td></tr></tbody></table>
<table><caption>**Table 2.** Traveling time of robot from one location to another</caption><thead><tr><th>Traveling time (s)</th><th>0</th><th>1</th><th>2</th><th>3</th><th>4</th></tr></thead><tbody><tr><th>0</th><td>0</td><td>43</td><td>33</td><td>27</td><td>48</td></tr><tr><th>1</th><td>46</td><td>0</td><td>29</td><td>30</td><td>53</td></tr><tr><th>2</th><td>32</td><td>34</td><td>0</td><td>36</td><td>42</td></tr><tr><th>3</th><td>29</td><td>26</td><td>35</td><td>0</td><td>40</td></tr><tr><th>4</th><td>47</td><td>60</td><td>46</td><td>39</td><td>0</td></tr></tbody></table>

The case study has been investigated during approximately 50 minutes because of the limitation on robot batteries. The MIP model has been coded in the mathematical modeling language ILOG OPL 3.6. The problem of case study has been run on a PC having an Intel® Core i5 2.3 GHz processor and 4 GB RAM. The optimal solution obtained is given as: 0-1-4-4-0-1-1-4-0-1-2-4-0-3-0, with total traveling time being 503 seconds which makes up 16.4 % of the total time. With 4040 decision variables, the computational time for this case using the proposed model is 4305 seconds. The detailed solution is shown in Table 3 and Fig. 3 below.

<table><caption>**Table 3.** Detailed optimal solution of the case study</caption><thead><tr><th>Task</th><th>Feeder</th><th>Index of execution</th><th>Starting time</th><th>Route</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>1</td><td>1030.0</td><td>1</td></tr><tr><td>2</td><td>4</td><td>1</td><td>1125.0</td><td>1</td></tr><tr><td>3</td><td>4</td><td>2</td><td>1375.5</td><td>1</td></tr><tr><td>4</td><td>1</td><td>2</td><td>1687.5</td><td>2</td></tr><tr><td>5</td><td>1</td><td>3</td><td>2155.0</td><td>2</td></tr><tr><td>6</td><td>4</td><td>3</td><td>2250.0</td><td>2</td></tr><tr><td>7</td><td>1</td><td>4</td><td>2549.0</td><td>3</td></tr><tr><td>8</td><td>2</td><td>1</td><td>2620.0</td><td>3</td></tr><tr><td>9</td><td>4</td><td>4</td><td>2704.0</td><td>3</td></tr><tr><td>10</td><td>3</td><td>1</td><td>3000.0</td><td>4</td></tr></tbody></table>

<figure><img src="image_4.png" /><figcaption>**Fig. 3.** Gantt chart for the optimal solution of the case study</figcaption></figure>

The above optimal solution is an initial schedule for the robot. That schedule serves as an input to a program called Mission Planner and Control (MPC) which is implemented in VB.NET. The MPC program is accessed using XML-based TCP/IP com-
munication to command and get feedbacks from the robot. During the practical feed-
ing operations at CR 1-2-3 impeller production line, the initial schedule was executed
in sequence and it prevented all of feeders running out of parts. Hence, the CR line
can keep producing impellers without shortage of parts fed from feeders.

5 Conclusions

In this paper, a new problem of scheduling a single mobile robot for multiple-part feeding tasks in a manufacturing cell is studied. To accomplish all tasks within allowable limit of battery capacity, it is important for planners to determine optimal feeding sequence to minimize total traveling time of the mobile robot while considering specific features of the robot and a number of technological constraints. An MIP model is developed to find optimal solution for the problem. A particular real case of the impeller production line composing of four feeders is described to show result of the proposed model. The result was quite properly applied during practical feeding operations and it demonstrated that all feeders had no shortage of parts. For further research, the complexity of the problem will increase when considering a larger number of feeders and/or longer planning horizon. Hence, a meta-heuristic method will be taken into account for solving large-scale mobile robot scheduling problems. Besides, re-scheduling mechanisms based on obtained schedules and feedback from the shop floor will be developed to deal with real-time disturbances.

**Acknowledgments** This work has partly been supported by the European Commission under grant agreement number FP7-260026-TAPAS.

References

1. Crama, Y., van de Klundert, J.: Cyclic Scheduling of Identical Parts in a Robotic Cell. Oper. Res. 45, 952–965 (1997)

2. Crama, Y., van de Klundert, J.: Cyclic Scheduling in 3-machine Robotic Flow Shops. J. Sched. 2, 35–54 (1999)

3. Crama, Y., Kats, V., van de Klundert, J., Levner, E.: Cyclic Scheduling in Robotic Flow-shops. Ann. Oper. Res. 96, 97–124 (2000)

4. Dror, M., Stulman, A.: Optimizing Robot’s Service Movement: a One Dimensional Case. Comput. Ind. Eng. 12, 39–46 (1987)

5. Kats, V., Levner, E.: Parametric Algorithms for 2-cyclic Robot Scheduling with Interval Processing Times. J. Sched. 14, 267–279 (2011)

6. Kats, V., Levner, E.: A Faster Algorithm for 2-cyclic Robotic Scheduling with a Fixed Robot Route and Interval Processing Times. Eur. J. Oper. Res. 209, 51–56 (2011)

7. Maimon, O., Braha, D., Seth, V.: A Neural Network Approach for a Robot Task Sequencing Problem. Artif. Intell. Eng. 14, 175–189 (2000)

8. Suárez, R., Rosell, J.: Feeding Sequence Selection in a Manufacturing Cell with Four Parallel Machines. Robot Comput. Integrated Manuf. 21, 185–195 (2005)

9. Toth, P., Vigo, D.: The Vehicle Routing Problem. SIAM, Philadelphia (2002)

10. Silver, E.A., Pyke, D.F., Peterson, R.: Inventory Management and Production Planning and Scheduling. John Wiley & Sons, New York (1998)