## Optimizers import JuMP import SCS function scs_optimizer(; accel=10, alpha=1.5, eps=1e-9, max_iters=100_000, verbose=true, linear_solver=SCS.DirectSolver ) return JuMP.optimizer_with_attributes( SCS.Optimizer, "acceleration_lookback" => accel, "acceleration_interval" => 10, "alpha" => alpha, "eps_abs" => eps, "eps_rel" => eps, "linear_solver" => linear_solver, "max_iters" => max_iters, "warm_start" => true, "verbose" => verbose, ) end import COSMO function cosmo_optimizer(; accel=15, alpha=1.6, eps=1e-9, max_iters=100_000, verbose=true, verbose_timing=verbose, decompose=false ) return JuMP.optimizer_with_attributes( COSMO.Optimizer, "accelerator" => COSMO.with_options( COSMO.AndersonAccelerator, mem=max(accel, 2) ), "alpha" => alpha, "decompose" => decompose, "eps_abs" => eps, "eps_rel" => eps, "max_iter" => max_iters, "verbose" => verbose, "verbose_timing" => verbose_timing, "check_termination" => 200, ) end