Class TransformMethod

java.lang.Object
jline.solvers.tr.TransformMethod

public final class TransformMethod extends Object
Method name table for TransformSolve, mirroring MATLAB matlab/src/solvers/TR/transform_method.m and python transform_driver.transform_method.

A method name names a model transformation: the strategy rewrites the model into subproblems, those are solved by a real solver, and the metrics are mapped back. An unrecognised token is an ERROR rather than a silent none, because a mistyped transform that quietly solved the untransformed model would report a plausible number for the wrong problem.

NOT every transformation in the tree is reachable here. The fork-join tag augmentation (FJTagTransform) is selected STRUCTURALLY, from the presence of a Fork or Join node, and never by a token; the MMT/HT fixed point keeps its own options.config.fork_join.

  • Field Details

    • NONE

      public static final String NONE
      No transformation; the caller solves its own model directly.
      See Also:
    • CHAINS

      public static final String CHAINS
      Collapse every chain onto a single class, then deaggregate through alpha.
      See Also:
    • LC

      public static final String LC
      Load concealment (Birman-Kogan Algorithm 2), the first ITERATED strategy.
      See Also:
  • Method Details

    • canonical

      public static String canonical(Object token)
      Normalises a transform method name onto its canonical name.
      Parameters:
      token - the raw options.config.transform value, possibly null
      Returns:
      NONE or CHAINS
    • strategy

      public static TransformSolve.Strategy strategy(String canonical)
      The strategy implementing a canonical method name, or null for NONE.
    • depth

      public static int depth(SolverOptions options)
      The nesting depth carried in options.config.transform_depth.