Skip to main content

Module quality_function

Module quality_function 

Source
Expand description

Quality-function mu oracle — port of IpQualityFunctionMuOracle.{hpp,cpp}. Phase 10.

The oracle picks μ_new = σ * avrg_compl by minimizing a 1-D quality function q(σ) over σ ∈ [σ_lo, σ_up] via golden section. The full vector-valued evaluator (which builds the trial slack / multiplier vectors at a candidate σ and reduces them to a scalar norm) is split into two pieces:

  • evaluate_quality_function — a pure-scalar reducer that takes already-computed ‖·‖ aggregates and combines them per the (norm, centrality, balancing) triple per IpQualityFunctionMuOracle.cpp:566-658. The vector→aggregate step is the caller’s responsibility.
  • pick_sigma — orchestrator that mirrors IpQualityFunctionMuOracle.cpp::CalculateMu lines 329-385: picks the σ-bracket, evaluates q(1) and q(1−ε) to decide whether to search above or below 1, then drives golden_section.

Wiring pick_sigma to a fully populated q(σ) evaluator — including the centering predictor solve — is the remaining scope.

Structs§

QualityFunctionAggregates
Per-norm aggregates feeding evaluate_quality_function.
QualityFunctionMuOracle

Enums§

BalancingTermType
CentralityType
NormType

Functions§

evaluate_quality_function
Pure-scalar reducer corresponding to IpQualityFunctionMuOracle.cpp::CalculateQualityFunction lines 566-658 minus the vector→aggregate reduction. Combines the caller-provided norm aggregates per the configured (norm, centrality, balancing) triple.
golden_section
Pure-scalar golden-section minimizer used by QualityFunctionMuOracle::PerformGoldenSection (IpQualityFunctionMuOracle.cpp:668-790).
pick_sigma
Sigma-bracket selection + golden-section orchestrator. Mirrors IpQualityFunctionMuOracle.cpp::CalculateMu lines 329-385.