Next Article in Journal
A Survey: Future Smart Cities Based on Advance Control of Unmanned Aerial Vehicles (UAVs)
Previous Article in Journal
Non-Standard Address Parsing in Chinese Based on Integrated CHTopoNER Model and Dynamic Finite State Machine
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

The Multi-Trip Autonomous Mobile Robot Scheduling Problem with Time Windows in a Stochastic Environment at Smart Hospitals

1
Faculty of Science, Kunming University of Science and Technology, Kunming 650500, China
2
Business Analytics Research Center, Chang Gung University, Taoyuan City 33302, Taiwan
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(17), 9879; https://doi.org/10.3390/app13179879
Submission received: 25 July 2023 / Revised: 27 August 2023 / Accepted: 30 August 2023 / Published: 31 August 2023

Abstract

:
Autonomous mobile robots (AMRs) play a crucial role in transportation and service tasks at hospitals, contributing to enhanced efficiency and meeting medical demands. This paper investigates the optimization problem of scheduling strategies for AMRs at smart hospitals, where the service and travel times of AMRs are stochastic. A stochastic mixed-integer programming model is formulated to minimize the total cost of the hospital by reducing the number of AMRs and travel distance while satisfying constraints such as AMR battery state of charge, AMR capacity, and time windows for medical requests. To address this objective, some properties of the solutions with time window constraints are identified. The variable neighborhood search (VNS) algorithm is adjusted by incorporating the properties of the AMR scheduling problem to solve the model. Experimental results demonstrate that VNS generates high-quality solutions. Both enhanced efficiency and the meeting of medical demands are achieved through intelligently arranging the driving routes of AMRs for both charging and service requests, resulting in substantial cost reductions for hospitals and enhanced utilization of medical resources.

1. Introduction

Rapid advancements in artificial intelligence technology have facilitated the widespread integration of autonomous mobile robots (AMRs) into various domains, including industrial production [1] and medical rehabilitation. At smart hospitals, AMRs are employed to perform repetitive tasks, ensuring a safe distance between medical professionals and patients. This approach significantly mitigates the risk of personnel infection and enhances the overall safety of healthcare providers. Additionally, the utilization of AMRs in medical settings helps to alleviate the strain caused by staff shortages, thereby creating more value-added time for patient care [2].
This study is motivated by the specific requirements of Singapore Changi General Hospital, which intends to acquire a group of heterogeneous AMRs to improve medical services. The hospital has various routine medical requests, including tasks such as medication distribution, meal deliveries, and waste collection, which are intended to be handled by AMRs. Each type of medical request necessitates the use of a specific category of homogeneous AMRs. For instance, disinfection of wards requires different AMRs compared to those used for medication distribution. Consequently, the hospital needs to determine the optimal number of distinct AMR types to procure. It is essential to plan how these AMRs can deliver medical services effectively while adhering to multiple constraints [3].
The efficient and effective planning of service routes for AMRs is crucial for their operation. Scheduling optimization of AMRs is a type of research based on resource allocation that has gradually emerged in recent years. Previous studies have investigated various aspects of robot route planning. Dang et al. [4] examined the sequencing problem of a single robot delivering parts to production lines, minimizing total travel time while adhering to time windows. Building upon this work, Dang et al. [5] increased the capacity constraints during the service process. Booth et al. [6] considered the physical constraint of battery levels and incorporated charging during driving in a single robot task planning problem. Jun et al. [7] focused on scheduling and routing for AMR systems, aiming to minimize transportation request tardiness using a novel local search algorithm.
All of the above literature assumes one robot performs only one route/trip. However, in practical applications, small vans are commonly used for package delivery due to their high mobility. In addition, drones and AMRs have the potential for delivering essential goods without direct human contact, but their limited capacity may require multiple trips [8]. To improve service efficiency, multiple robots can be arranged to make multiple trips. In recent years, there has been significant growth in research publications regarding robot scheduling problems that involve multiple trips. Liu et al. [9,10] address a mobile robot routing problem with multiple trips and time windows, emphasizing strict adherence to time windows at each stop. They proposed a two-index mixed integer programming model to solve this problem. Yao et al. [11] investigated the scheduling of multiple mobile robots for multiple trips, aiming to minimize transportation and waiting costs. They employed a hybrid approach combining an improved genetic algorithm and tabu search algorithm to find optimal routes for the robots. Notably, Refs. [9,10,11] did not consider electrical constraints in the context of robot scheduling problems. Moreover, these studies assume a deterministic environment, while the stochastic nature of driving and service times can significantly impact performance, as discussed in [12,13]. This paper focuses on addressing these specific issues.
This paper examines the scheduling strategy for autonomous mobile robots (AMRs), using drug delivery as a case study. It addresses a multi-trip route scheduling problem specific to a particular type of AMR in a stochastic environment characterized by stochastic travel and service times. The study aims to improve service efficiency and minimize the number of required AMRs by considering the battery level, time window, and load capacity during the service process. The primary objectives of this problem are to minimize operational costs while fulfilling all service requests. To achieve cost reduction and improve AMR efficiency, a stochastic mixed-integer programming model is developed to minimize hospital investment costs, encompassing both the fixed and dynamic expenses associated with the AMRs. Although initially motivated by medical services, this problem has wide-ranging applications in other domains, such as city logistics and drone operations within large-scale transportation networks.
Given the stochastic nature of the scheduling problem for AMRs, this issue is addressed within the framework of stochastic programming. There are two commonly employed approaches in stochastic programming: the expected value model and the chance-constrained model [14]. For variables with less randomness, the mean values can replace the random variables in the objective function and constraints, allowing for the use of deterministic methods to solve the problem. Conversely, when dealing with highly random variables, the chance-constrained model is typically adopted, although it introduces some additional complexity due to the variable distributions. The chance-constrained model, proposed by Charnes and Cooper [14], is a powerful tool for modeling stochastic decision systems. It requires that the probability of the constraint condition is no less than a certain confidence level [15]. Ge et al. [16] explored the electric vehicle routing problem with stochastic demands by constructing a probability constraints model. In our study, given the stochastic travel time and service time, violations of request time windows are inevitable. Consequently, we develop a chance-constrained mixed-integer programming model in which the probability of an AMR arriving within the designated time window should be greater than a given threshold [17].
The AMR routing scheduling problem is an NP-hard combinatorial optimization problem [4]. Exact algorithms are only suitable for small- to medium-scale data instances of the routing problem. To tackle complex routing problems, research has primarily focused on developing heuristic algorithms that can generate high-quality solutions within reasonable computational times. The most common heuristic algorithms are the genetic algorithm [18], variable neighborhood search algorithm [19], ant colony algorithm [20], and tabu search algorithm [21,22]. Among these approaches, the variable neighborhood search heuristic (VNS) has emerged as an effective and competitive method for solving large-scale routing problems [19,23,24,25]. Initially proposed by Mladenovi and P. Hansen [26], VNS offers a framework for constructing heuristics by systematically exploring different neighborhoods while employing local search techniques to reach local optima. The VNS algorithm effectively mitigates the risk of getting trapped in local optima and rapidly identifies optimal solutions. Numerous variants have been derived from this fundamental algorithmic framework and applied to various combinatorial optimization problems such as vehicle routing [27,28], electric vehicle routing with stochastic demands [29], traveling salesman problems [30,31], and scheduling problems [32,33,34].
The VNS algorithm is particularly advantageous for handling large problem instances where local search procedures are time-consuming, and it can also serve as an effective means of generating initial solutions before decomposition. The algorithm operates by systematically exploring the solution space, using neighborhood operators to drive the search process toward promising regions. By iteratively applying these operators and conducting local searches, VNS aims to achieve better solutions than traditional optimization techniques while effectively navigating the complex landscape of the problem at hand. However, it is important to note that these operators may generate solutions that are not always feasible. In this study, we improve the VNS algorithm by incorporating time window constraints into three neighborhood solution generation operators. Moreover, we introduce two repair operators, namely depot insertion and charging insertion, which can transform any infeasible solution into a feasible one. Finally, we propose an AMR decrease operator to reduce the number of AMRs in the current set of feasible solutions.
The main contributions of this paper are as follows:
(1)
A stochastic mixed-integer programming model is established to analyze the medical AMR routing problem with stochastic travel time and service time.
(2)
To increase system utilization and decrease the number of AMRs required, each AMR can run multiple routes every day.
(3)
The chance constraint of the violated time window is considered to guarantee a high service level.
(4)
Based on the observed AMR service process, we introduce two repair operators: the depot insertion operator and the charging insertion operator. Additionally, an AMR decrease operator is implemented. These operators are incorporated into the VNS algorithm to address the stochastic AMR routing problem.
The remainder of this paper is structured as follows. We describe the problem in Section 2 and formulate the optimization model in Section 3. The computational method is presented in Section 4. Section 5 provides numerical examples and discusses the results. Section 6 concludes the paper.

