Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class CoreBasedOptimizer
Note: 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.
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.
A different way to encode the objective as core are found.
If the vector if literals is passed it will use that, otherwise it will
encode the passed integer variables. In both cases, the vector used should
be of the same size as the coefficients vector.
It seems to be more powerful, but it isn't completely implemented yet.
TODO(user):
- Support resuming for interleaved search.
- Implement all core heurisitics.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["CoreBasedOptimizer is an alternative to MinimizeIntegerVariableWithLinearScanAndLazyEncoding using a core-based approach for optimization."],["It uses the objective variable primarily for reporting bounds and may return OPTIMAL even with an INFEASIBLE status if a feasible solution is found."],["The Optimize function may redundantly restart work when resuming from an aborted search."],["OptimizeWithSatEncoding provides an alternative objective encoding method that may be more powerful but is not fully implemented."]]],["The `CoreBasedOptimizer` class uses a core-based approach, like `MinimizeIntegerVariableWithLinearScanAndLazyEncoding()`, but is used for reporting lower/upper bounds, not a linked linear representation. It offers the `Optimize` method, which returns the last solver status, indicating OPTIMAL if INFEASIBLE but a `feasible_solution_observer` was called. `OptimizeWithSatEncoding` offers an alternative encoding method using literals or integer variables and associated coefficients, but is not completely implemented.\n"]]