mjdv / ocmu64

Submission for PACE Challenge 2024
MIT License
3 stars 0 forks source link

PACE 2024 - One sided crossing minimization - mjdv/OCMu64

DOI

This is a solution to the 2024 PACE challenge, by @mjdv and @RagnarGrootKoerkamp.

In particular, we solve the one sided crossing minimization problem:

This is an exact solver.

Algorithm overview

Our method uses branch and bound.

Some of the more interesting optimizations:

There are some more optimizations that are disabled by default. See notes.md.

We do a number of algorithmic optimizations to implement everything efficiently. Mostly we ensure that the tail always remains sorted, so that loops over it can often be reduced to only a small subset of it.

Usage instructions

This solver is written in Rust.