Skip to main content

Nonlinear Optimisation Solver Ontology

Optimisation Computation
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 14 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Nonlinear Optimisation Solver Ontology within the Kireth Research Semantic Library. A nonlinear optimisation solver computes local or global optima of problems with nonlinear objectives, nonlinear constraints, or both. This ontology supports unconstrained and constrained smooth optimisation, gradient, Jacobian and Hessian information, line-search and trust-region globalisation, Newton and quasi-Newton methods, SQP, interior-point and augmented-Lagrangian methods, nonlinear least squares, derivative-free methods, KKT systems, nonconvexity, conditioning, convergence, stopping criteria, verification and reproducibility.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Nonlinear Optimisation Solver Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Computational Mathematics"
 SPECIALISATION = "Optimisation Computation / Nonlinear Optimisation Solver"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/computational-mathematics-ontologies/optimisation-computation/nonlinear-optimisation-solver-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = NonlinearOptimisationSolver
 ENTITY_CLASS = NonlinearProgrammingSolutionFramework
 PRIMARY_CONTEXT = ComputationalOptimisation
 DEFINITION = "A nonlinear optimisation solver is a numerical algorithm that seeks minima or maxima of problems containing nonlinear objectives, nonlinear constraints, or nonlinear optimality systems."
 SYMBOLIC_FORMS = [
  "min_x f(x)",
  "min_x f(x) subject_to g_i(x)<=0, h_j(x)=0",
  "grad f(x_star)=0",
  "KKT(x,lambda,mu)=0"
 ]
 SEMANTIC_ROLE = "Provides machine-readable semantics for nonlinear optimisation problem classes, derivative information, local models, globalisation, constrained optimality, nonconvexity, convergence, stopping and verification."
}