2. Problem Description

The motivation for this study arises from the hospital’s intention to acquire a fleet of AMRs to assist medical personnel in providing certain medical services. There are some daily medical requests to be completed by some homogeneous AMRs. The primary task of the AMRs involves transporting medicines from depots (e.g., pharmacies) to different demand points (e.g., wards) and returning to the depots upon completing the service. However, considering the diverse demands associated with each request, the service time for the AMRs is uncertain. Furthermore, during the driving process, multiple unpredictable factors influence travel time, such as obstacle avoidance or waiting for the elevator. As a result, both service time and travel time are treated as random variables. Each medical request is assigned a specific time window within which it must be completed, and the AMRs are responsible for delivering a specified quantity of demands for each request. It is important to note that each request is fulfilled by one and only one AMR. Assuming that the capacity of each AMR is denoted by Q , the AMRs consume electricity during their operations. To improve the efficiency of AMRs and minimize the hospital’s daily costs, it becomes imperative to plan the optimal number of participating AMRs and devise the most efficient AMR service routes.
The following characteristics of the AMR service process should be taken into consideration:
(1)
Stochastic travel time: due to unforeseeable obstacles, the travel time between any two requests is subject to randomness. Additionally, the AMR waiting time for elevators is also stochastic.
(2)
Stochastic service time: the duration of AMR service varies depending on the service object or environment.
(3)
Time window: medical requests are associated with specific time windows. Failure to deliver medicine to the patient within the designated timeframe can result in severe consequences.
(4)
Battery constraint: low battery levels require immediate recharging at the charging station.
(5)
Capacity constraint: the AMR’s load capacity sets an upper bound on the items it can carry.
To facilitate the analysis of the routing problem of the medical AMRs, a complete directed graph G = V , A is defined, where V = D 1 R C D 2 , D 1 is the set of starting points of the AMRs, D 2 is the set of endpoints, C is the set of charging stations, and R = { 1 , 2 , 3 , , n } is the set of medical requests issued by the hospital. Let A = ( i , j ) i , j V , i j be the set of arcs. If an AMR needs to charge during operation, it selects the nearest charging point to complete the charge. Without loss of generality, let D 1 = D 2 = d . Suppose that the time window of request i is [ e i , h i ] . If an AMR arrives at the request point i earlier than the lower bound of its time window e i , it waits until e i . To ensure service quality, the chance constraint is adopted. Let the probability that AMRs serve requests in their specific time window be greater than a given threshold 1 ε . The service time of the request i is a random variable S i . The AMR needs to transport the corresponding demand q i to the request point i , i R . The distance between any two medical requests is d i j , and their floor difference is f i j , ( i , j ) A . In the stochastic environment there are various uncertainties, such as avoiding obstacles or taking elevators during the travel of AMRs. The travel time T i j between request i and request j is a random variable.
Figure 1 illustrates a simple example. It involves three AMRs, twelve medical requests, a charging point, and a depot (pharmacy). All AMRs depart from the depot and eventually return to the depot. The two elements in vector l i   l e v e l ,   q i   k g represent the floor and the demand of the request point i , respectively.
The parameters and variables are summarized in Table 1.

3. Model Formulation

From the perspective of hospital resource allocation, it is desirable to minimize the number of AMRs required to fulfill all medical requests. This necessitates enhancing the utilization of AMRs and devising optimal service routes. In this section, we formulate a mathematical programming model aimed at minimizing the economic cost incurred by the hospital.
Assume that the number of AMRs participating in medical services is m , where m is a decision variable. Each AMR may drive multiple routes every day. Let the set of traveling routes of the k th AMR be L k = 1 , 2 , , k = 1 , , m . Assume that T i j and S i follow normal distributions. The k th AMR arrives at request i on its p th route at X p i k , and it starts to serve request i at Y p i k . Moreover, Y p i k = max X p i k , e i since the AMR needs to wait until e i if X p i k < e i . If the k th AMR serves requests i and j successively on its p th route, the arrival time X p j k is
X p j k = Y p i k + S i + T i j , i , j V , k = 1 , 2 , , m , p L k
Let the full battery capacity be 1, and the electricity consumption rate is a percentage of the battery capacity. The remaining battery level of the AMRs is denoted by a percentage of the fully charged battery level. Suppose that when the k th AMR reaches request i on the p th route ( i R ), the remaining battery level is γ p i k , and the remaining capacity is u p i k . The electricity consumption rate per unit time of the AMRs is r . The AMR charging rate is v q , which means that the AMR increases v q percent of its fully charged battery if it is charged for a second. The AMR is allowed to perform partial charging. When the battery level is lower than α the AMR needs to charge, and it can start to work when the battery level is greater than or equal to β , where 0 α < β 1 .
For the above scheduling problem of medical AMRs, the objective is to minimize the operation cost of the hospital, including the fixed cost and dynamic cost of AMRs, where the fixed cost is the cost of AMRs and the dynamic cost is the energy consumption cost of AMRs during operation. The daily fixed cost of each AMR is ξ 1 and the unit travel cost of the AMR is ξ 2 . For this problem, the following mixed-integer programming model is established. The constraints include the battery and capacity of the AMR, the medical request time window, etc.
Objective function:
min         f m , x = ξ 1 m + ξ 2 k = 1 m p L k i V 1 j V 2 i j d i j x p i j k
subject to:
k = 1 m p = 1 l m a x k j V 2 , i j x p i j k = 1 , i R
j V 2 , j i x p i j k = j V 1 , j i x p j i k , i V , k = 1 , 2 , , m , p L k
q j u p j k u p i k x p i j k q i + Q ( 1 x p i j k ) , i V 1 , j V 2 , i j , k = 1 , 2 , , m , p L k
Y p i k + S i + T i j x p i j k h 0 1 x p i j k Y p j k ,   i D 1 R , j V 2 , i j , k = 1 , 2 , , m , p L k
Y p i k + β γ p i k v q + T i j h 0 1 x p i j k Y p j k ,     i C , j D 2 R , k = 1 , 2 , , m , p L k
Y p i k = Y p + 1 , i k , i D 1 D 2 , k = 1 , 2 , , m , p L k
Y p i k e i , i R , k = 1 , 2 , , m , p L k
P X p i k h i 1 ε , i V , k = 1 , 2 , , m , p L k
α γ p j k γ p i k ( r d i j ) x p i j k + 1 x p i j k ,     i V 1 , j V 2 , i j , k = 1 , 2 , m , p L k
γ p i k = γ p + 1 , i k , i D 1 D 2 , k = 1 , 2 , , m , p L k
x p i j k { 0 , 1 } ,     i V 1 , j V 2 , i j     , k = 1 , 2 , , m , p L k
m N +
The objective function (2) is formed by three parts: the daily fixed cost, transportation cost, and the penalty cost of violating the time window. Equation (3) ensures that each request is served in one and only one route. Equation (4) indicates that the number of input arcs at each point is equal to the number of output arcs. The inequality (5) represents the capacity constraint of the k th AMR on its p th route. The inequality (6) is the time constraint of the k th AMR reaching request j from request i on its p th route. The inequality (7) is the time constraint for the k th AMR leaving charging station i and reaching request j on its p th route. Equation (8) means that the time when the k th AMR arrives at the ending point of the p th route is equal to the time when the k th AMR departs from the starting point of its p + 1 th route. The inequality (9) ensures that the AMR serves request i later than or equal to the lower bound of the time window. The inequality (10) represents the chance constraint which ensures that request i is served in its time window with a confidence level 1 ε . The constraints (11) and (12) are about the battery level of AMRs. The Formula (13) denotes a binary decision variable x p i j k . The constraint (14) indicates that the variable m belongs to the set of positive integers.
The traditional method to solve the chance-constrained programming problem is by converting the chance constraints into deterministic equations. We adopt the approach of Ehmke et al. [35] to approximate the arrival time using a normal distribution, i.e., X p i k N μ X p i k , σ 2 X p i k . Let x p i j k = 1 ( i , j V ), then X p j k = Y p i k + S i + T i j , where the starting service time Y p i k = max X p i k , e i follows a left-truncated non-normal distribution. From Nadarajah and Kotz [36], we have
μ Y p i k = μ X p i k Φ μ X p i k e i / σ X p i k + e i Φ e i μ X p i k / σ X p i k + σ X p i k ϕ μ X p i k e i / σ X p i k ,
σ 2 Y p i k = μ 2 X p i k + σ 2 X p i k Φ μ X p i k e i σ X p i k + Φ e i μ X p i k σ X p i k e i 2     μ Y p i k 2 + μ X p i k + e i σ X p i k ϕ μ X p i k e i σ X p i k ,
where Φ is the cumulative distribution function of the standard normal distribution and ϕ is the probability density function of the standard normal distribution.
Since the travel time T i j and the service time S i are independent random variables, we have
μ X p , j k = μ Y p i k + μ S i + μ T i j
and
σ 2 X p , j k = σ 2 Y p i k + σ 2 S i + σ 2 T i j .
Then constraint (10) P X p , j k h j 1 ε can be converted to
μ Y p i k + μ S i + μ T i j + z ε σ 2 Y p i k + σ 2 S i + σ 2 T i j h j ,
where z ε is the ε quantile of the standard normal distribution.

