discrete bat algorithm for event planning...

6
Discrete Bat Algorithm for Event Planning Optimization S. Delalić 1 , A. Alihodžić 1 , M. Tuba 2 , E. Selmanović 1 , D. Hasić 1 1 Faculty of Science, University of Sarajevo, Bosnia and Herzegovina 2 Singidunum University, Belgrade, Serbia [email protected], [email protected], [email protected], [email protected], [email protected] Abstract - Many public figures, companies and associations are planning events in different cities and at the same time have active profiles on social media. The planning process requires processing a large amount of data and different parameters when choosing the best event venue. Social media captures a large number of fan actions per day. This paper describes the process of selecting the most appropriate cities to organize events, aided by data collected from social media. The problem is defined as a combinatorial optimization problem. A modified metaheuristic Bat algorithm was proposed, implemented, and described in detail to solve the problem. Although the original Bat algorithm is designed to solve continuous optimization problems, the implemented bat algorithm is adapted to solve the defined problem. The algorithm is compared to the exhaustive search method for smaller instances, and to the greedy and genetic algorithm for larger instances. The algorithm was tested on benchmark data on cities in 20 European countries, as well as on real data collected from pages on the social network Facebook. Bat algorithm has shown superior results compared to other techniques, both in time and in the quality of the solutions generated. Keywords - Bat Algorithm; Discrete Bat Algorithm; Event Planning; Metaheuristic I. INTRODUCTION The development of the Internet and information technology has changed many common human practices. Software development has simplified many processes. One of the most significant changes is the ability to easily collect and store large amounts of data. Each process can be easily monitored through information systems and online platforms. Occasionally, information for which there is no current use is also stored, but there are assumptions that this information may contain useful information for the future. In today's world, many jobs in various fields are handled through online platforms, and many public figures and organizations have profiles on social media and online platforms. This makes it clear that a large number of different data is being collected, many of which remain unused, although it can make a significant contribution to understanding and improving business processes. Due to the large amount of data collected, a complete area of data mining has been developed, which attempts to leverage the data and find important information to improve the business processes. As the security of the collected user data is of great importance, data should be used rationally and without compromising user privacy. Therefore, it is preferable to use data that cannot reveal the identity of users, and some of the most important such data is accumulated data, such as data on the number of users from a city. Public organizations and public figures organize events in different cities. Musicians organize concerts, sports clubs organize friendly matches and meetings with supporters, political and other associations organize meetings of members, etc. The choice of cities is most often guided by the experience and judgment of the managers. Therefore, it is important to utilize the data available from social networks and online platforms to enhance the organization process and the selection of cities and venues for event organization. A visualization of the number of fans/users on the example of cities in Germany is shown in Figure 1. The corresponding number of fans is presented for 79 cities in Germany. Every popular social network, like Facebook, offers access to similar reports to its users and site owners. The problem can be modeled as a combinatorial optimization problem. The goal is to maximize the total Figure 1. Visualization of users in Germany MIPRO 2020/CIS 1329

Upload: others

Post on 20-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Discrete Bat Algorithm for Event Planning Optimizationdocs.mipro-proceedings.com/cis/13_CIS_5984.pdforiginal Bat algorithm is designed to solve continuous optimization problems, the

Discrete Bat Algorithm for Event Planning Optimization

S. Delalić1, A. Alihodžić1, M. Tuba2, E. Selmanović1, D. Hasić1

1 Faculty of Science, University of Sarajevo, Bosnia and Herzegovina 2 Singidunum University, Belgrade, Serbia

[email protected], [email protected], [email protected], [email protected], [email protected]

