def normalize!
      constant = 0
      hterms = {}
      @terms.each do |term|
        case term
        when Numeric
          constant += term
        when Ilp::Term
          v = term.var
          hterms[v] ||= Ilp::Term.new(v, 0)
          hterms[v].mult += term.mult
        end
      end
      reduced = hterms.map { |_, term| term unless term.mult.zero? }
      reduced.compact!
      @terms = [constant].concat reduced
      self
    end
def normalize!
      constant = 0
      hterms = {}
      @terms.each do |term|
        case term
        when Numeric
          constant += term
        when Ilp::Term
          v = term.var
          hterms[v] ||= Ilp::Term.new(v, 0)
          hterms[v].mult += term.mult
        end
      end
      reduced = hterms.map { |_, term| term unless term.mult.zero? }
      reduced.compact!
      @terms = [constant].concat reduced
      self
    end
cste + nb * var + nb * var...