5.3. OptionConstClass

class OptionConstClass

A namespace to hold option names. It has a builtin instance admm.Options .

For example:

# Set the maximum number of iterations as 1000 for solving the original problem
model.setOption(admm.Options.admm_max_iteration, 1000)

Properties

admm_max_iteration

Specifies the maximum number of iterations for solving the original problem.

anderson_acceleration_interval

Specifies the interval (in iterations) for applying Anderson acceleration. Acceleration is applied every N iterations.

anderson_acceleration_lookback

Specifies the memory length (number of past iterations) for Anderson acceleration. If > 0, enables Anderson acceleration. Set to 0 to disable.

anderson_acceleration_max_weight_norm

Maximum norm of Anderson acceleration weights. If exceeded, AA step is rejected.

anderson_acceleration_regularization

Regularization parameter for Anderson acceleration. Type-I typically uses 1e-8, Type-II uses 1e-12.

anderson_acceleration_relaxation

Relaxation parameter for Anderson acceleration in range [0,2]. 1.0 is standard.

anderson_acceleration_safeguard_factor

Safeguard factor controlling safeguard checks for Anderson acceleration. Larger values are more aggressive but less stable.

anderson_acceleration_type1

Specifies whether to use Type-I (true) or Type-II (false) Anderson acceleration.

computational_data_type_preference

Specifies the preferred data type for computational procedures.

constraint_specific_penalty_enable

Specifies whether to enable distinct penalty parameters for each constraint.

display_sub_solver_details

Specifies whether to output the sub-solver details.

hyper_param_info_collection_interval

Specifies the interval to collect hyperparameter-related information.

hyper_param_update_min_interval

Specifies the minimum iteration interval for hyperparameter updates.

initial_over_relaxation_param

Specifies the initial value for the over-relaxation parameter.

initial_penalty_param_value

Specifies the initial value for the penalty parameter.

linear_system_solver

Specifies the solver to solve the linear system.

log_iteration_details_to_file

Specifies whether to write iteration details to a file.

max_over_relaxation_param

Specifies the maximum value for the over-relaxation parameter.

max_penalty_param

Specifies the maximum value for the penalty parameter.

merge_linobj_enable

Specifies whether to consolidate linear functions of multiple variables in the objective as a unified linear function

merge_zero_obj_var_enable

Specifies whether to aggregate variables. Specifically, for two variables, (x) and (y), that do not appear in the objective function (represented as (0 cdot x) and (0 cdot y) respectively), this operation aggregates them into a single new variable, denoted as (xy).

message_lines_per_header

Specifies the number of message lines printed between each header information output.

min_over_relaxation_param

Specifies the minimum value for the over-relaxation parameter.

min_penalty_param

Specifies the minimum value for the penalty parameter.

over_relaxation_param_update_upper_bound

Specifies the maximum number of updates for the over-relaxation parameter.

over_relaxation_usage

Specifies whether to use the over-relaxation technique in iterations.

penalty_param_auto

Specifies whether to enable the penalty parameter be tunable automatically.

penalty_param_update_upper_bound

Specifies the maximum number for penalty parameter tuning.

rescale_by_constr_kind_enable

Specifies whether to rescale the constraints based on their type. Specifically, for constraints involving only two variables, where one of the variables does not appear in the objective function, both sides of the equality in such constraints are to be multiplied by a factor ranging from 0 to 1.

residual_balance_dec_tau

Specifies the decrement parameter dec_tau for the residual balance penalty tuning strategy.

residual_balance_inc_tau

Specifies the increment parameter inc_tau for the residual balance penalty tuning strategy.

residual_balance_tuning_mu

Specifies the parameter mu used in the residual balance method.

solver_max_time_limit

Specifies the maximum solving time in seconds.

solver_message_print_interval

Specifies the interval in iterations between each message output by the solver during its operation.

solver_output_precision

Specifies the number of digits after the decimal mark for solver output.

solver_verbosity_level

Specifies the verbosity level of the solver output.

spectral_radius_approximation_dec_tau

Specifies the decrement parameter dec_tau for the spectral radius approximation method.

spectral_radius_approximation_inc_tau

Specifies the increment parameter inc_tau for the spectral radius approximation method.

spectral_radius_tuning_application

Specifies whether to use the spectral radius approximation in parameter tuning.

spectral_radius_tuning_interval

Specifies the iteration interval for updating the penalty parameter using the spectral radius approximation method.

strict_constraint_tol

Specifies the tolerance value for strict constraint.

sub_problem_count_upper_bound

Specifies the maximum number of sub-problems generated by the algorithm, with -1 indicating no maximum limit.

sub_problem_max_iteration

Specifies the maximum number of iterations to solve sub-problems.

sub_problem_solving_order

Specifies the order to solve sub-problems.

sub_solver_absolute_tol

Specifies the absolute tolerance threshold for the iterative solution of sub-problems.

sub_solver_relative_tol

