Regarding queries on irace tool

32 views
Skip to first unread message

Jyoti Nainani Ph.D Student

unread,
Nov 4, 2024, 9:14:50 AM11/4/24
to irace-...@googlegroups.com
Dear Sir

             I am a new PhD scholar and working in the field of metaheuristic techniques for NP-Hard combinatorial optimization problems. Currently, I am working on a metaheuristic technique for a NP-hard problem. Due to stochastic nature, there are some parameters whose tuning needs to be required. Since irace is a tool that helps in tuning the parameters, therefore,I have followed your i-race tool. For this, I have gone through the PDF of The irace Package: User Guide. As per your pdf, I have successfully completed the installation of irace and followed the process outlined up to Step 4.2 (Setup example for ACOTSP) in UBUNTU 22.04. After this, when I run the command:

bash

$IRACE_HOME/bin/irace

The terminal does not terminate and its screenshot is attached. If you see this screenshot, the result is not clear to me of a given tsp instance by ACO program. I have even waited for 6-7 hours to see the results (also I have waited a full day), but the terminal did not terminate.  Kindly help me out from this issue so that I can get the result of a given tsp instance by ACO program. 

In addition to this, I have another query. I have implemented the metaheuristic approach in C Language for a given NP-Hard problem and it is in a single .c file. It is not clear to me how I can perform parameter tuning on my .C file using irace. Could you please help me how to run my C program in irace for parameter tuning.

Yours Sincerely
Jyoti
PhD scholar
Department of Computer Applications
NIT Raipur, India

Documents.docx

Manuel López-Ibáñez

unread,
Nov 4, 2024, 11:53:04 AM11/4/24
to The irace package: Iterated Racing for Automatic Configuration
Hi Jyoti,

Could you try to run `irace --check`  and see what it says? You can also run irace with "--debug-level 3" to see what irace is doing in detail.

The first instance should take 16*10 seconds without '--parallel', less if you use "--parallel 2" or "--parallel 4", it so something is wrong somewhere.

There are two main ways to tune your C program:

1. You create a target-runner in some executable language (bash, python, R, java, perl, C/C++...) that calls the compiled version of your program using the input/output interface of irace (see the target-runner examples provided with the irace package and discussed in the user-guide).

2. You modify your C program so that it behaves like the target-runner, that is, it accepts the parameters in the order that the target-runner would and it ONLY prints a single numerical value that must be minimised. Then, in scenario.txt you write targetRunner="/path_to_your/executable" where "executable " is the compiled version of your .C file and "path_to_your" is the path where it resides. You can use a path relative to the execDir. See the user-guide for details.

Best wishes,

Manuel.
Reply all
Reply to author
Forward
0 new messages