DirectOrPersistentSolver

(class from pyomo.solvers.plugins.solvers.direct_or_persistent_solver)

class pyomo.solvers.plugins.solvers.direct_or_persistent_solver.DirectOrPersistentSolver(**kwds)[source]

Bases: OptSolver

This is a base class for both direct and persistent solvers. Direct solver interfaces do not use any file io. Rather, they interface directly with the python bindings for the specific solver. Persistent solver interfaces are similar except that they “remember” their model. Thus, persistent solver interfaces allow incremental changes to the solver model (e.g., the gurobi python model or the cplex python model). Note that users are responsible for notifying the persistent solver interfaces when changes are made to the corresponding pyomo model.

Parameters:
  • type (str) – String indicating the class type of the solver instance.

  • name (str) – String representing either the class type of the solver instance or an assigned name.

  • doc (str) – Documentation for the solver

  • options (dict) – Dictionary of solver options

__init__(**kwds)[source]

Constructor

Methods

__init__(**kwds)

Constructor

available([exception_flag])

True if the solver is available.

config_block([init])

default_variable_value()

has_capability(cap)

Returns a boolean value representing whether a solver supports a specific feature.

license_is_valid()

True if the solver is present and has a valid license (if applicable)

load_vars([vars_to_load])

Load the values from the solver's variables into the corresponding pyomo variables.

problem_format()

Returns the current problem format.

reset()

Reset the state of the solver

results_format()

Returns the current results format.

set_callback(name[, callback_fn])

Set the callback function for a named callback.

set_options(istr)

set_problem_format(format)

Set the current problem format (if it's valid) and update the results format to something valid for this problem format.

set_results_format(format)

Set the current results format (if it's valid for the current problem format).

solve(*args, **kwds)

Solve the problem

version()

Returns a 4-tuple describing the solver executable version.

warm_start_capable()

True is the solver can accept a warm-start solution

Attributes

keepfiles

log_file

soln_file

suffixes

symbolic_solver_labels

tee

warm_start_file_name

warm_start_solve

results

A results object return from the solve method.

Member Documentation

available(exception_flag=True)[source]

True if the solver is available.

has_capability(cap)

Returns a boolean value representing whether a solver supports a specific feature. Defaults to ‘False’ if the solver is unaware of an option. Expects a string.

Example: # prints True if solver supports sos1 constraints, and False otherwise print(solver.has_capability(‘sos1’)

# prints True is solver supports ‘feature’, and False otherwise print(solver.has_capability(‘feature’)

Parameters:

cap (str) – The feature

Returns:

val – Whether or not the solver has the specified capability.

Return type:

bool

license_is_valid()

True if the solver is present and has a valid license (if applicable)

load_vars(vars_to_load=None)[source]

Load the values from the solver’s variables into the corresponding pyomo variables.

Parameters:

vars_to_load (list of Var)

problem_format()

Returns the current problem format.

reset()

Reset the state of the solver

results_format()

Returns the current results format.

set_callback(name, callback_fn=None)

Set the callback function for a named callback.

A call-back function has the form:

def fn(solver, model):

pass

where ‘solver’ is the native solver interface object and ‘model’ is a Pyomo model instance object.

set_problem_format(format)

Set the current problem format (if it’s valid) and update the results format to something valid for this problem format.

set_results_format(format)

Set the current results format (if it’s valid for the current problem format).

solve(*args, **kwds)

Solve the problem

version()

Returns a 4-tuple describing the solver executable version.

warm_start_capable()[source]

True is the solver can accept a warm-start solution

results

A results object return from the solve method.