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.