Disolver is a C++ constraint-based optimization engine. It can be combined with any MPI library, to seamlessly run on parallel architectures. It performs: * Complete search. Methods in this category perform tree-based exploration of a problem search space. Disolver provides algorithms for satisfaction testing and optimization. * Parallel search. This category generalizes the previous algorithms, e.g., parallel branch & bound. It provides advanced load balancing and knowledge-sharing controls.