Aircraft Bat Algorithm
Aircraft Bat Algorithm
Research Article
A Hybrid Metaheuristic for Multiple Runways Aircraft Landing
Problem Based on Bat Algorithm
Copyright © 2013 Jian Xie et al. This is an open access article distributed under the Creative Commons Attribution License, which
permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
The aircraft landing problem (ALP) is an NP-hard problem; the aim of ALP is to minimize the total cost of landing deviation from
predefined target time under the condition of safe landing. In this paper, the multiple runways case of the static ALP is considered
and a hybrid metaheuristic based on bat algorithm is presented to solve it. Moreover, four types of landing time assignment
strategies are applied to allocate the scheduling time, and a constructed initialization is used to speed up the convergence rate.
The computational results show that the proposed algorithm can obtain the high-quality and comparable solutions for instances
up to 500 aircrafts, and also it is capable of finding the optimal solutions for many instances in a short time.
combat air vehicle (UCAV) path planning problem [18]. In 𝜏𝑖⃗ = the delay of landing plane 𝑖
this paper, the multiple runways case of the static ALP is (landing after the target time) ;
considered; a hybrid metaheuristic based on bat algorithm
(HBA, for short) is presented to solve it. thus 𝜏𝑖⃗ = max (0, 𝑡𝑖 − 𝑇𝑖 ) ;
The rest of this paper is organized as follows. Section 2 ←
𝜏 𝑖 = the earliness of landing plane 𝑖
presents the mathematical model of ALP and original bat
(landing before the target time) ;
algorithm. Hybrid metaheuristic based on bat algorithm is
proposed in detail to solve multiple runways aircraft landing thus ←𝜏 = max (0, 𝑇 − 𝑡 ) .
𝑖 𝑖 𝑖
problem in Section 3. The experimental results of the HBA (1)
and comparisons with other previous algorithms are shown
in Section 4. In the last section, we conclude this paper and The mathematical formulation of a mixed-integer pro-
point out some future work. gramming for this problem is as follows [1, 2, 9]:
𝑛
2. Problem Definitions and Bat Algorithm min Z = ∑ (𝜏𝑖⃗ 𝑐𝑖⃗ + ←
𝜏𝑖 ←
𝑐 𝑖) (2)
𝑖=1
2.1. The Mathematical Formulation of ALP. The ALP aims
at finding the best arrangement of sequences, runway, and s.t. 𝐸𝑖 ≤ 𝑡𝑖 ≤ 𝑇𝑖 , 𝑖 = 1, 2, . . . 𝑛; (3)
corresponding landing time for a given set of landing aircraft
to minimize total cost by following separation requirements. 𝛾𝑖𝑗 + 𝛾𝑗𝑖 = 1, ∀𝑖, 𝑗 ∈ {1, 2, . . . , 𝑛} , 𝑖 ≠ 𝑗; (4)
To illustrate the mathematical formulation, some notations
and decision variables are defined as follows.
Notations: 𝑡𝑗 ≥ 𝑡𝑖 + 𝑆𝑖𝑗 𝛿𝑖𝑗 + 𝑠𝑖𝑗 (1 − 𝛿𝑖𝑗 ) − 𝑀𝛿𝑖𝑗 ;
𝑠𝑖𝑗 = the separation time (0 ≤ 𝑠𝑖𝑗 ≤ 𝑆𝑖𝑗 ) between plane 𝛿𝑖𝑗 ≥ 𝛾𝑖𝑟 +𝛾𝑗𝑟 −1, 𝑖 ≠ 𝑗 ∈ {1, 2, . . . , 𝑛} , 𝑟 ∈ {1, 2, . . . , 𝑚} ;
𝑖 landing and plane 𝑗 landing, (where the planes 𝑖 and (7)
𝑗 land on the different runways), 𝑖 ≠ 𝑗 ∈ {1, 2, . . . , 𝑛};
𝑇𝑖 = the target landing time (target time) of plane 𝑖, 𝑡𝑖 − 𝑇𝑖 = 𝜏𝑖⃗ − ←
𝜏𝑖 , 𝑖 = 1, 2, . . . , 𝑛;
𝑖 ∈ {1, 2, . . . , 𝑛}; 0 ≤ 𝜏𝑖⃗ ≤ 𝑇𝑖 − 𝐸𝑖 , 𝜏𝑖⃗ ≥ 𝑇𝑖 − 𝑡𝑖 , 𝑖 = 1, 2, . . . , 𝑛; (8)
𝐸𝑖 = the earliest landing time of plane 𝑖, 𝑖 ∈
{1, 2, . . . , 𝑛}; 0≤←
𝜏𝑖 ≤ 𝐿 𝑖 − 𝑇𝑖 , ←
𝜏𝑖 ≥ 𝑡𝑖 − 𝑇, 𝑖 = 1, 2, . . . , 𝑛;
𝐿 𝑖 = the latest landing time of plane 𝑖, 𝑖 ∈ {1, 2, . . . , 𝑛};
𝑐𝑖⃗ = the cost of late landing of plane 𝑖, 𝑖 ∈ {1, 2, . . . , 𝑛}; 𝑦𝑖𝑗 , 𝛾𝑖𝑟 , 𝛿𝑖𝑗 ∈ {0, 1} , 𝑖=𝑗̸ ∈ {1, 2, . . . , 𝑛} , 𝑟 ∈ {1, 2, . . . , 𝑚} ;
←
𝑐 = the cost of early landing of plane 𝑖, 𝑖 ∈
𝑖 𝑡𝑖 , 𝜏𝑖⃗ , ←
𝜏𝑖 ≥ 0, 𝑖 = 1, 2, . . . 𝑛.
{1, 2, . . . , 𝑛}. (9)
Decision variables: Objective function (2) minimizes the total cost of landing
𝑡𝑖 = the scheduled landing time of plane 𝑖, 𝑖 ∈ {1, 2, . . . , 𝑛} ; deviation from target time. The constraints (3) ensure that
the scheduled landing time of each aircraft lies within its
{ 1, if plane 𝑖 lands before time window; constraints (4) consider the landing order;
{ either aircraft 𝑖 or 𝑗 must land first; separation constraints
𝑦𝑖𝑗 = { plane 𝑗 𝑖 ≠ 𝑗 ∈ {1, 2, . . . , 𝑛} ;
{ must be ensured by constraints (5), where the role of 𝑀 is
{0, otherwise, to ensure that the equation is redundant if 𝑗 lands before
𝑖; the constraints (6) ensure that each aircraft should land
{ 1, if plane 𝑖 lands on only one runway; when aircrafts 𝑖 and 𝑗 are assigned to
{
𝛾𝑖𝑟 = { on runway 𝑟 𝑖 ∈ {1, . . . , 𝑛} , 𝑟 ∈ {1, . . . , 𝑚} ; land on the same runway, constraints (7) ensure that the
{
{ 0, otherwise, runways assigned to aircrafts 𝑖 and 𝑗 are identical; additional
constraints (8) are introduced in order to link 𝜏𝑖⃗ and ← 𝜏𝑖 to the
{ 1, if planes 𝑖 and 𝑗 decision variable 𝑡𝑖 ; constraints (9) ensure that the decision
{
𝛿𝑖𝑗 = { land on the same runway 𝑖 ≠ 𝑗 ∈ {1, 2, . . . , 𝑛} ; variables 𝑦𝑖𝑗 , 𝛾𝑖𝑟 , and 𝛿𝑖𝑗 are binary and the decision variables
{
{0, otherwise, 𝑡𝑖 , 𝜏𝑖⃗ , and ←
𝜏𝑖 are nonnegative, respectively.
Journal of Applied Mathematics 3
2.2. Bat Algorithm. The basic bat algorithm (BA) is a meta- Aircraft: 1 2 3 4 5 6 7 8 9 10
heuristic proposed by Yang in 2010 [13]. Under several ideal Runway: 1 3 2 2 3 2 1 2 1 3
rules, the BA has the following steps.
Figure 1: The representation of the candidate solutions.
Step 1. Initialize the bat population and other parameters, and
these initial individuals are evaluated.
Step 2. Each bat individual randomly selects a certain fre- of the candidate solutions for this particular problem. Each
quency 𝑓𝑖 of sonic pulse, and the position of bat individual is individual is a sequence 𝑆 (𝑆 = (𝑠1 , 𝑠2 , . . . , 𝑠𝑛 )) with integer
updated according to their selected frequency. The formulas number 𝑠𝑖 (𝑠𝑖 ∈ {1, . . . , 𝑚}), where the integer number
are as follows: represents the runway and the length of this sequence 𝑆 is the
𝑓𝑖 = 𝑓min + (𝑓max − 𝑓min ) 𝛽, number of aircrafts. For example, if we have three runways
and ten aircrafts, the coded individual with integer is 1 →
V𝑖𝑡 = V𝑖𝑡−1 + (𝑥𝑖𝑡 − 𝑥∗ ) 𝑓𝑖 , (10) 3 → 2 → 2 → 3 → 2 → 1 → 2 → 1 → 3 Figure 1 shows that the
aircrafts 1, 7, and 9 land on runway number 1, the aircrafts
𝑥𝑖𝑡 = 𝑥𝑖𝑡−1 + V𝑖𝑡 , 3, 4, 6 and 8 land on runway number 2, the aircrafts 2, 5, and
10 land on runway number 3.
where 𝑥𝑖𝑡 and V𝑖𝑡 represent the positions and velocities of
individual 𝑖 in a D-dimensional search space at generation 3.2. Landing Time Assignment. The assigned landing time
𝑡, 𝛽 ∈ [0, 1] is a random vector drawn from a uniform (ALT) of each aircraft is the very important step in the
distribution, and 𝑥∗ is the current global best location ALP; the purpose is to reduce the total cost of penalty
(solution) which is located after comparing all the solutions caused by all aircrafts. In this paper, the landing time is
among all the 𝑛 bats. Meanwhile, these new individuals are assigned based on the target landing time 𝑇𝑖 assigned to
evaluated. each aircraft. There are four types of assignment strategies
carried out in the proposed algorithm: forward assignment
Step 3. If a random number is greater than its pulse emission
strategy (FAS), backward assignment strategy (BAS), random
rate 𝑅, then a new position is generated around the current
forward assignment strategy (RFAS), and random backward
global best position for each individual, which is the equal
assignment strategy (RBAS). For each kind of assignment
to local search. The updating formula of local search adopts
strategy, firstly, all aircrafts are found out on each runway,
𝑥 = 𝑥∗ + 𝜀 × 𝐿 𝑡 , where 𝜀 ∈ [−1, 1] is a random number and
and the target landing time 𝑇 of these aircrafts is sorted in
𝐿 𝑡 = ⟨𝐿𝑡𝑖 ⟩ is the average loudness of all the bats at current
ascending order, namely, 𝑇𝑖1 ≤ 𝑇𝑖2 ≤ ⋅ ⋅ ⋅ ≤ 𝑇𝑖𝑝−1 ≤ 𝑇𝑖𝑝 , where
generation 𝑡.
𝑝 is the number of aircrafts on this runway.
Step 4. If the local search is effective and its loudness 𝐿 is
greater than a random number, then the new position is (i) FAS: for each two sorted aircrafts 𝑖𝑘 and 𝑖𝑘+1 on a
accepted and its pulse emission rate 𝑅 and loudness 𝐿 are runway, the ALT is 𝑡𝑖⃗ 𝑘 and 𝑡𝑖⃗ 𝑘+1 , separately. If 𝑇𝑖𝑘+1 <
updated, where pulse emission rate is increased and loudness 𝑡𝑖⃗ 𝑘 + 𝑆𝑖𝑘 𝑖𝑘+1 ; then 𝑡𝑖⃗ 𝑘+1 = 𝑡𝑖⃗ 𝑘 + 𝑆𝑖𝑘 𝑖𝑘+1 , otherwise 𝑡𝑖⃗ 𝑘+1 =
is decreased. 𝐿 𝑖 and 𝑅𝑖 are updated by 𝐿𝑡+1
𝑖 = 𝛼 × 𝐿𝑡𝑖 , 𝑅𝑖𝑡+1 = 𝑇𝑖𝑘+1 .
0
𝑅𝑖 × [1 − exp(−𝛾 × 𝑡)], where 𝛼, 𝛾 are constants. (ii) BAS: for each two sorted aircrafts 𝑖𝑘 and 𝑖𝑘+1 on a
←
←
Step 5. If the termination criterion is met, then the algorithm runway, the ALT is 𝑡 𝑖𝑘 and 𝑡 𝑖𝑘+1 , separately. If 𝑇𝑖𝑘 >
←
←
←
stops; otherwise repeat algorithm (go to Step 2). 𝑡 𝑖𝑘+1 − 𝑆𝑖𝑘 𝑖𝑘+1 ; then 𝑡 𝑖𝑘 = 𝑡 𝑖𝑘+1 − 𝑆𝑖𝑘 𝑖𝑘+1 , otherwise
←
In general, the bat algorithm has three procedures, posi- 𝑡 𝑖𝑘 = 𝑇𝑖𝑘 .
tion updating, local search, and decreasing the probability of (iii) RFAS: for each two sorted aircrafts 𝑖𝑘 and 𝑖𝑘+1 on
local search. For the details of BA refer to [13]. ⌣ ⌣ ⌣
a runway, the ALT is 𝑡 𝑖𝑘 and 𝑡 𝑖𝑘+1 , separately. 𝑡 𝑖𝑘 is
←
3. Hybrid Metaheuristic Based on Bat rounded down to the nearest integer between 𝑡 𝑖𝑘 and
⌣ ⌣ ⌣ ⌣
Algorithm for ALP 𝑡𝑖⃗ 𝑘 . If 𝑡 𝑖𝑘+1 < 𝑡 𝑖𝑘 + 𝑆𝑖𝑘 𝑖𝑘+1 , then 𝑡 𝑖𝑘+1 = 𝑡 𝑖𝑘 + 𝑆𝑖𝑘 𝑖𝑘+1 .
Basic bat algorithm is a continuous optimization algorithm, (iv) BFAS: for each two sorted aircrafts 𝑖𝑘 and 𝑖𝑘+1 on
which is successfully applied to solve real optimization a runway, the ALT is 𝑡𝑖̆ 𝑘 and 𝑡𝑖̆ 𝑘+1 , separately. 𝑡𝑖̆ 𝑘 is
←
problem [15, 17]. However, the standard continuous encoding rounded down to the nearest integer between 𝑡 𝑖𝑘 and
scheme of BA cannot be used to solve ALP directly. Therefore, 𝑡𝑖⃗ 𝑘 . If 𝑡𝑖̆ 𝑘 < 𝑡𝑖̆ 𝑘+1 − 𝑆𝑖𝑘 𝑖𝑘+1 , then 𝑡𝑖̆ 𝑘 = 𝑡𝑖̆ 𝑘+1 − 𝑆𝑖𝑘 𝑖𝑘+1 .
in order to solve aircraft landing problem effectively, HBA is
proposed. The assigned landing time is effective just while the all
constraints (3)–(9) are satisfied, and the four kinds of total
3.1. Solution Representation in HBA. In order to apply BA cost are compared; the best total cost is used as the objective
to ALP, the first step is to devise a suitable representation function value.
4 Journal of Applied Mathematics
5.15 0.8
5.2 0.5
5.1 0.6
5.05 0.4
5 0.2 5 0.4
0 5 10 15 20 25 30 35 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3
Population size Parameter 𝛼
Gavg Gavg
CTavg CTavg
Figure 5: The effect of the value of population size 𝑝𝑠 with respect Figure 6: The effect of the value of 𝛼 with respect to relative
to relative computational time and average percentage gap. computational time and average percentage gap.
execution time 𝑇 of SS and BA1 is longer than the 𝑇 of heuristic. Comparing with IACA and FCFS, it is evidently
HBA and the average execution time of HBA only expends shown that the HBA is effective.
0.43 seconds; by contrast, the SS and BA1 expend 6.4 and Table 2 presents results for a set of instances involving
7.7 seconds, respectively. The comparison of results between from 100 to 500 aircrafts. The termination criterion is set as
HBA and heuristic shows the solutions obtained by HBA are maximum generation 𝑡max = 1000. The IACA and heuristic
superior to the solutions obtained by heuristic. Meanwhile, did not select these instances for testing. From Table 2, even
the average execution time is approximate between HBA and for the larger instances, the HBA found that optimal solutions
Journal of Applied Mathematics 7
in several cases are prominent. We can clearly find that the and is much greater than the 𝐺 of HBA. On the other hand,
percentage deviation 𝐺 from the best-known solutions is the average execution time 𝑇 expended by HBA is much lesser
negative, which indicates the solutions found by HBA are than the average execution time 𝑇 of SS and BA1 expended.
better than the best-known solutions. The average percentage Figure 7 illustrates the performance of the HBA, the
gap 𝐺 of HBA is −9.37% for this group of instances; however, SS, the BA1, the IACA, and the heuristic with respect to
the average percentage gap 𝐺 of SS, BA1, and FCFS is positive the computational time. HBA and heuristic perform almost
8 Journal of Applied Mathematics
International
Journal of Journal of
Mathematics and
Mathematical
Discrete Mathematics
Sciences