netoptim/optscaling_oracle.hpp file

Oracle for Optimal Matrix Scaling Problem.

This module implements an oracle for solving the optimal matrix scaling problem as formulated by Orlin and Rothblum (1985). The problem involves finding diagonal scaling factors that minimize the ratio between the maximum and minimum scaled matrix entries.

The problem formulation: min pi/phi s.t. phi ≤ utx[i] * |aij| * utx[j]^-1 ≤ pi, ∀ aij != 0, pi, phi, utx, positive

where utx are the scaling factors, pi is the maximum scaled entry, and phi is the minimum scaled entry.

Classes

template<typename Graph, typename Mapping, typename Fn>
class OptScalingOracle
Oracle for Optimal Matrix Scaling.