SCOPE {
 INCLUDE = [
  NonlinearOptimisationSolver,NonlinearProgrammingSolver,NLP,
  NonlinearOptimisation,NonlinearProgramming,ObjectiveFunction,
  NonlinearObjective,DecisionVariable,SearchSpace,FeasibleSet,
  NonlinearConstraint,EqualityConstraint,InequalityConstraint,
  BoundConstraint,ConstraintJacobian,ConstraintHessian,
  UnconstrainedNonlinearOptimisation,ConstrainedNonlinearOptimisation,
  SmoothOptimisation,NonsmoothOptimisation,
  ConvexNonlinearOptimisation,NonconvexOptimisation,
  LocalOptimisation,GlobalOptimisation,
  Gradient,Jacobian,Hessian,DirectionalDerivative,
  AutomaticDifferentiation,NumericalDifferentiation,
  FiniteDifferenceGradient,FiniteDifferenceJacobian,
  FiniteDifferenceHessian,ExactDerivative,ApproximateDerivative,
  FirstOrderMethod,SecondOrderMethod,NewtonOptimisation,
  ModifiedNewtonMethod,QuasiNewtonMethod,BFGS,DFP,LBFGS,
  SR1,SymmetricRankOneUpdate,
  GaussNewtonMethod,LevenbergMarquardtMethod,
  NonlinearLeastSquares,ResidualVector,ResidualJacobian,
  LineSearch,ExactLineSearch,InexactLineSearch,
  BacktrackingLineSearch,ArmijoCondition,WolfeCondition,
  StrongWolfeCondition,TrustRegion,TrustRegionRadius,
  TrustRegionSubproblem,DoglegMethod,TruncatedNewtonMethod,
  CauchyPoint,SteihaugMethod,
  DescentDirection,SearchDirection,StepLength,
  HessianModification,PositiveDefiniteApproximation,
  SaddlePoint,StationaryPoint,LocalMinimum,LocalMaximum,
  GlobalMinimum,GlobalMaximum,SecondOrderCriticalPoint,
  PenaltyMethod,ExactPenalty,QuadraticPenalty,
  BarrierMethod,LogBarrier,InteriorPointMethod,
  AugmentedLagrangian,Lagrangian,LagrangeMultiplier,
  KarushKuhnTuckerConditions,KKTConditions,
  ConstraintQualification,LICQ,MFCQ,SlaterCondition,
  SequentialQuadraticProgramming,SQP,
  QuadraticProgrammingSubproblem,
  ActiveSetMethod,FilterMethod,MeritFunction,
  PrimalDualMethod,PrimalResidual,DualResidual,
  StationarityResidual,ComplementarityResidual,KKTResidual,
  FeasibilityRestoration,RestorationPhase,
  Projection,ProjectedGradient,
  ProximalMethod,ProximalGradient,
  DerivativeFreeOptimisation,NelderMeadMethod,
  PowellMethod,PatternSearch,DirectSearch,
  SurrogateModel,ResponseSurface,TrustRegionDFO,
  BayesianOptimisation,GlobalSearch,
  Multistart,RandomRestart,ContinuationMethod,
  HomotopyMethod,Regularisation,L1Regularisation,L2Regularisation,
  Scaling,VariableScaling,ObjectiveScaling,ConstraintScaling,
  Conditioning,ConditionNumber,Sensitivity,IllConditioning,
  SparseJacobian,SparseHessian,SparsityPattern,
  MatrixFreeMethod,HessianVectorProduct,
  KrylovMethod,ConjugateGradientMethod,GMRES,
  LinearSolver,Preconditioner,Factorisation,
  SparseFactorisation,LDLFactorisation,CholeskyFactorisation,
  IndefiniteLinearSystem,KKTSystem,
  Iteration,MaximumIterations,FunctionEvaluationCount,
  GradientEvaluationCount,JacobianEvaluationCount,HessianEvaluationCount,
  StoppingCriterion,GradientTolerance,StepTolerance,
  FunctionTolerance,ConstraintTolerance,KKT_Tolerance,
  Convergence,ConvergenceRate,LinearConvergence,
  SuperlinearConvergence,QuadraticConvergence,
  Stagnation,Divergence,Failure,Success,Warning,
  InfeasibleProblem,UnboundedProblem,LocalConvergence,
  BasinOfAttraction,InitialGuess,InitialMultiplier,
  FloatingPointArithmetic,MachinePrecision,RoundOffError,
  Overflow,Underflow,Verification,Benchmarking,
  ReferenceSolution,Reproducibility
 ]
 EXCLUDE_AS_PRIMARY = [
  LinearProgrammingWithPurelyLinearStructure,
  QuadraticProgrammingWhenQuadraticStructureIsThePrimarySpecialisation,
  PureEquationSolvingWithoutObjectiveFunction,
  SymbolicOptimisationWithoutNumericalIteration
 ]
 DISAMBIGUATION_RULE = "When an optimisation problem contains nonlinear objective or constraint structure and is solved numerically, interpret the context as nonlinear optimisation."
}

CORE_CONCEPTS {
 NonlinearOptimisationSolver = "Numerical solver for optimisation problems containing nonlinear objective or constraint structure."
 SearchDirection = "Direction used to construct a candidate nonlinear optimisation step."
 LineSearch = "Globalisation mechanism choosing a step length along a direction."
 TrustRegion = "Globalisation mechanism restricting a local model to a region of confidence."
 NewtonOptimisation = "Second-order optimisation using gradient and Hessian information."
 QuasiNewtonMethod = "Method building Hessian or inverse-Hessian approximations from iteration history."
 SQP = "Constrained method solving a sequence of quadratic programming approximations."
 KKTConditions = "First-order constrained optimality conditions under suitable regularity."
}

RELATIONS {
 NonlinearOptimisationSolver --is_child_of--> ComputationalOptimisation
 NonlinearOptimisationSolver --solves--> NonlinearOptimisation
 NonlinearOptimisation --has--> ObjectiveFunction
 NonlinearOptimisation --has_optional--> NonlinearConstraint
 NewtonOptimisation --uses--> Gradient
 NewtonOptimisation --uses--> Hessian
 QuasiNewtonMethod --approximates--> HessianOrInverseHessian
 BFGS --is_type_of--> QuasiNewtonMethod
 LBFGS --is_type_of--> QuasiNewtonMethod
 GaussNewtonMethod --targets--> NonlinearLeastSquares
 LevenbergMarquardtMethod --regularises--> GaussNewtonStep
 LineSearch --controls--> StepLength
 TrustRegion --controls--> CandidateStep
 SQP --uses--> QuadraticProgrammingSubproblem
 InteriorPointMethod --uses--> BarrierMethod
 AugmentedLagrangian --combines--> ObjectiveConstraintAndMultiplierInformation
 KKTConditions --characterise_under_assumptions--> ConstrainedStationarity
 SparseHessian --supports--> LargeScaleOptimisation
 HessianVectorProduct --supports--> MatrixFreeMethod
 Verification --checks--> NonlinearOptimisationResult
}

