CG:SHOP 2023 CHALLENGE CODE

  • code from the challenge and from benchmarks performed after the end of the challenge
  • will be cleaned up in later commits

Development environment

Dependencies

  • git-lfs
  • cmake
  • ninja
  • make
  • gcc and g++
  • (nix-shell)
  • (direnv)

Tools

  • scripts/startshell.sh starts the nix-shell
  • there is a tmuxinator configuration in .tmuxinator.yml
  • bin/configure_debug configures cmake for debug
  • bin/configure_release configures cmake for release
  • bin/build builds c++ libs based on cmake configuration
  • bin/clean cleans the c++ build directory
  • bin/producezip produces submission.zip based on a directory of output files in output/solutions/
  • bin/rundev [nogui] runs the in development mode
  • bin/runevaluate evalues an algorithm on a testcase and puts output into the output directory
  • bin/rungenimages generates image of a given testset
  • bin/runinparallel is like rundev but in parallel

Dependencies

Python

  • cgshop2023-pyutils
  • pybind11
  • loguru
  • matplotlib
  • multiprocess
  • tabulate

c++

Setting up on arch-linux (no git, no nix, no direnv)

pacman -Sy make cgal cmake gcc ninja python-pip scons openmpi [tmux] [vim]
pip install pybind11 loguru matplotlib multiprocess cgshop2023-pyutils