Robust Problem¶
- class lropt.RobustProblem(objective, constraints, eval_exp=None, train_flag=True, cons_data=None, verify_x_parameters: bool = True)¶
 Create a Robust Optimization Problem with uncertain variables
- evaluate() float¶
 Evaluates the out-of-sample value of the current solution and cvxpy/context parameters, with respect to the input data-set of uncertain parameters. The dataset is taken from u.eval_data_sol for each uncertain parameter u.
- order_args(z_batch: list[Tensor], x_batch: list[Tensor], u_batch: list[Tensor] | Tensor)¶
 This function orders z_batch (decisions), x_batch (context), and u_batch (uncertainty) according to the order in vars_params.
- remove_uncertainty(override=False, solver=None)¶
 This function canonizes a problem and saves it to self.problem_no_unc
Args:
- override
 If True, will override current problem_no_unc. If False and problem_no_unc exists, does nothing.
Returns:
None
- solve(solver: str = None, warm_start: bool = True, verbose: bool = False, gp: bool = False, qcp: bool = False, requires_grad: bool = False, enforce_dpp: bool = False, ignore_dpp: bool = False, canon_backend: str | None = None, **kwargs)¶
 This function solves the robust problem, and dualizes it first if it has not been dualized
Returns: the solution to the original problem
- uncertain_parameters()¶
 Find uncertain (u) parameters
- unpack(solution) None¶
 Updates the problem state given a Solution.
Updates problem.status, problem.value and value of primal and dual variables. If solution.status is in cvxpy.settins.ERROR, this method is a no-op.
Arguments¶
- solutioncvxpy.Solution
 A Solution object.
Raises¶
- ValueError
 If the solution object has an invalid status
- unpack_results_unc(solution, chain, inverse_data, solvername) None¶
 Updates the problem state given the solver results.
Updates problem.status, problem.value and value of primal and dual variables.
Arguments¶
- solutionobject
 The solution returned by applying the chain to the problem and invoking the solver on the resulting data.
- chainSolvingChain
 A solving chain that was used to solve the problem.
- inverse_datalist
 The inverse data returned by applying the chain to the problem.
Raises¶
- cvxpy.error.SolverError
 If the solver failed
- verify_x_parameters()¶
 This function verifies that x and u are in the correct diemsnions.
- x_parameters()¶
 Find context (x) parameters