Specifies the relative tolerance threshold for the iterative solution of sub-problems.

termination_absolute_error_threshold

Specifies the maximum absolute error threshold between two successive iterations as the termination criterion.

termination_relative_error_threshold

Specifies the maximum relative error threshold between two successive iterations as the termination criterion.

termination_relative_primal_dual_gap

Specifies the maximum relative error threshold between the primal and dual objective values.

property admm_max_iteration: int

Type: int, min: 1, max: 1000000000, default: 1000, settable: true

Specifies the maximum number of iterations for solving the original problem.

property anderson_acceleration_interval: int

Type: int, min: 1, max: 1000, default: 10, settable: true

Specifies the interval (in iterations) for applying Anderson acceleration. Acceleration is applied every N iterations.

property anderson_acceleration_lookback: int

Type: int, min: 0, max: 100, default: 0, settable: true

Specifies the memory length (number of past iterations) for Anderson acceleration. If > 0, enables Anderson acceleration. Set to 0 to disable.

property anderson_acceleration_max_weight_norm: float

Type: float, min: 1.0, max: 1000000000000000.0, default: 10000000000.0, settable: true

Maximum norm of Anderson acceleration weights. If exceeded, AA step is rejected.

property anderson_acceleration_regularization: float

Type: float, min: 1e-15, max: 0.001, default: 1e-08, settable: true

Regularization parameter for Anderson acceleration. Type-I typically uses 1e-8, Type-II uses 1e-12.

property anderson_acceleration_relaxation: float

Type: float, min: 0.0, max: 2.0, default: 1.0, settable: true

Relaxation parameter for Anderson acceleration in range [0,2]. 1.0 is standard.

property anderson_acceleration_safeguard_factor: float

Type: float, min: 0.1, max: 10.0, default: 2.0, settable: true

Safeguard factor controlling safeguard checks for Anderson acceleration. Larger values are more aggressive but less stable.

property anderson_acceleration_type1: int

Type: int, min: 0, max: 1, default: 1, settable: true

Specifies whether to use Type-I (true) or Type-II (false) Anderson acceleration.

property computational_data_type_preference: int

Type: int, min: -1, max: 1, default: 0, settable: true

Specifies the preferred data type for computational procedures.

  • 0: float

  • 1: double

  • -1: default setting

property constraint_specific_penalty_enable: int

Type: int, min: 0, max: 1, default: 0, settable: true

Specifies whether to enable distinct penalty parameters for each constraint.

property display_sub_solver_details: int

Type: int, min: 0, max: 1, default: 0, settable: true

Specifies whether to output the sub-solver details.

property hyper_param_info_collection_interval: int

Type: int, min: 1, max: 100, default: 10, settable: true

Specifies the interval to collect hyperparameter-related information.

property hyper_param_update_min_interval: int

Type: int, min: 1, max: 100000, default: 300, settable: true

Specifies the minimum iteration interval for hyperparameter updates.

property initial_over_relaxation_param: float

Type: float, min: 0.0, max: 1.618, default: 1.6, settable: true

Specifies the initial value for the over-relaxation parameter.

property initial_penalty_param_value: float

Type: float, min: 0.0, max: 100000000.0, default: 1.0, settable: true

Specifies the initial value for the penalty parameter.

property linear_system_solver: int

Type: int, min: 0, max: 2, default: 1, settable: true

Specifies the solver to solve the linear system.

  • 0: Unknown solver

  • 1: DIRECT linear solver

  • 2: INDIRECT linear solver

property log_iteration_details_to_file: int

Type: int, min: 0, max: 1, default: 0, settable: true

Specifies whether to write iteration details to a file.

property max_over_relaxation_param: float

Type: float, min: 1.0, max: 1.618, default: 1.618, settable: true

Specifies the maximum value for the over-relaxation parameter.

property max_penalty_param: float

Type: float, min: 10000.0, max: 100000000.0, default: 1000000.0, settable: true

Specifies the maximum value for the penalty parameter.

property merge_linobj_enable: int

Type: int, min: 0, max: 1, default: 0, settable: true

Specifies whether to consolidate linear functions of multiple variables in the objective as a unified linear function

property merge_zero_obj_var_enable: int

Type: int, min: 0, max: 1, default: 1, settable: true

Specifies whether to aggregate variables. Specifically, for two variables, (x) and (y), that do not appear in the objective function (represented as (0 cdot x) and (0 cdot y) respectively), this operation aggregates them into a single new variable, denoted as (xy).

property message_lines_per_header: int

Type: int, min: 20, max: 1000, default: 20, settable: true

Specifies the number of message lines printed between each header information output.

property min_over_relaxation_param: float

Type: float, min: 0.0, max: 1.0, default: 0.0, settable: true

Specifies the minimum value for the over-relaxation parameter.

property min_penalty_param: float

Type: float, min: 1e-08, max: 0.0001, default: 1e-06, settable: true

