Class SolverLNNlp

java.lang.Object
jline.solvers.ln.SolverLNNlp

public final class SolverLNNlp extends Object
The QD-AMVA analyzer of SolverLN (method 'nlp'): the whole layered model as ONE program, plus the two warm starts ('nlp' and 'mol') that seed the LAYERED fixed point instead of starting it from the bare host demands.

Every other SolverLN method decomposes the model into layers and drives a fixed point between them. This one writes the model's flow, composition and closure relations as linear constraints, its congestion and Little laws as residuals, and roots the lot (Lqn_export_nlp.Program.solve(int, int)). There are no submodels, no layer solvers and no outer iteration. The laws are QD-AMVA (Casale, Perez and Wang, PERFORMANCE 2015). Features the algebraic form cannot state are refused BY NAME when the program is built.

Twin of python solver_ln_nlp_analyzer.py and solver_ln_mol_warmstart.py. The settings are read off options.config as additional parameters: lld, nlp_alpha, nlp_fork, nlp_warm, nlp_maxiter for the program and mol_iter_max, mol_iter_tol, mol_relax_factor for the Method of Layers seed.

  • Method Details

    • analyze

      public static Matrix[] analyze(SolverLN solver)
      Solve a layered model as one nonlinear program and report its averages.
      Parameters:
      solver - the SolverLN, constructed with method 'nlp'
      Returns:
      {QN, UN, RN, TN, AN, WN}, each a 1 x nidx row over the ABSOLUTE LQN index, as the layered path returns them before table assembly
      Throws:
      LqnNlpExportException - when the model uses a feature the form cannot express