4. Reduced Variable Neighborhood Search

The stochastic model established in Section 3 is known to be NP-hard and could be solved by heuristic algorithms [37]. In this section, we present the proposed algorithm variable neighborhood search (VNS) and subsequently introduce its four main components: initial solution, neighborhood change, shaking procedure, and feasible operation. It is important to note that the feasible operation (depot insertion and charging insertion) guarantees that the generated solutions always satisfy the constraints of time windows, capacity, and battery. Additionally, the AMR decrease operator aims to minimize the number of AMRs in the current feasible neighborhood solutions.
The framework of the VNS is presented in Section 4.1. The initial solution of the VNS algorithm is introduced in Section 4.2 and Section 4.3. presents the local search and shaking procedure.

4.1. The Algorithm of the VNS

Algorithm 1 clearly illustrates the overall framework of our proposed algorithm VNS, where N represents the maximum number of iterations. First, the greedy algorithm is applied to obtain an initial solution x , which is then transformed into a feasible solution using the feasible operation and considered as the current best solution x * (lines 1–3). After that, VNS enters an evolutionary process. In each iteration (lines 5–11), x undergoes a local search to generate a neighboring solution x l . A shake method is utilized to move x l out of the local optimum and obtain a new neighboring solution x s , resulting in an improved solution x * . Finally, the output is the final solution x * (line 13). The time complexity of the algorithm is O N R 2 , where R represents the number of requests and N is the maximum number of iterations.
Algorithm 1. The VNS Algorithm
Input: parameters    n 1 ,  N
Output: the final solution   x *
1. x Generate initial solution;//see Section 4.2
2. x Feasible operation ( x );//Algorithm 4
3. x * x ;
4. While   n N   do
5. x l Local search ( x );//Algorithm 2
6. x l Feasible operation ( x l );//Algorithm 4
7. x s Shaking ( x l );//Algorithm 3
8.      If   f x < f x * //select the best solution from x and x *
9.         x * x
10.     x x //update the current solution
11.      End if
12. End while
13. Return   x *

4.2. An Initial Solution

The initial solution of the VNS is constructed by a greedy algorithm. Without loss of generality, it is assumed that each AMR can complete at least one request without violating the constraints of load capacity, battery level, and time windows. The initial solution is constructed in the following way.
The starting point for AMRs is the depot. In every iteration, requests near the current node are added to the current route at the most suitable insertion position. If a route reaches its capacity limit and cannot accommodate more requests, a new route is created. When the remaining battery level goes below a specified threshold α , a charging station is placed on the current route. This process continues until all customers have been visited. More details about depot insertion and charging station placement can be found in Section 4.3.

4.3. Local Search and Shake Procedure

The local search procedure is the core component of VNS, as shown in lines 4–11 of Algorithm 2. The neighborhood of a solution x is denoted by N k x , k = 1 , , 3 .
Algorithm 2. Local Search
Input: the initialized solution  x , k  neighborhoods  N k x , k = 1 , , 3 .
Output: a solution  x l
1. k 1
2. x N k x
3. Repeat
4.   If  f x < f x  then
5. x x //update the current best solution
6. k 1 //initial neighborhood
7. x N k x //update the current solution
8.         Else
9. k k + 1 //next neighborhood
10.             x N k x //update the current solution
11.      End if
12. x l x //output the best solution
13. Returns  x l
It is commonly observed that the operators used for generating neighborhood solutions exhibit a stochastic nature, and the generated neighborhoods may include infeasible solutions or tend towards suboptimal outcomes due to constraint violations. In order to minimize the generation of infeasible neighboring solutions, particularly those violating time window constraints, we propose Proposition 1 and Proposition 2 for this model.
Proposition 1.
Let the time windows of two requests  i 1  and  i 2  be  e i 1 , h i 1  and  e i 2 , h i 2 respectively, and    e i 1 < h i 1 < e i 2 < h i 2 . If request    i 2    is served before    i 1    by the    k th    AMR on its    p th    route, then we have    P X p , i 1 k > h i 1 = 1  and  P Y p , i 1 k > h i 1 = 1 .
Proof. 
Because request i 2 is served before i 1 by the k th AMR on its p th route, we have Y p , i 1 k X p , i 1 k > Y p , i 2 k . Since Y p , i 2 k = max X p , i 2 k , e i 2 e i 2 > h i 1 , it follows that
P X p , i 1 k > h i 1 = P X p , i 1 k > Y p , i 2 k > h i 1 = 1 and P Y p , i 1 k > h i 1 = P Y p , i 1 k > Y p , i 2 k > h i 1 = 1 . □
Remark 1.
From Proposition 1, we find that if the time windows satisfy  e i 1 < h i 1 < e i 2 < h i 2 , serving request  i 1   first is preferred, otherwise the time window of request  i 1   is broken definitely.
Proposition 2.
Let the time windows of two requests i 1   and   i 2   be   e i 1 , h i 1   and   e i 2 , h i 2 , respectively, and   h 1 < h 2 . The arrival times of the two requests are   X p , i 1 k and   X p , i 2 k , which follow the same distribution. Then we have   P Y p , i 1 k > h i 1 > P Y p , i 2 k > h i 2 .
Proof. 
The probability that request i 1 breaks its time window is
P Y p , i 1 k > h i 1 = P max X p , i 1 k , e i 1 > h i 1 = 1 P X p , i 1 k h i 1 P e i 1 h i 1 = 1 P X p , i 1 k h i 1 .
The probability that request i 2 breaks its time window is
P Y p , i 2 k > h i 2 = P max X p , i 2 k , e i 2 > h i 2 = 1 P X p , i 2 k h i 2 P e i 2 h i 2 = 1 P X p , i 2 k h i 2 .
Note that X p , i 1 k and X p , i 2 k follow the same distribution. Let the density of X p , i 1 k and X p , i 2 k be p x , then
P X p , i 1 k h i 1 = 0 h i 1 p x d x < 0 h i 2 p x d x = P X p , i 2 k h i 2 .
Therefore,   P Y p , i 1 k > h i 1 > P Y p , i 2 k > h i 2 . □
Remark 2.
From Proposition 2 we find that if the time windows  e i 1 , h i 1 and  e i 2 , h i 2   satisfy  h i 1 < h i 2 , prioritizing the service of request  i 1   leads to a smaller probability of time window violation.
To obtain solutions within a limited time, we propose three operators, namely swap*, 2-opt*, and relocation*, based on Proposition 1 and Proposition 2.
(1)
The swap* operator: Figure 2a illustrates a scenario where Request 5 violates its time window constraints at its current position, while the upper bound of the time window for Request 2 is looser. Consequently, Requests 2 and 5 are chosen for swapping. On the other hand, to avoid getting stuck in local optima when all requests on the current route to satisfy their time window constraints, two requests from the current solution are randomly selected for position swapping, while the remaining requests remain unchanged. Figure 2b displays an example where Requests 3 and 6 are selected, resulting in a new solution generated through the swap operation.
(2)
The 2-opt* operator: as shown in Figure 3a, a declining trend is observed in the upper bound of time windows for the sub-route between Request 2 and Request 5 in the existing route. Therefore, we reverse the order of this sub-route between Requests 2 and 5 to improve the solution. For cases where there is no sub-route with decreasing time window upper bounds in the current solution, we randomly select two requests from the incumbent solution and reverse the order of points between them before inserting them back into the service route. As shown in Figure 3b, Requests 3 and 6 are randomly selected, and their routes are reversed to create a new feasible solution.
(3)
The relocation* operator: Similarly, by examining the time windows of requests on the current route, as shown in Figure 4a, we notice that Request 5 exactly violates its time window constraints. Therefore, we select Request 5 and remove it from its current position, then insert it before Request 3, which has a later time window. If none of the above conditions apply to the current route, we randomly select a request, remove it from its current position, and insert it at a random position. As shown in Figure 4b, Request 6 is randomly selected and placed after Request 4 in the new solution.
Please note that the solutions generated by the above swap*, 2-opt*, and relocation* operations may be unfeasible as they do not consider load and battery level constraints. To address this issue, we introduce two repair operators, depot insertion and charging insertion, which can transform any infeasible solution into a feasible one. Additionally, it is important to track the number of AMRs involved in the service. By applying the AMR decrease operator to the current feasible solutions, we can minimize the participation of AMRs while still ensuring that all constraints are satisfied.
(4)
Depot insertion: if a service route is not feasible due to overloading, a depot is inserted before the point where the remaining load does not meet the downward load demands. Assume that the load capacity of each AMR is 20. In Figure 5, the number above each circled node represents the demand for each request. Since 5 + 5 + 5 + 3 + 5 + 5 > 20 , the route d 1 2   3 4 5 6 d is not feasible due to overload; the first request with a negative remaining load in the current route is Request 5. The depot d is inserted before Request 5, as shown in Figure 5b. The modified feasible routes are d 1 2 3 4 d , d 5 6 d .
(5)
Charging insertion: if a service route is not feasible due to insufficient electricity, a charging station is inserted before the point whose remaining electricity is lower than the lower bound of battery level α . Let α = 0 . As shown in Figure 6a, route d 1 2 3 4 is not feasible due to insufficient electricity, where the number above each circled node represents the remaining battery level of the AMR. The first request with non-positive remaining electricity in the current route is Request 5. The charging station c is inserted before Request 5, as shown in Figure 5b. The modified feasible route is d 1 2 3 4 c 5 6 d .
Proposition 3.
If the time windows and the battery level constraints are satisfied, reducing the number of AMRs participating in service by combining the paths of different AMRs can reduce the total cost.
Proof. 
Assume that the requests are served by m AMRs and the solution is x = x p i j k x p i j k = 0 , 1 . The corresponding objective value is f m , x = ξ 1 m + ξ 2 k = 1 m p L k i V 1 j V 2 i j d i j x p i j k . □
If the time windows and the battery level constraints are satisfied, assume that the paths of two AMRs can be completed by a single AMR. The new solution is denoted by x ˜ = x ˜ p i j k x ˜ p i j k = 0 , 1 . We have f m 1 , x ˜ = ξ 1 m 1 + ξ 2 k = 1 m 1 p L k i V 1 j V 2 i j d i j x ˜ p i j k . Note that the combination of paths does not change the travel distance, that is k = 1 m p L k i V 1 j V 2 i j d i j x p i j k = k = 1 m 1 p L k i V 1 j V 2 i j d i j x ˜ p i j k , but the cost of AMRs is reduced since the AMRs are reduced in number. Therefore, f m 1 , x ˜ < f m , x .
By Proposition 3, we propose the following AMR decrease operator.
(6)
AMR decrease: the primary objective of this operator is to reduce the number of currently engaged AMRs in service provision while ensuring compliance with the constraints related to time windows and battery capacity. In Figure 7a, the current set of routes consists of three AMRs serving seven requests. The numbers above each request point indicate the remaining battery capacity to reach that request, while the numbers below represent the corresponding time window. Upon observing that the first AMR completes its service and returns to the depot at 8:36, and that it only takes 5 min to travel from the depot to Request 5, we conclude that the first AMR can proceed to Request 5 after completing its transportation task of Request 4. As shown in Figure 7b, the improved set of routes becomes:
m = 2 , x = x 1 , d , 1 1 = x 1 , 1 , 4 1 = x 1 , 4 , d 1 = x 2 , d , 5 1 = x 2 , 5 , d 1 = x 1 , d , 3 2 = x 1 , 3 , 2 2 = x 1 , 2 , 7 2 = x 1 , 7 , 6 2 = x 1 , 6 , d 2 = 1 .
Although the local search strategies could achieve transformation and improvement, the solution may still fall into the local optimum. To address this issue, we use a shaking procedure that creates significant changes in the current solution. Specifically, we employ a 2-opt-L* operator from [38], and accept the new solution generated by the disturbance only if its cost function value f x l is less than f x l × δ , where δ is the disturbance parameter and δ > 1 . This ensures that the new solution can jump out of the local optimal region. Algorithm 3 lines 1–8 show the details of this process.
Algorithm 3. Shaking Procedure
Input: solution x l
Output: the shake solution x s
1. For solution x l  do
2. x l min{2-opt-L* x l };//Choose the best solution from the neighborhood solutions 2-opt-L* x l generated by the 2-opt L* operator.
3.   If  f x l < f x l × δ  then// δ > 1
4.     x s x l
5.   Else
6.     x s x l
7.   End if
8. End for
9. Return  x s
Lines 1–6 in Algorithm 4 provide a detailed description of a feasible operation. Specifically, the depot insertion operator and charging insertion operator are employed to improve infeasible neighborhood solutions. Furthermore, the AMR decrease operator is used on Line 6 to optimize feasible solutions.
Algorithm 4. Feasible Operation
Input: solution x
Output: feasible solution x
1. If x infeasible then
2.  Generate a feasible solution x by depot insertion and charging insertion.
3. Else
4. x x
5. End
6. Using the AMR decrease operator to optimize x and generate x .
7. Return x

