  We present Chook, an open-source Python-based tool to generate discrete
optimization problems of tunable complexity with a priori known solutions.
Chook provides a cross-platform unified environment for solution planting using
a number of techniques, such as tile planting, Wishart planting, equation
planting, and deceptive cluster loop planting. Chook also incorporates planted
solutions for higher-order (beyond quadratic) binary optimization problems. The
support for various planting schemes and the tunable hardness allows the user
to generate problems with a wide range of complexity on different graph
topologies ranging from hypercubic lattices to fully-connected graphs.
