Public API

This page lists exported symbols of CTSolvers.DOCP.


From CTSolvers.DOCP

CTSolvers.DOCP

CTSolvers.DOCPModule

DOCP (Discretized Optimal Control Problem) module.

This module defines the DiscretizedModel type and the associated API to build NLP models and reconstruct OCP solutions via the Optimization and Modelers contracts.

The DOCP layer is the bridge between continuous-time models (from CTModels) and the solver/modeler infrastructure provided by CTSolvers.

DiscretizedModel

CTSolvers.DOCP.DiscretizedModelType
struct DiscretizedModel{TO<:CTModels.OCP.AbstractModel, TAMB<:CTSolvers.Optimization.AbstractModelBuilder, TEMB<:CTSolvers.Optimization.AbstractModelBuilder, TASB<:CTSolvers.Optimization.AbstractSolutionBuilder, TESB<:CTSolvers.Optimization.AbstractSolutionBuilder} <: CTSolvers.Optimization.AbstractOptimizationProblem

Discretized optimal control problem ready for NLP solving.

Wraps an optimal control problem together with builders for the supported NLP backends. This type implements the Optimization.AbstractOptimizationProblem contract.

Fields

  • optimal_control_problem::TO: The original optimal control problem
  • adnlp_model_builder::TAMB: Builder for ADNLPModels
  • exa_model_builder::TEMB: Builder for ExaModels
  • adnlp_solution_builder::TASB: Builder for ADNLP solutions
  • exa_solution_builder::TESB: Builder for ExaModel solutions

Example

# Conceptual usage pattern
docp = DiscretizedModel(
    ocp,
    adnlp_model_builder,
    exa_model_builder,
    adnlp_solution_builder,
    exa_solution_builder,
)

See also: ocp_model, nlp_model, ocp_solution

nlp_model

CTSolvers.DOCP.nlp_modelFunction
nlp_model(
    prob::CTSolvers.DOCP.DiscretizedModel,
    initial_guess,
    modeler::CTSolvers.Modelers.AbstractNLPModeler
) -> NLPModels.AbstractNLPModel

Build an NLP model from a discretized optimal control problem.

This is a convenience wrapper around build_model that provides explicit typing for DiscretizedModel.

Arguments

  • prob::DiscretizedModel: The discretized OCP
  • initial_guess: Initial guess for the NLP solver
  • modeler: The modeler to use (e.g., Modelers.ADNLP, Modelers.Exa)

Returns

  • NLPModels.AbstractNLPModel: The NLP model

Example

nlp = nlp_model(docp, initial_guess, modeler)

See also: ocp_solution, Optimization.build_model

ocp_model

CTSolvers.DOCP.ocp_modelFunction
ocp_model(
    docp::CTSolvers.DOCP.DiscretizedModel
) -> CTModels.OCP.AbstractModel

Extract the original optimal control problem from a discretized problem.

Arguments

  • docp::DiscretizedModel: The discretized optimal control problem

Returns

  • The original optimal control problem

Example

ocp = ocp_model(docp)

See also: DiscretizedModel

ocp_solution

CTSolvers.DOCP.ocp_solutionFunction
ocp_solution(
    docp::CTSolvers.DOCP.DiscretizedModel,
    model_solution::SolverCore.AbstractExecutionStats,
    modeler::CTSolvers.Modelers.AbstractNLPModeler
) -> Any

Build an optimal control solution from NLP execution statistics.

This is a convenience wrapper around build_solution that provides explicit typing for DiscretizedModel and ensures the return type is an optimal control solution.

Arguments

  • docp::DiscretizedModel: The discretized OCP
  • model_solution::SolverCore.AbstractExecutionStats: NLP solver output
  • modeler: The modeler used for building

Returns

  • AbstractSolution: The OCP solution

Example

sol = ocp_solution(docp, nlp_stats, modeler)

See also: nlp_model, Optimization.build_solution