class NoSE::Search::SpaceConstraint

The single constraint used to enforce a maximum storage cost

Public Class Methods

apply(problem) click to toggle source

Add space constraint if needed

# File lib/nose/search/constraints.rb, line 40
def self.apply(problem)
  return unless problem.data[:max_space].finite?

  fail 'Space constraint not supported when grouping by ID graph' \
    if problem.data[:by_id_graph]

  space = problem.total_size
  constr = MIPPeR::Constraint.new space, :<=,
                                  problem.data[:max_space] * 1.0,
                                  'max_space'
  problem.model << constr
end