Abstract - Many public figures, companies and associations are planning events in different cities and at the same time have active profiles on social media. The planning process requires processing a large amount of data and different parameters when choosing the best event venue. Social media captures a large number of fan actions per day. This paper describes the process of selecting the most appropriate cities to organize events, aided by data collected from social media. The problem is defined as a combinatorial optimization problem. A modified metaheuristic Bat algorithm was proposed, implemented, and described in detail to solve the problem. Although the original Bat algorithm is designed to solve continuous optimization problems, the implemented bat algorithm is adapted to solve the defined problem. The algorithm is compared to the exhaustive search method for smaller instances, and to the greedy and genetic algorithm for larger instances. The algorithm was tested on benchmark data on cities in 20 European countries, as well as on real data collected from pages on the social network Facebook. Bat algorithm has shown superior results compared to other techniques, both in time and in the quality of the solutions generated.

Keywords - Bat Algorithm; Discrete Bat Algorithm; Event Planning; Metaheuristic

I. INTRODUCTION The development of the Internet and information

technology has changed many common human practices. Software development has simplified many processes. One of the most significant changes is the ability to easily collect and store large amounts of data. Each process can be easily monitored through information systems and online platforms. Occasionally, information for which there is no current use is also stored, but there are assumptions that this information may contain useful information for the future.

In today's world, many jobs in various fields are handled through online platforms, and many public figures and organizations have profiles on social media and online platforms. This makes it clear that a large number of different data is being collected, many of which remain unused, although it can make a significant contribution to understanding and improving business processes.

Due to the large amount of data collected, a complete area of data mining has been developed, which attempts to leverage the data and find important information to improve the business processes.

As the security of the collected user data is of great importance, data should be used rationally and without compromising user privacy. Therefore, it is preferable to use data that cannot reveal the identity of users, and some of the most important such data is accumulated data, such as data on the number of users from a city.

Public organizations and public figures organize events in different cities. Musicians organize concerts, sports clubs organize friendly matches and meetings with supporters, political and other associations organize meetings of members, etc. The choice of cities is most often guided by the experience and judgment of the managers. Therefore, it is important to utilize the data available from social networks and online platforms to enhance the organization process and the selection of

cities and venues for event organization. A visualization of the number of fans/users on the example of cities in Germany is shown in Figure 1. The corresponding number of fans is presented for 79 cities in Germany. Every popular social network, like Facebook, offers access to similar reports to its users and site owners.

The problem can be modeled as a combinatorial optimization problem. The goal is to maximize the total

Figure 1. Visualization of users in Germany

MIPRO 2020/CIS 1329

Page 2: Discrete Bat Algorithm for Event Planning Optimizationdocs.mipro-proceedings.com/cis/13_CIS_5984.pdforiginal Bat algorithm is designed to solve continuous optimization problems, the

number of visitors, while respecting the fact that the number of visitors in a city depends on the number of potential visitors from other neighboring cities where events are not held.

The problem of choosing cities in their general form is a hard optimization problem, and the solution space is impossible to search in real time. Therefore, heuristic methods are applied that produce good enough results in a short enough time. The paper describes the implementation and usage of the modern metaheuristic Bat algorithm for solving the optimal event-planning and city selection problem.

The paper consists of five sections. In the current section, a brief introduction, motivation, and importance for observing the problem are given. In the second section, a literature review is provided. In the third section, a detailed description of the Bat algorithm implementation on the problem of city selection is given. In the fourth section, the obtained results are described and a comparison of the implemented algorithm with the greedy and the genetic algorithm is stated. In the last section, a brief conclusion is given and a plan for future work is outlined.

II. RELATED WORK In [1], the problem of event planning was observed

based on data collected from online platforms. The aforementioned problem was modeled in the form of the combinatorial optimization problem, and solutions with a greedy algorithm and an adjusted genetic algorithm were implemented. In addition, a benchmark dataset was created based on cities from 20 European countries. The algorithms were compared and the results are described in detail. This paper was an inspiration for the implementation of another approach that will improve the previously obtained results.

Similar research has been conducted in the field of music industry and concert planning. In [2], the problem of concerts planning is described, which in addition to the number of visitors includes the traveling cost between cities. In addition to the process of selecting cities, the algorithm also creates a concert schedule, minimizing the total length of the route. A simulated annealing algorithm and a genetic algorithm were implemented to solve the problem of planning concerts.

Process optimizations are standard tasks in many areas of the industry. Information systems and online platforms often contain algorithms to optimize specific processes. Optimization algorithms are most commonly used to optimize the most expensive or common processes, as they result in the greatest savings. Optimization algorithms are used in the field of transport (Vehicle Routing Problem [3]), warehousing [4], online commerce and recommendations systems [5], job scheduling [6], etc. There are a number of examples where previously collected data is used for process improvements and analyzes, such as anomaly detection in GPS records [7] or improvements of the vehicle routing algorithms using GPS data [8].

In the process of solving complex problems, advanced metaheuristic algorithms are used. In addition to the aforementioned genetic algorithm and simulated annealing, there are a number of modern metaheuristic approaches.

A special group of optimization algorithms is a group of collective intelligence algorithms. These algorithms are most commonly inspired by organisms from nature and their specific behavior. In collective intelligence algorithms, each individual possesses a certain intelligence; however, the real power of the algorithm is in the collaboration of the individuals. In [9], the capabilities of the collective intelligence algorithm are described and the advantages and disadvantages of some of the most well-known algorithms are outlined. Some of the known algorithms are Particle Swarm Optimization (PSO), Ant Colony Optimization (ACO), Elephant Herding Optimization (EHO), Bat algorithm (BA), Firefly algorithm (FA) etc. All the above algorithms have been used to solve optimization problems in various fields of science and industry.

This paper focuses primarily on the use of the Bat algorithm. The Bat algorithm was developed in 2010 by Xin-She Yang [10]. In [11], many applications of the Bat algorithm were given. The bat algorithm is primarily intended for continuous optimization problems. However, the algorithm has been implemented on a number of problems from combinatorial optimization. In [12], the Bat algorithm was proposed to solve the problem of a symmetric and asymmetric traveling salesman. The paper describes how to adapt the Bat algorithm to solve problems in a discrete space, and proposes a pseudocode for the discrete Bat algorithm.

The Bat algorithm was also used for the problem of handwritten digit recognition in a combination with support vector machines [13], and for the problem of multilevel image thresholding [14]. In addition to applications in the field of image processing, the Bat algorithm was used to solve vehicle routing problems and other problems finding optimal routes ([15], [16]). The Bat algorithm was also used to find the optimal problem of permutation flow shop scheduling [17], as well as the well-known multidimensional Knapsack problem [18].

III. CASE STUDY As mentioned in the previous section, the problem of

selecting cities for event organization is modeled as an optimization problem in [1]. It is necessary to collect and define several data for the successful implementation.

Let be the set of observed cities.

Let be the population for each city , where .

Let be the distance between the cities and , for all . The distance between cities can be calculated in many ways. The simplest way is to calculate the air distance between centers. In addition, it is possible to use online services that calculate the road and time

1330 MIPRO 2020/CIS

Page 3: Discrete Bat Algorithm for Event Planning Optimizationdocs.mipro-proceedings.com/cis/13_CIS_5984.pdforiginal Bat algorithm is designed to solve continuous optimization problems, the

distances between geographical coordinates. The implementation of the algorithm does not change regardless of how all distances are calculated.

This paper describes the implementation and use of the Bat algorithm to solve the modeled problem. As mentioned earlier, this algorithm was introduced in 2010 [10]. The algorithm is inspired by the behavior of microbats in nature. Microbats have an advanced echolocation capability and use it to detect prey and avoid obstacles. The BA is based on simplified echolocation rules:

All bats know the difference between pray and obstacles;

Bats are searching for pray and flying randomly with velocity at position . Their frequency is fixed to , and wavelength and loudness are varying. They can adjust the wavelength and the pulse rate depending on their pray position;

The assumption is that the loudness varies from a large to a minimum constant value

