Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
scip_interface.cc File Reference
#include <stddef.h>
#include <algorithm>
#include <atomic>
#include <cstdint>
#include <limits>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "absl/base/attributes.h"
#include "absl/cleanup/cleanup.h"
#include "absl/flags/flag.h"
#include "absl/status/status.h"
#include "absl/strings/str_format.h"
#include "absl/synchronization/mutex.h"
#include "absl/time/time.h"
#include "lpi/lpi.h"
#include "ortools/base/logging.h"
#include "ortools/base/timer.h"
#include "ortools/linear_solver/linear_solver.h"
#include "ortools/linear_solver/linear_solver.pb.h"
#include "ortools/linear_solver/linear_solver_callback.h"
#include "ortools/linear_solver/proto_solver/proto_utils.h"
#include "ortools/linear_solver/proto_solver/scip_params.h"
#include "ortools/linear_solver/proto_solver/scip_proto_solver.h"
#include "ortools/linear_solver/scip_callback.h"
#include "ortools/linear_solver/scip_helper_macros.h"
#include "ortools/util/lazy_mutable_copy.h"
#include "scip/cons_indicator.h"
#include "scip/cons_linear.h"
#include "scip/def.h"
#include "scip/scip_cons.h"
#include "scip/scip_copy.h"
#include "scip/scip_general.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scip_sol.h"
#include "scip/scip_solve.h"
#include "scip/scip_solvingstats.h"
#include "scip/scip_var.h"
#include "scip/scipdefplugins.h"
#include "scip/type_clock.h"
#include "scip/type_cons.h"
#include "scip/type_paramset.h"
#include "scip/type_prob.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_sol.h"
#include "scip/type_stat.h"
#include "scip/type_var.h"

Go to the source code of this file.

Classes

class  operations_research::SCIPInterface
class  operations_research::ScipConstraintHandlerForMPCallback
class  operations_research::ScipMPCallbackContext

Namespaces

namespace  operations_research
 OR-Tools root namespace.

Macros

#define RETURN_IF_ALREADY_IN_ERROR_STATE
#define RETURN_AND_STORE_IF_SCIP_ERROR(x)
#define RETURN_ABNORMAL_IF_BAD_STATUS
#define RETURN_ABNORMAL_IF_SCIP_ERROR(x)

Functions

 ABSL_FLAG (bool, scip_feasibility_emphasis, false, "When true, emphasize search towards feasibility. This may or " "may not result in speedups in some problems.")

Macro Definition Documentation

◆ RETURN_ABNORMAL_IF_BAD_STATUS

#define RETURN_ABNORMAL_IF_BAD_STATUS
Value:
do { \
if (!status_.ok()) { \
LOG_IF(INFO, solver_->OutputIsEnabled()) \
<< "Invalid SCIP status: " << status_; \
return result_status_ = MPSolver::ABNORMAL; \
} \
} while (false)

Definition at line 679 of file scip_interface.cc.

◆ RETURN_ABNORMAL_IF_SCIP_ERROR

#define RETURN_ABNORMAL_IF_SCIP_ERROR ( x)
Value:
do { \
status_ = SCIP_TO_STATUS(x); \
} while (false);
#define SCIP_TO_STATUS(x)
#define RETURN_ABNORMAL_IF_BAD_STATUS

Definition at line 688 of file scip_interface.cc.

◆ RETURN_AND_STORE_IF_SCIP_ERROR

#define RETURN_AND_STORE_IF_SCIP_ERROR ( x)
Value:
do { \
status_ = SCIP_TO_STATUS(x); \
if (!status_.ok()) return; \
} while (false)

Definition at line 266 of file scip_interface.cc.

◆ RETURN_IF_ALREADY_IN_ERROR_STATE

#define RETURN_IF_ALREADY_IN_ERROR_STATE
Value:
do { \
if (!status_.ok()) { \
VLOG_EVERY_N(1, 10) << "Early abort: SCIP is in error state."; \
return; \
} \
} while (false)

Definition at line 258 of file scip_interface.cc.

Function Documentation

◆ ABSL_FLAG()

ABSL_FLAG ( bool ,
scip_feasibility_emphasis ,
false ,
"When true,
emphasize search towards feasibility. This may or " "may not result in speedups in some problems."  )