5. Numerical Examples

This section conducts numerical experiments to verify the effectiveness of the stochastic programming model and the computation method. Section 5.1 provides parameter tuning. The effectiveness of the VNS algorithm is verified in Section 5.2. A real case study is presented in Section 5.3.

5.1. Parameter Tuning

Suppose that the daily fixed cost of each AMR is ξ 1 = 30 (unit: $) and the travel cost per unit distance of each AMR is ξ 2 = 0.01 (unit: $/m). Let α = 0 , β = 0.8 . The variables S i (service time) and T i j (travel time) follow normal distributions and S i ~ N 600 , σ s 2 , T i j ~ N μ t , σ t 2 , where μ t = d i j / v r + 6 + 51.25 I i j , σ t 2 = σ 0 2 + σ f 2 I i j , and I i j is an indicator function of f i j , i.e.,
I i j = 1 , f i j 0 , 0 , f i j = 0 .
To guarantee the service quality, the probabilistic constraint in (10) is satisfied with a confidence level of 0.95, i.e., ε = 0.05 . The specifications of AMRs are shown in Table 2, where r = 1 216 p e r c e n t / s and v q = 1 162 p e r c e n t / s . The AMR can work for 6 h continuously, and the full charging time is 4.5 h. Without being specified, the parameters are the same in what follows.
All the following computation is run by MATLAB 2014a in the experimental environment as Inter(R) Core (TM)i9-9900K CPU @ 3.60 GHz, 16.00 GB and the operating system is Windows 10.
It is well known that CPLEX as a solver for optimization problems is suitable for solving optimization problems with small data. In this study, we compare the performance of the VNS algorithm with CPLEX. Specifically, we aim to determine the appropriate value for the iteration count N in the VNS algorithm. We conducted experiments using a dataset provided by Singapore Changi General Hospital, which consists of 12 medical requests. There is a depot d and a charging station c , and the AMR capacity Q = 20   kg . The distance and floor difference between the 12 medical requests is presented in Table 3 and Table 4, respectively. The detailed information about the demand and time window of each request can be found in Table 5.
The optimal solution obtained by CPLEX is: two AMRs are needed to run three routes, where the first AMR runs two routes d 1 3 6 7 d , d 9 11 10 d ; the second AMR runs the route d 4 2 5 8 12 d . The total cost is f x = ξ 1 m + ξ 2 d i j = 30 × 2 + 0.01 × 1190 = 71.9 .
For the VNS algorithm, let the maximum number of iterations be N = 800 ,   1000 ,   2000 ,   4000 ,   5000 . We run ten times for any fixed N and get the total number of AMRs participating in service m , the total travel distance d i j , and the total cost f x . The optimal solution of the VNS algorithm for any fixed N is the one with the least cost among the ten experiments, and the results are shown in Table 6. As N increases, f x approaches the optimal value 71.9, which is the same as the result of CPLEX.
It can be found from Table 6 that when the number of iterations is N = 800 , the total travel distance d i j is the shortest, but the number of AMRs participating in service is more than the others. The cost f x with three AMRs participating in service is much more than the cost with two AMRs participating in the service, even though the travel distance is short. It is a better choice to adopt fewer AMRs to provide service. The optimal solution is described in detail with a route diagram, as shown in Figure 8, where ① represents request i , and the three elements in vector l i   l e v e l ,   γ i   % ,   u i   k g represent the floor, the remaining electricity, and the remaining load at the request point i , respectively, i = 1 , , 12 .

5.2. Comparative Experiments

