Sha256: 7ee03f19b94497201556e189804f446d3bc4bc4df0a3c1093e78725ae411891b

Contents?: true

Size: 509 Bytes

Versions: 8

Compression:

Stored size: 509 Bytes

Contents

class Glpk < Solver
  def solve
    command = "#{executable} --lp #{@filename} %s --cuts --write #{@outfile}"
    command %= options[:gap] ? "--mipgap #{options[:gap]}" : ""
    exec(command)
  end

  def self.executable
    :glpsol
  end

  def store_results(variables)
    rows = IO.read(@outfile).split("\n")
    variables.zip(rows[-variables.count..-1]).each do |var, row|
      cols = row.split(" ")
      var.value = cols[[1, cols.count - 1].min].to_f
    end
    return rows[1].split(" ")[-1]
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rulp-0.0.24 lib/solvers/glpk.rb
rulp-0.0.23 lib/solvers/glpk.rb
rulp-0.0.22 lib/solvers/glpk.rb
rulp-0.0.21 lib/solvers/glpk.rb
rulp-0.0.20 lib/solvers/glpk.rb
rulp-0.0.19 lib/solvers/glpk.rb
rulp-0.0.18 lib/solvers/glpk.rb
rulp-0.0.17 lib/solvers/glpk.rb