Module: Rulp
- Defined in:
- lib/helpers/log.rb,
lib/rulp/rulp.rb,
lib/rulp/rulp_bounds.rb,
lib/rulp/rulp_initializers.rb
Overview
Basic logger module. Allows logging in the format
“This is a string”.log(:debug) “Oh no!”.log(:error)
Log level is set as follows. Rulp::Logger::level = :debug
Defined Under Namespace
Modules: Bounds, Initializers, Logger
Classes: Problem
Constant Summary
collapse
- MIN =
"Minimize"
- MAX =
"Maximize"
- GLPK =
::GLPK
- GUROBI =
::GUROBI
- SCIP =
::SCIP
- CBC =
::CBC
- SOLVERS =
{
GLPK => Glpk,
SCIP => Scip,
CBC => Cbc,
GUROBI => Gurobi,
}
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Attribute Details
#expressions ⇒ Object
Returns the value of attribute expressions.
19
20
21
|
# File 'lib/rulp/rulp.rb', line 19
def expressions
@expressions
end
|
Class Method Details
.Cbc(lp, opts = {}) ⇒ Object
39
40
41
|
# File 'lib/rulp/rulp.rb', line 39
def self.Cbc(lp, opts={})
lp.solve_with(CBC, opts)
end
|
.Glpk(lp, opts = {}) ⇒ Object
35
36
37
|
# File 'lib/rulp/rulp.rb', line 35
def self.Glpk(lp, opts={})
lp.solve_with(GLPK, opts)
end
|
.Gurobi(lp, opts = {}) ⇒ Object
47
48
49
|
# File 'lib/rulp/rulp.rb', line 47
def self.Gurobi(lp, opts={})
lp.solve_with(GUROBI, opts)
end
|
.Max(objective_expression) ⇒ Object
51
52
53
54
|
# File 'lib/rulp/rulp.rb', line 51
def self.Max(objective_expression)
"Creating maximization problem".log :info
Problem.new(Rulp::MAX, objective_expression)
end
|
.Min(objective_expression) ⇒ Object
56
57
58
59
|
# File 'lib/rulp/rulp.rb', line 56
def self.Min(objective_expression)
"Creating minimization problem".log :info
Problem.new(Rulp::MIN, objective_expression)
end
|
.Scip(lp, opts = {}) ⇒ Object
43
44
45
|
# File 'lib/rulp/rulp.rb', line 43
def self.Scip(lp, opts={})
lp.solve_with(SCIP, opts)
end
|
.solver_exists?(solver_name) ⇒ Boolean
61
62
63
64
65
|
# File 'lib/rulp/rulp.rb', line 61
def self.solver_exists?(solver_name)
solver = solver_name[0].upcase + solver_name[1..-1].downcase
solver_class = ObjectSpace.const_defined?(solver) && ObjectSpace.const_get(solver)
solver_class.exists? if(solver_class)
end
|