In this section, three comparative experiments are conducted. Firstly, the performance of the proposed methodology is compared with CPLEX in Section 5.2.1. Secondly, the influence of the variance of random variables is investigated in Section 5.2.2. Finally, we study the sensitivity of the optimal solution to the travel distance in Section 5.2.3.

5.2.1. Experiment 1

To verify the feasibility and effectiveness of the algorithm, computational experiments are conducted by six modified Solomon instances. The tabu search (TS) algorithm is a heuristic algorithm based on neighborhood search proposed by Glover [39]. It can solve a class of combinatorial optimization problems including variants of the VRP that involve stochastic factors. For small instances, the performance of the VNS algorithm is compared with CPLEX. For large instances, we employed a tabu search algorithm (TS) and VNS algorithm for experimental comparison. In the case of small instances, we select the first 15 nodes from these Solomon instances. The coordinates, demands, and time windows of the nodes remain unchanged. Each node is assigned a floor information where the first five requests are located on the first floor, the sixth to tenth requests on the second floor, and so on. The AMR’s capacity is the original vehicle capacity of the Solomon instance, while the other parameters remain unchanged, as shown in Table 2.
Table 7 presents a comparative analysis of the CPLEX optimizer and the VNS algorithm to solve six modified small Solomon instances. We set the maximum runtime per event to 1800 s for CPLEX. The iteration number of the VNS algorithm is 5000, and we run ten times for each instance. Here, m represents the total number of AMRs, d i j denotes the sum of travel distance, T i m e indicates the total running time (unit: second), and f is the objective value. For the VNS, we present both the best (Best) and average (Avg) values for the following metrics: the number of AMRs, travel distance, running time, and objective value. We define G a p = f f * / f 100 and G = f ¯ f * / f ¯ 100 , where f * is the best objective function value obtained by VNS, f ¯ is the average objective function value obtained by VNS, and f is the best lower bound of the objective function of the final solution obtained by the CPLEX.
Table 7 shows that although the objective function value obtained through VNS does not reach the optimality achieved by CPLEX, the difference was less than 1% and the average gap (%) is −0.96. This indicates the effectiveness of the VNS algorithm in finding near-optimal solutions. The VNS algorithm achieved competitive performance compared to CPLEX in terms of optimizing the objective function.
We compare the VNS algorithm with ten repeated runs on different instances, and the results are shown in Table 7, where f * and f ¯ are the optimal and average values of the ten runs, respectively. The smaller the absolute value of G , the better the robustness of the VNS algorithm. Table 7 shows that the average value of G is about 10 % . Overall, these results highlight the effectiveness and robustness of the VNS algorithm.
Table 8 provides a comparative analysis between the TS algorithm and the VNS algorithm for solving six modified large Solomon instances. It is noted that each experiment has been executed 10 times and the best value per set of 10 executions is recorded. The table includes the number of AMRs ( m ), travel distance ( d i j ), and objective value, where f V N S and f T S are the best objective values obtained by VNS and TS, respectively. Let G 1 = f V N S f T S / f V N S 100 . If G 1 < 0 , the VNS algorithm performs better. The running time of both algorithms is set to be equal.
The experimental results presented in Table 8 reveal a comparison between the TS algorithm and the VNS algorithm. The findings indicate that the VNS algorithm generates a higher quality solution than the TS algorithm ( G 1 = 1.26 % ).
It is worth noting that if the distribution of request nodes is relatively random, such as R101 and R201, the VNS algorithm obtains the optimal solution that is inferior to the TS algorithm. However, for the remaining four instances, the VNS algorithm generates higher quality solutions than TS algorithm. The results of this experiment verify that the VNS algorithm is effective.

5.2.2. Experiment 2

In Experiment 2, we analyze the influence of the variance of variables by setting σ f 2 = 16 n , σ 0 2 = 4 n , σ s 2 = 36 n , n = 1 ,   10 ,   100 . The variances of variables T i j and S i increase with the value of n . All the other parameters are the same as Experiment 1.
We employ the VNS algorithm in Section 4 to solve this problem. This algorithm calculates the number of participating AMRs, travel distance, and total cost. Table 9 demonstrates that when n = 1 or 10, only two AMRs are involved in the service. However, for n = 100 , four AMRs are required. The increasing variance of service and travel times results in a higher probability of violating time windows. To avoid the violation of time windows, increasing the number of AMRs is an effective approach. Consequently, the total cost rises from 71.9 to 131.8 due to the increased cost of additional AMRs.
This discovery indicates that the optimal number of AMRs depends on the numerical characteristics of service and travel time, and the system can better adapt to the randomness of service and travel time by allocating more AMRs. Correspondingly, the probability of violating time windows is reduced. By understanding how variables affect system performance, decision-makers can make wise choices to improve operational efficiency and minimize interference caused by time window violations.

5.2.3. Experiment 3

In Section 5.1, Section 5.2.1 and Section 5.2.2, the electricity consumption is low and the AMRs do not visit the charging station due to sufficient remaining electricity. In Experiment 3, we investigate the impact of distance on charging times and the number of AMRs. Let the travel distance be n d i j , where n = 1 , 2 , 4 , 6 , 8 and d i j represents the distance between i and j given in Table 3 for i ,   j = 1 , , 12 . The variances of T i j and S i are denoted by σ t 2 = 40 + 160 I i j and σ s 2 = 360 , respectively. All the other parameters are the same as those in Section 5.1.
Note that long distance results in long travel time and increased power consumption. As a result, the number of AMRs engaged in service, or the frequency of charging times, shows a corresponding increase with the progressive increment of travel distance as shown in Table 10. These findings have practical significance for system design and optimization. Understanding the relationship between travel distance, power consumption, and the number of AMRs, decision-makers can make wise decisions to improve operational efficiency and optimize resource utilization in real-world applications.

5.3. Case Study

As mentioned in the introduction, this study was provoked by the actual demands of Singapore Changi General Hospital using AMRs to perform some service. This section addresses the realistic problem encountered at the hospital with the approach proposed in this paper.
A set of homogeneous AMRs is utilized to fulfill specific medical requests at the hospital. These requests involve delivering drugs from a pharmacy to 32 wards twice daily. The 64 recorded requests are denoted by 1 ,   2 , ,   64 , where requests i and 32 + i belong to the same ward. The depot, denoted by 0, serves as both the starting point and the location for charging the AMRs. Details regarding the demand, mean service time, and time window of these 64 requests can be found in Table A1 of the Appendix A. Additionally, Table A2 and Table A3 are the distance and floor difference between the 32 wards, respectively. Let σ t 2 = 40 + 160 I i j , σ s 2 = 360 and the initial battery level of the AMRs be 50%, while the remaining parameters are the same as those in Section 5.1.
Table 11 presents the optimized service routes, where the first AMR runs three routes, the second AMR runs three routes, and the third AMR runs two routes. The computed metrics for each route include travel distance, total load, electricity consumption, and the mean arrival time of requests. For instance, the first route of the third AMR is 0 45 13 53 21 17 49 41 31 63 c 0. This route covers a distance of 926 m with a total load of 18 kg and its charge time is one. The mean arrival time for the requests in this route is sequentially recorded as 11:00:00–11:06:10–11:11:10–11:25:39–11:30:39–11:38:54–11:43:54–11:51:59–12:04:03–12:09:03–12:17:20–12:22:20. In the entire service process, each AMR is charged once.
Via the case study, the effectiveness and feasibility of the VNS algorithm solving the routing problem of AMRs at smart hospitals are verified.

6. Conclusions

This paper addresses the route scheduling problem for medical AMRs at hospitals. The study focuses on optimizing the total daily cost of the hospital by minimizing the number of AMRs and travel distance. We develop a stochastic programming model and propose an adjusted variable neighborhood search algorithm to accomplish this objective. The experimental findings illustrate that appropriately organizing the driving routes of AMRs for charging and service requests can considerably decrease the hospital’s overall cost while fulfilling medical requirements.
Note that in some practical scenarios, demands may arise dynamically, such as garbage collection in wards, and stochastic load demands may arise during the service process. In such cases, AMRs need to adjust their service routes based on new arrival requests. Future research can extend the AMR scheduling problem to study the optimization of routes with stochastic load demands and dynamic requests.

Author Contributions

