# Settings

These settings control how SCS behaves during a solve. They are set in the ScsSettings struct.

Name | Type | Description | Permitted values | Default
--- | --- | --- | --- | ---
`normalize` | `scs_int` | Whether to perform heuristic data rescaling. See Data equilibration. | True/False | 1
`scale` | `scs_float` | Initial dual scale factor, updated if `adaptive_scale` is True. See Non-identity DR Scaling. | \((0, \infty)\) | 0.1
`adaptive_scale` | `scs_int` | Whether to heuristically adapt dual `scale` through the solve. See Non-identity DR Scaling. | True/False | 1
`rho_x` | `scs_float` | Primal scale factor. See Non-identity DR Scaling. | \((0, \infty)\) | 1e-6
`max_iters` | `scs_int` | Maximum number of iterations to run. | \(\mathbf{N}\) | 1e5
`eps_abs` | `scs_float` | Absolute feasibility tolerance, see Termination criteria. | \((0, \infty)\) | 1e-4
`eps_rel` | `scs_float` | Relative feasibility tolerance, see Termination criteria. | \((0, \infty)\) | 1e-4
`eps_infeas` | `scs_float` | Infeasibility tolerance (primal and dual), see Certificate of infeasibility. | \((0, \infty)\) | 1e-7
`alpha` | `scs_float` | Douglas-Rachford relaxation parameter. See Relaxation. | \((0, 2)\) | 1.5
`time_limit_secs` | `scs_float` | Time limit for solve run in seconds (can be fractional). `0` is interpreted as no limit. | \([0, \infty)\) | 0
`verbose` | `scs_int` | Whether to print solver output to stdout. | True/False | 1
`warm_start` | `scs_int` | Set to True if you initialize the solver with a guess of the solution. See Warm-starting. | True/False | 0
`acceleration_lookback` | `scs_int` | How much memory to use for Anderson acceleration. More memory requires more time to compute but can give more reliable steps. `0` disables it. See Acceleration. | \(\mathbf{N}\) | 0
`acceleration_interval` | `scs_int` | Run Anderson acceleration every this number of iterations. See Acceleration. | \(\mathbf{N}\) | 1
`write_data_filename` | `char *` | If this is set the problem data is dumped to this filename. | Any filename | NULL
`log_csv_filename` | `char *` | If this is set SCS will write csv logs of various quantities through the solver (makes the solver much slower). | Any filename | NULL