Class: ORTools::CpSolver

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/or_tools/cp_solver.rb

Instance Method Summary collapse

Instance Method Details

#parametersObject



42
43
44
# File 'lib/or_tools/cp_solver.rb', line 42

def parameters
  @parameters ||= SatParameters.new
end

#search_for_all_solutions(model, observer) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/or_tools/cp_solver.rb', line 27

def search_for_all_solutions(model, observer)
  warn "[or-tools] search_for_all_solutions is deprecated; use solve() with solver.parameters.enumerate_all_solutions = true"
  previous_value = parameters.enumerate_all_solutions
  begin
    parameters.enumerate_all_solutions = true
    solve(model, observer)
  ensure
    parameters.enumerate_all_solutions = previous_value
  end
end

#solve(model, observer = nil) ⇒ Object



9
10
11
12
# File 'lib/or_tools/cp_solver.rb', line 9

def solve(model, observer = nil)
  @response = _solve(model, parameters, observer)
  @response.status
end

#solve_with_solution_callback(model, observer) ⇒ Object



22
23
24
25
# File 'lib/or_tools/cp_solver.rb', line 22

def solve_with_solution_callback(model, observer)
  warn "[or-tools] solve_with_solution_callback is deprecated; use solve(model, callback)"
  solve(model, observer)
end

#sufficient_assumptions_for_infeasibilityObject



38
39
40
# File 'lib/or_tools/cp_solver.rb', line 38

def sufficient_assumptions_for_infeasibility
  @response.sufficient_assumptions_for_infeasibility
end

#value(var) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/or_tools/cp_solver.rb', line 14

def value(var)
  if var.is_a?(BoolVar)
    _solution_boolean_value(@response, var)
  else
    _solution_integer_value(@response, var)
  end
end