Dear Khatere,
1. Of course, irace only needs that the target algorithm returns a metric of performance that must be minimized. If you have a constrained problem, you could use some method to penalize unfeasible solutions. If the algorithm must absolutely never return unfeasible solutions for any instance, then you could return "Inf" to irace and that algorithm configuration will be considered "useless" and eliminated immediately. Of course, if all configurations return "Inf", irace will stop because there is no way to search for a good configuration.
2. MATLAB is really unfriendly for running in batch mode without GUI and for running multiple matlab instances in parallel (it is also very slow to start and stop). Different MATLAB versions also work in incompatible ways. Personally, I do not use MATLAB so I cannot help you to write the target-runner in MATLAB. Nevertheless, there are some suggestions in the user guide (Frequently Asked Questions) and there is an example that comes with the package (
https://github.com/MLopez-Ibanez/irace/tree/master/inst/examples/matlab). Other users have tried different things. If you search for MATLAB in the archives of this Google Group (
https://groups.google.com/g/irace-package), you will find several alternative ways. I guess the best way depends on your matlab version, whether you are running in parallel, whether you know how to use any of the R packages for matlab, your operating system, the interface to your matlab code, etc. If you create or find an example that works well for you, please let me know so that I can add it as an additional example to the package and help other MATLAB users. If you try multiple ways and can write here a few words about what worked and what not, this will be also useful to other MATLAB users.
Best wishes,
Manuel.
--
Dr Manuel López-Ibáñez | "Beatriz Galindo" Senior Distinguished
Researcher | University of Málaga, Spain |
http://lopez-ibanez.eu------------------------------------------------------------------------------
11th
Workshop on Evolutionary Computation for the Automated Design of
Algorithms (ECADA):
https://bonsai.auburn.edu/ecada/GECCO2021------------------------------------------------------------------------------