The bat algorithm is primarily intended to solve problems in the field of continuous optimization. The observed problem is modeled as a combinatorial optimization problem, which means that the solutions are located in a discrete space. As mentioned in the related work, the bat algorithm was adjusted to solve a discrete TSP problem in [12]. The guidelines outlined in this paper are used to solve the problem of event planning. A modified pseudocode of the Bat algorithm tailored to solve city selection problem is given in Algorithm 1.

Algorithm 1 The modified BA for Optimal City Selection Problem function batAlgorithm begin Define the objective function Initialize the bat population Find the best bat in population

for each bat in the population do Initialize the pulse rate , velocity and loudness end repeat for each bat in the population do Generate new solution Generate random number rand if then Generate solution around the best bat end if and > then Accept the new solution Increase Reduce Ai end end

First step of the successful implementation of the Bat algorithm is the definition of the objective function . The objective function is defined as in [1], because this

makes it easier to compare the performance of implemented algorithms. It is important to note that changes in the goal function are simple, and to add real-world constraints it is sufficient to modify the goal function and add penalties if constraints are not met.

The objective function is created by estimating the total number of visitors for the given selection of cities. The goal function assumes that all visitors from selected cities will attend the event; however, at the same time it is necessary to add visitors from nearby non-selected cities.

It is likely to assume that guests from a non-selected city will attend an event at the nearest venue. At the same time, we can assume that not all visitors will attend the event unless it is held in their city.

Let be the set of all selected cities. Let be the set of all non-selected cities. Then the union of sets and is equal to . The values are defined as for if the city is closest to the selected city . Otherwise, the value is 0. The objective function is then calculated as

where is the correlation factor between cities.

The correlation factor represents the probability that a person from city will attend an event in city . The factor can be calculated in many ways. Distance is the most important parameter for calculating it. The formula for the correlation factor given in [1] was also used in for easier comparison of obtained results:

Once the objective function has been successfully defined, it is necessary to initialize the bat population. Each bat in the population represents one solution, in other words, one choice of cities to host an event. The initial bat population was selected to maximize the search space, but at the same time to reject irrational solutions. Each solution in the initial population is created by choosing the largest cities, with some variance. If it is necessary to select cities, then the set of largest cities is created, and one combination from the set is chosen for each bat.

The best bat in the population is the solution for which most visitors are guaranteed. This bat represents the bat with the highest value of the goal function

In the next step, it is necessary to define the pulse rate , velocity and the loudness , for each bat in the population. The pulse rate is chosen randomly from the segment [0, 0.4]. The loudness is chosen also randomly from the segment [0.7, 1]. The velocity of each bat depends on the distance from the best bat in the population. The distance between two bats is calculated as

MIPRO 2020/CIS 1331

Page 4: Discrete Bat Algorithm for Event Planning Optimizationdocs.mipro-proceedings.com/cis/13_CIS_5984.pdforiginal Bat algorithm is designed to solve continuous optimization problems, the

the number of cities selected in one and not selected in the other bat.

In the main part of the algorithm, it is necessary to define a function to generate a new solution from an existing one. This feature is implemented in such a way that when creating a new solution, it selects a random selected city and selects a random non-selected city. The previously selected city is not in the new solution, while the previously non-selected city is in the new solution. In simpler terms, a randomly chosen selected city and a randomly chosen non-selected city change their roles.

The process of increasing and reducing is given by standard formulas, where new is calculated as

while new is calculated as . In the previous formulas, represents the iteration number, and represent constants.

IV. RESULTS In the literature, the problem described in this paper

has only been found in [1]. Apart from the datasets for the 20 European countries defined in the aforementioned paper, no datasets were found for testing. In this section, a comparison of the implemented discrete Bat algorithm with the previously implemented and used methods for a given problem will be stated: an exhaustive search for smaller instances, a greedy algorithm and a genetic algorithm.

