Class: ORTools::CpSolver
- Inherits:
-
Object
- Object
- ORTools::CpSolver
- Extended by:
- Forwardable
- Defined in:
- lib/or_tools/cp_solver.rb
Instance Method Summary collapse
- #parameters ⇒ Object
- #solution_info ⇒ Object
- #solve(model, observer = nil) ⇒ Object
- #sufficient_assumptions_for_infeasibility ⇒ Object
- #value(var) ⇒ Object
Instance Method Details
#parameters ⇒ Object
37 38 39 |
# File 'lib/or_tools/cp_solver.rb', line 37 def parameters @parameters ||= SatParameters.new end |
#solution_info ⇒ Object
29 30 31 |
# File 'lib/or_tools/cp_solver.rb', line 29 def solution_info @response.solution_info end |
#solve(model, observer = nil) ⇒ Object
9 10 11 12 13 |
# File 'lib/or_tools/cp_solver.rb', line 9 def solve(model, observer = nil) @response = _solve(model, parameters, observer) observer.response = @response if observer @response.status end |
#sufficient_assumptions_for_infeasibility ⇒ Object
33 34 35 |
# File 'lib/or_tools/cp_solver.rb', line 33 def sufficient_assumptions_for_infeasibility @response.sufficient_assumptions_for_infeasibility end |
#value(var) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/or_tools/cp_solver.rb', line 15 def value(var) # could also check solution_size == 0 unless [:feasible, :optimal].include?(@response.status) # could return nil, but raise error like Python library raise Error, "No solution found" end if var.is_a?(BoolVar) _solution_boolean_value(@response, var) else _solution_integer_value(@response, var) end end |