Private API

This page lists non-exported (internal) symbols of CTModelsJSON, CTModelsJLD.


From CTModelsJSON

_deserialize_infos

_deserialize_value

_serialize_infos

CTModelsJSON._serialize_infosFunction

Convert Dict{Symbol,Any} to Dict{String,Any} for JSON serialization. Only serializes JSON-compatible types (numbers, strings, bools, arrays, dicts).

_serialize_value

CTModels.export_ocp_solution

CTModels.export_ocp_solutionMethod
export_ocp_solution(
    ::CTModels.JSON3Tag,
    sol::CTModels.Solution;
    filename
)

Export an optimal control solution to a .json file using the JSON3 format.

This function serializes a CTModels.Solution into a structured JSON dictionary, including all primal and dual information, which can be read by external tools.

Arguments

  • ::CTModels.JSON3Tag: A tag used to dispatch the export method for JSON3.
  • sol::CTModels.Solution: The solution to be saved.

Keyword Arguments

  • filename::String = "solution": Base filename. The .json extension is automatically appended.

Notes

The exported JSON includes the time grid, state, control, costate, objective, solver info, and all constraint duals (if available).

Example

julia> using JSON3
julia> export_ocp_solution(JSON3Tag(), sol; filename="mysolution")
# → creates "mysolution.json"

CTModels.import_ocp_solution

CTModels.import_ocp_solutionMethod
import_ocp_solution(
    ::CTModels.JSON3Tag,
    ocp::CTModels.Model;
    filename
)

Import an optimal control solution from a .json file exported with export_ocp_solution.

This function reads the JSON contents and reconstructs a CTModels.Solution object, including the discretized primal and dual trajectories.

Arguments

  • ::CTModels.JSON3Tag: A tag used to dispatch the import method for JSON3.
  • ocp::CTModels.Model: The model associated with the optimal control problem. Used to rebuild the full solution.

Keyword Arguments

  • filename::String = "solution": Base filename. The .json extension is automatically appended.

Returns

  • CTModels.Solution: A reconstructed solution instance.

Notes

Handles both vector and matrix encodings of signals. If dual fields are missing or null, the corresponding attributes are set to nothing.

Example

julia> using JSON3
julia> sol = import_ocp_solution(JSON3Tag(), model; filename="mysolution")

From CTModelsJLD

CTModels.export_ocp_solution

CTModels.export_ocp_solutionMethod
export_ocp_solution(
    ::CTModels.JLD2Tag,
    sol::CTModels.Solution;
    filename
)

Export an optimal control solution to a .jld2 file using the JLD2 format.

This function serializes and saves a CTModels.Solution object to disk, allowing it to be reloaded later.

Arguments

  • ::CTModels.JLD2Tag: A tag used to dispatch the export method for JLD2.
  • sol::CTModels.Solution: The optimal control solution to be saved.

Keyword Arguments

  • filename::String = "solution": Base name of the file. The .jld2 extension is automatically appended.

Example

julia> using JLD2
julia> export_ocp_solution(JLD2Tag(), sol; filename="mysolution")
# → creates "mysolution.jld2"

CTModels.import_ocp_solution

CTModels.import_ocp_solutionMethod
import_ocp_solution(
    ::CTModels.JLD2Tag,
    ocp::CTModels.Model;
    filename
)

Import an optimal control solution from a .jld2 file.

This function loads a previously saved CTModels.Solution from disk.

Arguments

  • ::CTModels.JLD2Tag: A tag used to dispatch the import method for JLD2.
  • ocp::CTModels.Model: The associated model (used for dispatch consistency; not used internally).

Keyword Arguments

  • filename::String = "solution": Base name of the file. The .jld2 extension is automatically appended.

Returns

  • CTModels.Solution: The loaded solution object.

Example

julia> using JLD2
julia> sol = import_ocp_solution(JLD2Tag(), model; filename="mysolution")