The dataset contains the names of cities from European countries along with their populations. The disadvantage of the datasheet was noted, as it was dependent on geolocation online services that obtained the geographic coordinates of the center based on the name of the city. Therefore, different tests can give different results, because the same service is not used. Therefore, a modification of the datasheet was made, so that each city is presented by four values: city name, latitude and longitude of the center and the city population. Each file stores a list of JSON objects with the specified data. After collecting the coordinates, several changes occurred

compared to earlier datasets. The dataset is available in [19]. Graphical visualization of the collected dataset and selected cities for Croatia is given in Figure 2, where six of more than 100 different cities were selected as event locations. Number six is an arbitrarily chosen constant suitable for testing. Cities were selected by maximizing the value of the goal function described in the previous section.

The dataset consists of smaller countries, such as Slovenia, Montenegro and Northern Macedonia, with less than 20 cities listed, middle countries like Bosnia and Herzegovina with 48, Germany with 79 and Croatia with 127 cities, and large countries such as France with 434, Turkey with 580 and Spain with more than 700 cities.

Figure 2. Visualization of selected cities in Croatia

TABLE I. RESULTS ON THE EUROPEAN COUNTRIES DATASET

Cou

ntry

Num

ber

of c

ities

Num

ber

of

sele

cted

citi

es

Gre

edy

appr

oach

Gen

etic

alg

orith

m

(bes

t)

Bat

alg

orith

m

(bes

t)

Albania 74 6 1756903.56 1756903.56 1756903.56

Austria 77 6 3089728.96 3105748.76 3117662.95

Belarus 100 6 3948980.48 3948980.48 3948980.48

Belgium 100 6 2613593.5 2690237.8 2690237.8

Bosnia and Herzegovina 48 6 1000334.9 1009116.5 1009116.5

Croatia 127 6 1634131.47 1634131.47 1634131.47

100 6 1618533.45 1618533.45 1618533.45

Czech Republic 21 6 2575935.38 2594651.78 2594651.78

Denmark 100 6 2463799.25 2551272.95 2551272.95

Finland 100 6 2105270.49 2135607.9 2137304.19

France 434 6 10226615.6 10098110.2 10325996.31

100 6 6891700.3 6930376.18 7024254.98

Germany 79 6 10901545.76 11528898.46 11554187.86

Italy 144 6 8517525.84 8566803.56 8566803.56

100 6 8014905.54 8033536.1 8033536.1

Montenegro 13 6 308485.3 316925.6 316925.6

North Macedonia 5 3 672191.8 672191.8 672191.8

Norway 47 6 1596130.31 1596130.31 1596130.31

Serbia 100 6 4738269.6 4738269.6 4738269.6

Slovenia 16 6 562255.2 568610.7 568610.7

Spain 717 6 17099382.9 16720003.19 17659128.45

100 6 13192605.7 13214860 13296928.28

Sweden 61 6 3148095.68 3231208.3 3231208.3

Turkey 580 6 27715396.5 26714344.5 27715396.45

100 6 27356808.9 26777738.7 27356808.9

.

1332 MIPRO 2020/CIS

Page 5: Discrete Bat Algorithm for Event Planning Optimizationdocs.mipro-proceedings.com/cis/13_CIS_5984.pdforiginal Bat algorithm is designed to solve continuous optimization problems, the

Distance between cities is calculated using the well-known haversine formula for calculating distances between two points on the sphere.

Test results are listed in Table 1. The table shows the comparison of the algorithms for the 20 countries in the observed dataset. For countries with larger number of cities, two tests were performed. The first test uses all the cities in the list, while the second test is done for the first 100 cities. Six cities are selected for each test, while in Northern Macedonia, which contains only five cities, three cities have been selected.

The parameters for the Bat algorithm are set to the

following values: Population size is set to 20. Initial loudness is set as a random number in

segment [0.7, 1]. Initial pulse rate value is set as a random number in segment [0, 0.4].

and are constant values 0.98. Maximal number of iterations is set to 1000.

The genetic algorithm was tested also on 1000

