Ejemplo n.º 1
0
 def test_solve_fraction_largest_increase(self):
     res, D = lp_solve(self.c,
                       self.A,
                       self.b,
                       pivotrule=lambda D: largest_increase(D, eps=0))
     self.assertEqual(res, LPResult.UNBOUNDED)
     self.assertIsNone(D)
Ejemplo n.º 2
0
 def test_solve_float_largest_increase(self):
     res, D = lp_solve(self.c,
                       self.A,
                       self.b,
                       dtype=np.float64,
                       pivotrule=lambda D: largest_increase(D, eps=0))
     self.assertEqual(res, LPResult.INFEASIBLE)
     self.assertIsNone(D)
Ejemplo n.º 3
0
 def test_solve_fraction_largest_increase(self):
     res, D = lp_solve(self.c,
                       self.A,
                       self.b,
                       pivotrule=lambda D: largest_increase(D, eps=0))
     self.assertEqual(res, LPResult.OPTIMAL)
     self.assertIsNotNone(D)
     self.assertEqual(D.value(), Fraction(5))
     self.assertEqual(list(D.basic_solution()), [Fraction(2), Fraction(1)])
Ejemplo n.º 4
0
 def test_solve_float_largest_increase(self):
     res, D = lp_solve(-self.c,
                       self.A,
                       self.b,
                       dtype=np.float64,
                       pivotrule=lambda D: largest_increase(D, eps=0))
     self.assertEqual(res, LPResult.OPTIMAL)
     self.assertIsNotNone(D)
     self.assertAlmostEqual(D.value(), -self.res.fun, 1)
Ejemplo n.º 5
0
 def test_solve_float_largest_increase(self):
     res, D = lp_solve(self.c,
                       self.A,
                       self.b,
                       dtype=np.float64,
                       pivotrule=lambda D: largest_increase(D, eps=0))
     self.assertEqual(res, LPResult.OPTIMAL)
     self.assertIsNotNone(D)
     self.assertAlmostEqual(D.value(), 5.0)
     self.assertAlmostEqual(list(D.basic_solution()), [2.0, 1.0])
Ejemplo n.º 6
0
 def test_solve_integer_largest_increase(self):
     res, D = lp_solve(self.c,
                       self.A,
                       self.b,
                       dtype=int,
                       pivotrule=lambda D: largest_increase(D, eps=0))
     self.assertEqual(res, LPResult.OPTIMAL)
     self.assertIsNotNone(D)
     self.assertEqual(D.value(), Fraction(152, 13))
     self.assertEqual(list(D.basic_solution()),
                      [Fraction(30, 13), Fraction(1, 13)])
Ejemplo n.º 7
0
 def test_solve_int_largest_increase_benchmark(self):
     reps = 1000
     duration = timereps(
         reps,
         lambda: lp_solve(self.c,
                          self.A,
                          self.b,
                          dtype=int,
                          pivotrule=lambda D: largest_increase(D, eps=0)))
     print("It takes {} ms to run int, largest_increase".format(
         round(duration * 1000, 3)))
Ejemplo n.º 8
0
 def test_solve_fraction_largest_increase_benchmark(self):
     reps = 10
     duration = timereps(
         reps,
         lambda: lp_solve(self.c,
                          self.A,
                          self.b,
                          dtype=Fraction,
                          pivotrule=lambda D: largest_increase(D, eps=0)))
     print("TestBigLP2: It takes {} ms to run Fraction, largest increase".
           format(round(duration * 1000, 2)))
Ejemplo n.º 9
0
 def test_solve_float_largest_increase_benchmark(self):
     reps = 3
     duration = timereps(
         reps,
         lambda: lp_solve(self.c,
                          self.A,
                          self.b,
                          dtype=np.float64,
                          pivotrule=lambda D: largest_increase(D, eps=0)))
     print(
         "TestBigLP1: It takes {} ms to run float, largest increase".format(
             round(duration * 1000, 2)))