A Hybrid Genetic Algorithm with Tabu Search for Optimization of the Traveling Thief Problem

Until now, several approaches such as evolutionary computing and heuristic methods have been presented to optimize the traveling thief problem (TTP). However, most of these approaches consider the TTP components independently, usually considering the traveling salesman problem (TSP) and then tackling the knapsack problem (KP), despite their interdependent nature. In this paper, we investigate the use of a hybrid genetic algorithm (GA) and tabu search (TS) for the TTP. Therefore, a novel hybrid genetic approach called GATS is proposed and compared with the state-of-the-art approaches. The key aspect of GATS is that TTP solutions are considered by firmly taking into account the interdependent nature of the TTP subcomponents, where all its operators are simultaneously implemented on TSP and KP solutions. A comprehensive set of TTP benchmark datasets was adopted to investigate the effectiveness of GATS. We selected 540 instances for our investigation, which comprised five different groups of cities (51, 52, 76, 100 and 150 cities) and different groupings of items, from 50 to 745 items. All types of knapsack (uncorrelated, uncorrelated with similar weights and bonded strongly correlated) with all different knapsack capacities were also taken into consideration. Different initialization methods were empirically investigated as well. The results of the computational experiments demonstrated that GATS is capable of surpassing the state-of-the-art results for various instances. Keywords—Combinatorial; hybrid approaches; genetic algorithm; optimization; tabu search; TTP


