Module pywraplp
Source code
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.0
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
raise RuntimeError('Python 2.7 or later required')
# Import the low-level C/C++ module
if __package__ or '.' in __name__:
from . import _pywraplp
else:
import _pywraplp
try:
import builtins as __builtin__
except ImportError:
import __builtin__
def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
if name == "thisown":
return self.this.own(value)
if name == "this":
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name, None)
if method:
return method(self, value)
if not static:
object.__setattr__(self, name, value)
else:
raise AttributeError("You cannot add attributes to %s" % self)
def _swig_setattr(self, class_type, name, value):
return _swig_setattr_nondynamic(self, class_type, name, value, 0)
def _swig_getattr(self, class_type, name):
if name == "thisown":
return self.this.own()
method = class_type.__swig_getmethods__.get(name, None)
if method:
return method(self)
raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
def _swig_repr(self):
try:
strthis = "proxy of " + self.this.__repr__()
except __builtin__.Exception:
strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
def _swig_setattr_nondynamic_instance_variable(set):
def set_instance_attr(self, name, value):
if name == "thisown":
self.this.own(value)
elif name == "this":
set(self, name, value)
elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
set(self, name, value)
else:
raise AttributeError("You cannot add instance attributes to %s" % self)
return set_instance_attr
def _swig_setattr_nondynamic_class_variable(set):
def set_class_attr(cls, name, value):
if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
set(cls, name, value)
else:
raise AttributeError("You cannot add class attributes to %s" % cls)
return set_class_attr
def _swig_add_metaclass(metaclass):
"""Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
def wrapper(cls):
return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
return wrapper
class _SwigNonDynamicMeta(type):
"""Meta class to enforce nondynamic attributes (no new attributes) for a class"""
__setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
import numbers
from ortools.linear_solver.linear_solver_natural_api import OFFSET_KEY
from ortools.linear_solver.linear_solver_natural_api import inf
from ortools.linear_solver.linear_solver_natural_api import LinearExpr
from ortools.linear_solver.linear_solver_natural_api import ProductCst
from ortools.linear_solver.linear_solver_natural_api import Sum
from ortools.linear_solver.linear_solver_natural_api import SumArray
from ortools.linear_solver.linear_solver_natural_api import SumCst
from ortools.linear_solver.linear_solver_natural_api import LinearConstraint
from ortools.linear_solver.linear_solver_natural_api import VariableExpr
class Solver(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
__repr__ = _swig_repr
CLP_LINEAR_PROGRAMMING = _pywraplp.Solver_CLP_LINEAR_PROGRAMMING
GLOP_LINEAR_PROGRAMMING = _pywraplp.Solver_GLOP_LINEAR_PROGRAMMING
CBC_MIXED_INTEGER_PROGRAMMING = _pywraplp.Solver_CBC_MIXED_INTEGER_PROGRAMMING
BOP_INTEGER_PROGRAMMING = _pywraplp.Solver_BOP_INTEGER_PROGRAMMING
def __init__(self, name: 'std::string const &', problem_type: 'operations_research::MPSolver::OptimizationProblemType'):
_pywraplp.Solver_swiginit(self, _pywraplp.new_Solver(name, problem_type))
__swig_destroy__ = _pywraplp.delete_Solver
@staticmethod
def SupportsProblemType(problem_type: 'operations_research::MPSolver::OptimizationProblemType') -> "bool":
return _pywraplp.Solver_SupportsProblemType(problem_type)
def Clear(self) -> "void":
return _pywraplp.Solver_Clear(self)
def NumVariables(self) -> "int":
return _pywraplp.Solver_NumVariables(self)
def variables(self) -> "std::vector< operations_research::MPVariable * > const &":
return _pywraplp.Solver_variables(self)
def LookupVariable(self, var_name: 'std::string const &') -> "operations_research::MPVariable *":
return _pywraplp.Solver_LookupVariable(self, var_name)
def Var(self, lb: 'double', ub: 'double', integer: 'bool', name: 'std::string const &') -> "operations_research::MPVariable *":
return _pywraplp.Solver_Var(self, lb, ub, integer, name)
def NumVar(self, lb: 'double', ub: 'double', name: 'std::string const &') -> "operations_research::MPVariable *":
return _pywraplp.Solver_NumVar(self, lb, ub, name)
def IntVar(self, lb: 'double', ub: 'double', name: 'std::string const &') -> "operations_research::MPVariable *":
return _pywraplp.Solver_IntVar(self, lb, ub, name)
def BoolVar(self, name: 'std::string const &') -> "operations_research::MPVariable *":
return _pywraplp.Solver_BoolVar(self, name)
def NumConstraints(self) -> "int":
return _pywraplp.Solver_NumConstraints(self)
def constraints(self) -> "std::vector< operations_research::MPConstraint * > const &":
return _pywraplp.Solver_constraints(self)
def LookupConstraint(self, constraint_name: 'std::string const &') -> "operations_research::MPConstraint *":
return _pywraplp.Solver_LookupConstraint(self, constraint_name)
def Constraint(self, *args) -> "operations_research::MPConstraint *":
return _pywraplp.Solver_Constraint(self, *args)
def Objective(self) -> "operations_research::MPObjective *":
return _pywraplp.Solver_Objective(self)
OPTIMAL = _pywraplp.Solver_OPTIMAL
FEASIBLE = _pywraplp.Solver_FEASIBLE
INFEASIBLE = _pywraplp.Solver_INFEASIBLE
UNBOUNDED = _pywraplp.Solver_UNBOUNDED
ABNORMAL = _pywraplp.Solver_ABNORMAL
NOT_SOLVED = _pywraplp.Solver_NOT_SOLVED
def Solve(self, *args) -> "operations_research::MPSolver::ResultStatus":
return _pywraplp.Solver_Solve(self, *args)
def ComputeConstraintActivities(self) -> "std::vector< double >":
return _pywraplp.Solver_ComputeConstraintActivities(self)
def VerifySolution(self, tolerance: 'double', log_errors: 'bool') -> "bool":
return _pywraplp.Solver_VerifySolution(self, tolerance, log_errors)
def InterruptSolve(self) -> "bool":
return _pywraplp.Solver_InterruptSolve(self)
def FillSolutionResponseProto(self, response: 'operations_research::MPSolutionResponse *') -> "void":
return _pywraplp.Solver_FillSolutionResponseProto(self, response)
@staticmethod
def SolveWithProto(model_request: 'operations_research::MPModelRequest const &', response: 'operations_research::MPSolutionResponse *') -> "operations_research::MPSolutionResponse *":
return _pywraplp.Solver_SolveWithProto(model_request, response)
def ExportModelToProto(self, output_model: 'operations_research::MPModelProto *') -> "void":
return _pywraplp.Solver_ExportModelToProto(self, output_model)
def LoadSolutionFromProto(self, *args) -> "util::Status":
return _pywraplp.Solver_LoadSolutionFromProto(self, *args)
def SetSolverSpecificParametersAsString(self, parameters: 'std::string const &') -> "bool":
return _pywraplp.Solver_SetSolverSpecificParametersAsString(self, parameters)
FREE = _pywraplp.Solver_FREE
AT_LOWER_BOUND = _pywraplp.Solver_AT_LOWER_BOUND
AT_UPPER_BOUND = _pywraplp.Solver_AT_UPPER_BOUND
FIXED_VALUE = _pywraplp.Solver_FIXED_VALUE
BASIC = _pywraplp.Solver_BASIC
@staticmethod
def infinity() -> "double":
return _pywraplp.Solver_infinity()
def EnableOutput(self) -> "void":
return _pywraplp.Solver_EnableOutput(self)
def SuppressOutput(self) -> "void":
return _pywraplp.Solver_SuppressOutput(self)
def iterations(self) -> "int64":
return _pywraplp.Solver_iterations(self)
def nodes(self) -> "int64":
return _pywraplp.Solver_nodes(self)
def ComputeExactConditionNumber(self) -> "double":
return _pywraplp.Solver_ComputeExactConditionNumber(self)
def NextSolution(self) -> "bool":
return _pywraplp.Solver_NextSolution(self)
def set_time_limit(self, time_limit_milliseconds: 'int64') -> "void":
return _pywraplp.Solver_set_time_limit(self, time_limit_milliseconds)
def wall_time(self) -> "int64":
return _pywraplp.Solver_wall_time(self)
def LoadModelFromProto(self, input_model: 'operations_research::MPModelProto const &') -> "std::string":
return _pywraplp.Solver_LoadModelFromProto(self, input_model)
def ExportModelAsLpFormat(self, *args) -> "std::string":
return _pywraplp.Solver_ExportModelAsLpFormat(self, *args)
def ExportModelAsMpsFormat(self, *args) -> "std::string":
return _pywraplp.Solver_ExportModelAsMpsFormat(self, *args)
def SetHint(self, variables: 'std::vector< operations_research::MPVariable * > const &', values: 'std::vector< double > const &') -> "void":
r""" Set a hint for solution. If a feasible or almost-feasible solution to the problem is already known, it may be helpful to pass it to the solver so that it can be used. A solver that supports this feature will try to use this information to create its initial feasible solution. Note that it may not always be faster to give a hint like this to the solver. There is also no guarantee that the solver will use this hint or try to return a solution "close" to this assignment in case of multiple optimal solutions."""
return _pywraplp.Solver_SetHint(self, variables, values)
def SetNumThreads(self, num_theads: 'int') -> "bool":
r""" Sets the number of threads to be used by the solver."""
return _pywraplp.Solver_SetNumThreads(self, num_theads)
def Add(self, constraint, name=''):
if isinstance(constraint, bool):
if constraint:
return self.RowConstraint(0, 0, name)
else:
return self.RowConstraint(1, 1, name)
else:
return constraint.Extract(self, name)
def Sum(self, expr_array):
result = SumArray(expr_array)
return result
def RowConstraint(self, *args):
return self.Constraint(*args)
def Minimize(self, expr):
objective = self.Objective()
objective.Clear()
objective.SetMinimization()
if isinstance(expr, numbers.Number):
objective.SetOffset(expr)
else:
coeffs = expr.GetCoeffs()
objective.SetOffset(coeffs.pop(OFFSET_KEY, 0.0))
for v, c, in list(coeffs.items()):
objective.SetCoefficient(v, float(c))
def Maximize(self, expr):
objective = self.Objective()
objective.Clear()
objective.SetMaximization()
if isinstance(expr, numbers.Number):
objective.SetOffset(expr)
else:
coeffs = expr.GetCoeffs()
objective.SetOffset(coeffs.pop(OFFSET_KEY, 0.0))
for v, c, in list(coeffs.items()):
objective.SetCoefficient(v, float(c))
@staticmethod
def Infinity() -> "double":
return _pywraplp.Solver_Infinity()
def SetTimeLimit(self, x: 'int64') -> "void":
return _pywraplp.Solver_SetTimeLimit(self, x)
def WallTime(self) -> "int64":
return _pywraplp.Solver_WallTime(self)
def Iterations(self) -> "int64":
return _pywraplp.Solver_Iterations(self)
# Register Solver in _pywraplp:
_pywraplp.Solver_swigregister(Solver)
def Solver_SupportsProblemType(problem_type: 'operations_research::MPSolver::OptimizationProblemType') -> "bool":
return _pywraplp.Solver_SupportsProblemType(problem_type)
def Solver_SolveWithProto(model_request: 'operations_research::MPModelRequest const &', response: 'operations_research::MPSolutionResponse *') -> "operations_research::MPSolutionResponse *":
return _pywraplp.Solver_SolveWithProto(model_request, response)
def Solver_infinity() -> "double":
return _pywraplp.Solver_infinity()
def Solver_Infinity() -> "double":
return _pywraplp.Solver_Infinity()
def __lshift__(*args) -> "std::ostream &":
return _pywraplp.__lshift__(*args)
class Objective(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
def __init__(self, *args, **kwargs):
raise AttributeError("No constructor defined")
__repr__ = _swig_repr
def Clear(self) -> "void":
return _pywraplp.Objective_Clear(self)
def SetCoefficient(self, var: 'Variable', coeff: 'double') -> "void":
return _pywraplp.Objective_SetCoefficient(self, var, coeff)
def GetCoefficient(self, var: 'Variable') -> "double":
return _pywraplp.Objective_GetCoefficient(self, var)
def SetOffset(self, value: 'double') -> "void":
return _pywraplp.Objective_SetOffset(self, value)
def offset(self) -> "double":
return _pywraplp.Objective_offset(self)
def SetOptimizationDirection(self, maximize: 'bool') -> "void":
return _pywraplp.Objective_SetOptimizationDirection(self, maximize)
def SetMinimization(self) -> "void":
return _pywraplp.Objective_SetMinimization(self)
def SetMaximization(self) -> "void":
return _pywraplp.Objective_SetMaximization(self)
def maximization(self) -> "bool":
return _pywraplp.Objective_maximization(self)
def minimization(self) -> "bool":
return _pywraplp.Objective_minimization(self)
def Value(self) -> "double":
return _pywraplp.Objective_Value(self)
def BestBound(self) -> "double":
return _pywraplp.Objective_BestBound(self)
def Offset(self) -> "double":
return _pywraplp.Objective_Offset(self)
__swig_destroy__ = _pywraplp.delete_Objective
# Register Objective in _pywraplp:
_pywraplp.Objective_swigregister(Objective)
class Variable(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
def __init__(self, *args, **kwargs):
raise AttributeError("No constructor defined")
def name(self) -> "std::string const &":
return _pywraplp.Variable_name(self)
def integer(self) -> "bool":
return _pywraplp.Variable_integer(self)
def solution_value(self) -> "double":
return _pywraplp.Variable_solution_value(self)
def index(self) -> "int":
return _pywraplp.Variable_index(self)
def lb(self) -> "double":
return _pywraplp.Variable_lb(self)
def ub(self) -> "double":
return _pywraplp.Variable_ub(self)
def SetBounds(self, lb: 'double', ub: 'double') -> "void":
return _pywraplp.Variable_SetBounds(self, lb, ub)
def reduced_cost(self) -> "double":
return _pywraplp.Variable_reduced_cost(self)
def basis_status(self) -> "operations_research::MPSolver::BasisStatus":
return _pywraplp.Variable_basis_status(self)
def __str__(self) -> "std::string":
return _pywraplp.Variable___str__(self)
def __repr__(self) -> "std::string":
return _pywraplp.Variable___repr__(self)
def __getattr__(self, name):
return getattr(VariableExpr(self), name)
def SolutionValue(self) -> "double":
return _pywraplp.Variable_SolutionValue(self)
def Integer(self) -> "bool":
return _pywraplp.Variable_Integer(self)
def Lb(self) -> "double":
return _pywraplp.Variable_Lb(self)
def Ub(self) -> "double":
return _pywraplp.Variable_Ub(self)
def SetLb(self, x: 'double') -> "void":
return _pywraplp.Variable_SetLb(self, x)
def SetUb(self, x: 'double') -> "void":
return _pywraplp.Variable_SetUb(self, x)
def ReducedCost(self) -> "double":
return _pywraplp.Variable_ReducedCost(self)
__swig_destroy__ = _pywraplp.delete_Variable
# Register Variable in _pywraplp:
_pywraplp.Variable_swigregister(Variable)
class Constraint(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
def __init__(self, *args, **kwargs):
raise AttributeError("No constructor defined")
__repr__ = _swig_repr
def name(self) -> "std::string const &":
return _pywraplp.Constraint_name(self)
def SetCoefficient(self, var: 'Variable', coeff: 'double') -> "void":
return _pywraplp.Constraint_SetCoefficient(self, var, coeff)
def GetCoefficient(self, var: 'Variable') -> "double":
return _pywraplp.Constraint_GetCoefficient(self, var)
def lb(self) -> "double":
return _pywraplp.Constraint_lb(self)
def ub(self) -> "double":
return _pywraplp.Constraint_ub(self)
def SetBounds(self, lb: 'double', ub: 'double') -> "void":
return _pywraplp.Constraint_SetBounds(self, lb, ub)
def set_is_lazy(self, laziness: 'bool') -> "void":
return _pywraplp.Constraint_set_is_lazy(self, laziness)
def index(self) -> "int":
return _pywraplp.Constraint_index(self)
def dual_value(self) -> "double":
return _pywraplp.Constraint_dual_value(self)
def basis_status(self) -> "operations_research::MPSolver::BasisStatus":
return _pywraplp.Constraint_basis_status(self)
def Lb(self) -> "double":
return _pywraplp.Constraint_Lb(self)
def Ub(self) -> "double":
return _pywraplp.Constraint_Ub(self)
def SetLb(self, x: 'double') -> "void":
return _pywraplp.Constraint_SetLb(self, x)
def SetUb(self, x: 'double') -> "void":
return _pywraplp.Constraint_SetUb(self, x)
def DualValue(self) -> "double":
return _pywraplp.Constraint_DualValue(self)
__swig_destroy__ = _pywraplp.delete_Constraint
# Register Constraint in _pywraplp:
_pywraplp.Constraint_swigregister(Constraint)
class MPSolverParameters(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
__repr__ = _swig_repr
RELATIVE_MIP_GAP = _pywraplp.MPSolverParameters_RELATIVE_MIP_GAP
PRIMAL_TOLERANCE = _pywraplp.MPSolverParameters_PRIMAL_TOLERANCE
DUAL_TOLERANCE = _pywraplp.MPSolverParameters_DUAL_TOLERANCE
PRESOLVE = _pywraplp.MPSolverParameters_PRESOLVE
LP_ALGORITHM = _pywraplp.MPSolverParameters_LP_ALGORITHM
INCREMENTALITY = _pywraplp.MPSolverParameters_INCREMENTALITY
SCALING = _pywraplp.MPSolverParameters_SCALING
PRESOLVE_OFF = _pywraplp.MPSolverParameters_PRESOLVE_OFF
PRESOLVE_ON = _pywraplp.MPSolverParameters_PRESOLVE_ON
DUAL = _pywraplp.MPSolverParameters_DUAL
PRIMAL = _pywraplp.MPSolverParameters_PRIMAL
BARRIER = _pywraplp.MPSolverParameters_BARRIER
INCREMENTALITY_OFF = _pywraplp.MPSolverParameters_INCREMENTALITY_OFF
INCREMENTALITY_ON = _pywraplp.MPSolverParameters_INCREMENTALITY_ON
SCALING_OFF = _pywraplp.MPSolverParameters_SCALING_OFF
SCALING_ON = _pywraplp.MPSolverParameters_SCALING_ON
def __init__(self):
_pywraplp.MPSolverParameters_swiginit(self, _pywraplp.new_MPSolverParameters())
def SetDoubleParam(self, param: 'operations_research::MPSolverParameters::DoubleParam', value: 'double') -> "void":
return _pywraplp.MPSolverParameters_SetDoubleParam(self, param, value)
def SetIntegerParam(self, param: 'operations_research::MPSolverParameters::IntegerParam', value: 'int') -> "void":
return _pywraplp.MPSolverParameters_SetIntegerParam(self, param, value)
def GetDoubleParam(self, param: 'operations_research::MPSolverParameters::DoubleParam') -> "double":
return _pywraplp.MPSolverParameters_GetDoubleParam(self, param)
def GetIntegerParam(self, param: 'operations_research::MPSolverParameters::IntegerParam') -> "int":
return _pywraplp.MPSolverParameters_GetIntegerParam(self, param)
__swig_destroy__ = _pywraplp.delete_MPSolverParameters
# Register MPSolverParameters in _pywraplp:
_pywraplp.MPSolverParameters_swigregister(MPSolverParameters)
cvar = _pywraplp.cvar
MPSolverParameters.kDefaultRelativeMipGap = _pywraplp.cvar.MPSolverParameters_kDefaultRelativeMipGap
MPSolverParameters.kDefaultPrimalTolerance = _pywraplp.cvar.MPSolverParameters_kDefaultPrimalTolerance
MPSolverParameters.kDefaultDualTolerance = _pywraplp.cvar.MPSolverParameters_kDefaultDualTolerance
MPSolverParameters.kDefaultPresolve = _pywraplp.cvar.MPSolverParameters_kDefaultPresolve
MPSolverParameters.kDefaultIncrementality = _pywraplp.cvar.MPSolverParameters_kDefaultIncrementality
class ModelExportOptions(object):
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
__repr__ = _swig_repr
def __init__(self):
_pywraplp.ModelExportOptions_swiginit(self, _pywraplp.new_ModelExportOptions())
__swig_destroy__ = _pywraplp.delete_ModelExportOptions
# Register ModelExportOptions in _pywraplp:
_pywraplp.ModelExportOptions_swigregister(ModelExportOptions)
def ExportModelAsLpFormat(*args) -> "std::string":
return _pywraplp.ExportModelAsLpFormat(*args)
def ExportModelAsMpsFormat(*args) -> "std::string":
return _pywraplp.ExportModelAsMpsFormat(*args)
def setup_variable_operator(opname):
setattr(Variable, opname,
lambda self, *args: getattr(VariableExpr(self), opname)(*args))
for opname in LinearExpr.OVERRIDDEN_OPERATOR_METHODS:
setup_variable_operator(opname)
Functions
def ExportModelAsLpFormat(*args)-
Source code
def ExportModelAsLpFormat(*args) -> "std::string": return _pywraplp.ExportModelAsLpFormat(*args) def ExportModelAsMpsFormat(*args)-
Source code
def ExportModelAsMpsFormat(*args) -> "std::string": return _pywraplp.ExportModelAsMpsFormat(*args) def Solver_Infinity()-
Source code
def Solver_Infinity() -> "double": return _pywraplp.Solver_Infinity() def Solver_SolveWithProto(model_request, response)-
Source code
def Solver_SolveWithProto(model_request: 'operations_research::MPModelRequest const &', response: 'operations_research::MPSolutionResponse *') -> "operations_research::MPSolutionResponse *": return _pywraplp.Solver_SolveWithProto(model_request, response) def Solver_SupportsProblemType(problem_type)-
Source code
def Solver_SupportsProblemType(problem_type: 'operations_research::MPSolver::OptimizationProblemType') -> "bool": return _pywraplp.Solver_SupportsProblemType(problem_type) def Solver_infinity()-
Source code
def Solver_infinity() -> "double": return _pywraplp.Solver_infinity() def setup_variable_operator(opname)-
Source code
def setup_variable_operator(opname): setattr(Variable, opname, lambda self, *args: getattr(VariableExpr(self), opname)(*args))
Classes
class Constraint (*args, **kwargs)-
Source code
class Constraint(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") __repr__ = _swig_repr def name(self) -> "std::string const &": return _pywraplp.Constraint_name(self) def SetCoefficient(self, var: 'Variable', coeff: 'double') -> "void": return _pywraplp.Constraint_SetCoefficient(self, var, coeff) def GetCoefficient(self, var: 'Variable') -> "double": return _pywraplp.Constraint_GetCoefficient(self, var) def lb(self) -> "double": return _pywraplp.Constraint_lb(self) def ub(self) -> "double": return _pywraplp.Constraint_ub(self) def SetBounds(self, lb: 'double', ub: 'double') -> "void": return _pywraplp.Constraint_SetBounds(self, lb, ub) def set_is_lazy(self, laziness: 'bool') -> "void": return _pywraplp.Constraint_set_is_lazy(self, laziness) def index(self) -> "int": return _pywraplp.Constraint_index(self) def dual_value(self) -> "double": return _pywraplp.Constraint_dual_value(self) def basis_status(self) -> "operations_research::MPSolver::BasisStatus": return _pywraplp.Constraint_basis_status(self) def Lb(self) -> "double": return _pywraplp.Constraint_Lb(self) def Ub(self) -> "double": return _pywraplp.Constraint_Ub(self) def SetLb(self, x: 'double') -> "void": return _pywraplp.Constraint_SetLb(self, x) def SetUb(self, x: 'double') -> "void": return _pywraplp.Constraint_SetUb(self, x) def DualValue(self) -> "double": return _pywraplp.Constraint_DualValue(self) __swig_destroy__ = _pywraplp.delete_ConstraintInstance variables
var thisown-
The membership flag
Source code
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
Methods
def DualValue(self)-
Source code
def DualValue(self) -> "double": return _pywraplp.Constraint_DualValue(self) def GetCoefficient(self, var)-
Source code
def GetCoefficient(self, var: 'Variable') -> "double": return _pywraplp.Constraint_GetCoefficient(self, var) def Lb(self)-
Source code
def Lb(self) -> "double": return _pywraplp.Constraint_Lb(self) def SetBounds(self, lb, ub)-
Source code
def SetBounds(self, lb: 'double', ub: 'double') -> "void": return _pywraplp.Constraint_SetBounds(self, lb, ub) def SetCoefficient(self, var, coeff)-
Source code
def SetCoefficient(self, var: 'Variable', coeff: 'double') -> "void": return _pywraplp.Constraint_SetCoefficient(self, var, coeff) def SetLb(self, x)-
Source code
def SetLb(self, x: 'double') -> "void": return _pywraplp.Constraint_SetLb(self, x) def SetUb(self, x)-
Source code
def SetUb(self, x: 'double') -> "void": return _pywraplp.Constraint_SetUb(self, x) def Ub(self)-
Source code
def Ub(self) -> "double": return _pywraplp.Constraint_Ub(self) def basis_status(self)-
Source code
def basis_status(self) -> "operations_research::MPSolver::BasisStatus": return _pywraplp.Constraint_basis_status(self) def dual_value(self)-
Source code
def dual_value(self) -> "double": return _pywraplp.Constraint_dual_value(self) def index(self)-
Source code
def index(self) -> "int": return _pywraplp.Constraint_index(self) def lb(self)-
Source code
def lb(self) -> "double": return _pywraplp.Constraint_lb(self) def name(self)-
Source code
def name(self) -> "std::string const &": return _pywraplp.Constraint_name(self) def set_is_lazy(self, laziness)-
Source code
def set_is_lazy(self, laziness: 'bool') -> "void": return _pywraplp.Constraint_set_is_lazy(self, laziness) def ub(self)-
Source code
def ub(self) -> "double": return _pywraplp.Constraint_ub(self)
class MPSolverParameters-
Source code
class MPSolverParameters(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr RELATIVE_MIP_GAP = _pywraplp.MPSolverParameters_RELATIVE_MIP_GAP PRIMAL_TOLERANCE = _pywraplp.MPSolverParameters_PRIMAL_TOLERANCE DUAL_TOLERANCE = _pywraplp.MPSolverParameters_DUAL_TOLERANCE PRESOLVE = _pywraplp.MPSolverParameters_PRESOLVE LP_ALGORITHM = _pywraplp.MPSolverParameters_LP_ALGORITHM INCREMENTALITY = _pywraplp.MPSolverParameters_INCREMENTALITY SCALING = _pywraplp.MPSolverParameters_SCALING PRESOLVE_OFF = _pywraplp.MPSolverParameters_PRESOLVE_OFF PRESOLVE_ON = _pywraplp.MPSolverParameters_PRESOLVE_ON DUAL = _pywraplp.MPSolverParameters_DUAL PRIMAL = _pywraplp.MPSolverParameters_PRIMAL BARRIER = _pywraplp.MPSolverParameters_BARRIER INCREMENTALITY_OFF = _pywraplp.MPSolverParameters_INCREMENTALITY_OFF INCREMENTALITY_ON = _pywraplp.MPSolverParameters_INCREMENTALITY_ON SCALING_OFF = _pywraplp.MPSolverParameters_SCALING_OFF SCALING_ON = _pywraplp.MPSolverParameters_SCALING_ON def __init__(self): _pywraplp.MPSolverParameters_swiginit(self, _pywraplp.new_MPSolverParameters()) def SetDoubleParam(self, param: 'operations_research::MPSolverParameters::DoubleParam', value: 'double') -> "void": return _pywraplp.MPSolverParameters_SetDoubleParam(self, param, value) def SetIntegerParam(self, param: 'operations_research::MPSolverParameters::IntegerParam', value: 'int') -> "void": return _pywraplp.MPSolverParameters_SetIntegerParam(self, param, value) def GetDoubleParam(self, param: 'operations_research::MPSolverParameters::DoubleParam') -> "double": return _pywraplp.MPSolverParameters_GetDoubleParam(self, param) def GetIntegerParam(self, param: 'operations_research::MPSolverParameters::IntegerParam') -> "int": return _pywraplp.MPSolverParameters_GetIntegerParam(self, param) __swig_destroy__ = _pywraplp.delete_MPSolverParametersClass variables
var BARRIERvar DUALvar DUAL_TOLERANCEvar INCREMENTALITYvar INCREMENTALITY_OFFvar INCREMENTALITY_ONvar LP_ALGORITHMvar PRESOLVEvar PRESOLVE_OFFvar PRESOLVE_ONvar PRIMALvar PRIMAL_TOLERANCEvar RELATIVE_MIP_GAPvar SCALINGvar SCALING_OFFvar SCALING_ONvar kDefaultDualTolerancevar kDefaultIncrementalityvar kDefaultPresolvevar kDefaultPrimalTolerancevar kDefaultRelativeMipGap
Instance variables
var thisown-
The membership flag
Source code
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
Methods
def GetDoubleParam(self, param)-
Source code
def GetDoubleParam(self, param: 'operations_research::MPSolverParameters::DoubleParam') -> "double": return _pywraplp.MPSolverParameters_GetDoubleParam(self, param) def GetIntegerParam(self, param)-
Source code
def GetIntegerParam(self, param: 'operations_research::MPSolverParameters::IntegerParam') -> "int": return _pywraplp.MPSolverParameters_GetIntegerParam(self, param) def SetDoubleParam(self, param, value)-
Source code
def SetDoubleParam(self, param: 'operations_research::MPSolverParameters::DoubleParam', value: 'double') -> "void": return _pywraplp.MPSolverParameters_SetDoubleParam(self, param, value) def SetIntegerParam(self, param, value)-
Source code
def SetIntegerParam(self, param: 'operations_research::MPSolverParameters::IntegerParam', value: 'int') -> "void": return _pywraplp.MPSolverParameters_SetIntegerParam(self, param, value)
class ModelExportOptions-
Source code
class ModelExportOptions(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self): _pywraplp.ModelExportOptions_swiginit(self, _pywraplp.new_ModelExportOptions()) __swig_destroy__ = _pywraplp.delete_ModelExportOptionsInstance variables
var thisown-
The membership flag
Source code
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
class Objective (*args, **kwargs)-
Source code
class Objective(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") __repr__ = _swig_repr def Clear(self) -> "void": return _pywraplp.Objective_Clear(self) def SetCoefficient(self, var: 'Variable', coeff: 'double') -> "void": return _pywraplp.Objective_SetCoefficient(self, var, coeff) def GetCoefficient(self, var: 'Variable') -> "double": return _pywraplp.Objective_GetCoefficient(self, var) def SetOffset(self, value: 'double') -> "void": return _pywraplp.Objective_SetOffset(self, value) def offset(self) -> "double": return _pywraplp.Objective_offset(self) def SetOptimizationDirection(self, maximize: 'bool') -> "void": return _pywraplp.Objective_SetOptimizationDirection(self, maximize) def SetMinimization(self) -> "void": return _pywraplp.Objective_SetMinimization(self) def SetMaximization(self) -> "void": return _pywraplp.Objective_SetMaximization(self) def maximization(self) -> "bool": return _pywraplp.Objective_maximization(self) def minimization(self) -> "bool": return _pywraplp.Objective_minimization(self) def Value(self) -> "double": return _pywraplp.Objective_Value(self) def BestBound(self) -> "double": return _pywraplp.Objective_BestBound(self) def Offset(self) -> "double": return _pywraplp.Objective_Offset(self) __swig_destroy__ = _pywraplp.delete_ObjectiveInstance variables
var thisown-
The membership flag
Source code
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
Methods
def BestBound(self)-
Source code
def BestBound(self) -> "double": return _pywraplp.Objective_BestBound(self) def Clear(self)-
Source code
def Clear(self) -> "void": return _pywraplp.Objective_Clear(self) def GetCoefficient(self, var)-
Source code
def GetCoefficient(self, var: 'Variable') -> "double": return _pywraplp.Objective_GetCoefficient(self, var) def Offset(self)-
Source code
def Offset(self) -> "double": return _pywraplp.Objective_Offset(self) def SetCoefficient(self, var, coeff)-
Source code
def SetCoefficient(self, var: 'Variable', coeff: 'double') -> "void": return _pywraplp.Objective_SetCoefficient(self, var, coeff) def SetMaximization(self)-
Source code
def SetMaximization(self) -> "void": return _pywraplp.Objective_SetMaximization(self) def SetMinimization(self)-
Source code
def SetMinimization(self) -> "void": return _pywraplp.Objective_SetMinimization(self) def SetOffset(self, value)-
Source code
def SetOffset(self, value: 'double') -> "void": return _pywraplp.Objective_SetOffset(self, value) def SetOptimizationDirection(self, maximize)-
Source code
def SetOptimizationDirection(self, maximize: 'bool') -> "void": return _pywraplp.Objective_SetOptimizationDirection(self, maximize) def Value(self)-
Source code
def Value(self) -> "double": return _pywraplp.Objective_Value(self) def maximization(self)-
Source code
def maximization(self) -> "bool": return _pywraplp.Objective_maximization(self) def minimization(self)-
Source code
def minimization(self) -> "bool": return _pywraplp.Objective_minimization(self) def offset(self)-
Source code
def offset(self) -> "double": return _pywraplp.Objective_offset(self)
class Solver (name, problem_type)-
Source code
class Solver(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr CLP_LINEAR_PROGRAMMING = _pywraplp.Solver_CLP_LINEAR_PROGRAMMING GLOP_LINEAR_PROGRAMMING = _pywraplp.Solver_GLOP_LINEAR_PROGRAMMING CBC_MIXED_INTEGER_PROGRAMMING = _pywraplp.Solver_CBC_MIXED_INTEGER_PROGRAMMING BOP_INTEGER_PROGRAMMING = _pywraplp.Solver_BOP_INTEGER_PROGRAMMING def __init__(self, name: 'std::string const &', problem_type: 'operations_research::MPSolver::OptimizationProblemType'): _pywraplp.Solver_swiginit(self, _pywraplp.new_Solver(name, problem_type)) __swig_destroy__ = _pywraplp.delete_Solver @staticmethod def SupportsProblemType(problem_type: 'operations_research::MPSolver::OptimizationProblemType') -> "bool": return _pywraplp.Solver_SupportsProblemType(problem_type) def Clear(self) -> "void": return _pywraplp.Solver_Clear(self) def NumVariables(self) -> "int": return _pywraplp.Solver_NumVariables(self) def variables(self) -> "std::vector< operations_research::MPVariable * > const &": return _pywraplp.Solver_variables(self) def LookupVariable(self, var_name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_LookupVariable(self, var_name) def Var(self, lb: 'double', ub: 'double', integer: 'bool', name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_Var(self, lb, ub, integer, name) def NumVar(self, lb: 'double', ub: 'double', name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_NumVar(self, lb, ub, name) def IntVar(self, lb: 'double', ub: 'double', name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_IntVar(self, lb, ub, name) def BoolVar(self, name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_BoolVar(self, name) def NumConstraints(self) -> "int": return _pywraplp.Solver_NumConstraints(self) def constraints(self) -> "std::vector< operations_research::MPConstraint * > const &": return _pywraplp.Solver_constraints(self) def LookupConstraint(self, constraint_name: 'std::string const &') -> "operations_research::MPConstraint *": return _pywraplp.Solver_LookupConstraint(self, constraint_name) def Constraint(self, *args) -> "operations_research::MPConstraint *": return _pywraplp.Solver_Constraint(self, *args) def Objective(self) -> "operations_research::MPObjective *": return _pywraplp.Solver_Objective(self) OPTIMAL = _pywraplp.Solver_OPTIMAL FEASIBLE = _pywraplp.Solver_FEASIBLE INFEASIBLE = _pywraplp.Solver_INFEASIBLE UNBOUNDED = _pywraplp.Solver_UNBOUNDED ABNORMAL = _pywraplp.Solver_ABNORMAL NOT_SOLVED = _pywraplp.Solver_NOT_SOLVED def Solve(self, *args) -> "operations_research::MPSolver::ResultStatus": return _pywraplp.Solver_Solve(self, *args) def ComputeConstraintActivities(self) -> "std::vector< double >": return _pywraplp.Solver_ComputeConstraintActivities(self) def VerifySolution(self, tolerance: 'double', log_errors: 'bool') -> "bool": return _pywraplp.Solver_VerifySolution(self, tolerance, log_errors) def InterruptSolve(self) -> "bool": return _pywraplp.Solver_InterruptSolve(self) def FillSolutionResponseProto(self, response: 'operations_research::MPSolutionResponse *') -> "void": return _pywraplp.Solver_FillSolutionResponseProto(self, response) @staticmethod def SolveWithProto(model_request: 'operations_research::MPModelRequest const &', response: 'operations_research::MPSolutionResponse *') -> "operations_research::MPSolutionResponse *": return _pywraplp.Solver_SolveWithProto(model_request, response) def ExportModelToProto(self, output_model: 'operations_research::MPModelProto *') -> "void": return _pywraplp.Solver_ExportModelToProto(self, output_model) def LoadSolutionFromProto(self, *args) -> "util::Status": return _pywraplp.Solver_LoadSolutionFromProto(self, *args) def SetSolverSpecificParametersAsString(self, parameters: 'std::string const &') -> "bool": return _pywraplp.Solver_SetSolverSpecificParametersAsString(self, parameters) FREE = _pywraplp.Solver_FREE AT_LOWER_BOUND = _pywraplp.Solver_AT_LOWER_BOUND AT_UPPER_BOUND = _pywraplp.Solver_AT_UPPER_BOUND FIXED_VALUE = _pywraplp.Solver_FIXED_VALUE BASIC = _pywraplp.Solver_BASIC @staticmethod def infinity() -> "double": return _pywraplp.Solver_infinity() def EnableOutput(self) -> "void": return _pywraplp.Solver_EnableOutput(self) def SuppressOutput(self) -> "void": return _pywraplp.Solver_SuppressOutput(self) def iterations(self) -> "int64": return _pywraplp.Solver_iterations(self) def nodes(self) -> "int64": return _pywraplp.Solver_nodes(self) def ComputeExactConditionNumber(self) -> "double": return _pywraplp.Solver_ComputeExactConditionNumber(self) def NextSolution(self) -> "bool": return _pywraplp.Solver_NextSolution(self) def set_time_limit(self, time_limit_milliseconds: 'int64') -> "void": return _pywraplp.Solver_set_time_limit(self, time_limit_milliseconds) def wall_time(self) -> "int64": return _pywraplp.Solver_wall_time(self) def LoadModelFromProto(self, input_model: 'operations_research::MPModelProto const &') -> "std::string": return _pywraplp.Solver_LoadModelFromProto(self, input_model) def ExportModelAsLpFormat(self, *args) -> "std::string": return _pywraplp.Solver_ExportModelAsLpFormat(self, *args) def ExportModelAsMpsFormat(self, *args) -> "std::string": return _pywraplp.Solver_ExportModelAsMpsFormat(self, *args) def SetHint(self, variables: 'std::vector< operations_research::MPVariable * > const &', values: 'std::vector< double > const &') -> "void": r""" Set a hint for solution. If a feasible or almost-feasible solution to the problem is already known, it may be helpful to pass it to the solver so that it can be used. A solver that supports this feature will try to use this information to create its initial feasible solution. Note that it may not always be faster to give a hint like this to the solver. There is also no guarantee that the solver will use this hint or try to return a solution "close" to this assignment in case of multiple optimal solutions.""" return _pywraplp.Solver_SetHint(self, variables, values) def SetNumThreads(self, num_theads: 'int') -> "bool": r""" Sets the number of threads to be used by the solver.""" return _pywraplp.Solver_SetNumThreads(self, num_theads) def Add(self, constraint, name=''): if isinstance(constraint, bool): if constraint: return self.RowConstraint(0, 0, name) else: return self.RowConstraint(1, 1, name) else: return constraint.Extract(self, name) def Sum(self, expr_array): result = SumArray(expr_array) return result def RowConstraint(self, *args): return self.Constraint(*args) def Minimize(self, expr): objective = self.Objective() objective.Clear() objective.SetMinimization() if isinstance(expr, numbers.Number): objective.SetOffset(expr) else: coeffs = expr.GetCoeffs() objective.SetOffset(coeffs.pop(OFFSET_KEY, 0.0)) for v, c, in list(coeffs.items()): objective.SetCoefficient(v, float(c)) def Maximize(self, expr): objective = self.Objective() objective.Clear() objective.SetMaximization() if isinstance(expr, numbers.Number): objective.SetOffset(expr) else: coeffs = expr.GetCoeffs() objective.SetOffset(coeffs.pop(OFFSET_KEY, 0.0)) for v, c, in list(coeffs.items()): objective.SetCoefficient(v, float(c)) @staticmethod def Infinity() -> "double": return _pywraplp.Solver_Infinity() def SetTimeLimit(self, x: 'int64') -> "void": return _pywraplp.Solver_SetTimeLimit(self, x) def WallTime(self) -> "int64": return _pywraplp.Solver_WallTime(self) def Iterations(self) -> "int64": return _pywraplp.Solver_Iterations(self)Class variables
var ABNORMALvar AT_LOWER_BOUNDvar AT_UPPER_BOUNDvar BASICvar BOP_INTEGER_PROGRAMMINGvar CBC_MIXED_INTEGER_PROGRAMMINGvar CLP_LINEAR_PROGRAMMINGvar FEASIBLEvar FIXED_VALUEvar FREEvar GLOP_LINEAR_PROGRAMMINGvar INFEASIBLEvar NOT_SOLVEDvar OPTIMALvar UNBOUNDED
Static methods
def Infinity()-
Source code
@staticmethod def Infinity() -> "double": return _pywraplp.Solver_Infinity() def SolveWithProto(model_request, response)-
Source code
@staticmethod def SolveWithProto(model_request: 'operations_research::MPModelRequest const &', response: 'operations_research::MPSolutionResponse *') -> "operations_research::MPSolutionResponse *": return _pywraplp.Solver_SolveWithProto(model_request, response) def SupportsProblemType(problem_type)-
Source code
@staticmethod def SupportsProblemType(problem_type: 'operations_research::MPSolver::OptimizationProblemType') -> "bool": return _pywraplp.Solver_SupportsProblemType(problem_type) def infinity()-
Source code
@staticmethod def infinity() -> "double": return _pywraplp.Solver_infinity()
Instance variables
var thisown-
The membership flag
Source code
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
Methods
def Add(self, constraint, name='')-
Source code
def Add(self, constraint, name=''): if isinstance(constraint, bool): if constraint: return self.RowConstraint(0, 0, name) else: return self.RowConstraint(1, 1, name) else: return constraint.Extract(self, name) def BoolVar(self, name)-
Source code
def BoolVar(self, name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_BoolVar(self, name) def Clear(self)-
Source code
def Clear(self) -> "void": return _pywraplp.Solver_Clear(self) def ComputeConstraintActivities(self)-
Source code
def ComputeConstraintActivities(self) -> "std::vector< double >": return _pywraplp.Solver_ComputeConstraintActivities(self) def ComputeExactConditionNumber(self)-
Source code
def ComputeExactConditionNumber(self) -> "double": return _pywraplp.Solver_ComputeExactConditionNumber(self) def Constraint(self, *args)-
Source code
def Constraint(self, *args) -> "operations_research::MPConstraint *": return _pywraplp.Solver_Constraint(self, *args) def EnableOutput(self)-
Source code
def EnableOutput(self) -> "void": return _pywraplp.Solver_EnableOutput(self) def ExportModelAsLpFormat(self, *args)-
Source code
def ExportModelAsLpFormat(self, *args) -> "std::string": return _pywraplp.Solver_ExportModelAsLpFormat(self, *args) def ExportModelAsMpsFormat(self, *args)-
Source code
def ExportModelAsMpsFormat(self, *args) -> "std::string": return _pywraplp.Solver_ExportModelAsMpsFormat(self, *args) def ExportModelToProto(self, output_model)-
Source code
def ExportModelToProto(self, output_model: 'operations_research::MPModelProto *') -> "void": return _pywraplp.Solver_ExportModelToProto(self, output_model) def FillSolutionResponseProto(self, response)-
Source code
def FillSolutionResponseProto(self, response: 'operations_research::MPSolutionResponse *') -> "void": return _pywraplp.Solver_FillSolutionResponseProto(self, response) def IntVar(self, lb, ub, name)-
Source code
def IntVar(self, lb: 'double', ub: 'double', name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_IntVar(self, lb, ub, name) def InterruptSolve(self)-
Source code
def InterruptSolve(self) -> "bool": return _pywraplp.Solver_InterruptSolve(self) def Iterations(self)-
Source code
def Iterations(self) -> "int64": return _pywraplp.Solver_Iterations(self) def LoadModelFromProto(self, input_model)-
Source code
def LoadModelFromProto(self, input_model: 'operations_research::MPModelProto const &') -> "std::string": return _pywraplp.Solver_LoadModelFromProto(self, input_model) def LoadSolutionFromProto(self, *args)-
Source code
def LoadSolutionFromProto(self, *args) -> "util::Status": return _pywraplp.Solver_LoadSolutionFromProto(self, *args) def LookupConstraint(self, constraint_name)-
Source code
def LookupConstraint(self, constraint_name: 'std::string const &') -> "operations_research::MPConstraint *": return _pywraplp.Solver_LookupConstraint(self, constraint_name) def LookupVariable(self, var_name)-
Source code
def LookupVariable(self, var_name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_LookupVariable(self, var_name) def Maximize(self, expr)-
Source code
def Maximize(self, expr): objective = self.Objective() objective.Clear() objective.SetMaximization() if isinstance(expr, numbers.Number): objective.SetOffset(expr) else: coeffs = expr.GetCoeffs() objective.SetOffset(coeffs.pop(OFFSET_KEY, 0.0)) for v, c, in list(coeffs.items()): objective.SetCoefficient(v, float(c)) def Minimize(self, expr)-
Source code
def Minimize(self, expr): objective = self.Objective() objective.Clear() objective.SetMinimization() if isinstance(expr, numbers.Number): objective.SetOffset(expr) else: coeffs = expr.GetCoeffs() objective.SetOffset(coeffs.pop(OFFSET_KEY, 0.0)) for v, c, in list(coeffs.items()): objective.SetCoefficient(v, float(c)) def NextSolution(self)-
Source code
def NextSolution(self) -> "bool": return _pywraplp.Solver_NextSolution(self) def NumConstraints(self)-
Source code
def NumConstraints(self) -> "int": return _pywraplp.Solver_NumConstraints(self) def NumVar(self, lb, ub, name)-
Source code
def NumVar(self, lb: 'double', ub: 'double', name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_NumVar(self, lb, ub, name) def NumVariables(self)-
Source code
def NumVariables(self) -> "int": return _pywraplp.Solver_NumVariables(self) def Objective(self)-
Source code
def Objective(self) -> "operations_research::MPObjective *": return _pywraplp.Solver_Objective(self) def RowConstraint(self, *args)-
Source code
def RowConstraint(self, *args): return self.Constraint(*args) def SetHint(self, variables, values)-
Set a hint for solution. If a feasible or almost-feasible solution to the problem is already known, it may be helpful to pass it to the solver so that it can be used. A solver that supports this feature will try to use this information to create its initial feasible solution. Note that it may not always be faster to give a hint like this to the solver. There is also no guarantee that the solver will use this hint or try to return a solution "close" to this assignment in case of multiple optimal solutions.
Source code
def SetHint(self, variables: 'std::vector< operations_research::MPVariable * > const &', values: 'std::vector< double > const &') -> "void": r""" Set a hint for solution. If a feasible or almost-feasible solution to the problem is already known, it may be helpful to pass it to the solver so that it can be used. A solver that supports this feature will try to use this information to create its initial feasible solution. Note that it may not always be faster to give a hint like this to the solver. There is also no guarantee that the solver will use this hint or try to return a solution "close" to this assignment in case of multiple optimal solutions.""" return _pywraplp.Solver_SetHint(self, variables, values) def SetNumThreads(self, num_theads)-
Sets the number of threads to be used by the solver.
Source code
def SetNumThreads(self, num_theads: 'int') -> "bool": r""" Sets the number of threads to be used by the solver.""" return _pywraplp.Solver_SetNumThreads(self, num_theads) def SetSolverSpecificParametersAsString(self, parameters)-
Source code
def SetSolverSpecificParametersAsString(self, parameters: 'std::string const &') -> "bool": return _pywraplp.Solver_SetSolverSpecificParametersAsString(self, parameters) def SetTimeLimit(self, x)-
Source code
def SetTimeLimit(self, x: 'int64') -> "void": return _pywraplp.Solver_SetTimeLimit(self, x) def Solve(self, *args)-
Source code
def Solve(self, *args) -> "operations_research::MPSolver::ResultStatus": return _pywraplp.Solver_Solve(self, *args) def Sum(self, expr_array)-
Source code
def Sum(self, expr_array): result = SumArray(expr_array) return result def SuppressOutput(self)-
Source code
def SuppressOutput(self) -> "void": return _pywraplp.Solver_SuppressOutput(self) def Var(self, lb, ub, integer, name)-
Source code
def Var(self, lb: 'double', ub: 'double', integer: 'bool', name: 'std::string const &') -> "operations_research::MPVariable *": return _pywraplp.Solver_Var(self, lb, ub, integer, name) def VerifySolution(self, tolerance, log_errors)-
Source code
def VerifySolution(self, tolerance: 'double', log_errors: 'bool') -> "bool": return _pywraplp.Solver_VerifySolution(self, tolerance, log_errors) def WallTime(self)-
Source code
def WallTime(self) -> "int64": return _pywraplp.Solver_WallTime(self) def constraints(self)-
Source code
def constraints(self) -> "std::vector< operations_research::MPConstraint * > const &": return _pywraplp.Solver_constraints(self) def iterations(self)-
Source code
def iterations(self) -> "int64": return _pywraplp.Solver_iterations(self) def nodes(self)-
Source code
def nodes(self) -> "int64": return _pywraplp.Solver_nodes(self) def set_time_limit(self, time_limit_milliseconds)-
Source code
def set_time_limit(self, time_limit_milliseconds: 'int64') -> "void": return _pywraplp.Solver_set_time_limit(self, time_limit_milliseconds) def variables(self)-
Source code
def variables(self) -> "std::vector< operations_research::MPVariable * > const &": return _pywraplp.Solver_variables(self) def wall_time(self)-
Source code
def wall_time(self) -> "int64": return _pywraplp.Solver_wall_time(self)
class Variable (*args, **kwargs)-
Source code
class Variable(object): thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined") def name(self) -> "std::string const &": return _pywraplp.Variable_name(self) def integer(self) -> "bool": return _pywraplp.Variable_integer(self) def solution_value(self) -> "double": return _pywraplp.Variable_solution_value(self) def index(self) -> "int": return _pywraplp.Variable_index(self) def lb(self) -> "double": return _pywraplp.Variable_lb(self) def ub(self) -> "double": return _pywraplp.Variable_ub(self) def SetBounds(self, lb: 'double', ub: 'double') -> "void": return _pywraplp.Variable_SetBounds(self, lb, ub) def reduced_cost(self) -> "double": return _pywraplp.Variable_reduced_cost(self) def basis_status(self) -> "operations_research::MPSolver::BasisStatus": return _pywraplp.Variable_basis_status(self) def __str__(self) -> "std::string": return _pywraplp.Variable___str__(self) def __repr__(self) -> "std::string": return _pywraplp.Variable___repr__(self) def __getattr__(self, name): return getattr(VariableExpr(self), name) def SolutionValue(self) -> "double": return _pywraplp.Variable_SolutionValue(self) def Integer(self) -> "bool": return _pywraplp.Variable_Integer(self) def Lb(self) -> "double": return _pywraplp.Variable_Lb(self) def Ub(self) -> "double": return _pywraplp.Variable_Ub(self) def SetLb(self, x: 'double') -> "void": return _pywraplp.Variable_SetLb(self, x) def SetUb(self, x: 'double') -> "void": return _pywraplp.Variable_SetUb(self, x) def ReducedCost(self) -> "double": return _pywraplp.Variable_ReducedCost(self) __swig_destroy__ = _pywraplp.delete_VariableInstance variables
var thisown-
The membership flag
Source code
thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
Methods
def Integer(self)-
Source code
def Integer(self) -> "bool": return _pywraplp.Variable_Integer(self) def Lb(self)-
Source code
def Lb(self) -> "double": return _pywraplp.Variable_Lb(self) def ReducedCost(self)-
Source code
def ReducedCost(self) -> "double": return _pywraplp.Variable_ReducedCost(self) def SetBounds(self, lb, ub)-
Source code
def SetBounds(self, lb: 'double', ub: 'double') -> "void": return _pywraplp.Variable_SetBounds(self, lb, ub) def SetLb(self, x)-
Source code
def SetLb(self, x: 'double') -> "void": return _pywraplp.Variable_SetLb(self, x) def SetUb(self, x)-
Source code
def SetUb(self, x: 'double') -> "void": return _pywraplp.Variable_SetUb(self, x) def SolutionValue(self)-
Source code
def SolutionValue(self) -> "double": return _pywraplp.Variable_SolutionValue(self) def Ub(self)-
Source code
def Ub(self) -> "double": return _pywraplp.Variable_Ub(self) def basis_status(self)-
Source code
def basis_status(self) -> "operations_research::MPSolver::BasisStatus": return _pywraplp.Variable_basis_status(self) def index(self)-
Source code
def index(self) -> "int": return _pywraplp.Variable_index(self) def integer(self)-
Source code
def integer(self) -> "bool": return _pywraplp.Variable_integer(self) def lb(self)-
Source code
def lb(self) -> "double": return _pywraplp.Variable_lb(self) def name(self)-
Source code
def name(self) -> "std::string const &": return _pywraplp.Variable_name(self) def reduced_cost(self)-
Source code
def reduced_cost(self) -> "double": return _pywraplp.Variable_reduced_cost(self) def solution_value(self)-
Source code
def solution_value(self) -> "double": return _pywraplp.Variable_solution_value(self) def ub(self)-
Source code
def ub(self) -> "double": return _pywraplp.Variable_ub(self)