Skip to content

mdbrnowski/operational-research

Repository files navigation

operational-research

Better event distribution in a calendar using a swarm intelligence algorithm.

Usage

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()).

Development

To install pre-commit hooks, run

pip install pre-commit
pre-commit install

You can run any Julia script in the project's environment using

julia --project=. script_name.jl

About

Project for Operational Research course.

Resources

License

Stars

Watchers

Forks

Contributors

Languages