Sha256: 9094520bac10d1af9f1c00dfd5e2bdbbcfffa2abde4cd8eef595290fd9eb7e1b

Contents?: true

Size: 873 Bytes

Versions: 39

Compression:

Stored size: 873 Bytes

Contents

require_relative 'test_helper'
# maximize
#   z = 10 * x + 6 * y + 4 * z
#
# subject to
#   p:      x +     y +     z <= 100
#   q: 10 * x + 4 * y + 5 * z <= 600
#   r:  2 * x + 2 * y + 6 * z <= 300
#
# where all variables are non-negative integers
#   x >= 0, y >= 0, z >= 0
#

class SimpleTest < Minitest::Test
  def setup
    given[ X_i >= 0,  Y_i >= 0,  Z_i >= 0 ]
    @objective = 10 * X_i + 6 * Y_i + 4 * Z_i
    @problem   = Rulp::Max( @objective ) [
                    X_i +     Y_i +     Z_i <= 100,
               10 * X_i + 4 * Y_i + 5 * Z_i <= 600,
               2 *  X_i + 2 * Y_i + 6 * Z_i <= 300
    ]
  end

  def test_simple
    each_solver do |solver|
      setup
      @problem.send(solver)
      assert_equal X_i.value, 33
      assert_equal Y_i.value, 67
      assert_equal Z_i.value, 0
      assert_equal @objective.evaluate , 732
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
rulp-0.0.46 test/test_simple.rb
rulp-0.0.45 test/test_simple.rb
rulp-0.0.44 test/test_simple.rb
rulp-0.0.43 test/test_simple.rb
rulp-0.0.42 test/test_simple.rb
rulp-0.0.41 test/test_simple.rb
rulp-0.0.40 test/test_simple.rb
rulp-0.0.39 test/test_simple.rb
rulp-0.0.38 test/test_simple.rb
rulp-0.0.37 test/test_simple.rb
rulp-0.0.36 test/test_simple.rb
rulp-0.0.35 test/test_simple.rb
rulp-0.0.34 test/test_simple.rb
rulp-0.0.33 test/test_simple.rb
rulp-0.0.32 test/test_simple.rb
rulp-0.0.29 test/test_simple.rb
rulp-0.0.27 test/test_simple.rb
rulp-0.0.26 test/test_simple.rb
rulp-0.0.25 test/test_simple.rb
rulp-0.0.24 test/test_simple.rb