Google OR-Tools v9.11
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 <optional>
#include <string>
#include <utility>
#include <vector>
#include "absl/base/attributes.h"
#include "absl/cleanup/cleanup.h"
#include "absl/status/status.h"
#include "absl/strings/str_format.h"
#include "absl/types/optional.h"
#include "ortools/base/commandlineflags.h"
#include "ortools/base/hash.h"
#include "ortools/base/logging.h"
#include "ortools/base/status_macros.h"
#include "ortools/base/timer.h"
#include "ortools/gscip/legacy_scip_params.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_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/scip.h"
#include "scip/scip_copy.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scipdefplugins.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
 In SWIG mode, we don't want anything besides these top-level includes.
 

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.")
 
MPSolverInterfaceoperations_research::BuildSCIPInterface (MPSolver *const solver)
 

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 668 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);
const Variable x
Definition qp_tests.cc:127
#define SCIP_TO_STATUS(x)
#define RETURN_ABNORMAL_IF_BAD_STATUS

Definition at line 677 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 252 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 244 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."  )

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.