iterations. Genetic and Bat algorithm were executed 10 times for each instance of the dataset. The best and the average value were taken into consideration. Only best results are shown.

As can be seen, the Bat algorithm produced the best results for all countries. In some of them, genetic algorithm and greedy approach gave the same results. Each instance was tested smaller number of cities (15 cities, 6 selected). The Bat algorithm gave the same results as the exhaustive search algorithm, which confirms the successful application of the bat algorithm to the observed problem. During the testing phase, it was observed that a genetic algorithm requires approximately 20% more iterations to reach at the best solution than the Bat algorithm. The BA showed extremely small variations in the results of individual testing (only for large instances, such as Turkey). For the genetic algorithm, larger deviations were observed in the individual tests.

The bat algorithm gave better results than the genetic algorithm in six of the 20 instances tested (30%). In other instances, the algorithms gave the same results. The BA has shown better performance on instances with more cities. Greedy algorithm gave equal results to the genetic and bat algorithm for some instances. However, there are a number of cases where this algorithm does not produce the best result. These cases occur for clusters of cities, where all cities within a group may be smaller, but their number increases the cost-effectiveness of choosing one of them.

The algorithm has been tested on multiple instances collected from Facebook pages. Facebook offer a large number of reports and detailed information about the users who visit the page. They are only available to page

owners and administrators. One of these reports is a set of pairs where for each city, a number of Facebook page fans from that city are assigned.

In practice, several important limitations significantly affect the results. When selecting cities, it is necessary to provide a space where the event can be organized. Often, some cities are excluded. Such a case occurs if a similar event in the city has taken place in the recent past. All these constraints can be easily included in the definition of a goal function, and do not change the implementation of the bat algorithm.

The algorithm was tested on data from multiple real Facebook pages. Additional restrictions were included to represent the time of organization of the last event in that city, the exclusion of certain cities from observation and the capacity of the venue. Restriction data was manually collected. The bat algorithm was run over the same settings, and it gave significantly better results compared to other approaches. Each of these constraints is simply included by modifying the goal function. Violating each condition adds a penalty value to the function. No additional modifications to the algorithm were made.

V. CONLUSION The observed problem is an interesting example of the

combination of modern technologies and the advantages of the modern world with an algorithmic approach to problem solving. The paper demonstrates the use of the Bat algorithm in solving a practical problem that can improve business processes. The algorithm was tested on data containing cities from 20 cities in European countries. The Bat algorithm has been compared to a greedy algorithm and a genetic algorithm. The Bat algorithm has been shown to produce significantly better results than other methods.

In a future research, additional restrictions will be added, such as the cost of transport between cities and the cost of renting a venue. Other modern metaheuristic algorithms will be implemented.

The idea and concept of using data collected from online platforms and information systems to optimize the event planning process can be of great importance. Apart from organizing events, a similar problem can be formulated to solve a number of other practical problems, such as determining a city to expand a business or building a new office, shop, etc. It can also bring great savings and increase planning efficiency and speed, and is therefore significant for research.

REFERENCES

[1] Delalić, S., Alihodžić, A., & Selmanović, E. (2019, October). Innovative Usage of Online Platforms Analytics on Event Planning based on the Genetic Algorithm with Greedy Approach. In 2019 XXVII International Conference on Information, Communication and Automation Technologies (ICAT) (pp. 1-6). IEEE.

[2] Delalić, S., Chahin, M., & Alihodžić, A. (2019, October). Optimal City Selection and Concert Tour Planning Based on Heuristic Optimization Methods and the Use of Social Media Analytics.

MIPRO 2020/CIS 1333

Page 6: Discrete Bat Algorithm for Event Planning Optimizationdocs.mipro-proceedings.com/cis/13_CIS_5984.pdforiginal Bat algorithm is designed to solve continuous optimization problems, the

In 2019 XXVII International Conference on Information, Communication and Automation Technologies (ICAT) (pp. 1-6). IEEE.