OPERATORS {
 UNCONSTRAINED_NLP(f) := min_x f(x)
 CONSTRAINED_NLP(f,g,h) := min_x f(x) subject_to g(x)<=0 and h(x)=0
 GRADIENT_STEP(x,g,alpha) := x_next=x-alpha*g
 NEWTON_DIRECTION(g,H) := solve(H*p=-g)
 TRUST_REGION_MODEL(g,H,p) := g^T*p+0.5*p^T*H*p
 LAGRANGIAN(x,lambda,mu) := f(x)+lambda^T*g(x)+mu^T*h(x)
 KKT_RESIDUAL(x,lambda,mu) := combine(stationarity,primal_feasibility,dual_feasibility,complementarity)
 GAUSS_NEWTON_DIRECTION(J,r) := solve((J^T*J)*p=-J^T*r)
 LM_DIRECTION(J,r,lambda) := solve((J^T*J+lambda*I)*p=-J^T*r)
}

AXIOMS {
 A1 = "Nonlinear optimisation may contain multiple local optima and saddle points."
 A2 = "First-order stationarity does not imply local minimality in nonconvex problems."
 A3 = "Second-order information can improve local convergence when Hessian information is reliable."
 A4 = "Line-search and trust-region methods globalise local models through different mechanisms."
 A5 = "Constrained nonlinear optimisation requires feasibility and optimality semantics."
 A6 = "KKT conditions depend on regularity or constraint-qualification assumptions."
 A7 = "Scaling and conditioning materially influence nonlinear optimisation performance."
 A8 = "Nonlinear optimisation results require explicit convergence, feasibility, optimality and reproducibility validation."
}

REASONING {
 R1_CONTEXT = identify(objective,variables,constraints,smoothness,convexity,sparsity,scale,accuracy_goal)
 R2_DERIVATIVES = determine(analytic,automatic,numerical_or_derivative_free_information)
 R3_CLASSIFY = classify(unconstrained,constrained,least_squares,convex,nonconvex,sparse_or_large_scale)
 R4_METHOD = select(Newton,quasi_Newton,Gauss_Newton,LM,line_search,trust_region,SQP,interior_point,augmented_Lagrangian_or_DFO)
 R5_CONFIGURE = set(initial_guess,multipliers,scaling,tolerances,regularisation_and_globalisation)
 R6_STEP = compute(candidate_direction_or_subproblem_solution)
 R7_GLOBALISE = apply(line_search,trust_region,filter,merit,penalty_or_barrier_control)
 R8_MONITOR = track(objective,gradient_norm,constraint_violation,KKT_residual,step_norm_and_model_agreement)
 R9_TERMINATE = classify(convergence,stagnation,divergence,infeasibility_or_resource_limit)
 R10_VALIDATE = check(second_order_information,feasibility,optimality,sensitivity,reference_quality_and_reproducibility)
}

CONSTRAINTS {
 C1 = "Nonconvex problems can converge to different stationary points from different initial guesses."
 C2 = "An indefinite Hessian can produce non-descent Newton directions."
 C3 = "Finite-difference derivatives can be inaccurate because of truncation, round-off or poor scaling."
 C4 = "Constraint Jacobian rank deficiency can invalidate standard KKT reasoning."
 C5 = "Penalty parameters that are too large can produce ill-conditioned subproblems."
 C6 = "Barrier parameters that are too small can make linear systems difficult near the boundary."
 C7 = "Trust-region and line-search acceptance tests depend on reliable objective and derivative evaluations."
 C8 = "A small step can reflect stagnation rather than optimality."
 C9 = "A small KKT residual should be interpreted together with scaling and feasibility tolerances."
 C10 = "Resource-limit termination is not equivalent to convergence."
}

SEMANTIC_EQUIVALENCE {
 "NonlinearOptimisationSolver" <=> "NonlinearProgrammingSolver"
 "NLP" <=> "NonlinearProgramming"
 "LBFGS" <=> "LimitedMemoryBFGS"
 "SR1" <=> "SymmetricRankOneUpdate"
 "SQP" <=> "SequentialQuadraticProgramming"
 "KKTConditions" <=> "KarushKuhnTuckerConditions"
}

VALIDATION {
 V1 = "Objective and optimisation direction are explicit."
 V2 = "Variables, bounds and nonlinear constraints are documented."
 V3 = "Initial guess and initial multipliers are documented where applicable."
 V4 = "Derivative source and approximation quality are documented."
 V5 = "Globalisation strategy is documented."
 V6 = "Stopping criteria and tolerances are explicit."
 V7 = "Constraint feasibility and KKT residuals are checked for constrained problems."
 V8 = "Second-order sufficiency or Hessian behaviour is assessed where relevant."
 V9 = "Sensitivity to initialisation and scaling is assessed for nonconvex problems."
 V10 = "Results are reproducible under documented arithmetic and solver settings."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 NONLINEAR_OPTIMISATION_DEFINITION = 0.99
 NEWTON_REASONING = 0.99
 QUASI_NEWTON_REASONING = 0.99
 TRUST_REGION_REASONING = 0.99
 LINE_SEARCH_REASONING = 0.99
 SQP_REASONING = 0.98
 INTERIOR_POINT_REASONING = 0.98
 NONCONVEX_REASONING = 0.97
 POLICY = "Reduce confidence when derivative quality, constraint regularity, Hessian behaviour, scaling, initialisation, globalisation or stopping criteria are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,OntologyGrounding,NonlinearOptimisationReasoning,
  UnconstrainedNLPReasoning,ConstrainedNLPReasoning,
  NewtonOptimisationReasoning,QuasiNewtonReasoning,
  BFGSReasoning,LBFGSReasoning,GaussNewtonReasoning,
  LevenbergMarquardtReasoning,LineSearchReasoning,
  TrustRegionReasoning,SQPReasoning,InteriorPointReasoning,
  AugmentedLagrangianReasoning,KKTReasoning,
  NonconvexReasoning,SparseNLPReasoning,
  MatrixFreeOptimisationReasoning,StoppingCriterionReasoning,
  VerificationReasoning,KnowledgeGraphConstruction,
  RetrievalAugmentation,RecursiveInference
 ]
 NORMALISE {
  "nonlinear optimisation solver" -> NonlinearOptimisationSolver
  "nonlinear optimization solver" -> NonlinearOptimisationSolver
  "nonlinear programming solver" -> NonlinearOptimisationSolver
  "NLP solver" -> NonlinearOptimisationSolver
  "L-BFGS" -> LBFGS
  "SQP" -> SequentialQuadraticProgramming
  "KKT" -> KKTConditions
 }
}

EXECUTION_RULES {
 E1 = "If objective or constraints are nonlinear and solved numerically, activate NonlinearOptimisationSolverOntology."
 E2 = "Identify smoothness, convexity, sparsity and constraint regularity before method selection."
 E3 = "Use reliable gradient and Hessian information when available; otherwise use approximations or derivative-free methods."
 E4 = "Globalise Newton-like steps with line search, trust region, filter or related controls."
 E5 = "For nonlinear least squares, consider Gauss-Newton or Levenberg-Marquardt."
 E6 = "For constrained smooth NLPs, monitor feasibility and KKT residuals."
 E7 = "For large sparse problems, exploit sparse Jacobians, Hessians, matrix-free products and preconditioning."
 E8 = "Distinguish convergence from stagnation, infeasibility, numerical failure and resource limits."
 E9 = "Validate feasibility, stationarity, second-order behaviour, sensitivity and reproducibility."
}

