This directory contains a Constraint Programming (CP) solver and a Vehicle Routing solver.
Constraint Programming is a technology issued from AI and used in operations research.
To begin, skim:
- constraint_solver.h: Declaration of the core objects for the constraint solver.
- constraint_solveri.h: Collection of objects used to extend the Constraint Solver library.
- solver_parameters.proto: This file contains protocol buffers for all parameters of the CP solver.
- search_limit.proto: Holds parameters to limit the search space within the CP solver, which is important for performance.
- assignment.proto: Holds the solution of a CP problem.
- demon_profiler.proto: Holds the timeline and execution profile of constraints and demons (daemons).
Vehicle Routing is a useful extension that is implemented on top of the CP solver library.
To begin, skim:
- routing.h: The vehicle routing library lets one model and solve generic vehicle routing problems ranging from the Traveling Salesman Problem to more complex problems such as the Capacitated Vehicle Routing Problem with Time Windows.
- routing_parameters.proto: The Vehicle Routing solver parameters.
- routing_enums.proto: Enums used to define routing parameters.
- assignment.proto: Holds the solution of a Routing problem.
You can find a set of code recipes in the documentation directory.