This repository contains the code for the Max-CSP model introduced by Pontes et al. (2024).
The code is implemented in C++. To run the Max-CSP formulation
foo@bar:~$ make all
foo@bar:~$ ./max-csp.exe <path to instance file> -<flags>Flags are available to change the selected model or bounds.
-
binsearch: runs model$I_B$ , which performs a binary search in the feasibility version of the problem (combine with theheuristicflag to use the heuristic lower bound); -
branch: selects formulation$F2$ , which branches on the first unnoccupied position; -
decsearch: runs model$I_D$ , which performs a decremental search in the feasibility version of the problem (combine with theheuristicflag to use the heuristic lower bound); -
heuristic: runs default$F1$ model with the heuristic initialization (combine with thenoexactflag to run only the heuristic algorithm); -
incsearch: runs model$I_I$ , which performs an incremental search in the feasibility version of the problem (combine with theheuristicflag to use the heuristic lower bound); -
minpacedelay: runs the Slow-CSP; -
minviolations: uses the formulation by Bautista et al. (2008), which can solve the Max-CSP if increasing$\alpha$ values are considered (combine with thepenalizeflag); -
sos1: selects formulation$F2$ implemented with a special ordered set of type 1 (SOS1), which can have increasing (combine with theincsearchflag –$F2_I$ ) or decreasing (combine with thedecsearchflag –$F2_D$ ) weights, or weights mimicking a binary search (default –$F2_B$ ).
If you encounter any problems or have any questions, please feel free to send me an e-mail (laradicp@gmail.com).