Conceptualization, L.C., N.Z., K.W. and Z.C.; methodology, L.C., N.Z., K.W. and Z.C.; software, L.C.; validation, L.C.; writing—original draft preparation, L.C.; writing—review and editing, L.C., N.Z. and K.W.; visualization, L.C.; supervision, L.C. and N.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported in part by State Key Laboratory of Industrial Control Technology (Grant No. ICT2021B51).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data used to support the findings of this paper are available from the corresponding author upon request.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Table A1. Drug delivery requests.
Table A1. Drug delivery requests.
RequestDemand q i Service   Time   E S i Time Window e i ,   h i
12300[11:21, 14:23]
22300[11:24, 14:18]
32300[11:09, 14:02]
42300[11:08, 14:09]
52300[11:22, 14:27]
62300[11:13, 14:25]
72300[10:59, 14:18]
82300[10:56, 14:29]
92300[11:23, 14:26]
102300[10:59, 14:19]
112300[11:20, 14:26]
122300[10:48, 14:15]
132300[10:54, 14:09]
142300[11:26, 14:02]
152300[10:38, 14:14]
162300[10:39, 14:25]
172300[10:44, 14:16]
182300[11:07, 17:00]
192300[11:16, 14:13]
202300[11:02, 14:09]
212300[11:02, 14:05]
222300[10:43, 14:23]
232300[10:39, 14:19]
242300[11:26, 14:26]
252300[10:56, 14:06]
262300[11:14, 14:14]
272300[11:20, 14:16]
282300[10:43, 14:02]
292300[10:55, 14:23]
302300[11:02, 14:25]
312300[11:11, 14:13]
326300[11:21, 14:15]
332300[10:43, 14:08]
342300[10:48, 14:29]
352300[11:12, 14:17]
362300[11:09, 14:14]
372300[10:32, 14:01]
382300[11:16, 14:18]
392300[11:47, 14:34]
402300[10:51, 14:08]
412300[10:47, 14:23]
422300[10:40, 14:14]
432300[11:05, 14:06]
442300[10:50, 14:11]
452300[11:06, 14:00]
462300[11:14, 14:25]
472300[11:04, 14:28]
482300[10:37, 14:03]
492300[11:17, 14:26]
502300[11:08, 14:10]
512300[10:32, 14:04]
522300[10:54, 14:24]
532300[11:25, 14:20]
542300[11:16, 14:14]
552300[11:14, 14:19]
562300[11:41, 14:13]
572300[11:02, 14:04]
582300[11:24, 14:05]
592300[10:49, 14:02]
602300[10:50, 14:22]
612300[10:30, 14:15]
622300[11:05, 14:10]
632300[11:09, 14:24]
646300[10:53, 14:26]
Table A2. Distance between the wards.
Table A2. Distance between the wards.
DistanceDepotRequests
d i j 01234567891011121314151617181920212223242526272829303132
00141141141141141141148148148148148148157157157157157157161161161161161161201201201201200197197163
11410545454545461616161616170707070707074747474747431131131131031030730776
21415405454545461616161616170707070707074747474747431131131131031030730776
31415454054545461616161616170707070707074747474747431131131131031030730776
41415454540545461616161616170707070707074747474747431131131131031030730776
51415454545405461616161616170707070707074747474747431131131131031030730776
61415454545454061616161616170707070707074747474747431131131131031030730776
71486161616161610696969696977777777777782828282828231831831831831831531584
814861616161616169069696977777777777782828282828231831831831831831531531584
91486161616161616969006977777777777782828282828231831831831831831531531584
101486161616161616969006977777777777782828282828231831831831831831531531584
1114870616161616169696969077777777777782828282828231831831831831831531531584
1214870616161616169777777770777777777782828282828231831831831831831531531584
13157707070707070777777777777086868690909090909032732732732732632332332332393
14157707070707070777777777777860868690909090909032732732732732632332332332393
15157707070707070777777777777868608690909090909032732732732732632332332332393
16157707070707070777777777777868686090909090909032732732732732632332332332393
17157707070707070777777777777909090900909090909032732732732732632332332332393
18157707070707070778282828282909090909009090909032732732732732632332332332393
19161747474747474828282828282909090909090095959533233233233233132832832832897
20161747474747474828282828282909090909090950959533233233233233132832832832897
21161747474747474828282828282909090909090959509533233233233233132832832832897
22161747474747474828282828282909090909090959595033233233233233132832832832897
23161747474747474828282828282327327327327327327332332332332033233233233132832832832897
2416174747474747482318318318318318327327327327327327332332332332332033233233132832832832897
252013113113113103103103183183183183183183273273273273273273323323323323323320393935353535334
262013113113113103103103183183183183183183273273273273273273323323323323323323903935353535334
272013113113113103103103183183183183183183263263263263263263313313313313313313939035353535334
282013113113113103103103183183183183183183233233233233233233283283283283283283535350353535334
292003103103103103103103183153153153153153233233233233233233283283283283283283535353503535334
301973073073073073073073153153153153153153233233233233233233283283283283283283535353535031330
311973073073073073073073153153153153153153233233233233233233283283283283283283535353535310330
32163767676767676848484848484939393939393979797979797334334334334333330330163
Table A3. Floor difference between the wards.
Table A3. Floor difference between the wards.
FloorDepotRequests
f i j 01234567891011121314151617181920212223242526272829303132
0045678935578945678945678956084783
1401234511134501234501234512440341
2510123420023410123410123401531232
3621012331112321012321012310622123
4732101242201232101232101221713014
5843210153310143210143210132804105
6954321064421054321054321043915216
7312345602245612345612345623351450
8510123420023410123410123401531232
9510123420023410123410123401531232
10732101242201732101232101221713014
11843210153310143210143210132808105
12954321064471054321054321043915216
13401234511134501234501234512440341
14510123420023410123410123401531232
15621012331112321012321012310622123
16732101242201232101232101221713014
17843210153310143210143210132808105
18954321064471054321054321043915216
19401234511134501234501234512440341
20510123420023410123410123401531232
21621012331112321012321012310622123
22732101242201232101232101221713014
23843210153310143210143210132808105
24954321064471054321054321043915216
25510123420023410123410123401531232
26621012331112321012321012310622123
27045678935578945678945678956084783
28843210153310143210143210132804105
29401234511138501238501238512440341
30732101242201232101232101221713074
31843210153310143210143210132804705
32312345602245612345612345623351450

