Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
gurobi_callback.cc File Reference
#include "ortools/math_opt/solvers/gurobi_callback.h"
#include <cstdint>
#include <functional>
#include <limits>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "absl/container/flat_hash_set.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/time/clock.h"
#include "absl/time/time.h"
#include "absl/types/span.h"
#include "ortools/base/linked_hash_map.h"
#include "ortools/base/logging.h"
#include "ortools/base/protoutil.h"
#include "ortools/base/status_macros.h"
#include "ortools/gurobi/environment.h"
#include "ortools/math_opt/callback.pb.h"
#include "ortools/math_opt/core/math_opt_proto_utils.h"
#include "ortools/math_opt/core/solver_interface.h"
#include "ortools/math_opt/core/sparse_vector_view.h"
#include "ortools/math_opt/solution.pb.h"
#include "ortools/math_opt/solvers/message_callback_data.h"
#include "ortools/math_opt/sparse_containers.pb.h"
#include "ortools/util/solve_interrupter.h"

Go to the source code of this file.

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 
namespace  operations_research::math_opt
 An object oriented wrapper for quadratic constraints in ModelStorage.
 

Macros

#define MO_SET_OR_RET(setter, statusor)
 

Functions

std::vector< bool > operations_research::math_opt::EventToGurobiWhere (const absl::flat_hash_set< CallbackEventProto > &events)
 
absl::Status operations_research::math_opt::GurobiCallbackImpl (const Gurobi::CallbackContext &context, const GurobiCallbackInput &callback_input, MessageCallbackData &message_callback_data, SolveInterrupter *const local_interrupter)
 
void operations_research::math_opt::GurobiCallbackImplFlush (const GurobiCallbackInput &callback_input, MessageCallbackData &message_callback_data)
 

Macro Definition Documentation

◆ MO_SET_OR_RET

#define MO_SET_OR_RET ( setter,
statusor )
Value:
do { \
auto eval_status_or = statusor; \
RETURN_IF_ERROR(eval_status_or.status()) << __FILE__ << ":" << __LINE__; \
setter(*std::move(eval_status_or)); \
} while (false)

Invokes setter on a non-error value in statusor or returns the error.

Requires that statusor is a StatusOr<T> and setter(T) is a function.

Definition at line 124 of file gurobi_callback.cc.