Welcome to the GA Elf Scheduling Challenge! The genetic algorithm tutorial and challenge details appear in genetic_algorithm_challenge.ipynb
-
Run
pip install -r requirements.txtto install required packages. -
The code defining the problem is in
src/problem.pyand the algorithm testing code is inopt_experiment.py -
You are only required to edit the files
src/genetic_algorithm_EDIT.pyandsrc/opt_params_EDIT.pyfor this challenge in the sections marked # TODO: ADD CODE HERE. -
You may optionally also overwrite the
generate_children()function inherited fromsrc.base.BaseGA. -
You may also write your own script to conduct hyperparameter optimisation on the GA's parameters.
Solution on solution branch (don't peek!), including ga-challenge-2022-debrief.pdf showing the performance of different GA variants over time.
The following files should be run when testing:
opt_experiment_base.py- Run an optimisation experiment for the base GAopt_experiment_improved.py- Run an optimisation experiment for the improved GAoptuna_experiment.py- Conduct HPO on the parameters of the improved GAutils.py- Generate a graph comparing the average performance of the different algorithms over time
Note: Benchmarking was conducted on a MacBook Pro, macOS Monterey 12.5.1 | 2 GHz Quad-Core Intel Core i5 | 16 GB 3733 MHz LPDDR4X