def solve_via_data(self, data, warm_start, verbose, solver_opts, solver_cache=None): import ecos cones = dims_to_solver_dict(data[ConicSolver.DIMS]) # Default verbose to false for BB wrapper. if 'mi_verbose' in solver_opts: mi_verbose = solver_opts['mi_verbose'] del solver_opts['mi_verbose'] else: mi_verbose = verbose solution = ecos.solve(data[s.C], data[s.G], data[s.H], cones, data[s.A], data[s.B], verbose=verbose, mi_verbose=mi_verbose, bool_vars_idx=data[s.BOOL_IDX], int_vars_idx=data[s.INT_IDX], **solver_opts) return solution
def test_advanced2(self): """Test code from the advanced section of the tutorial. """ x = cvx.Variable() prob = cvx.Problem(cvx.Minimize(cvx.square(x)), [x == 2]) # Get ECOS arguments. data, chain, inverse = prob.get_problem_data(cvx.ECOS) # Get ECOS_BB arguments. data, chain, inverse = prob.get_problem_data(cvx.ECOS_BB) # Get CVXOPT arguments. if cvx.CVXOPT in cvx.installed_solvers(): data, chain, inverse = prob.get_problem_data(cvx.CVXOPT) # Get SCS arguments. data, chain, inverse = prob.get_problem_data(cvx.SCS) import ecos # Get ECOS arguments. data, chain, inverse = prob.get_problem_data(cvx.ECOS) # Call ECOS solver. solution = ecos.solve(data["c"], data["G"], data["h"], ecos_conif.dims_to_solver_dict(data["dims"]), data["A"], data["b"]) # Unpack raw solver output. prob.unpack_results(solution, chain, inverse)