GHOST (General meta-Heuristic Optimization Solving Toolkit) is a C++14 library to let a user declare his or her own combinatorial problems. It implements a meta-heuristic solver aiming to solve any kind of combinatorial and optimization RTS-related problems declared in Constraint Programming.

GHOST allows the user to easily declare problems in different Constraint Programming formalisms such as Constraint Satisfaction Problems (CSP), Constrained Optimization Problems (COP), Error Function Satisfaction Problems (EFSP), and Error Function Optimization Problems (EFOP).

This toolkit has first been designed to solved optimization problems within the game StarCraft: Brood war, but can be used to deal with any combinatorial problems. It is a generalization of the Wall-in project (see

The source code is available at, and the documentation pages at GHOST is under the terms of the GNU GPL v3 licence.

Install instructions, a short Constraint Programming tutorial, as well as a short GHOST tutorial are available on the wiki of GHOST's GitHub page.

Scientific papers about GHOST:

You can find PDFs of these papers on my personnal web page.