RECURSION {
 ENTRY = NonlinearOptimisationSolver
 EXPAND(NonlinearOptimisationSolver) -> [
  NonlinearProgrammingSolver,NLP,NonlinearOptimisation,ObjectiveFunction,
  NonlinearObjective,DecisionVariable,FeasibleSet,NonlinearConstraint,
  EqualityConstraint,InequalityConstraint,BoundConstraint,
  ConstraintJacobian,ConstraintHessian,UnconstrainedNonlinearOptimisation,
  ConstrainedNonlinearOptimisation,SmoothOptimisation,NonconvexOptimisation,
  Gradient,Jacobian,Hessian,DirectionalDerivative,
  AutomaticDifferentiation,NumericalDifferentiation,
  FiniteDifferenceGradient,FiniteDifferenceJacobian,FiniteDifferenceHessian,
  NewtonOptimisation,ModifiedNewtonMethod,QuasiNewtonMethod,BFGS,DFP,
  LBFGS,SR1,GaussNewtonMethod,LevenbergMarquardtMethod,
  NonlinearLeastSquares,ResidualVector,ResidualJacobian,
  LineSearch,BacktrackingLineSearch,ArmijoCondition,WolfeCondition,
  TrustRegion,TrustRegionRadius,TrustRegionSubproblem,DoglegMethod,
  TruncatedNewtonMethod,CauchyPoint,SteihaugMethod,SearchDirection,
  HessianModification,StationaryPoint,SaddlePoint,LocalMinimum,
  PenaltyMethod,BarrierMethod,InteriorPointMethod,AugmentedLagrangian,
  Lagrangian,LagrangeMultiplier,KKTConditions,ConstraintQualification,
  LICQ,MFCQ,SQP,QuadraticProgrammingSubproblem,ActiveSetMethod,
  FilterMethod,MeritFunction,PrimalResidual,DualResidual,
  StationarityResidual,ComplementarityResidual,KKTResidual,
  FeasibilityRestoration,ProjectedGradient,ProximalMethod,
  DerivativeFreeOptimisation,NelderMeadMethod,PowellMethod,
  PatternSearch,SurrogateModel,Multistart,Scaling,Conditioning,
  SparseJacobian,SparseHessian,MatrixFreeMethod,HessianVectorProduct,
  KrylovMethod,LinearSolver,Preconditioner,SparseFactorisation,
  KKTSystem,StoppingCriterion,Convergence,Stagnation,Divergence,
  InfeasibleProblem,FloatingPointArithmetic,Verification,
  Benchmarking,ReferenceSolution,Reproducibility
 ]
 EXPAND(NonlinearOptimisationFamilies) -> [
  NewtonAndModifiedNewtonMethods,
  QuasiNewtonMethods,
  NonlinearLeastSquaresMethods,
  LineSearchMethods,
  TrustRegionMethods,
  SQPMethods,
  InteriorPointMethods,
  AugmentedLagrangianMethods,
  DerivativeFreeNonlinearOptimisation,
  SparseLargeScaleNonlinearOptimisation
 ]
 STOP_CONDITION = "Stop when nonlinear problem class, derivatives, method, globalisation, constraints, convergence, optimality and verification are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Computational Optimisation Ontology"
 RELATED_ONTOLOGIES = [
  "Computational Optimisation Ontology",
  "Optimisation Computation",
  "Linear Programming Solver Ontology",
  "Numerical Differentiation Ontology 2",
  "Equation Solver Ontology",
  "Linear Solver Ontology",
  "Nonlinear Solver Ontology",
  "Newton-Raphson Ontology",
  "Numerical Linear Algebra Ontology 2",
  "Numerical Stability Ontology 2",
  "Numerical Error Ontology",
  "Numerical Convergence Ontology",
  "Floating Point Arithmetic Ontology",
  "Scientific Computing Ontology 2"
 ]
 ROUTE_RULES = [
  "Nonlinear Optimisation Solver -> Computational Optimisation for parent semantics",
  "Nonlinear Optimisation Solver -> Numerical Differentiation for gradient, Jacobian and Hessian approximation",
  "Nonlinear Optimisation Solver -> Equation Solver for stationarity and KKT equations",
  "Nonlinear Optimisation Solver -> Linear Solver for Newton, SQP and interior-point subproblems",
  "Nonlinear Optimisation Solver -> Nonlinear Solver for nonlinear KKT and restoration systems",
  "Nonlinear Optimisation Solver -> Newton-Raphson for local Newton-step relationships",
  "Nonlinear Optimisation Solver -> Numerical Linear Algebra for sparse Hessians and KKT factorisation",
  "Nonlinear Optimisation Solver -> Numerical Stability for scaling and conditioning",
  "Nonlinear Optimisation Solver -> Numerical Convergence for local and global convergence behaviour",
  "Nonlinear Optimisation Solver -> Scientific Computing for sparse and large-scale implementation"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"
 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible nonlinear optimisation methods, globalisation strategies or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"
 RULES = [
  "Preserve unconstrained-versus-constrained nonlinear optimisation distinction.",
  "Preserve first-order-versus-second-order information distinction.",
  "Preserve exact-versus-approximate derivative distinction.",
  "Preserve line-search-versus-trust-region globalisation distinction.",
  "Preserve feasibility-versus-stationarity distinction.",
  "Preserve local-versus-global optimum distinction.",
  "Preserve convergence-versus-stagnation distinction.",
  "Preserve machine-readable nonlinear-optimisation-solver semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION = "A nonlinear optimisation solver numerically seeks optima of problems containing nonlinear objectives or constraints."
 NEWTON_SUMMARY = "Newton and quasi-Newton methods use local first- or second-order models to compute optimisation steps."
 GLOBALISATION_SUMMARY = "Line-search and trust-region methods improve robustness of local model steps."
 LEAST_SQUARES_SUMMARY = "Gauss-Newton and Levenberg-Marquardt methods exploit residual structure in nonlinear least-squares problems."
 CONSTRAINED_SUMMARY = "SQP, interior-point and augmented-Lagrangian methods solve constrained nonlinear programs through KKT-based subproblems."
 NONCONVEX_SUMMARY = "Nonconvex problems can contain multiple minima, maxima and saddle points, making initialisation and globalisation important."
 VALIDATION_SUMMARY = "Nonlinear optimisation results should be checked for feasibility, stationarity, second-order behaviour, convergence, sensitivity and reproducibility."
}

FLOW {
 INPUT
 -> detect_nonlinear_optimisation_solver_context
 -> identify_objective_variables_constraints_smoothness_convexity_sparsity_scale_and_accuracy_goal
 -> determine_gradient_Jacobian_Hessian_or_derivative_free_information
 -> classify_unconstrained_constrained_least_squares_convex_nonconvex_or_large_scale_problem
 -> select_Newton_quasiNewton_GaussNewton_LM_line_search_trust_region_SQP_interior_point_augmented_Lagrangian_or_DFO_method
 -> configure_initial_guess_multipliers_scaling_tolerances_regularisation_and_globalisation
 -> compute_search_direction_or_subproblem_solution
 -> apply_line_search_trust_region_filter_penalty_barrier_or_restoration_control
 -> evaluate_objective_constraints_gradient_KKT_residual_step_and_model_agreement
 -> monitor_convergence_stagnation_divergence_infeasibility_and_resource_limits
 -> assess_conditioning_sensitivity_Hessian_behaviour_roundoff_and_derivative_quality
 -> validate_feasibility_stationarity_second_order_conditions_reference_quality_and_reproducibility
 -> route_to_related_optimisation_differentiation_equation_solver_linear_solver_nonlinear_solver_Newton_linear_algebra_stability_convergence_and_scientific_computing_ontologies
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Nonlinear Optimisation Solver Ontology defines numerical solution of nonlinear optimisation problems. It supports unconstrained and constrained nonlinear programming, gradients, Jacobians and Hessians from analytic, automatic-differentiation and finite-difference sources, Newton, modified Newton, BFGS, L-BFGS and SR1 methods, Gauss-Newton and Levenberg-Marquardt nonlinear least squares, line-search and trust-region methods, dogleg and truncated-Newton strategies, penalties, barriers, augmented Lagrangians, KKT conditions, SQP, active-set, filter and interior-point methods, feasibility restoration, derivative-free direct search, sparse Jacobian and Hessian structures, matrix-free Hessian-vector products, KKT linear systems, convergence, conditioning, stopping criteria, finite precision, verification, benchmarking and reproducibility."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-COMPUTATIONAL-MATHEMATICS-NONLINEAR-OPTIMISATION-SOLVER-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