References

  1. Schweitzer, F.; Bitsch, G.; Louw, L. Choosing solution strategies for scheduling automated guided vehicles in production using machine learning. Appl. Sci. 2023, 13, 806. [Google Scholar] [CrossRef]
  2. Fragapane, G.I.; Hvolby, H.; Sgarbossa, F.; Strandhagen, J.O. Autonomous mobile robots in hospital logistics. In Proceedings of the IFIP International Conference on Advances in Production Management Systems, Novi Sad, Serbia, 30 August–3 September 2020; Springer International Publishing: Cham, Switherland, 2020; Volume 591, pp. 672–679. [Google Scholar] [CrossRef]
  3. Cissé, M.; Yalçındağ, S.; Kergosien, Y.; Şahin, E.; Lenté, C.; Matta, A. OR problems related to home health care: A review of relevant routing and scheduling problems. Oper. Res. Health Care 2017, 13–14, 1–22. [Google Scholar] [CrossRef]
  4. Dang, Q.-V.; Nielsen, I.; Steger-Jensen, K. Mathematical formulation for mobile robot scheduling problem in a manufacturing cell. In Proceedings of the APMS 2011: Advances in Production Management Systems. Value Networks: Innovation, Technologies, and Management, Stavanger, Norway, 26–28 September 2011; Springer: Berlin/Heidelberg, Germany, 2011; Volume 384, pp. 37–44. [Google Scholar] [CrossRef]
  5. Dang, Q.V.; Nielsen, I.; Steger-Jensen, K.; Madsen, O. Scheduling a single mobile robot for part-feeding tasks of production lines. J. Intell. Manuf. 2014, 25, 1271–1287. [Google Scholar] [CrossRef]
  6. Booth, K.E.C.; Tran, T.T.; Nejat, G.; Beck, J.C. Mixed-integer and constraint programming techniques for mobile robot task planning. IEEE Robot. Autom. Let. 2017, 1, 500–507. [Google Scholar] [CrossRef]
  7. Jun, S.; Choi, C.H.; Lee, S. Scheduling of autonomous mobile robots with conflict-free routes utilising contextual-bandit-based local search. Int. J. Prod. Res. 2022, 60, 4090–4116. [Google Scholar] [CrossRef]
  8. Yang, Y. An exact price-cut-and-enumerate method for the capacitated multitrip vehicle routing problem with time windows. Transport. Sci. 2023, 57, 230–251. [Google Scholar] [CrossRef]
  9. Liu, S.; Wu, H.; Xiang, S.; Li, X. Mobile robot scheduling with multiple trips and time windows. Adv. Data Min. Appl. 2017, 10604, 608–620. [Google Scholar] [CrossRef]
  10. Liu, S.; Li, X.; Xiang, S. Vehicle scheduling with multiple trips and time windows and long planning horizon. In Proceedings of the 2018 International Conference on Intelligent Rail Transportation (ICIRT), Singapore, 12–14 December 2018; pp. 1–5. [Google Scholar]
  11. Yao, F.; Song, Y.J.; Zhang, Z.S.; Xing, L.N.; Ma, X.; Li, X.J. Multi-mobile robots and multi-trips feeding scheduling problem in smart manufacturing system: An improved hybrid genetic algorithm. Intell. Manuf. Robot. 2019, 16, 1–11. [Google Scholar] [CrossRef]
  12. Han, J.; Seo, Y. Mobile robot path planning with surrounding point set and path improvement. Appl. Soft Comput. 2017, 57, 35–47. [Google Scholar] [CrossRef]
  13. Nguyen, Q.V.; Colas, F.; Vincent, E.; Charpillet, F. Motion planning for robot audition. Auton. Robots 2019, 43, 2293–2317. [Google Scholar] [CrossRef]
  14. Charnes, A.; Cooper, W.W. Chance-constrained programming. Manag. Sci. 1959, 6, 73–79. [Google Scholar] [CrossRef]
  15. Li, X.; Tian, P.; Leung, S.C.H. Vehicle routing problems with time windows and stochastic travel and service times: Models and algorithm. Int. J. Prod. Econ. 2010, 125, 137–145. [Google Scholar] [CrossRef]
  16. Ge, X.; Jin, Y.; Zhu, Z. Electric vehicle routing problems with stochastic demands and dynamic remedial measures. Math. Probl. Eng. 2020, 2020, 8795284. [Google Scholar] [CrossRef]
  17. Miranda, D.M.; Conceição, S.V. The vehicle routing problem with hard time windows and stochastic travel and service time. Expert Syst. Appl. 2016, 64, 104–116. [Google Scholar] [CrossRef]
  18. AbdAllah, A.M.F.M.; Essam, D.L.; Sarker, R.A. On solving periodic re-optimization dynamic vehicle routing problems. Appl. Soft Comput. 2017, 55, 1–12. [Google Scholar] [CrossRef]
  19. De Armas, J.; Melián-Batista, B. Variable neighborhood search for a dynamic rich vehicle routing problem with time windows. Comput. Ind. Eng. 2015, 85, 120–131. [Google Scholar] [CrossRef]
  20. Davis, L.C. Dynamic origin-to-destination routing of wirelessly connected, autonomous vehicles on a congested network. Physica A 2017, 478, 93–102. [Google Scholar] [CrossRef]
  21. Liao, T.-Y.; Hu, T.-Y. An object-oriented evaluation framework for dynamic vehicle routing problems under real-time information. Expert Syst. Appl. 2011, 38, 12548–12558. [Google Scholar] [CrossRef]
  22. Gmira, M.; Gendreau, M.; Lodi, A.; Potvin, J.-Y. Tabu search for the time-dependent vehicle routing problem with time windows on a road network. Eur. J. Oper. Res. 2021, 288, 129–140. [Google Scholar] [CrossRef]
  23. Hansen, P.; Mladenović, N. Variable neighborhood search: Principles and applications. Eur. J. Oper. Res. 2001, 130, 449–467. [Google Scholar] [CrossRef]
  24. Hof, J.; Schneider, M.; Goeke, D. Solving the battery swap station location-routing problem with capacitated electric vehicles using an AVNS algorithm for vehicle-routing problems with intermediate stops. Transp. Res. B Methods 2017, 97, 102–112. [Google Scholar] [CrossRef]
  25. Sze, J.F.; Salhi, S.; Wassan, N. The cumulative capacitated vehicle routing problem with min-sum and min-max objectives: An effective hybridisation of adaptive variable neighbourhood search and large neighbourhood search. Transp. Res. B Methods 2017, 101, 162–184. [Google Scholar] [CrossRef]
  26. Mladenovi, N.; Hansen, P. Variable neighborhood search. Comput. Oper. Res. 1997, 24, 1097–1100. [Google Scholar] [CrossRef]
  27. Smiti, N.; Dhiaf, M.M.; Jarboui, B.; Hanafi, S. Skewed general variable neighborhood search for the cumulative capacitated vehicle routing problem. Int. T. Oper. Res. 2018, 27, 651–664. [Google Scholar] [CrossRef]
  28. Chagas, J.B.C.; Silveira, U.E.F.; Santos, A.G.; Souza, M.J.F. A variable neighborhood search heuristic algorithm for the double vehicle routing problem with multiple stacks. Int. Trans. Oper. Res. 2020, 27, 112–137. [Google Scholar] [CrossRef]
  29. Zhang, S.; Chen, M.; Zhang, W. A novel location-routing problem in electric vehicle transportation with stochastic demands. J. Clean. Prod. 2019, 221, 567–581. [Google Scholar] [CrossRef]
  30. Mladenović, N.; Todosijević, R.; Urošević, D. An efficient general variable neighborhood search for large travelling salesman problem with time windows. Yugoslav J. Oper. Res. 2013, 23, 19–30. [Google Scholar] [CrossRef]
  31. Mjirda, A.; Todosijević, R.; Hanafi, S.; Hansen, P.; Mladenović, N. Sequential variable neighborhood descent variants: An empirical study on the traveling salesman problem. Int. T. Oper. Res. 2016, 24, 615–633. [Google Scholar] [CrossRef]
  32. Belošević, I.; Ivić, M. Variable neighborhood search for multistage train classification at strategic planning level. Comput-Aided Civ. Inf. 2018, 33, 220–242. [Google Scholar] [CrossRef]
  33. Chakrabortty, R.K.; Abbasi, A.; Ryan, M.J. Multi-mode resource-constrained project scheduling using modified variable neighborhood search heuristic. Int. T. Oper. Res. 2020, 27, 138–167. [Google Scholar] [CrossRef]
  34. Frifita, S.; Masmoudi, M. VNS methods for home care routing and scheduling problem with temporal dependencies, and multiple structures and specialties. Int. T. Oper. Res. 2020, 27, 291–313. [Google Scholar] [CrossRef]
  35. Ehmke, J.F.; Campbell, A.M.; Urban, T.L. Ensuring service levels in routing problems with time windows and stochastic travel times. Eur. J. Oper. Res. 2015, 240, 539–550. [Google Scholar] [CrossRef]
  36. Nadarajah, S.; Kotz, S. Exact distribution of the max/min of two Gaussian random variables. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2008, 16, 210–212. [Google Scholar] [CrossRef]
  37. Savelsbergh, M.W.P. Local search in routing problems with time windows. Ann. Oper. Res. 1985, 4, 285–305. [Google Scholar] [CrossRef]
  38. Cai, J.; Zhu, Q.; Lin, Q. Variable neighborhood search for a new practical dynamic pickup and delivery problem. Swarm Evol. Comput. 2022, 75, 101182. [Google Scholar] [CrossRef]
  39. Glover, F. Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 1986, 13, 533–549. [Google Scholar] [CrossRef]
