discopt.solvers.mip_nlp_options#

Shared option names for the MIP-NLP solver-family facade.

Attributes#

Classes#

MIPNLPShotConfig

Validated experimental controls for the SHOT-parity MIP-NLP profile.

Functions#

normalize_mip_nlp_profile(→ str)

Normalize the optional MIP-NLP profile selector.

normalize_shot_config(→ MIPNLPShotConfig)

Validate the SHOT-profile option subset and fill stable defaults.

split_mip_nlp_profile_options(→ tuple[str, ...)

Separate experimental profile options from method-native options.

ensure_mip_nlp_trace(→ None)

Attach a minimal trace envelope when a solver path did not populate one.

Module Contents#

discopt.solvers.mip_nlp_options.FP_OPTION_KEYS = ('fp_iteration_limit', 'fp_cutoffdecr', 'fp_projcuts', 'fp_transfercuts', 'fp_projzerotol',...#
discopt.solvers.mip_nlp_options.GOA_OA_FORWARD_OPTION_KEYS = ('rel_gap', 'max_iter', 'init_strategy', 'feasibility_norm', 'fp_iteration_limit',...#
discopt.solvers.mip_nlp_options.GOA_AMP_OPTION_DEFAULTS: dict[str, Any]#
discopt.solvers.mip_nlp_options.GOA_AMP_ONLY_OPTION_KEYS = ('abs_tol', 'use_start_as_incumbent', 'n_init_partitions', 'partition_method',...#
discopt.solvers.mip_nlp_options.GOA_OPTION_KEYS#
discopt.solvers.mip_nlp_options.MIP_NLP_PROFILE_OPTION_KEYS = ('mip_nlp_profile',)#
discopt.solvers.mip_nlp_options.SHOT_OPTION_KEYS = ('tree_strategy', 'cut_strategy', 'objective_epigraph', 'anti_epigraph',...#
class discopt.solvers.mip_nlp_options.MIPNLPShotConfig#

Validated experimental controls for the SHOT-parity MIP-NLP profile.

tree_strategy: str = 'multi_tree'#
cut_strategy: str = 'auto'#
objective_epigraph: str = 'auto'#
anti_epigraph: str = 'auto'#
nonlinear_partitioning: str = 'auto'#
quadratic_partitioning: str = 'auto'#
absolute_value_auxiliaries: str = 'auto'#
monomial_extraction: str = 'auto'#
signomial_extraction: str = 'auto'#
integer_bilinear_strategy: str = 'auto'#
integer_bilinear_max_bits: int | None = 12#
quadratic_extraction: str = 'auto'#
direct_quadratic_routing: str = 'auto'#
rootsearch_strategy: str = 'auto'#
fixed_nlp_strategy: str = 'adaptive'#
solution_pool_capacity: int | None = None#
hyperplane_max_per_iter: int | None = None#
hyperplane_selection_factor: float = 1.0#
relaxation_phase: str = 'auto'#
mip_solution_limit_strategy: str = 'adaptive'#
convex_bounding: bool = False#
master_repair: bool = False#
reduction_cuts: bool = False#
as_trace_dict() → dict[str, Any]#
discopt.solvers.mip_nlp_options.normalize_mip_nlp_profile(value: Any = None) → str#

Normalize the optional MIP-NLP profile selector.

discopt.solvers.mip_nlp_options.normalize_shot_config(raw_options: dict[str, Any]) → MIPNLPShotConfig#

Validate the SHOT-profile option subset and fill stable defaults.

discopt.solvers.mip_nlp_options.split_mip_nlp_profile_options(options: dict[str, Any]) → tuple[str, MIPNLPShotConfig | None, dict[str, Any]]#

Separate experimental profile options from method-native options.

discopt.solvers.mip_nlp_options.ensure_mip_nlp_trace(result: Any, *, method: str, profile: str, shot_config: MIPNLPShotConfig | None) → None#

Attach a minimal trace envelope when a solver path did not populate one.