INTRODUCTION
The traveling thief problem (TTP) is a benchmark problem recently introduced by [1].It is an abstraction of real-world problems that consist of multiple components, such as vehicle routing problems and supply chain management.TTP has recently drawn researchers' attention, as its definition represents various aspects of real-world complexities.TTP combines two well-known problems, the traveling salesman problem (TSP) and the knapsack problem (KP).The underlying definition of the problem is that a thief has to visit a set of cities and pick some items from these cities and pack them in a knapsack, where each item has its own weight and value [1].The challenging aspect of the problem is that the knapsack has a certain capacity, and the total weights of the picked items must not exceed this capacity; the thief also must pay rent for using the knapsack, the rent depending primarily on the total traveling time.Because the two problems (TSP and KP) are interdependent, the speed of the thief decreases when the knapsack gets heavier, which results in an increased total travel time and requires the paying of a higher rent.Therefore, the main objective of TTP is to maximize the total profit of the thief, comprising the total value of the picked items minus the rent of the knapsack.
Despite the TTP only recently being introduced, it has been rigorously considered.Various approaches have been introduced into the literature, adopting different types of techniques and algorithms.For instance, heuristics strategies are among the widely adopted methods for solving TTP, as seen in [2][3][4][5][6].Searching for the best solutions in such approaches typically involves using classical greedy routines where an initial solution is generated and is iteratively improved.However, adopting heuristics to solve TTP can be computationally complex, especially with a large number of instances [7].Evolutionary approaches such as genetic algorithms (GAs) and genetic programming have also been adopted for roughly solving the TTP, as in [6,[8][9][10][11][12][13][14].The majority of these approaches try to improve TTP solutions by considering each subproblem (i.e., TSP and KP) independently, despite the interdependence between the subcomponents.Evolutionary operators such as crossover and mutation are normally implemented on tours, and then one of the known packing heuristics is implemented to obtain the best packing plan for the best tours.However, the shortest tours do not necessarily guarantee that the optimal TTP solution will be achieved, due to the nonlinear relationship in the solution's objective function [15].Other approaches that have occasionally been adopted in the literature to solve TTP include swarm intelligence approaches, such as the ant colony or the artificial bees colony [16,17].It has not yet been proven which type of approach is most applicable for solving TTP.Several local search algorithms such as those presented in [18,19] have been introduced.Most importantly, Packing Routine and PACKITERATIVE, presented by [20], have become key strategies in the literature.The former starts by sorting items according to their weight and then picks the most profitable items.The latter approach is considered an enhanced version of the former, working in the same way but in an iterative manner with some exponent values.Bitflip and Insertion are two local search operators that are also regularly adopted for solutions generated by the previous two methods, to achieve optimal solutions.www.ijacsa.thesai.org

Equation No Description
(1) The speed (velocity) of the thief, where C is a constant value calculated using Equation 2, and is the weight of the knapsack at the current city is the maximum velocity , minimum velocity, W is the total wieght of the knapsack The total value of the collected items, where is the profit of the item and is a binary value indicating whether the item is available at a particular city (0 denotes that the item is unpicked.while 1 indicates that it is picked) The total travel time from city to The objective value (i.e., the total profit gained by the thief) (6) The travel time between two cities, where is the distance between city and In this paper, we introduce a hybrid GA [21,22], called GATS, using one of the well-known local search methods, tabu search (TS) [23][24][25].GA has been proven powerful in optimizing various types of problems in different domains, such as machine learning [26], network traffic control [27] and industry [28].Similarly, TS has also been successfully adopted, both alone and hybridized with other approaches, for solving different problems in various fields, as in [29][30][31].In fact, to our knowledge, TS has been hybridized with GA for solving various optimization problems, but the hybridization has not been adopted for TTP.
The contribution of this article to the literature is therefore twofold.First, it introduces a novel hybrid approach developed specifically for TTP.The key aspect of this approach is that TTP solutions are considered by firmly taking into account the interdependent nature of the TTP subcomponents.The adopted operators of the proposed approach are simultaneously implemented on tours and packing plans in the process of solution generation; specifically, GA operators, such as crossover and mutation, are implemented to modify tours, while TS is devoted to seeking the best corresponding packing plan.Second, the paper also presents a wide-ranging study taking into account different aspects of TTP, where the performance of the proposed approach was investigated on 540 datasets.These datasets differed in aspects such as size, knapsack capacity and type of knapsack.For instance, the number of cities in these datasets ranged from 51 to 150 cities, and the number of items ranged from 50 to 745 items.All types and capacities of knapsack were tested in this study, and the results were compared with the state-of-the-art approaches.
The rest of the paper is organized as follows.Section II briefly presents the definition of the TTP.In section III, a detailed description of the proposed approach is presented.The experimental design is discussed in section IV, and the proposed approach is tested on various instances and the experimental results are discussed in section VI .The paper concludes in section VII and directions for future work are outlined.

II. THE TRAVELING THIEF PROBLEM
The definition of TTP and its mathematical representation have been well introduced in the literature, for example in [1,5,20,32].Table 1 shows the mathematical representation of TTP, and we briefly summarize its underlying concept as follows:  A thief has to travel among a set of cities , visiting each city only once.
 The tour of the thief must start and end at the same city.
 The tour has a length that can be calculated from the distance * + between cities.
 Each city contains some items where each item has weight and value .
 The thief holds a knapsack that has a specific capacity and a rent .
 The thief is required to pick the most profitable items from cities during his tour, where the total weight of the picked items must not exceed the knapsack capacity.
 The knapsack rent is based on the time unit.
 The speed of the thief depends on the knapsack weight, where the thief gets slower when the knapsack becomes heavier.
 The total profit gained by the thief is the total value of the picked items minus the rent.
 The ultimate objective is finding a tour and a packing plan that maximize the total profit gained by the thief

III. DEVELOPMENT OF THE PROPOSED APPROACH
The aim of this paper is to empirically investigate the use of the GA to solve the TTP.Specifically, the hybridization of the GA with one of the well-known metaheuristic search www.ijacsa.thesai.orgalgorithms, TS, is investigated.Therefore, a hybrid GA with a TS approach, called GATS, is proposed.Figure 1 shows the flow chart of this proposed approach.Its key modules are described in detail in the following sections.For instance, Section A shows the adoption of GA and its operators, while Tabu Search C shows how TS was employed in the proposed approach to the TTP.

A. Genetic Algorithm for TTP 1) Coding
Tours are encoded directly, with integer numbers indicating city indices in sorted enumeration, starting from a city and ending with the same city.Figure 2 shows an example of a tour consisting of five cities, starting from city 4, traveling to cities 1, 3, 5 and 2 and then returning to the starting city.Similarly, a packing plan is encoded with an integer enumeration, where the length of the chromosome indicates the number of items, and the integer value in each position represents the number of the city from which the item was picked.Unpicked items are denoted by zero. Figure 3 shows a knapsack solution with 10 items (2 items per city), consisting of three picked items, 2, 3 and 9, at cities 1, 3 and 5, respectively.2) Initialization GA starts with sets of routes and their corresponding packing plans, which are considered to be the initial candidate solutions (i.e., population).Various strategies of initialization were adopted and tested for this paper.Tours were either randomly or using the Chained Lin-Kernighan heuristic (CLK) [33].The impact of each method was tested, and the results will be discussed in Section VI.The knapsack plan, on the other hand, was initialized using of one the well-known heuristics of TTP, which is PACKITERATIVE [20].

3) Crossover
An order crossover (OX) operator [34] was applied on tours to generate new solutions throughout the algorithm iterations.OX is one of the operators successfully used in combinatorial optimization problems, especially with TSP.In OX, a part of one parent is copied to the child.In GATS, two candidate solutions (tours) are selected using the well-known roulette wheel selection [35] method, which depends mainly on fitness values.Then OX is implemented as follows: 1) Two random positions in each tour are selected that would be considered the starting and end of the part that will be copied to the new offspring.
2) The selected part in the first tour is copied to the second offspring , while the sub-tour in is copied to the first offspring .3) Cities in that do not exist in are recorded in the same order in which they occur in .
4) Blank positions in are filled, in order, with the cities recorded from .
5) The last city of is updated to be the same as the first one.
6) Steps 3-5 are repeated for . .Blank positions in are filled with cities {9, 2, 3, 4, 5}, in that order, because they occur in that order in .Finally, the last city in is updated to be the same as the starting city of the tour.Similarly, blank positions in are filled with cities {2, 1, 7, 9, 3}, in that order, as they occur in Fig. 5. OX Crossover Pseudocode.
, and then the last city is updated to be the same as the starting city of the tour.Figure 5 shows the pseudocode of the implemented OX.

4) Mutation
Opt-Mutation or insertion [34] was applied on the tours in GATS.Here, a predefined mutation probability determines the number of candidate solutions (tours) that will undergo the mutation process.Let us say, for example, that the mutation probability was set at 0.1, and the population (number of candidate solutions) is 100.Then insertion will only be performed on 10 tours, selected randomly.A randomly selected city is inserted into a randomly selected position in the tour.Figure 7 shows an example of insertion mutation on .Notice that city 8 ( ) was selected to be moved to be the third city ( ), and subsequent cities are shifted.Consequently, is obtained.Figure 6 shows the insertion pseudocode.

B. Item Packing
In each iteration, after the crossover and mutation operators have performed on tours, the well-known PACKITERATIVE routine [20] is performed on each tour to generate its corresponding packing plan.PACKITERATIVE is well documented in [20], demonstrating good performance results.The main idea behind it is to pack the most profitable items into the pack by sorting them based on a score calculated based on the items' weights.Items are sorted based on their scores, and the algorithm sequentially checks whether adding an item increases the total profit obtained by the thief.After the generation of packing plans for all tours, the proposed GA calculates the objective value of each candidate solution using equation 5.

C. Tabu Search
Tabu search is one of the known metaheuristic algorithms that has been efficiently employed in solving various optimization problems, especially combinatorial ones.For instance, it has been extensively used to solve classical jobshop scheduling, as in [36] [37], as well as various environmental problems, such as power system planning [38] and transportation [39].It has also been adopted in optimizing different aspects of recent technology trends such as big data [40].The main idea of TS is to generate new solutions from the neighborhood of a current solution.Similar to other metaheuristic algorithms, a certain number of iterations are performed to generate new solutions.However, TS selects the best of these.The most important feature of TS is the tabu list, which is used to store subsets of solutions that are not allowed to be visited again, as they would bring the search to areas that have already been visited.This feature helps the algorithm to avoid cycling and getting trapped by local optima.In our proposed GA, TS was adopted on packing plans for each tour to ensure that the best items were picked for the tour.In each iteration of the GA, after performing the crossover and mutation operators, the TS method is called for each tour.The current tour and the initial packing plan are passed to this method.The length of the tabu list is randomly initialized based on the number of items, and the method terminates when it reaches the maximum number of iterations value where the best packing plan (i.e., with highest objective value) is returned.The Bitflip routine introduced by [20] was adopted in the proposed algorithm as a method for searching the www.ijacsa.thesai.orgneighborhood (new packing plans).However, it was modified to adapt to the proposed algorithm, where all items in the pack are checked in order, and the status of each item is flipped where picked items become unpicked and vice versa.After flipping each item, the resulting packing plan is returned to the TS, and the objective value is calculated.Figure 8 shows the algorithm of TS.

IV. EXPERIMENTAL DESIGN
In order to perform an investigation on a TTP, the set of instances defined by [4] should be considered for performance evaluation.These instances were developed in such a way that the two sub-problems (i.e., TSP and KP) were considered.The total number of instances in this set is 9720, and the instances have different characteristics based on different parameters, for example, the numbers of cities and items.Most of these characteristics are derived from the TSP library dataset [41].Table 2 highlights the characteristics of the TTP instances.Because of the complexity of performing an experiment on the entire set of instances, a collection of 540 instances was selected for our investigation.These instances consisted of five different groups of cities, 51, 52, 76, 100 and 150 in number, as well as three different numbers of items per city (F), 1, 3, and 5.The selected instances also consisted of the three types of KPs (uncorrelated [U], uncorrelated with similar weights [USW] and bounded strongly correlated [BSC]) and all varieties of knapsack capacity (C).Our implementation was conducted using MATLAB R2014a, and all computations were performed on machines using an Intel Core i7-4790S 3.20 GHz processor and 12 GB RAM, running Windows 8.
Before performing the experiment, several parameters were determined.For instance, the maximum running time for an instance was 10 minutes.In addition, due to the randomization of evolutionary approaches, each instance would be tested 10 independent times.The results obtained from our experiment were compared with the best objective values obtained in the literature.At the beginning of the experiment, several variations on the proposed approach were empirically tested; for example, we tested the effect of the random initialization of tours and investigated the performance of GA with CLK initialization.The aim of these investigations was to adopt the best obtained methods in our approach.Then the proposed approach was tested, and the results were compared with some of the state-of-the-art approaches.

V. INITIALIZATION METHOD
In order to investigate the effect of the tour initialization method on the quality of the obtained solutions, two methods were tested, the basic random tour initialization and the CLK heuristic.These methods were implemented within a classic GA for solving TTP.The performance of the two methods was compared on 30 instances with relatively small numbers of cities and items.Surprisingly, the basic random method obtained higher objective values in some instances when compared with CLK, especially with a small knapsack capacity ranging from 1 to 3 and particularly with U and BSC knapsacks (see Table 3).In order to obtain an accurate result, a normalized objective value was calculated for each method in all instances, taking into consideration the values obtained from each run.This normalized value was calculated by taking the ratio between the best objective value for an instance and the average of the objective values for all runs for this instance.Figure 9 shows the results of the comparisons for the three types of knapsack (U, USW and BSC).It is clear that the CLK used for tour initialization is significantly better than the basic random method.Figure 10 also shows an example of a tour generated for an optimal solution obtained by each method; the obtained tour using CLK was significantly (more than 50%) shorter than that obtained by random means.www.ijacsa.thesai.org

VI. GATS RESULTS
The best obtained objective values for GATS were recorded and compared with the best obtained by two state-ofthe-art approaches, EA and RLS.show the results for instances with one item per city and a knapsack capacity ranging from 1 to 10. Table 4 shows that GATS obtained higher objective values than EA and RLS for all knapsack capacities for the instances consisting of 51, 76 and 100 cities with uncorrelated (U) item weights.However, the results showed that GATS was not able to record higher objective values in instances consisting of 52 cities; it achieved better values in only two instances, with medium knapsack capacity www.ijacsa.thesai.org( ).Nevertheless, the differences between the highest objective values obtained by the three approaches were not substantial in these instances; for example, EA and RLS achieved objective values, for the knapsack with , that were only 1% higher than GATS.GATS also outperformed RLS and EA in instances with a large number of cities (i.e., 124 and 150) and knapsacks with a high capacity (8, 9 and 10).With USW, Table 5 shows that GATS was able to achieve better objective values than EA and RLS, with the majority of instances having a small knapsack capacity (ranging from 1 to 3).Similarly, it outperformed them for most of the largecapacity instances, ranging from 8 to 10, except instances with 52 cities (i.e., berlin52).On the other hand, EA and RLS outperformed GATS with a medium KP, ranging from 4 to 7 in most instances, although the differences between the objective values obtained by the three approaches were not significant.For example, the best value reached by GATS with the instance consisting of 76 cities (i.e., eil76) and a knapsack capacity of 5 was 3556, whereas it was 3560 in RLS.In BSC, GATS surpassed RLS and EA in almost all instances, with medium-and large-capacity knapsacks ranging from 4 to 10, except in the instances with 52 cities (i.e., berlin52), where EA and RLS were able to achieve better objective values in the majority of the instances (see Table 6).GATS was also able to obtain better objective values with a small-capacity knapsack in various instances, particularly the ones for 51, 100, 124 and 150 cities, while the best objective values were achieved by EA in the rest of the instances for 52 and 76 cities. Tables 7-9 show the best objective values obtained from instances consisting of three items per city.Table 7 shows that GATS achieved better objective values in several uncorrelated instances with different knapsack capacities.For instance, it outperformed EA and RLS in all knapsack capacities in instances consisting of 51 cities (i.e., eil51).In contrast, lower objective values were achieved by GATS in all instances consisting of 52, 124 and 150 cities.Although the values obtained by GATS fluctuated among instances, it performed better with medium-and large-capacity knapsacks ranging from 5 to 10 instances containing 76 and 100 cities.The best objective values were achieved interchangeably with USW by the three approaches.However, GATS was able to surpass EA and RLS with large-capacity knapsacks, specifically when , in instances containing 51, 76, 100 and 124 cities.But EA and RLS achieved better values in the other two instances with the same knapsack capacities (see Table 8).Table 9 shows that GATS also obtained better objective values with BSC items, especially with large knapsack capacities ( ).
As observed in Table 10, with uncorrelated items, GATS was unable to exceed the objective values obtained by EA and RLS when increasing the number of items to five per city.This became apparent with small and medium knapsacks ( ).However, GATS revealed the highest objective values with large-capacity knapsacks in various instances.For instance, GATS outperformed RLS and EA in all instances consisting of large knapsacks, ranging from 6 to 10, for 51 and 100 cities (eil51 and kroA100).It also reached the highest objective value in most uncorrelated item instances with a knapsack capacity equal to 10, except for those that contained 52 cities (berlin52).But GATS was not able to outperform the two state-of-the-art approaches in all instances with USW, except instances with the largest knapsack capacity ( ).In fact, it recorded significantly higher objective values in four sets of various instances, particularly those composed of 51, 100, 124 and 150 cities (see Table 11).The performance of GATS for a BSC knapsack was notably better than that of the two state-of-the-art approaches in the majority of instances (see Table 12).However, this improvement became most evident with medium-and large-capacity knapsacks ranging from 4 to 10.
Based on the obtained results, the following findings were observed:  The method used for tour initialization significantly affects the obtained solutions.
 Our proposed approach (GATS) performed better, in terms of objective values achieved, than two of the well-known state-of-the-art approaches (RLS and EA) in the majority of instances.
 GATS performed better, especially with instances of a large-capacity knapsack.
 GATS' performance significantly decreased when increasing the number of items and cities, particularly with a small-capacity knapsack.
 GATS had some issues with one set of instances, for berlin52, where it struggled to achieve better objective values in almost all instances.