Figure 1. An illustrated example.
Figure 1. An illustrated example.
Applsci 13 09879 g001
Figure 2. Swap* operator: (a) position swapping for the requests with violated time windows, (b) random selection for position swapping.
Figure 2. Swap* operator: (a) position swapping for the requests with violated time windows, (b) random selection for position swapping.
Applsci 13 09879 g002
Figure 3. 2-opt* operator: (a) point reversal for the requests with violated time windows, (b) random selection for point reversal.
Figure 3. 2-opt* operator: (a) point reversal for the requests with violated time windows, (b) random selection for point reversal.
Applsci 13 09879 g003
Figure 4. Relocation* operator: (a) relocation for the requests with violated time windows, (b) random selection for relocation.
Figure 4. Relocation* operator: (a) relocation for the requests with violated time windows, (b) random selection for relocation.
Applsci 13 09879 g004
Figure 5. Depot insertion operator: (a) infeasible route violating load capacity, (b) feasible route after repair.
Figure 5. Depot insertion operator: (a) infeasible route violating load capacity, (b) feasible route after repair.
Applsci 13 09879 g005
Figure 6. Charging insertion operator: (a) infeasible route violating electricity constraints, (b) feasible route after repair.
Figure 6. Charging insertion operator: (a) infeasible route violating electricity constraints, (b) feasible route after repair.
Applsci 13 09879 g006
Figure 7. AMR decrease operator: (a) the set of routes before applying the AMR decrease operator, (b) the set of routes using the AMR decrease operator.
Figure 7. AMR decrease operator: (a) the set of routes before applying the AMR decrease operator, (b) the set of routes using the AMR decrease operator.
Applsci 13 09879 g007
Figure 8. Optimal service routes of medical AMRs with 12 requests.
Figure 8. Optimal service routes of medical AMRs with 12 requests.
Applsci 13 09879 g008
Table 1. Nomenclature list.
Table 1. Nomenclature list.
ParameterDescription
D 1 = d the set of starting points of AMRs
D 2 = d the set of ending points of AMRs
R the set of request points
C the set of charging stations
V 1 = D 1 R C
V 2 = D 2 R C
V = D 1 R C D 2
m number of AMRs participating in medical request services
q i demand of request i
[ e i , h i ] the time window of request i
Q capacity of AMRs
S i service time of request i
d i j the distance between any two medical requests i and j
f i j their floor difference between any two medical requests i and j
T i j the travel time from request i to request j
X p i k the time when the k th AMR arrives at the request i on the p th route
Y p i k the time when the k th AMR starts service request i on the p th route
α the lower bound of the AMR battery level
β the upper bound of the AMR battery level
r electricity consumption rate, i.e., the AMR consumes r percent of its fully charged battery level if it runs a unit time
v q the charging rate of AMRs, i.e., the AMR increases v q percent of its fully charged battery level if it is charged for a second
γ p i k the remaining battery level of the k th AMR when it arrives at request (or depot) i on its p th route
u p i k the remaining capacity of the k th AMR when it arrives at request i on its p th route
h 0 any infinite large number
ξ 1 the daily fixed cost of each AMR
ξ 2 the unit travel cost of the AMR
ξ 3 the penalty cost for violating the time window
ε the probability that the time window is violated
x p i j k binary decision variable, i.e.,
x p i j k = 1 , the   k th   AMR   serves   requests   i   and   j   successively   on   its   p th     route ; 0 , otherwise .
Table 2. Specifications of AMRs.
Table 2. Specifications of AMRs.
ParameterSpecification
Running Speed v r 1       m / s
Full Battery Capacity Level 1  
Electricity Consumption Rate r 1 / 216   p e r c e n t / s
Charging Rate v q 1 / 162   p e r c e n t / s
Table 3. Distance between the 12 medical requests.
Table 3. Distance between the 12 medical requests.
DistanceDepotRequestsCharging Station
d i j d 123456789101112 c
d 01001501101001201101101201001101501000
11000120801101009090100110801200100
215012008080701001007080800120150
3110808001007080807010008080110
4100110801000120110110120010080110100
51201007070120010010001207070100120
61109010080110100001001108010090110
71109010080110100001001108010090110
81201007070120010010001207070100120
9100110801000120110110120010080110100
10110808001007080807010008080110
1115012008080701001007080800120150
121000120801101009090100110801200100
c 01001501101001201101101201001101501000
Table 4. Floor difference between the 12 medical requests.
Table 4. Floor difference between the 12 medical requests.
FloorDepotRequestsCharging
Station
f i j d 123456789101112 c
d 01625344352610
110514233241501
265041322314056
321403122130412
454130211203145
532312011021323
643221100112234
743221100112234
832312011021323
954130211203145
1021403122130412
1165041322314056
1210514233241501
c 01625344352610
Table 5. Demand and time window of the 12 medical requests.
Table 5. Demand and time window of the 12 medical requests.
RequestDemandTime Window
14[8:10, 8:20]
24[8:10, 8:20]
34[8:10, 8:20]
44[8:10, 8:20]
54[8:40, 8:50]
64[8:40, 8:50]
74[10:10, 11:00]
84[10:10, 11:00]
94[10:40, 11:00]
104[10:40, 11:00]
114[10:40, 11:00]
124[10:40, 11:00]
Table 6. The results of the VNS algorithm.
Table 6. The results of the VNS algorithm.
N m d i j f x Time (s)
80031100101.002.17
10002123072.302.36
20002122072.202.68
40002119071.902.93
50002119071.903.10
Table 7. Comparison between the CPLEX and the VNS algorithms for the small instances.
Table 7. Comparison between the CPLEX and the VNS algorithms for the small instances.
InstanceCPLEXVNSGap
(%)
m d i j Time (s) f m d i j Time (s) f = ξ 1 m + ξ 2 d i j
BestAvgBestAvgBestAvg f * f ¯ G
R101-1512248.911800362.481212603611.031.0632.03366.02366.110.02−0.66
R201-153327.3512.5393.2733.6397.4378.124.5925.0593.97111.7815.9−0.75
C101-154104.801800121.0444.6220270.125.3726.17122140.713.2−0.95
C201-152189.268.4761.8922.6211.2245.323.1624.8462.1180.4522.7−0.35
RC102-1512186.941800361.861212.2868.2881.130.6931.44368.6374.81.65−1.88
RC201-153198.3012.5191.9833.231035022.4223.9793.1099.506.43−1.22
Average-----10.0−0.96
Table 8. Comparison between the TS and the VNS algorithms for the large instances.
Table 8. Comparison between the TS and the VNS algorithms for the large instances.
InstanceTSVNS G 1
m d i j f T S m d i j f V N S
R10187121.922731.9387122.22732.20.01
R2014782.7911492.794783.591493.60.05
C10162148.62008.662145.32005.3−0.16
C20137109.81219.835118.61168.6−4.38
RC10287148.312758.3186147.12727.1−1.14
RC20151108.91638.950107.81607.8−1.93
Average61.83120.051975.161.2120.71955.8−1.26
Table 9. The effect of variance of variables on the AMR scheduling problem.
Table 9. The effect of variance of variables on the AMR scheduling problem.
n m d i j f
12119071.9
102119071.9
10041180131.8
Table 10. The influence of distance on charging times and total number of AMR.
Table 10. The influence of distance on charging times and total number of AMR.
Distance d i j 2 d i j 4 d i j 6 d i j 8 d i j
Number of AMRs22448
Charging Times00001
Table 11. Optimal service routes of AMRs for drug delivery.
Table 11. Optimal service routes of AMRs for drug delivery.
AMR No.Service RouteDistance (m)Load (kg)Number of ChargesMean Arrival Time of Requests
1① 0 61 29 27 59 30 62 26 58 050616010:20:00-10:30:35-10:55:50-11:20:22-11:25:22- 11:32:56-11:37:56-11:45:14-11:50:14-12:00:31
② 0 5 37 56 24 64 7 39 38 51 19 069220012:05:31-12:09:53-12:14:53-12:22:50-12:27:50-12:36:23-12:42:47-12:47:47-12:55:45-13:03:52-13:08:52-13:18:24
③ 0 c 32 33 1 55 23 047410113:23:24-13:28:24-13:47:55-13:55:54-14:00:54-14:08:59-14:13:59-14:23:41
2① 060 28 57 25 04378010:35:00-10:50:23-10:55:23-11:02:46-11:07:46-11:18:01
② 0 c 9 10 15 47 12 44 16 48 11 43 060420111:23:01-11:33:01-11:40:29-11:47:14-11:55:14-12:00:14-12:08:19-12:13:19-12:21:21-12:26:21-12:34:21-12:39:21-12:46:49
③ 0 42 14 46 20 52 18 50 6 34 2 067020012:56:49-13:04:17-13:12:20-13:17:20-13:23:50-13:28:50-13:37:10-13:42:10-13:48:20-13:56:05-14:01:05-14:10:20
3① 0 45 13 53 21 17 49 41 31 63 c 092618111:00:00-11:06:10-11:11:10-11:25:39-11:30:39-11:38:54-11:43:54-11:51:59-12:04:03-12:09:03-12:17:20-12:22:20
② 0 40 8 4 36 3 35 22 54 049816012:27:20-12:27:20-12:34:48-12:39:48-12:47:34-12:52:34-13:00:11-13:05:11-13:13:08-13:18:08-13:25:49-13:30:49
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Cheng, L.; Zhao, N.; Wu, K.; Chen, Z. The Multi-Trip Autonomous Mobile Robot Scheduling Problem with Time Windows in a Stochastic Environment at Smart Hospitals. Appl. Sci. 2023, 13, 9879. https://doi.org/10.3390/app13179879

AMA Style

Cheng L, Zhao N, Wu K, Chen Z. The Multi-Trip Autonomous Mobile Robot Scheduling Problem with Time Windows in a Stochastic Environment at Smart Hospitals. Applied Sciences. 2023; 13(17):9879. https://doi.org/10.3390/app13179879

Chicago/Turabian Style

Cheng, Lulu, Ning Zhao, Kan Wu, and Zhibin Chen. 2023. "The Multi-Trip Autonomous Mobile Robot Scheduling Problem with Time Windows in a Stochastic Environment at Smart Hospitals" Applied Sciences 13, no. 17: 9879. https://doi.org/10.3390/app13179879

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop