C++ Reference: class CoreBasedOptimizer

This documentation is automatically generated.

Same as MinimizeIntegerVariableWithLinearScanAndLazyEncoding() but use a core-based approach instead. Note that the given objective_var is just used for reporting the lower-bound/upper-bound and do not need to be linked with its linear representation.

Unlike MinimizeIntegerVariableWithLinearScanAndLazyEncoding() this function just return the last solver status. In particular if it is INFEASIBLE but feasible_solution_observer() was called, it means we are at OPTIMAL.
Method
CoreBasedOptimizer

Arguments: IntegerVariable objective_var, const std::vector<IntegerVariable>& variables, const std::vector<IntegerValue>& coefficients, std::function<void()> feasible_solution_observer, Model* model

Optimize

Return type: SatSolver::Status

TODO(user): Change the algo slighlty to allow resuming from the last aborted position. Currently, the search is "resumable", but it will restart some of the work already done, so it might just never find anything.