def test_cobyla_optimizer_with_quadratic_constraint(self): """ Cobyla Optimizer Test With Quadratic Constraints. """ # load optimization problem problem = QuadraticProgram() problem.continuous_var(upperbound=1) problem.continuous_var(upperbound=1) problem.minimize(linear=[1, 1]) linear = [-1, -1] quadratic = [[1, 0], [0, 1]] problem.quadratic_constraint(linear=linear, quadratic=quadratic, rhs=-1/2) # solve problem with cobyla cobyla = CobylaOptimizer() result = cobyla.solve(problem) # analyze results self.assertAlmostEqual(result.fval, 1.0, places=2)
def test_slsqp_optimizer_with_quadratic_constraint(self): """A test with equality constraint""" problem = QuadraticProgram() problem.continuous_var(upperbound=1) problem.continuous_var(upperbound=1) problem.minimize(linear=[1, 1]) linear = [-1, -1] quadratic = [[1, 0], [0, 1]] problem.quadratic_constraint(linear=linear, quadratic=quadratic, rhs=-1/2) slsqp = SlsqpOptimizer() solution = slsqp.solve(problem) self.assertIsNotNone(solution) self.assertIsNotNone(solution.x) np.testing.assert_almost_equal([0.5, 0.5], solution.x, 3) self.assertIsNotNone(solution.fval) np.testing.assert_almost_equal(1., solution.fval, 3)