Skip to content

Arthod/ihtc2024-imada-submission

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDU-IMADA Entry to the IHTC 2024

The code in this repository implements the solver submitted to IHTC-2024 competition by the team SDU-IMADA.

The members of the team are:

At the time of the competition, both members were affiliated to the Department of Mathematics and Computer Science (IMADA) of the University of Southern Denmark (SDU).

Out of 32 submissions in total to the competition, the submission by SDU-IMADA ranked 1st in the open-source only track and 2nd overall.

Brief Description

The C++ code is the submitted implementation of a heuristic algorithm for the integrated healthcare timetabling problem, which was the object of the IHTC-2024 competition. The algorithm is based on a multi-neighborhood local search guided first by simulated annealing and in the last phase of search by iterated local search. The algorithm is designed to be efficient and scalable, allowing it to handle all different problem instances of the competition within the time limit of 10 minutes on a common 2024 desktop machine utilizing a maximum of 4 threads.

The following documents provide more detailed descriptions of the algorithms and its performance:

  • The short report submitted contextually to the code pdf, together with a .csv file reporting the best results on the public instances and the certificates of these solutions.

  • The presentation given at the EURO 2025 conference in Leeds. Abstract and slides pdf.

  • An article to be sumbmitted to the Special Issue on the IHTC-2024 of the journal /Operations Research, Data Analytics and Logistics/. (In preparation.)

Building and Running the Code

The code is written in C++ 20 and is tested on Linux systems. It can be compiled using the included Makefile:

make

The Makefile is set up to compile the code with the GNU C++ compiler (g++) and assumes that the source files are located in the src/ directory. The object files will be placed in the build/obj/ directory, and the executable will be placed in the build/ directory.

The executable can be run as follows with optional arguments:

./build/main [input=../data/ihtc2024_competition_dataset/i01.json] [seed=rnd] [output=out/sol_{...}.json] [debug_level=0]

where

  • input is the input file with i01.json as default.
  • seed is the seed with random as default.
  • output is the location to write the output file.
  • debug_level is the verbose level. See config.h for more info.

For any questions, please do not hesitate to contact the authors via GitHub or open an issue in this repository.

Cite

If this software or its results contribute to your research, please cite as below:

@software{Othman_SDU-IMADA_Entry_to_2025,
    author  = {Othman, Ahmad Mahir and Chiarandini, Marco},
    doi     = {10.5281/zenodo.17726567},
    month   = aug,
    title   = {{SDU-IMADA Entry to the IHTC 2024}},
    url     = {https://github.com/Arthod/ihtc2024-imada-submission},
    year    = {2025}
}

License

This project is licensed under the Apache License 2.0.

About

The submission of Team SDU-IMADA to the Integrated Healthcare Timetabling Competition 2024 (IHTC-2024)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages