The Travelling Thief Problem

  Motivation

Real-world optimization problems often consist of several NP-hard combinatorial optimization problems that interact with each other. Such multi-component optimization problems are difficult to solve not only because of the contained hard optimization problems, but in particular, because of the interdependencies between the different components. Interdependence complicates a decision making by forcing each sub-problem to influence the quality and feasibility of solutions of the other sub-problems. This influence might be even stronger when one sub-problem changes the data used by another one through a solution construction process. Examples of multi-component problems are vehicle routing problems under loading constraints, the maximizing material utilization while respecting a production schedule, and the relocation of containers in a port while minimizing idle times of ships.

The goal of this competition is to provide a platform for researchers in computational intelligence working on multi-component optimization problems. The main focus of this competition is on the combination of TSP and Knapsack problems. However, we plan to extend this competition format to more complex combinations of problems (that have typically been dealt with individually in the past decades) in the upcoming years.

The set of benchmarks used in this competition follows the idea of the "Travelling Thief Problem" (Mohammad Reza Bonyadi, Zbigniew Michalewicz, Luigi Barone: free PDF, "The travelling thief problem: The first step in the transition from theoretical problems to realistic problems" (IEEE PDF)). Euclidian 2D Traveling Salesperson instances are combined with 0-1-Knapsack instances in such a way that it reflects aspects of problems from the real-world; for example, the total weight of the items in the knapsack influences the travel speed of a traveller. This introduced interdependence sets the TTP apart from capacitated vehicle routing problem instances, where this interdependence does not exist. For technical details on our fitness function and on how the benchmark instances were created, please see the manual (free PDF) (identical to "A comprehensive benchmark set and heuristics for the traveling thief problem" (ACM PDF)).

Some related work (including approximate approaches, instance analyses, and code) can be found at the University of Adelaide’s TTP Project Page and via this GoogleScholar page.

  Tracks

