Problem
CTModels.Models.state_dimension Function
state_dimension(ocp::CTModels.Models.Model) -> Int64Return the state dimension.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The state dimension.
See also: CTModels.Components.state, CTModels.Models.state_name, CTModels.Models.state_components.
state_dimension(ocp::CTModels.Building.PreModel) -> Int64Return the state dimension of the PreModel.
Arguments
ocp::PreModel: The pre-model to query.
Throws
Exceptions.PreconditionError: if the state has not been set yet.
state_dimension(sol::CTModels.Solutions.Solution) -> Int64Return the dimension of the state.
Arguments
sol::Solution: The optimal control solution.
Returns
Dimension: The state dimension.
See also: CTModels.Components.state, CTModels.Models.state_components.
CTModels.Models.state_name Function
state_name(ocp::CTModels.Models.Model) -> StringReturn the name of the state.
Arguments
ocp::Model: The optimal control problem.
Returns
String: The state name.
See also: CTModels.Components.state, CTModels.Models.state_components, CTModels.Models.state_dimension.
state_name(sol::CTModels.Solutions.Solution) -> StringReturn the name of the state.
Arguments
sol::Solution: The optimal control solution.
Returns
String: The state name.
See also: CTModels.Models.state_components, CTModels.Models.state_dimension.
CTModels.Models.state_components Function
state_components(
ocp::CTModels.Models.Model
) -> Vector{String}Return the names of the components of the state.
Arguments
ocp::Model: The optimal control problem.
Returns
Vector{String}: The state component names.
See also: CTModels.Components.state, CTModels.Models.state_name, CTModels.Models.state_dimension.
state_components(
sol::CTModels.Solutions.Solution
) -> Vector{String}Return the names of the components of the state.
Arguments
sol::Solution: The optimal control solution.
Returns
Vector{String}: The state component names.
See also: CTModels.Models.state_dimension, CTModels.Models.state_name.
CTModels.Models.control_dimension Function
control_dimension(ocp::CTModels.Models.Model) -> Int64Return the control dimension.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The control dimension.
See also: CTModels.Components.control, CTModels.Models.control_name, CTModels.Models.control_components.
control_dimension(ocp::CTModels.Building.PreModel) -> Int64Return the control dimension of the PreModel.
control defaults to CTModels.Components.EmptyControlModel (dimension 0), so — unlike state_dimension — no precondition on control having been set is required.
Arguments
ocp::PreModel: The pre-model to query.
control_dimension(sol::CTModels.Solutions.Solution) -> Int64Return the dimension of the control.
Arguments
sol::Solution: The optimal control solution.
Returns
Dimension: The control dimension.
See also: CTModels.Components.control, CTModels.Models.control_components.
CTModels.Models.control_name Function
control_name(ocp::CTModels.Models.Model) -> StringReturn the name of the control.
Arguments
ocp::Model: The optimal control problem.
Returns
String: The control name.
See also: CTModels.Components.control, CTModels.Models.control_components, CTModels.Models.control_dimension.
control_name(sol::CTModels.Solutions.Solution) -> StringReturn the name of the control.
Arguments
sol::Solution: The optimal control solution.
Returns
String: The control name.
See also: CTModels.Models.control_components, CTModels.Models.control_dimension.
CTModels.Models.control_components Function
control_components(
ocp::CTModels.Models.Model
) -> Vector{String}Return the names of the components of the control.
Arguments
ocp::Model: The optimal control problem.
Returns
Vector{String}: The control component names.
See also: CTModels.Components.control, CTModels.Models.control_name, CTModels.Models.control_dimension.
control_components(
sol::CTModels.Solutions.Solution
) -> Vector{String}Return the names of the components of the control.
Arguments
sol::Solution: The optimal control solution.
Returns
Vector{String}: The control component names.
See also: CTModels.Models.control_dimension, CTModels.Models.control_name.
CTModels.Models.variable_dimension Function
variable_dimension(ocp::CTModels.Models.Model) -> Int64Return the variable dimension.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The variable dimension.
See also: CTModels.Components.variable, CTModels.Models.variable_name, CTModels.Models.variable_components.
variable_dimension(ocp::CTModels.Building.PreModel) -> Int64Return the variable dimension of the PreModel.
variable defaults to CTModels.Components.EmptyVariableModel (dimension 0), so — unlike state_dimension — no precondition on variable having been set is required.
Arguments
ocp::PreModel: The pre-model to query.
variable_dimension(
sol::CTModels.Solutions.Solution
) -> Int64Return the dimension of the variable.
Arguments
sol::Solution: The optimal control solution.
Returns
Dimension: The variable dimension.
See also: CTModels.Components.variable, CTModels.Models.variable_components.
CTModels.Models.variable_name Function
variable_name(ocp::CTModels.Models.Model) -> StringReturn the name of the variable.
Arguments
ocp::Model: The optimal control problem.
Returns
String: The variable name.
See also: CTModels.Components.variable, CTModels.Models.variable_components, CTModels.Models.variable_dimension.
variable_name(sol::CTModels.Solutions.Solution) -> StringReturn the name of the variable.
Arguments
sol::Solution: The optimal control solution.
Returns
String: The variable name.
See also: CTModels.Models.variable_components, CTModels.Models.variable_dimension.
CTModels.Models.variable_components Function
variable_components(
ocp::CTModels.Models.Model
) -> Vector{String}Return the names of the components of the variable.
Arguments
ocp::Model: The optimal control problem.
Returns
Vector{String}: The variable component names.
See also: CTModels.Components.variable, CTModels.Models.variable_name, CTModels.Models.variable_dimension.
variable_components(
sol::CTModels.Solutions.Solution
) -> Vector{String}Return the names of the components of the variable.
Arguments
sol::Solution: The optimal control solution.
Returns
Vector{String}: The variable component names.
See also: CTModels.Models.variable_dimension, CTModels.Models.variable_name.
CTModels.Components.components Function
components(
model::CTModels.Components.StateModel
) -> Vector{String}Get the component names of the state from the state model.
Returns
Vector{String}: The state component names.
See also: CTModels.Components.name, CTModels.Components.dimension.
components(
model::CTModels.Components.StateModelSolution
) -> Vector{String}Get the component names of the state from the state model solution.
Returns
Vector{String}: The state component names.
See also: CTModels.Components.name, CTModels.Components.dimension, CTModels.Components.value.
components(
model::CTModels.Components.ControlModel
) -> Vector{String}Get the names of the control components.
Returns
Vector{String}: The control component names.
See also: CTModels.Components.name, CTModels.Components.dimension.
components(
model::CTModels.Components.ControlModelSolution
) -> Vector{String}Get the names of the control components from the solution.
Returns
Vector{String}: The control component names.
See also: CTModels.Components.name, CTModels.Components.dimension, CTModels.Components.value, CTModels.Components.interpolation.
components(
_::CTModels.Components.EmptyControlModel
) -> Vector{String}Return an empty vector since there are no control components defined.
Returns
Vector{String}: An empty vector.
components(
model::CTModels.Components.VariableModel
) -> Vector{String}Return the names of the components of the variable.
Returns
Vector{String}: The variable component names.
See also: CTModels.Components.name, CTModels.Components.dimension.
components(
model::CTModels.Components.VariableModelSolution
) -> Vector{String}Return the names of the components from the variable solution.
Returns
Vector{String}: The variable component names.
See also: CTModels.Components.name, CTModels.Components.dimension, CTModels.Components.value.
components(
_::CTModels.Components.EmptyVariableModel
) -> Vector{String}Return an empty vector since there are no variable components defined.
Returns
Vector{String}: An empty vector.
CTModels.Components.dimension Function
dimension(model::CTModels.Components.StateModel) -> Int64Get the dimension of the state from the state model.
Returns
Dimension: The state dimension (number of components).
See also: CTModels.Components.name, CTModels.Components.components.
dimension(
model::CTModels.Components.StateModelSolution
) -> Int64Get the dimension of the state from the state model solution.
Returns
Dimension: The state dimension (number of components).
See also: CTModels.Components.name, CTModels.Components.components, CTModels.Components.value.
dimension(model::CTModels.Components.ControlModel) -> Int64Get the control input dimension.
Returns
Dimension: The control dimension (number of components).
See also: CTModels.Components.name, CTModels.Components.components.
dimension(
model::CTModels.Components.ControlModelSolution
) -> Int64Get the control input dimension from the solution.
Returns
Dimension: The control dimension (number of components).
See also: CTModels.Components.name, CTModels.Components.components, CTModels.Components.value, CTModels.Components.interpolation.
dimension(_::CTModels.Components.EmptyControlModel) -> Int64Return 0 since no control is defined.
Returns
Dimension: Zero.
dimension(model::CTModels.Components.VariableModel) -> Int64Return the dimension (number of components) of the variable.
Returns
Dimension: The variable dimension.
See also: CTModels.Components.name, CTModels.Components.components.
dimension(
model::CTModels.Components.VariableModelSolution
) -> Int64Return the number of components in the variable solution.
Returns
Dimension: The variable dimension.
See also: CTModels.Components.name, CTModels.Components.components, CTModels.Components.value.
dimension(
_::CTModels.Components.EmptyVariableModel
) -> Int64Return 0 since no variable is defined.
Returns
Dimension: Zero.
CTModels.Components.name Function
name(model::CTModels.Components.StateModel) -> StringGet the name of the state from the state model.
Returns
String: The state name.
See also: CTModels.Components.components, CTModels.Components.dimension.
name(
model::CTModels.Components.StateModelSolution
) -> StringGet the name of the state from the state model solution.
Returns
String: The state name.
See also: CTModels.Components.components, CTModels.Components.dimension, CTModels.Components.value.
name(model::CTModels.Components.ControlModel) -> StringGet the name of the control variable.
Returns
String: The control name.
See also: CTModels.Components.components, CTModels.Components.dimension.
name(
model::CTModels.Components.ControlModelSolution
) -> StringGet the name of the control variable from the solution.
Returns
String: The control name.
See also: CTModels.Components.components, CTModels.Components.dimension, CTModels.Components.value, CTModels.Components.interpolation.
name(_::CTModels.Components.EmptyControlModel) -> StringReturn an empty string, since no control is defined.
Returns
String: An empty string.
name(model::CTModels.Components.VariableModel) -> StringReturn the name of the variable stored in the model.
Returns
String: The variable name.
See also: CTModels.Components.components, CTModels.Components.dimension.
name(
model::CTModels.Components.VariableModelSolution
) -> StringReturn the name of the variable stored in the model solution.
Returns
String: The variable name.
See also: CTModels.Components.components, CTModels.Components.dimension, CTModels.Components.value.
name(_::CTModels.Components.EmptyVariableModel) -> StringReturn an empty string, since no variable is defined.
Returns
String: An empty string.
name(model::CTModels.Components.FixedTimeModel) -> StringGet the name of the time from the fixed time model.
Returns
String: The time name.
See also: CTModels.Components.initial_time.
name(model::CTModels.Components.FreeTimeModel) -> StringGet the name of the time from the free time model.
Returns
String: The time name.
See also: CTModels.Components.index, CTModels.Components.initial_time.
CTModels.Components.index Function
index(model::CTModels.Components.FreeTimeModel) -> Int64Get the index of the time variable from the free time model.
Returns
Int: The index into the optimisation variable.
See also: CTModels.Components.name, CTModels.Components.initial_time.
CTModels.Components.expression Function
expression(_::CTModels.Components.EmptyDefinition) -> ExprReturn an empty block expression for an CTModels.Components.EmptyDefinition.
Returns
Expr: An empty block expression:(begin end).
See also: CTModels.Components.expression.
expression(d::CTModels.Components.Definition) -> ExprReturn the symbolic expression wrapped by a CTModels.Components.Definition.
Returns
Expr: The symbolic expression defining the problem.
See also: CTModels.Components.expression.
expression(ocp::CTModels.Models.Model) -> ExprReturn the symbolic expression of the model definition.
Arguments
ocp::Model: The optimal control problem.
Returns
Expr: The symbolic expression of the model definition.
See also: CTModels.Models.definition.
CTModels.Components.criterion Function
criterion(
model::CTModels.Components.MayerObjectiveModel
) -> SymbolReturn the criterion (:min or :max).
Returns
Symbol: The optimisation criterion (:minor:max).
See also: CTModels.Components.mayer, CTModels.Components.has_mayer_cost.
criterion(
model::CTModels.Components.LagrangeObjectiveModel
) -> SymbolReturn the criterion (:min or :max).
Returns
Symbol: The optimisation criterion (:minor:max).
See also: CTModels.Components.lagrange, CTModels.Components.has_lagrange_cost.
criterion(
model::CTModels.Components.BolzaObjectiveModel
) -> SymbolReturn the criterion (:min or :max).
Returns
Symbol: The optimisation criterion (:minor:max).
See also: CTModels.Components.mayer, CTModels.Components.lagrange, CTModels.Components.has_mayer_cost.
criterion(ocp::CTModels.Models.Model) -> SymbolReturn the type of criterion (:min or :max).
Arguments
ocp::Model: The optimal control problem.
Returns
Symbol: The criterion type (:minor:max).
See also: CTModels.Components.objective, CTModels.Components.mayer, CTModels.Components.lagrange.
CTModels.Components.initial_time Function
initial_time(
model::CTModels.Components.TimesModel{<:CTModels.Components.FixedTimeModel{T<:Real}}
) -> AnyGet the initial time from the times model, from a fixed initial time model.
Returns
T: The fixed initial time value.
See also: CTModels.Components.final_time, CTModels.Components.has_fixed_initial_time.
initial_time(
model::CTModels.Components.TimesModel{CTModels.Components.FreeTimeModel},
variable::AbstractArray{T<:Real, 1}
) -> AnyGet the initial time from the times model, from a free initial time model.
Arguments
model::TimesModel{FreeTimeModel,<:AbstractTimeModel}: The times model with free initial time.variable::AbstractVector{T}: The optimisation variable vector.
Returns
T: The initial time value from the variable.
See also: CTModels.Components.final_time, CTModels.Components.has_free_initial_time.
initial_time(_::CTModels.Models.AbstractModel) -> AnyThrow an error for unsupported initial time access.
initial_time(
_::CTModels.Models.AbstractModel,
_::AbstractVector
) -> AnyThrow an error for unsupported initial time access with variable.
initial_time(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.TimesModel{CTModels.Components.FixedTimeModel{T<:Real}}}
) -> AnyReturn the initial time, for a fixed initial time.
Arguments
ocp::Model: The optimal control problem with fixed initial time.
Returns
T: The initial time value.
See also: CTModels.Components.final_time, CTModels.Components.has_fixed_initial_time.
initial_time(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.TimesModel{CTModels.Components.FreeTimeModel}},
variable::AbstractArray{T<:Real, 1}
) -> AnyReturn the initial time, for a free initial time.
Arguments
ocp::Model: The optimal control problem with free initial time.variable::AbstractVector{T}: The variable vector.
Returns
T: The initial time value.
See also: CTModels.Components.final_time, CTModels.Components.has_free_initial_time.
initial_time(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.TimesModel{CTModels.Components.FreeTimeModel}},
variable::Real
) -> RealReturn the initial time, for a free initial time (scalar variable).
Arguments
ocp::Model: The optimal control problem with free initial time.variable::T: The variable scalar.
Returns
T: The initial time value.
See also: CTModels.Components.final_time, CTModels.Components.has_free_initial_time.
initial_time(sol::CTModels.Solutions.Solution) -> RealReturn the initial time of the solution.
Arguments
sol::Solution: The optimal control solution.
Returns
Real: The initial time.
See also: CTModels.Components.final_time, CTModels.Components.initial_time_name.
CTModels.Components.final_time Function
final_time(
model::CTModels.Components.TimesModel{<:CTModels.Components.AbstractTimeModel, <:CTModels.Components.FixedTimeModel{T<:Real}}
) -> AnyGet the final time from the times model, from a fixed final time model.
Returns
T: The fixed final time value.
See also: CTModels.Components.initial_time, CTModels.Components.has_fixed_final_time.
final_time(
model::CTModels.Components.TimesModel{<:CTModels.Components.AbstractTimeModel, CTModels.Components.FreeTimeModel},
variable::AbstractArray{T<:Real, 1}
) -> AnyGet the final time from the times model, from a free final time model.
Arguments
model::TimesModel{<:AbstractTimeModel,FreeTimeModel}: The times model with free final time.variable::AbstractVector{T}: The optimisation variable vector.
Returns
T: The final time value from the variable.
See also: CTModels.Components.initial_time, CTModels.Components.has_free_final_time.
final_time(_::CTModels.Models.AbstractModel) -> AnyThrow an error for unsupported final time access.
final_time(
_::CTModels.Models.AbstractModel,
_::AbstractVector
) -> AnyThrow an error for unsupported final time access with variable.
final_time(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.TimesModel{<:CTModels.Components.AbstractTimeModel, CTModels.Components.FixedTimeModel{T<:Real}}}
) -> AnyReturn the final time, for a fixed final time.
Arguments
ocp::Model: The optimal control problem with fixed final time.
Returns
T: The final time value.
See also: CTModels.Components.initial_time, CTModels.Components.has_fixed_final_time.
final_time(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.TimesModel{<:CTModels.Components.AbstractTimeModel, CTModels.Components.FreeTimeModel}},
variable::AbstractArray{T<:Real, 1}
) -> AnyReturn the final time, for a free final time.
Arguments
ocp::Model: The optimal control problem with free final time.variable::AbstractVector{T}: The variable vector.
Returns
T: The final time value.
See also: CTModels.Components.initial_time, CTModels.Components.has_free_final_time.
final_time(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.TimesModel{<:CTModels.Components.AbstractTimeModel, CTModels.Components.FreeTimeModel}},
variable::Real
) -> RealReturn the final time, for a free final time (scalar variable).
Arguments
ocp::Model: The optimal control problem with free final time.variable::T: The variable scalar.
Returns
T: The final time value.
See also: CTModels.Components.initial_time, CTModels.Components.has_free_final_time.
final_time(sol::CTModels.Solutions.Solution) -> RealReturn the final time of the solution.
Arguments
sol::Solution: The optimal control solution.
Returns
Real: The final time.
See also: CTModels.Components.initial_time, CTModels.Components.final_time_name.
CTModels.Components.times Function
Return the CTModels.Components.AbstractTimesModel from a CTModels.Models.Model.
See also: CTModels.Components.initial_time, CTModels.Components.final_time.
CTModels.Components.time_name Function
time_name(model::CTModels.Components.TimesModel) -> StringGet the name of the time variable from the times model.
Returns
String: The time variable name.
See also: CTModels.Components.initial_time_name, CTModels.Components.final_time_name.
time_name(ocp::CTModels.Models.Model) -> StringReturn the name of the time.
Arguments
ocp::Model: The optimal control problem.
Returns
String: The time name.
See also: CTModels.Components.times, CTModels.Components.initial_time, CTModels.Components.final_time.
time_name(sol::CTModels.Solutions.Solution) -> StringReturn the name of the time component.
Arguments
sol::Solution: The optimal control solution.
Returns
String: The time component name.
See also: CTModels.Components.initial_time_name, CTModels.Components.final_time_name.
CTModels.Components.initial_time_name Function
initial_time_name(
model::CTModels.Components.TimesModel
) -> StringGet the name of the initial time from the times model.
Returns
String: The initial time name.
See also: CTModels.Components.time_name, CTModels.Components.final_time_name.
initial_time_name(ocp::CTModels.Models.Model) -> StringReturn the name of the initial time.
Arguments
ocp::Model: The optimal control problem.
Returns
String: The initial time name.
See also: CTModels.Components.times, CTModels.Components.initial_time, CTModels.Components.final_time.
initial_time_name(
sol::CTModels.Solutions.Solution
) -> StringReturn the name of the initial time.
Arguments
sol::Solution: The optimal control solution.
Returns
String: The initial time name.
See also: CTModels.Components.final_time_name, CTModels.Components.time_name.
CTModels.Components.final_time_name Function
final_time_name(
model::CTModels.Components.TimesModel
) -> StringGet the name of the final time from the times model.
Returns
String: The final time name.
See also: CTModels.Components.time_name, CTModels.Components.initial_time_name.
final_time_name(ocp::CTModels.Models.Model) -> StringReturn the name of the final time.
Arguments
ocp::Model: The optimal control problem.
Returns
String: The final time name.
See also: CTModels.Components.times, CTModels.Components.initial_time, CTModels.Components.final_time.
final_time_name(sol::CTModels.Solutions.Solution) -> StringReturn the name of the final time.
Arguments
sol::Solution: The optimal control solution.
Returns
String: The final time name.
See also: CTModels.Components.initial_time_name, CTModels.Components.time_name.
CTModels.Components.has_fixed_initial_time Function
has_fixed_initial_time(
_::CTModels.Components.TimesModel{<:CTModels.Components.FixedTimeModel{T<:Real}}
) -> BoolCheck if the initial time is fixed. Return true.
Returns
Bool:trueif the initial time is fixed.
See also: CTModels.Components.has_free_initial_time, CTModels.Components.initial_time.
has_fixed_initial_time(
_::CTModels.Components.TimesModel{CTModels.Components.FreeTimeModel}
) -> BoolCheck if the initial time is free. Return false.
Returns
Bool:false(initial time is not fixed).
See also: CTModels.Components.has_free_initial_time, CTModels.Components.initial_time.
has_fixed_initial_time(ocp::CTModels.Models.Model) -> BoolCheck if the initial time is fixed.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the initial time is fixed,falseotherwise.
See also: CTModels.Components.has_free_initial_time, CTModels.Components.initial_time.
has_fixed_initial_time(
sol::CTModels.Solutions.Solution
) -> BoolCheck if the initial time is fixed.
Arguments
sol::Solution: The optimal control solution.
Returns
Bool:trueif the initial time is fixed,falseotherwise.
See also: CTModels.Components.has_free_initial_time, CTModels.Components.initial_time.
CTModels.Components.has_free_initial_time Function
has_free_initial_time(
times::CTModels.Components.TimesModel
) -> BoolCheck if the initial time is free.
Returns
Bool:trueif the initial time is free.
See also: CTModels.Components.has_fixed_initial_time, CTModels.Components.initial_time.
has_free_initial_time(ocp::CTModels.Models.Model) -> BoolCheck if the initial time is free.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the initial time is free,falseotherwise.
See also: CTModels.Components.has_fixed_initial_time, CTModels.Components.initial_time.
has_free_initial_time(
sol::CTModels.Solutions.Solution
) -> BoolCheck if the initial time is free.
Arguments
sol::Solution: The optimal control solution.
Returns
Bool:trueif the initial time is free,falseotherwise.
See also: CTModels.Components.has_fixed_initial_time, CTModels.Components.initial_time.
CTModels.Components.has_fixed_final_time Function
has_fixed_final_time(
_::CTModels.Components.TimesModel{<:CTModels.Components.AbstractTimeModel, <:CTModels.Components.FixedTimeModel{T<:Real}}
) -> BoolCheck if the final time is fixed. Return true.
Returns
Bool:trueif the final time is fixed.
See also: CTModels.Components.has_free_final_time, CTModels.Components.final_time.
has_fixed_final_time(
_::CTModels.Components.TimesModel{<:CTModels.Components.AbstractTimeModel, CTModels.Components.FreeTimeModel}
) -> BoolCheck if the final time is free. Return false.
Returns
Bool:false(final time is not fixed).
See also: CTModels.Components.has_free_final_time, CTModels.Components.final_time.
has_fixed_final_time(ocp::CTModels.Models.Model) -> BoolCheck if the final time is fixed.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the final time is fixed,falseotherwise.
See also: CTModels.Components.has_free_final_time, CTModels.Components.final_time.
has_fixed_final_time(
sol::CTModels.Solutions.Solution
) -> BoolCheck if the final time is fixed.
Arguments
sol::Solution: The optimal control solution.
Returns
Bool:trueif the final time is fixed,falseotherwise.
See also: CTModels.Components.has_free_final_time, CTModels.Components.final_time.
CTModels.Components.has_free_final_time Function
has_free_final_time(
times::CTModels.Components.TimesModel
) -> BoolCheck if the final time is free.
Returns
Bool:trueif the final time is free.
See also: CTModels.Components.has_fixed_final_time, CTModels.Components.final_time.
has_free_final_time(ocp::CTModels.Models.Model) -> BoolCheck if the final time is free.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the final time is free,falseotherwise.
See also: CTModels.Components.has_fixed_final_time, CTModels.Components.final_time.
has_free_final_time(
sol::CTModels.Solutions.Solution
) -> BoolCheck if the final time is free.
Arguments
sol::Solution: The optimal control solution.
Returns
Bool:trueif the final time is free,falseotherwise.
See also: CTModels.Components.has_fixed_final_time, CTModels.Components.final_time.
CTModels.Components.is_initial_time_fixed Function
Alias for has_fixed_initial_time.
See also: CTModels.Components.has_fixed_initial_time.
CTModels.Components.is_initial_time_free Function
Alias for has_free_initial_time.
See also: CTModels.Components.has_free_initial_time.
CTModels.Components.is_final_time_fixed Function
Alias for has_fixed_final_time.
See also: CTModels.Components.has_fixed_final_time.
CTModels.Components.is_final_time_free Function
Alias for has_free_final_time.
See also: CTModels.Components.has_free_final_time.
CTModels.Models.dynamics Function
dynamics(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.AbstractTimesModel, <:CTModels.Components.AbstractStateModel, <:CTModels.Components.AbstractControlModel, <:CTModels.Components.AbstractVariableModel, D<:Function}
) -> FunctionReturn the dynamics.
Arguments
ocp::Model: The optimal control problem.
Returns
D: The dynamics function.
See also: CTModels.Components.state, CTModels.Components.control.
CTModels.Components.mayer Function
mayer(
model::CTModels.Components.MayerObjectiveModel{M<:Function}
) -> FunctionReturn the Mayer function.
Returns
M: The Mayer cost function(x0, xf, v) -> g(x0, xf, v).
See also: CTModels.Components.criterion, CTModels.Components.has_mayer_cost.
mayer(
model::CTModels.Components.BolzaObjectiveModel{M<:Function}
) -> FunctionReturn the Mayer function.
Returns
M: The Mayer cost function.
See also: CTModels.Components.criterion, CTModels.Components.lagrange, CTModels.Components.has_mayer_cost.
mayer(_::CTModels.Models.AbstractModel) -> AnyThrow an error when accessing Mayer cost on a model without one.
mayer(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.AbstractTimesModel, <:CTModels.Components.AbstractStateModel, <:CTModels.Components.AbstractControlModel, <:CTModels.Components.AbstractVariableModel, <:Function, <:CTModels.Components.MayerObjectiveModel{M<:Function}}
) -> AnyReturn the Mayer cost.
Arguments
ocp::Model: The optimal control problem with Mayer objective.
Returns
M: The Mayer cost function.
See also: CTModels.Components.objective, CTModels.Components.lagrange, CTModels.Components.has_mayer_cost.
mayer(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.AbstractTimesModel, <:CTModels.Components.AbstractStateModel, <:CTModels.Components.AbstractControlModel, <:CTModels.Components.AbstractVariableModel, <:Function, <:CTModels.Components.BolzaObjectiveModel{M<:Function}}
) -> AnyReturn the Mayer cost.
Arguments
ocp::Model: The optimal control problem with Bolza objective (Mayer + Lagrange).
Returns
M: The Mayer cost function.
See also: CTModels.Components.objective, CTModels.Components.lagrange, CTModels.Components.has_mayer_cost.
CTModels.Components.lagrange Function
lagrange(
model::CTModels.Components.LagrangeObjectiveModel{L<:Function}
) -> FunctionReturn the Lagrange function.
Returns
L: The Lagrange integrand(t, x, u, v) -> f⁰(t, x, u, v).
See also: CTModels.Components.criterion, CTModels.Components.has_lagrange_cost.
lagrange(
model::CTModels.Components.BolzaObjectiveModel{<:Function, L<:Function}
) -> FunctionReturn the Lagrange function.
Returns
L: The Lagrange integrand.
See also: CTModels.Components.criterion, CTModels.Components.mayer, CTModels.Components.has_lagrange_cost.
lagrange(_::CTModels.Models.AbstractModel) -> FunctionThrow an error when accessing Lagrange cost on a model without one.
lagrange(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.AbstractTimesModel, <:CTModels.Components.AbstractStateModel, <:CTModels.Components.AbstractControlModel, <:CTModels.Components.AbstractVariableModel, <:Function, CTModels.Components.LagrangeObjectiveModel{L<:Function}}
) -> FunctionReturn the Lagrange cost.
Arguments
ocp::Model: The optimal control problem with Lagrange objective.
Returns
L: The Lagrange cost function.
See also: CTModels.Components.objective, CTModels.Components.mayer, CTModels.Components.has_lagrange_cost.
lagrange(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.AbstractTimesModel, <:CTModels.Components.AbstractStateModel, <:CTModels.Components.AbstractControlModel, <:CTModels.Components.AbstractVariableModel, <:Function, <:CTModels.Components.BolzaObjectiveModel{<:Function, L<:Function}}
) -> AnyReturn the Lagrange cost.
Arguments
ocp::Model: The optimal control problem with Bolza objective (Mayer + Lagrange).
Returns
L: The Lagrange cost function.
See also: CTModels.Components.objective, CTModels.Components.mayer, CTModels.Components.has_lagrange_cost.
CTModels.Components.has_mayer_cost Function
has_mayer_cost(
_::CTModels.Components.MayerObjectiveModel
) -> BoolReturn true.
Returns
Bool:true(Mayer cost is defined).
See also: CTModels.Components.has_lagrange_cost, CTModels.Components.mayer.
has_mayer_cost(
_::CTModels.Components.LagrangeObjectiveModel
) -> BoolReturn false.
Returns
Bool:false(Mayer cost is not defined).
See also: CTModels.Components.has_lagrange_cost, CTModels.Components.mayer.
has_mayer_cost(
_::CTModels.Components.BolzaObjectiveModel
) -> BoolReturn true.
Returns
Bool:true(Mayer cost is defined).
See also: CTModels.Components.has_lagrange_cost, CTModels.Components.mayer.
has_mayer_cost(ocp::CTModels.Models.Model) -> BoolCheck if the model has a Mayer cost.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the model has a Mayer cost,falseotherwise.
See also: CTModels.Components.mayer, CTModels.Components.has_lagrange_cost.
CTModels.Components.has_lagrange_cost Function
has_lagrange_cost(
_::CTModels.Components.MayerObjectiveModel
) -> BoolReturn false.
Returns
Bool:false(Lagrange cost is not defined).
See also: CTModels.Components.has_mayer_cost, CTModels.Components.lagrange.
has_lagrange_cost(
_::CTModels.Components.LagrangeObjectiveModel
) -> BoolReturn true.
Returns
Bool:true(Lagrange cost is defined).
See also: CTModels.Components.has_mayer_cost, CTModels.Components.lagrange.
has_lagrange_cost(
_::CTModels.Components.BolzaObjectiveModel
) -> BoolReturn true.
Returns
Bool:true(Lagrange cost is defined).
See also: CTModels.Components.has_mayer_cost, CTModels.Components.lagrange.
has_lagrange_cost(ocp::CTModels.Models.Model) -> BoolCheck if the model has a Lagrange cost.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the model has a Lagrange cost,falseotherwise.
See also: CTModels.Components.lagrange, CTModels.Components.has_mayer_cost.
CTModels.Components.is_mayer_cost_defined Function
Alias for has_mayer_cost.
See also: CTModels.Components.has_mayer_cost.
CTModels.Components.is_lagrange_cost_defined Function
Alias for has_lagrange_cost.
See also: CTModels.Components.has_lagrange_cost.
CTModels.Models.constraint Function
constraint(
model::CTModels.Models.Model,
label::Symbol
) -> Tuple{Symbol, Any, Any, Any}Get a labelled constraint from the model. Returns a tuple of the form (type, f, lb, ub) where type is the type of the constraint, f is the function, lb is the lower bound and ub is the upper bound.
The function returns an exception if the label is not found in the model.
Arguments
model::Model: The optimal control problem.label::Symbol: The constraint label.
Returns
Tuple: A tuple of the form(type, f, lb, ub).
See also: CTModels.Models.constraints, CTModels.Components.path_constraints_nl.
CTModels.Models.constraints Function
constraints(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.AbstractTimesModel, <:CTModels.Components.AbstractStateModel, <:CTModels.Components.AbstractControlModel, <:CTModels.Components.AbstractVariableModel, <:Function, <:CTModels.Components.AbstractObjectiveModel, C<:CTModels.Components.AbstractConstraintsModel}
) -> CTModels.Components.AbstractConstraintsModelReturn the constraints struct.
Arguments
ocp::Model: The optimal control problem.
Returns
C: The constraints model.
See also: CTModels.Models.isempty_constraints, CTModels.Models.constraint.
CTModels.Components.path_constraints_nl Function
path_constraints_nl(
model::CTModels.Components.ConstraintsModel{TP<:Tuple}
) -> TupleGet the nonlinear path constraints from the model.
Returns
TP: Tuple of nonlinear path constraints(lb, f!, ub, labels).
See also: CTModels.Components.boundary_constraints_nl, CTModels.Components.dim_path_constraints_nl.
path_constraints_nl(ocp::CTModels.Models.Model) -> TupleReturn the nonlinear path constraints.
Arguments
ocp::Model: The optimal control problem.
Returns
Function: The nonlinear path constraints function.
See also: CTModels.Models.constraints, CTModels.Components.boundary_constraints_nl.
CTModels.Components.boundary_constraints_nl Function
boundary_constraints_nl(
model::CTModels.Components.ConstraintsModel{<:Tuple, TB<:Tuple}
) -> TupleGet the nonlinear boundary constraints from the model.
Returns
TB: Tuple of nonlinear boundary constraints(lb, f!, ub, labels).
See also: CTModels.Components.path_constraints_nl, CTModels.Components.dim_boundary_constraints_nl.
boundary_constraints_nl(ocp::CTModels.Models.Model) -> TupleReturn the nonlinear boundary constraints.
Arguments
ocp::Model: The optimal control problem.
Returns
Function: The nonlinear boundary constraints function.
See also: CTModels.Models.constraints, CTModels.Components.path_constraints_nl.
CTModels.Components.state_constraints_box Function
state_constraints_box(
model::CTModels.Components.ConstraintsModel{<:Tuple, <:Tuple, TS<:Tuple}
) -> TupleGet the state box constraints from the model.
Returns
TS: Tuple of state box constraints(lb, ind, ub, labels, aliases).
See also: CTModels.Components.control_constraints_box, CTModels.Components.dim_state_constraints_box.
state_constraints_box(ocp::CTModels.Models.Model) -> TupleReturn the box constraints on state.
Arguments
ocp::Model: The optimal control problem.
Returns
BoxConstraints: The box constraints on state.
See also: CTModels.Models.constraints, CTModels.Components.control_constraints_box.
CTModels.Components.control_constraints_box Function
control_constraints_box(
model::CTModels.Components.ConstraintsModel{<:Tuple, <:Tuple, <:Tuple, TC<:Tuple}
) -> TupleGet the control box constraints from the model.
Returns
TC: Tuple of control box constraints(lb, ind, ub, labels, aliases).
See also: CTModels.Components.state_constraints_box, CTModels.Components.dim_control_constraints_box.
control_constraints_box(ocp::CTModels.Models.Model) -> TupleReturn the box constraints on control.
Arguments
ocp::Model: The optimal control problem.
Returns
BoxConstraints: The box constraints on control.
See also: CTModels.Models.constraints, CTModels.Components.state_constraints_box.
CTModels.Components.variable_constraints_box Function
variable_constraints_box(
model::CTModels.Components.ConstraintsModel{<:Tuple, <:Tuple, <:Tuple, <:Tuple, TV<:Tuple}
) -> TupleGet the variable box constraints from the model.
Returns
TV: Tuple of variable box constraints(lb, ind, ub, labels, aliases).
See also: CTModels.Components.state_constraints_box, CTModels.Components.dim_variable_constraints_box.
variable_constraints_box(
ocp::CTModels.Models.Model
) -> TupleReturn the box constraints on variable.
Arguments
ocp::Model: The optimal control problem.
Returns
BoxConstraints: The box constraints on variable.
See also: CTModels.Models.constraints, CTModels.Components.state_constraints_box.
CTModels.Components.dim_path_constraints_nl Function
dim_path_constraints_nl(
model::CTModels.Components.ConstraintsModel
) -> Int64Return the dimension of nonlinear path constraints.
Returns
Dimension: The number of nonlinear path constraints.
See also: CTModels.Components.path_constraints_nl, CTModels.Components.dim_boundary_constraints_nl.
dim_path_constraints_nl(ocp::CTModels.Models.Model) -> Int64Return the dimension of nonlinear path constraints.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The dimension of nonlinear path constraints.
See also: CTModels.Components.path_constraints_nl, CTModels.Components.dim_boundary_constraints_nl.
dim_path_constraints_nl(
sol::CTModels.Solutions.Solution
) -> Int64Return the dimension of the path constraints.
Arguments
sol::Solution: The optimal control solution.
Returns
Dimension: The path constraints dimension.
See also: CTModels.Components.path_constraints_nl, CTModels.Components.dim_boundary_constraints_nl.
CTModels.Components.dim_boundary_constraints_nl Function
dim_boundary_constraints_nl(
model::CTModels.Components.ConstraintsModel
) -> Int64Return the dimension of nonlinear boundary constraints.
Returns
Dimension: The number of nonlinear boundary constraints.
See also: CTModels.Components.boundary_constraints_nl, CTModels.Components.dim_path_constraints_nl.
dim_boundary_constraints_nl(
ocp::CTModels.Models.Model
) -> Int64Return the dimension of the boundary constraints.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The dimension of boundary constraints.
See also: CTModels.Components.boundary_constraints_nl, CTModels.Components.dim_path_constraints_nl.
dim_boundary_constraints_nl(
sol::CTModels.Solutions.Solution
) -> Int64Return the dimension of the boundary constraints.
Arguments
sol::Solution: The optimal control solution.
Returns
Dimension: The boundary constraints dimension.
See also: CTModels.Components.boundary_constraints_nl, CTModels.Components.dim_path_constraints_nl.
CTModels.Components.dim_state_constraints_box Function
dim_state_constraints_box(
model::CTModels.Components.ConstraintsModel
) -> Int64Return the dimension of state box constraints.
Returns
Dimension: The number of state box constraints.
See also: CTModels.Components.state_constraints_box, CTModels.Components.dim_control_constraints_box.
dim_state_constraints_box(
ocp::CTModels.Models.Model
) -> Int64Return the dimension of box constraints on state.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The dimension of box constraints on state.
See also: CTModels.Components.state_constraints_box, CTModels.Components.dim_control_constraints_box.
CTModels.Components.dim_control_constraints_box Function
dim_control_constraints_box(
model::CTModels.Components.ConstraintsModel
) -> Int64Return the dimension of control box constraints.
Returns
Dimension: The number of control box constraints.
See also: CTModels.Components.control_constraints_box, CTModels.Components.dim_state_constraints_box.
dim_control_constraints_box(
ocp::CTModels.Models.Model
) -> Int64Return the dimension of box constraints on control.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The dimension of box constraints on control.
See also: CTModels.Components.control_constraints_box, CTModels.Components.dim_state_constraints_box.
CTModels.Components.dim_variable_constraints_box Function
dim_variable_constraints_box(
model::CTModels.Components.ConstraintsModel
) -> Int64Return the dimension of variable box constraints.
Returns
Dimension: The number of variable box constraints.
See also: CTModels.Components.variable_constraints_box, CTModels.Components.dim_state_constraints_box.
dim_variable_constraints_box(
ocp::CTModels.Models.Model
) -> Int64Return the dimension of box constraints on variable.
Arguments
ocp::Model: The optimal control problem.
Returns
Dimension: The dimension of box constraints on variable.
See also: CTModels.Components.variable_constraints_box, CTModels.Components.dim_state_constraints_box.
CTModels.Models.definition Function
definition(
ocp::CTModels.Models.Model{<:CTBase.Traits.TimeDependence, <:CTModels.Components.TimesModel, <:CTModels.Components.AbstractStateModel, <:CTModels.Components.AbstractControlModel, <:CTModels.Components.AbstractVariableModel, <:Function, <:CTModels.Components.AbstractObjectiveModel, <:CTModels.Components.AbstractConstraintsModel, D<:CTModels.Components.AbstractDefinition}
) -> CTModels.Components.AbstractDefinitionReturn the model definition.
Arguments
ocp::Model: The optimal control problem.
Returns
D: The model definition.
See also: CTModels.Components.expression.
CTModels.Models.has_abstract_definition Function
has_abstract_definition(ocp::CTModels.Models.Model) -> BoolCheck whether the problem has an abstract definition.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the problem has an abstract definition,falseotherwise.
See also: CTModels.Models.is_abstractly_defined, CTModels.Models.definition.
CTModels.Models.is_abstractly_defined Function
is_abstractly_defined(ocp::CTModels.Models.Model) -> BoolCheck whether the problem is abstractly defined.
Arguments
ocp::Model: The optimal control problem.
Returns
Bool:trueif the problem is abstractly defined,falseotherwise.
See also: CTModels.Models.has_abstract_definition.
CTBase.Traits.is_autonomous Function
is_autonomous(obj) -> BoolReturn true if the object is autonomous (time-independent).
Checks that the object has the time-dependence trait, then returns true if time_dependence(obj) is Autonomous.
Arguments
obj::Any: The object to check.
Returns
Bool: true if the object is autonomous.
Throws
CTBase.Exceptions.IncorrectArgument: If the object does not support time-dependence queries.CTBase.Exceptions.NotImplemented: Iftime_dependenceis not implemented for the object type.
See also: CTBase.Traits.TimeDependence, CTBase.Traits.time_dependence.
CTBase.Traits.is_nonautonomous Function
is_nonautonomous(obj) -> BoolReturn true if the object is non-autonomous (time-dependent).
Checks that the object has the time-dependence trait, then returns true if time_dependence(obj) is NonAutonomous.
Arguments
obj::Any: The object to check.
Returns
Bool: true if the object is non-autonomous.
Throws
CTBase.Exceptions.IncorrectArgument: If the object does not support time-dependence queries.CTBase.Exceptions.NotImplemented: Iftime_dependenceis not implemented for the object type.
See also: CTBase.Traits.TimeDependence, CTBase.Traits.time_dependence.
CTBase.Traits.is_variable Function
is_variable(obj) -> BoolReturn true if the object depends on variable parameters.
Checks that the object has the variable-dependence trait, then returns true if variable_dependence(obj) is NonFixed.
Arguments
obj::Any: The object to check.
Returns
Bool: true if the object depends on variable parameters.
Throws
CTBase.Exceptions.IncorrectArgument: If the object does not support variable-dependence queries.CTBase.Exceptions.NotImplemented: Ifvariable_dependenceis not implemented for the object type.
See also: CTBase.Traits.VariableDependence, CTBase.Traits.variable_dependence.
CTBase.Traits.is_nonvariable Function
is_nonvariable(obj) -> BoolReturn true if the object does not depend on variable parameters.
Checks that the object has the variable-dependence trait, then returns true if variable_dependence(obj) is Fixed.
Arguments
obj::Any: The object to check.
Returns
Bool: true if the object does not depend on variable parameters.
Throws
CTBase.Exceptions.IncorrectArgument: If the object does not support variable-dependence queries.CTBase.Exceptions.NotImplemented: Ifvariable_dependenceis not implemented for the object type.
See also: CTBase.Traits.VariableDependence, CTBase.Traits.variable_dependence.
CTBase.Traits.has_variable Function
has_variable(obj) -> BoolReturn true if the object depends on variable parameters.
Checks that the object has the variable-dependence trait, then returns true if variable_dependence(obj) is NonFixed.
Arguments
obj::Any: The object to check.
Returns
Bool: true if the object depends on variable parameters.
Throws
CTBase.Exceptions.IncorrectArgument: If the object does not support variable-dependence queries.CTBase.Exceptions.NotImplemented: Ifvariable_dependenceis not implemented for the object type.
See also: CTBase.Traits.is_variable, CTBase.Traits.VariableDependence.
CTBase.Traits.has_control Function
has_control(obj) -> BoolReturn true if the object has a control input.
Checks that the object has the control-dependence trait, then returns true if control_dependence(obj) is WithControl.
Arguments
obj::Any: The object to check.
Returns
Bool: true if the object has a control input.
Throws
CTBase.Exceptions.IncorrectArgument: If the object does not support control-dependence queries.CTBase.Exceptions.NotImplemented: Ifcontrol_dependenceis not implemented for the object type.
See also: CTBase.Traits.ControlDependence, CTBase.Traits.is_control_free.
CTBase.Traits.is_control_free Function
is_control_free(obj) -> BoolReturn true if the object is control-free (has no control input).
Checks that the object has the control-dependence trait, then returns true if control_dependence(obj) is ControlFree.
Arguments
obj::Any: The object to check.
Returns
Bool: true if the object has no control input.
Throws
CTBase.Exceptions.IncorrectArgument: If the object does not support control-dependence queries.CTBase.Exceptions.NotImplemented: Ifcontrol_dependenceis not implemented for the object type.
See also: CTBase.Traits.ControlDependence, CTBase.Traits.has_control.