|
QUBO++ Library with QUBO Solver APIs
Author: Koji Nakano, License: Non-commercial research and evaluation purposes without any guarantees.
|
Class to manage a callback function called by Gurobi Optimizer. More...
#include <qbpp_grb.hpp>


Public Member Functions | |
| Callback (const QuadModel &quad_model) | |
| Constructor: a new Callback object. More... | |
| virtual | ~Callback ()=default |
| Sol | get_sol () |
| Get the solution obtained by Gurobi Optimizer. More... | |
| virtual void | callback () override |
| Default callback function for Gurobi Optimizer. More... | |
| void | set_target_energy (qbpp::energy_t target_energy) |
| Set the target energy for Gurobi Optimizer. More... | |
| void | abort_if_target_energy (qbpp::energy_t energy) |
| Abort the optimization process if the target energy is achieved. More... | |
| double | getDoubleInfoPublic (int what) |
| Calls GetDoubleInfo() of GRBCallback. More... | |
| double | getSolutionPublic (GRBVar v) |
| Calls getSolution() of GRBCallback. More... | |
Protected Attributes | |
| const QuadModel | quad_model |
| QUBO model. More... | |
| const GRBModel & | grb_model |
| Shortcut to the GRBModel in QuadModel. More... | |
| std::optional< qbpp::energy_t > | target_energy = std::nullopt |
| Target energy to stop the Gurobi optimizer. More... | |
| std::mutex | mtx |
| Mutex to lock the critical section in get_sol() More... | |
Class to manage a callback function called by Gurobi Optimizer.
This class is used to manage a callback function for Gurobi Optimizer through QUBO++ library.
Definition at line 149 of file qbpp_grb.hpp.
|
inline |
Constructor: a new Callback object.
| quad_model | QUBO model of QUBO++ library |
Definition at line 169 of file qbpp_grb.hpp.

|
virtualdefault |
|
inline |
Get the solution obtained by Gurobi Optimizer.
Definition at line 274 of file qbpp_grb.hpp.


|
inlineoverridevirtual |
Default callback function for Gurobi Optimizer.
This function is called during the optimization process of Gurobi Optimizer. The function can be customized by overriding it.
Reimplemented in GRB_Callback, and qbpp::factorization::GRB_Callback.
Definition at line 183 of file qbpp_grb.hpp.

|
inline |
Set the target energy for Gurobi Optimizer.
Definition at line 194 of file qbpp_grb.hpp.
|
inline |
Abort the optimization process if the target energy is achieved.
| energy | Energy of the current solution |
This function is intended to be called in callback() function.
Definition at line 201 of file qbpp_grb.hpp.

|
inline |
Calls GetDoubleInfo() of GRBCallback.
| what | what to get |
Definition at line 210 of file qbpp_grb.hpp.

|
inline |
Calls getSolution() of GRBCallback.
| v | Gurobi variable |
Definition at line 215 of file qbpp_grb.hpp.

|
protected |
QUBO model.
Definition at line 152 of file qbpp_grb.hpp.
|
protected |
Shortcut to the GRBModel in QuadModel.
Definition at line 155 of file qbpp_grb.hpp.
|
protected |
Target energy to stop the Gurobi optimizer.
Definition at line 158 of file qbpp_grb.hpp.
|
mutableprotected |
Mutex to lock the critical section in get_sol()
Definition at line 164 of file qbpp_grb.hpp.