[3] Demir, E., Huckle, K., Syntetos, A., Lahy, A., & Wilson, M. (2019). Vehicle Routing Problem: Past and Future. In Contemporary Operations and Logistics (pp. 97-117). Palgrave Macmillan, Cham.

[4] Žunić, E., Delalić, S., Hodžić, K., Beširević, A., & Hindija, H. (2018, November). Smart Warehouse Management System Concept with Implementation. In 2018 14th Symposium on Neural Networks and Applications (NEUREL) (pp. 1-5). IEEE.

[5] Bobadilla, J., Ortega, F., Hernando, A., & Alcalá, J. (2011). Improving collaborative filtering recommender system results and performance using genetic algorithms. Knowledge-based systems, 24(8), 1310-1316.

[6] Lin, T. L., Horng, S. J., Kao, T. W., Chen, Y. H., Run, R. S., Chen, R. J., ... & Kuo, I. H. (2010). An efficient job-shop scheduling algorithm based on particle swarm optimization. Expert Systems with Applications, 37(3), 2629-2636.

[7] Žunić, E., Delalić, S., Hodžić, K., & Tucaković, Z. (2019, July). Innovative GPS Data Anomaly Detection Algorithm inspired by QRS Complex Detection Algorithms in ECG Signals. In IEEE EUROCON 2019-18th International Conference on Smart Technologies (pp. 1-6). IEEE.

[8] Žunić, E., Hindija, H., Beširević, A., Hodžić, K., & Delalić, S. (2018, November). Improving Performance of Vehicle Routing Algorithms using GPS Data. In 2018 14th Symposium on Neural Networks and Applications (NEUREL) (pp. 1-4). IEEE.

[9] Yang, X. S. (2010). Nature-inspired metaheuristic algorithms. Luniver press.

[10] Yang, X. S. (2010). A new metaheuristic bat-inspired algorithm. In Nature inspired cooperative strategies for optimization (NICSO 2010) (pp. 65-74). Springer, Berlin, Heidelberg.

[11] Yang, X. S. (2013). Bat algorithm: literature review and applications. arXiv preprint arXiv:1308.3900.

[12] Osaba, E., Yang, X. S., Diaz, F., Lopez-Garcia, P., & Carballedo, R. (2016). An improved discrete bat algorithm for symmetric and asymmetric traveling salesman problems. Engineering Applications of Artificial Intelligence, 48, 59-71.

[13] Tuba, E., Tuba, M., & Simian, D. (2016). Handwritten digit recognition by support vector machine optimized by bat algorithm.

[14] Alihodzic, A., & Tuba, M. (2014). Improved bat algorithm applied to multilevel image thresholding. The Scientific World Journal, 2014.

[15] Osaba, E., Carballedo, R., Yang, X. S., Fister Jr, I., Lopez-Garcia, P., & Del Ser, J. (2018). On efficiently solving the vehicle routing problem with time windows using the bat algorithm with random reinsertion operators. In Nature-Inspired Algorithms and Applied Optimization (pp. 69-89). Springer, Cham.

[16] Osaba, E., Yang, X. S., Fister Jr, I., Del Ser, J., Lopez-Garcia, P., & Vazquez-Pardavila, A. J. (2019). A discrete and improved bat algorithm for solving a medical goods distribution problem with pharmacological waste collection. Swarm and evolutionary computation, 44, 273-286.

[17] Luo, Q., Zhou, Y., Xie, J., Ma, M., & Li, L. (2014). Discrete bat algorithm for optimal problem of permutation flow shop scheduling. The Scientific World Journal, 2014.

[18] Sabba, S., & Chikhi, S. (2014). A discrete binary version of bat algorithm for multidimensional knapsack problem. international journal of bio-inspired computation, 6(2), 140-152.

[19] Delalić S, Alihodžić A, Tuba M, Selmanović E, Hasić D. European city repository. URL: bitbucket.org/delalics/cities/master/; 2020.

1334 MIPRO 2020/CIS