VII. CONCLUSION
This paper investigates one of the recent NP-hard problems called the traveling thief problem, a multicomponent problem consisting of the two well-known problems TSP and KP.The optimization of TTP is challenging because of the interdependence between its components, where finding an optimal solution for one problem independently does not guarantee obtaining an optimal TTP solution.The aim of this paper was to investigate the use of hybrid GAs for the TTP.Therefore, we proposed a hybrid genetic approach with TS, a combination called GATS.The key aspect of GATS is that TTP solutions are considered by taking into account the interdependent nature of the TTP subcomponents.The performance of GATS was analyzed and compared with that of two state-of-the-art approaches, EA and RLS.A comprehensive set of TTP benchmark datasets was adopted in this experimental work, and 540 instances were selected for our investigation.These instances consisted of five different groups of cities, 51, 52, 76, 100 and 150 in number, as well as groups of items ranging in number from 50 to 745.The selected instances also consisted of the three types of KPs (U, USW and BSC) and all varieties of knapsack capacity (C).The obtained results were analyzed based on several factors, such as the type of knapsack, knapsack capacity and number of items per city.
The obtained results revealed that GATS was able to outperform EA and RLS in terms of objective values for several instances.This became more apparent with a largecapacity knapsack.However, some limitations of GATS were www.ijacsa.thesai.orgobserved, for example, that its performance significantly decreased when the number of items and cities increased, particularly with a small-capacity knapsack.It was also noted that GATS had some issues with one set of the datasets, berlin52, where it struggled to achieve better objective values in almost all instances.Therefore, in the future, further experiments should be conducted to tackle such issues.Larger numbers of instances should also be investigated.

Figure 4
Figure 4  shows an example of new offspring generation using the OX crossover.Positions 4 and 7 are selected.Accordingly, then, the sub-tour {8, 4, 5, 6} from is copied

Fig. 8 .
Fig. 8. TS Pseudocode.TABLE II.INSTANCE CHARACTERISTICS Parameters Description Number of cities Ranged from 51 to 85900

TABLE I .
MATHEMATICAL REPRESENTATION OF TTP

TABLE IV .
BEST OBTAINED OBJECTIVE VALUES FOR U KNAPSACK AND F=1

TABLE VII .
BEST OBTAINED OBJECTIVE VALUES FOR U KNAPSACK AND F=3

TABLE IX .
BEST OBTAINED OBJECTIVE VALUES FOR BSC KNAPSACK AND F=3

TABLE XI .
BEST OBTAINED OBJECTIVE VALUES FOR USW KNAPSACK AND F=5