Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class LbTreeSearch
Note: This documentation is automatically generated.
Implement a "classic" MIP tree search by having an exhaustive list of open
nodes.
The goal of this subsolver is to improve the objective lower bound. It is
meant to be used in a multi-thread portfolio, and as such it really do not
care about finding solution. It is all about improving the lower bound.
TODO(user): What this is doing is really similar to asking a SAT solver if
the current objective lower bound is reachable by solving a SAT problem.
However, this code handle on the side all the "conflict" of the form
objective > current_lb. As a result, when it is UNSAT, we can bump the lower
bound by a bigger amount than one. We also do not completely loose everything
learned so far for the next iteration.
Method |
LbTreeSearch | Return type: explicit Arguments: Model* model |
Search | Return type: SatSolver::Status Arguments:
const std::function<void()>& feasible_solution_observer Explores the search space.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-08-06 UTC.
[null,null,["Last updated 2024-08-06 UTC."],[],["The `LbTreeSearch` class in C++ implements a MIP tree search focused on improving the objective lower bound. It maintains an exhaustive list of open nodes and operates within a multi-threaded portfolio. The core functionality is in the `Search` method, which explores the search space, and it also handles conflicts related to the objective lower bound, potentially allowing for larger increments to the bound than just one. It does not care about finding solution. The constructor takes a pointer to the `Model` as argument.\n"],null,[]]