Specifies the minimum value for the penalty parameter.

property over_relaxation_param_update_upper_bound: int

Type: int, min: 0, max: 10000, default: 10, settable: true

Specifies the maximum number of updates for the over-relaxation parameter.

property over_relaxation_usage: int

Type: int, min: 0, max: 1, default: 0, settable: true

Specifies whether to use the over-relaxation technique in iterations.

property penalty_param_auto: int

Type: int, min: 0, max: 1, default: 1, settable: true

Specifies whether to enable the penalty parameter be tunable automatically.

property penalty_param_update_upper_bound: int

Type: int, min: 0, max: 10000, default: 20, settable: true

Specifies the maximum number for penalty parameter tuning.

property rescale_by_constr_kind_enable: int

Type: int, min: 0, max: 1, default: 0, settable: true

Specifies whether to rescale the constraints based on their type. Specifically, for constraints involving only two variables, where one of the variables does not appear in the objective function, both sides of the equality in such constraints are to be multiplied by a factor ranging from 0 to 1.

property residual_balance_dec_tau: float

Type: float, min: 1.0, max: 1000.0, default: 1.5, settable: true

Specifies the decrement parameter dec_tau for the residual balance penalty tuning strategy.

property residual_balance_inc_tau: float

Type: float, min: 1.0, max: 1000.0, default: 1.5, settable: true

Specifies the increment parameter inc_tau for the residual balance penalty tuning strategy.

property residual_balance_tuning_mu: float

Type: float, min: 0.0001, max: 10000.0, default: 30.0, settable: true

Specifies the parameter mu used in the residual balance method.

property solver_max_time_limit: float

Type: float, min: 0.0, max: 10000000.0, default: 1000.0, settable: true

Specifies the maximum solving time in seconds.

property solver_message_print_interval: int

Type: int, min: 1, max: 10000, default: 1000, settable: true

Specifies the interval in iterations between each message output by the solver during its operation.

property solver_output_precision: int

Type: int, min: -1, max: 100, default: 2, settable: true

Specifies the number of digits after the decimal mark for solver output.

  • -1: default value

property solver_verbosity_level: int

Type: int, min: 0, max: 6, default: 2, settable: true

Specifies the verbosity level of the solver output.

  • 0: DETAIL

  • 1: INFO

  • 2: SUMMARY

  • 3: SILENT

  • 4: WARNING

  • 5: ERROR

  • 6: FATAL

property spectral_radius_approximation_dec_tau: float

Type: float, min: 1.0, max: 1000.0, default: 10.0, settable: true

Specifies the decrement parameter dec_tau for the spectral radius approximation method.

property spectral_radius_approximation_inc_tau: float

Type: float, min: 1.0, max: 1000.0, default: 10.0, settable: true

Specifies the increment parameter inc_tau for the spectral radius approximation method.

property spectral_radius_tuning_application: int

Type: int, min: 0, max: 1, default: 1, settable: true

Specifies whether to use the spectral radius approximation in parameter tuning.

property spectral_radius_tuning_interval: int

Type: int, min: 1, max: 10000, default: 5, settable: true

Specifies the iteration interval for updating the penalty parameter using the spectral radius approximation method.

property strict_constraint_tol: float

Type: float, min: 1e-18, max: 1.0, default: 1e-08, settable: true

Specifies the tolerance value for strict constraint.

property sub_problem_count_upper_bound: int

Type: int, min: -1, max: 100000, default: -1, settable: true

Specifies the maximum number of sub-problems generated by the algorithm, with -1 indicating no maximum limit.

property sub_problem_max_iteration: int

Type: int, min: 1, max: 10000, default: 10, settable: true

Specifies the maximum number of iterations to solve sub-problems.

property sub_problem_solving_order: int

Type: int, min: 0, max: 1, default: 0, settable: true

Specifies the order to solve sub-problems.

  • 0: Gauss-Seidel sequential execution

  • 1: Jacobi parallel execution

property sub_solver_absolute_tol: float

Type: float, min: 1e-08, max: 1.0, default: 0.001, settable: true

Specifies the absolute tolerance threshold for the iterative solution of sub-problems.

property sub_solver_relative_tol: float

Type: float, min: 1e-08, max: 1.0, default: 0.001, settable: true

Specifies the relative tolerance threshold for the iterative solution of sub-problems.

property termination_absolute_error_threshold: float

Type: float, min: 1e-16, max: 0.1, default: 1e-06, settable: true

Specifies the maximum absolute error threshold between two successive iterations as the termination criterion.

property termination_relative_error_threshold: float

Type: float, min: 1e-16, max: 0.1, default: 1e-06, settable: true

Specifies the maximum relative error threshold between two successive iterations as the termination criterion.

property termination_relative_primal_dual_gap: float

Type: float, min: 1e-16, max: 0.1, default: 0.0001, settable: true

Specifies the maximum relative error threshold between the primal and dual objective values.