There will be a number of tracks, because the available instances (from https://dl.acm.org/doi/10.1145/2576768.2598249, http://cs.adelaide.edu.au/~optlog/CEC2014COMP_InstancesNew/) vary massively and across multiple orders of magnitude

Track 1: Analysis of results produced by candidates' code. No code required.

Track 1.1: Three small instances: a280_n279_bounded-strongly-corr_01.ttp, a280_n1395_uncorr-similar-weights_05.ttp, a280_n2790_uncorr_10.ttp

Track 1.2: Three medium-sized instances: fnl4461_n4460_bounded-strongly-corr_01.ttp, fnl4461_n22300_uncorr-similar-weights_05.ttp, fnl4461_n44600_uncorr_10.ttp

Track 1.3: Three large instances: pla33810_n33809_bounded-strongly-corr_01.ttp, pla33810_n169045_uncorr-similar-weights_05.ttp, pla33810_n338090_uncorr_10.ttp

Note: these are the nine “Sample Instances” listed further below.

Track 2: Code execution. Compute resources: 1 core (cloud-computing CPU), 16GiB RAM, 10 minutes execution time.

Track 2.1: Three small instances

Track 2.2: Three medium-sized instances

Track 2.3: Three large instances

  Prize

Markus Wagner provides AUD 1000 in cash. Adriano Torres provides AUD 500 in cash, and also handles cloud infrastructure costs related to Track 2.

  Conference Participation

We encourage the entrants to write papers on their methods and to submit those to a relevant conference in 2023 or 2024. However, we do not require this. Attendance to the event is not required.

  Instances and Code

Sample Instances

We provide a range of sample instances that are representative for the instances that your algorithms will have to solve. In brackets, we list some decent objective values.

Code

The objective function: C#, Java (including basic heuristic algorithms), Matlab


  Technical Details and Submission

Technical Details

Please note:

- Output: the file with the result for a single iteration should follow the following naming convention: <ttpfile>.<algorithmname>.<systemtime>, e.g.,

   a280_n279_bounded-strongly-corr_02.ttp.thisIsMyAlgorithm.12345678912

- The file needs to contain the following information as comma-separated values in square brackets: the permutation of the cities in the first line (note: the first city is "1", do not print the "1" at the end), and the list of packed items in the second line (the numbering of the items starts with "1"). For example:

   [1,5,4,2,3]

   [20,113]

which means that only the items with the numbers 20 and 113 are picked, and the sequence of visited cities is <1,5,4,2,3,1>. Note that this format can easily be achieved in Java with the function Arrays.toString(...). The provided Java package provides all necessary helper function, but you might decide to implement your own internal representation for the optimisation.


Submission

By the deadline, please send us the results. We prefer download links from servers, or links to archives on Google Drive, Dropbox, OneDrive, and so on.


Track 1

Please provide for each instance only 1 file, meaning that you will submit at most 9 files.


Track 2

Please provide the code, as well as instructions on how to execute it.


If you cannot provide results for all instances, then we are happy to accept partial submissions as well.

The file format is quite straightforward and can be generated easily by the provided Java code above. 

A sample file for the instance a280_n279_bounded-strongly-corr_01.ttp is the following: a280_n279_bounded-strongly-corr_01.ttp.rt3.1480595860887.

On our side, we will take your solution files and then evaluate them. This will include the checking of constraints, such as, knapsack capacity considered, all cities visited, starting and end city is city with ID 1, etc.


  Online leaderboard

To encourage an ongoing competition over the next months, we are going to maintain several leaderboard graphs in this section. 



Track 1

best: 19585.2271495013

best: 116814.787525399

best: 429258.043907262

best: 270073.366469802

best: 1647439.57578641

best: 6582360.62711858

best: 1952100.62869874

best: 16114318.6926184

best: 58945556.273283

Track 2

best: 26578.5778830218

best: 9676.7648638915

best: 24192.2753752976

best: 410490.296273138

best: 5980458.15332733

best: 1104937.24639949

best: 2383189.9415189

best: 24482316.6243205

best: 5064611.33620082

Winners announced!


Congratulations Caio Souza from Universidade Federal do Estado do Rio de Janeiro for winning the 2023 GECCO TTP competition!


Second place


Congratulations Team Lupin (Pierre Arvy, Martin Debouté and Florian Fontan) for the second place!


If you want us to add your results to this leaderboard, then email the respective solution files to Adriano Rodrigues Figueiredo Torres <adriano.rodriguesfigueiredotorres@adelaide.edu.au>. You can send us results as many times as you wish. Once we receive your solution files, we aim to update the leaderboard with your objective scores within 48 hours. 

We will not share the solution files here. We will share the very best solution files per instance here after the competition.


For Track 2, as we are using nine “secret” instances, we will only be publishing ranks here (possibly together with approximation ratios). Please get in touch with Adriano prior to your submission of code to see what he can reasonably execute on his machine.

Please note that the Track 2 rankings are only indicative of the final results, as we will perform the official experiment (on the same nine “secret” instances) only after the submission deadline.

We will not share the code here. We would like to share your code here after the competition if you agree.

  Important Dates

30 June 2023 (anywhere on Earth): submission deadline

Please contact us if you want to receive notifications via email.

  Related Competitions

https://cs.adelaide.edu.au/~optlog/CEC2014Comp/: the original TTP formulation

https://cs.adelaide.edu.au/~optlog/CEC2015Comp/: the original TTP formulation

https://cs.adelaide.edu.au/~optlog/TTP2017Comp/: the original TTP formulation as well as a relaxed one

https://www.egr.msu.edu/coinlab/blankjul/emo19-thief/: a bi-objective formulation

https://www.egr.msu.edu/coinlab/blankjul/gecco19-thief/: a bi-objective formulation


To clarify some potential confusion: while the seminal paper by Bonyadi et al. introduced two TTP formulations (TTP1 and TTP2), most researchers (including us) refer to the TTP1 formulation when they talk about the TTP. Hence, for all intents and purposes: TTP=TTP1.

  Competition Organisers

Adriano Torres <adriano.rodriguesfigueiredotorres@adelaide.edu.au>

Markus Wagner <markus.wagner@monash.edu>