Memetic Algorithm with Extended Neighbourhood Search for the capacitated arc routing problem, a widely used benchmark algorithm with the large-step Merge-Split operator.
Resources
Open-source code, benchmark datasets and tutorials from my research, followed by external libraries and reading I recommend.
My Code
Implementations of algorithms from my papers. Please cite the corresponding paper if you use them.
Genetic programming hyper-heuristics for automatically evolving dispatching rules for (dynamic) job shop scheduling, built on the ECJ library.
Meta-heuristics and genetic programming hyper-heuristics that evolve routing policies for the uncertain capacitated arc routing problem; includes the gdb, val and egl datasets.
Genetic programming hyper-heuristics for the stochastic (team) orienteering problem.
Competitive divide-and-conquer algorithm for unconstrained large-scale black-box optimisation, combining global differential grouping with CMA-ES.
Earliest-arrival public transit journey planner based on round-based public transit routing (RAPTOR), with GTFS import and an Adelaide example.
My Datasets
Capacitated arc routing (CARP) benchmark instances used in my research, free to download.
- gdb23 small instances (~30 nodes, ~60 required edges).
- val10 groups of medium to large instances (~50 nodes, ~100 required edges); each group has 3–4 instances (A–D) on the same graph with different vehicle capacities.
- egl8 groups of large instances (~150 nodes, ~200 required edges): e1–e4 and s1–s4 use the same graph with different required edges; 3 capacities (A–C) each.
- EGL-G2 groups of large instances (~250 nodes, ~400 required edges), 5 capacities (A–E) each.
- Beijing & HefeiTwo large datasets generated from the road networks of Beijing and Hefei, 10 instances each with thousands of edges.
- BeullensThe Beullens et al. CARP benchmark instances.
- Large-scale instancesLarge-scale CARP instances, with the best solutions we found.
- Multi-depot CARPMulti-depot capacitated arc routing instances.
Tutorials & Talks
Jupyter notebook tutorials on artificial intelligence, evolutionary computation and optimisation/operations research, such as Bayesian networks, planning and scheduling, and genetic programming.
Genetic Programming Hyper-Heuristics for Combinatorial Optimisation, an IEEE Computational Intelligence Society webinar.
Libraries & Frameworks
Third-party software for evolutionary computation, genetic programming and hyper-heuristics.
Benchmark Libraries
- Job shop scheduling
- Flexible job shop scheduling
- Vehicle routingInstances for many variants on Dr T. Vidal's page; the CVRP library with plotted instances and solutions
- Bin packingA comprehensive problem library
- Timetabling
Further Reading
- Xin Yao's public lecture: What can evolutionary computation do for you?
- A. E. Eiben's TED talk: Tech Kangaroos – Evolution at Work
- Keith Downing's TED talk: Evolutionary computation
- Strandbeest: kinetic sculptures designed with evolutionary computation
- Learning to play Flappy Bird with Cartesian genetic programming: GitHub
- Hyper-heuristic bibliography: mustafamisir.github.io/hh.html
- Science: “Distilling Free-Form Natural Laws from Experimental Data”, discovering natural laws with genetic programming (symbolic regression)
- Nature: “From evolutionary computation to the evolution of things”
