def _test_mpc_1norm(self): self.mpc_setup(objective='1norm') from cvxpy_codegen_solver import cg_solve var_dict, stats_dict = cg_solve(x0=self.x0_val, A=self.A_val, B=self.B_val) self.assertAlmostEqualMatrices(self.x_opt, var_dict['x'])
def _run_test_atom(self, atom_name): self.param_setup(atom=atom_name) from cvxpy_codegen_solver import cg_solve param_names = list(inspect.signature(cg_solve).parameters.keys()) params = dict() for p in param_names: params[p] = self.params[p] var_dict, stats_dict = cg_solve(**params) print(self.x_opt) print(var_dict['x']) self.assertAlmostEqualMatrices(self.x_opt, var_dict['x'])
def _test_optimal(self): from cvxpy_codegen_solver import cg_solve vars, stats = cg_solve() self.assertEqual(stats['status'], 'optimal') self.assertAlmostEqual(stats['objective'], 1.0)
def _test_unbounded(self): from cvxpy_codegen_solver import cg_solve vars, stats = cg_solve() self.assertEqual(stats['status'], 'unbounded') self.assertAlmostEqual(stats['objective'], -np.inf)
def _test_infeas(self): from cvxpy_codegen_solver import cg_solve vars, stats = cg_solve() self.assertEqual(stats['status'], 'infeasible') self.assertAlmostEqual(stats['objective'], np.inf)
def _test_least_squares(self): self.mpc_setup() from cvxpy_codegen_solver import cg_solve var_dict, stats_dict = cg_solve(A=self.A_val, b=self.b_val) self.assertAlmostEqualMatrices(self.x_opt, var_dict['x'])