Better event distribution in a calendar using a swarm intelligence algorithm.
using CalendarBeautifier
input_data = CSV.read("data/example_input.csv", DataFrame)
params = Bees(
N = 500,
alpha = 0.2,
beta = 0.1,
max_iter = 80,
default_nghb_size = 100,
nghb_size_descent = 5,
max_last_improvement = 10,
max_step_fn = def_nghb_size -> Int64(floor(0.2 * def_nghb_size)),
p_calc_fn = def_nghb_size -> (150 - def_nghb_size) / 100,
)
solve(input_data, params)You can also specify which algorithm to use: solve(input_data, Baseline()), solve(input_data, Bees()).
To install pre-commit hooks, run
pip install pre-commit
pre-commit installYou can run any Julia script in the project's environment using
julia --project=. script_name.jl