Пример #1
0
 def test_multiply_expression_and_expression_in_place(self):
     e = lp.Expression({'x1': -5, 'x2': 3}, offset=10)
     e *= lp.Expression({'x1': 1})
     self.assertEqual(e.offset, 0)
     self.assertEqual(dict(e.values()), {
         lp.Product(['x1', 'x1']): -5,
         lp.Product(['x1', 'x2']): 3,
         'x1': 10
     })
Пример #2
0
 def test_multiply_expression_and_simple_expression(self):
     e1 = lp.Expression({'x1': -5, 'x2': 3}, offset=10)
     e2 = lp.Expression({'x1': 1})
     e = e1 * e2
     self.assertEqual(e.offset, 0)
     self.assertEqual(dict(e.values()), {
         lp.Product(['x1', 'x1']): -5,
         lp.Product(['x1', 'x2']): 3,
         'x1': 10
     })
Пример #3
0
 def test_expression_pow_two_in_place(self):
     e = lp.Expression({'x1': -5, 'x2': 3}, offset=10)
     e **= 2
     self.assertEqual(e.offset, 100)
     self.assertEqual(dict(e.values()), {
         lp.Product(['x1', 'x1']): 25,
         lp.Product(['x1', 'x2']): -30,
         lp.Product(['x2', 'x2']): 9,
         'x1': -100,
         'x2': 60
     })
Пример #4
0
 def test_multiply_expression_and_expression(self):
     e1 = lp.Expression({'x1': 1, 'x2': 2, 'x3': 3}, offset=4)
     e2 = lp.Expression({'x2': 4, 'x4': 5}, offset=-5)
     e = e1 * e2
     self.assertEqual(e.offset, -20)
     self.assertEqual(dict(e.values()), {
         lp.Product(['x1', 'x2']): 4,
         lp.Product(['x2', 'x2']): 8,
         lp.Product(['x2', 'x3']): 12,
         lp.Product(['x1', 'x4']): 5,
         lp.Product(['x2', 'x4']): 10,
         lp.Product(['x3', 'x4']): 15,
         'x1': -5,
         'x2': 6,
         'x3': -15,
         'x4': 20
     })
Пример #5
0
 def test_result_get_expression_product_value(self):
     result = MockResult({'x1': 2, 'x2': 3, 'x3': 4})
     expr = lp.Expression({lp.Product(['x1', 'x2']): 3, 'x3': -1}, offset=4)
     self.assertEqual(result.get_value(expr), 18)
Пример #6
0
 def test_expression_contains_product(self):
     e = lp.Expression({lp.Product(['x1', 'x1']): -1})
     self.assertIn(lp.Product(['x1', 'x1']), e)
     self.assertNotIn('x1', e)
Пример #7
0
 def test_expression_with_product_to_string(self):
     e = lp.Expression({'x1': -4, lp.Product(['x1', 'x2']): 2}, 12)
     self.assertEqual(str(e), '-4*x1 + 2*x1*x2 + 12')