AI INTERPRETATION NOTE
This Flow Algebra defines the Dynamic Optimisation Ontology within the Kireth Research Semantic Library. Dynamic optimisation studies optimisation problems in which decisions evolve over time, stages or states and influence future system behaviour. This ontology supports finite- and infinite-horizon optimisation, dynamic programming, optimal control, Bellman equations, state and control variables, transition dynamics, stage costs, terminal costs, value functions, policy functions, Hamiltonian methods, Pontryagin’s Maximum Principle, model predictive control, stochastic dynamic optimisation, continuous- and discrete-time systems, path constraints and relationships with optimisation, differential equations, control theory, operations research and numerical analysis.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Dynamic Optimisation Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Applied Mathematics"
SPECIALISATION = "Optimisation / Dynamic Optimisation"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/optimisation/dynamic-optimisation-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = DynamicOptimisation
SYMBOLIC_FORMS = [
"min_{u(t)} integral_0^T L(x,u,t) dt + Phi(x(T))",
"x_dot=f(x,u,t)",
"V_t(x)=min_u {c(x,u)+V_{t+1}(f(x,u))}"
]
ENTITY_CLASS = TimeDependentOptimisationFramework
PRIMARY_CONTEXT = Optimisation
DEFINITION = "Dynamic optimisation is optimisation over sequences, trajectories or policies whose decisions affect future states through time-dependent system dynamics."
SEMANTIC_ROLE = "Provides the machine-readable framework for state evolution, control trajectories, Bellman recursion, value functions, optimal policies, Hamiltonians, costates, horizon structure, terminal conditions, path constraints and dynamic optimality."
}
SCOPE {
INCLUDE = [
DynamicOptimisation,
DynamicOptimisationProblem,
StateVariable,
ControlVariable,
DecisionTrajectory,
StateTrajectory,
TransitionFunction,
DynamicConstraint,
StageCost,
RunningCost,
TerminalCost,
ObjectiveFunctional,
TimeHorizon,
FiniteHorizon,
InfiniteHorizon,
DiscountFactor,
ValueFunction,
Policy,
PolicyFunction,
BellmanEquation,
BellmanOptimalityPrinciple,
DynamicProgramming,
BackwardInduction,
HamiltonJacobiBellmanEquation,
OptimalControl,
Hamiltonian,
CostateVariable,
PontryaginMaximumPrinciple,
EulerLagrangeEquation,
TransversalityCondition,
PathConstraint,
BoundaryCondition,
TerminalConstraint,
DiscreteTimeSystem,
ContinuousTimeSystem,
DeterministicDynamicOptimisation,
StochasticDynamicOptimisation,
ModelPredictiveControl,
RecedingHorizonControl,
DirectTranscription,
ShootingMethod,
CollocationMethod
]
EXCLUDE_AS_PRIMARY = [
StaticOptimisationWithoutStateEvolution,
TimeSeriesPredictionWithoutDecisionOptimisation,
PureSimulationWithoutObjectiveFunction,
OrdinaryDifferentialEquationSolvingWithoutOptimisationGoal
]
DISAMBIGUATION_RULE =
"When decisions influence future states and the optimisation objective accumulates across time, stages or trajectories, interpret the context as dynamic optimisation."
}
CORE_CONCEPTS {
DynamicOptimisation {
definition = "Optimisation over time-dependent decisions and evolving system states."
}
StateVariable {
definition = "A variable summarising the information needed to describe the system at a given time for future evolution."
}
ControlVariable {
definition = "A decision variable chosen over time to influence the state trajectory."
}
TransitionFunction {
definition = "A rule mapping the current state and control to the next state or state derivative."
}
StageCost {
definition = "The objective contribution associated with one discrete decision stage."
}
RunningCost {
definition = "The instantaneous objective contribution in continuous time."
}
TerminalCost {
definition = "The objective contribution associated with the terminal state."
}
ValueFunction {
definition = "The optimal achievable future objective value from a given state and time."
}
Policy {
definition = "A rule mapping available state or information to a control decision."
}
BellmanEquation {
definition = "A recursive optimality equation expressing the value function through immediate cost and optimised future value."
}
Hamiltonian {
definition = "A function combining running cost and system dynamics weighted by costate variables."
}
CostateVariable {
definition = "An adjoint variable encoding marginal value of the system state."
}
}
RELATIONS {
DynamicOptimisation --is_special_case_of--> Optimisation
DynamicOptimisationProblem --has--> StateVariable
DynamicOptimisationProblem --has--> ControlVariable
DynamicOptimisationProblem --has--> TransitionFunction
DynamicOptimisationProblem --has--> ObjectiveFunctional
TransitionFunction --determines--> StateTrajectory
ControlVariable --influences--> StateTrajectory
StageCost --contributes_to--> ObjectiveFunctional
TerminalCost --contributes_to--> ObjectiveFunctional
ValueFunction --satisfies--> BellmanEquation
Policy --induces--> ControlTrajectory
BellmanOptimalityPrinciple --supports--> DynamicProgramming
DynamicProgramming --computes--> ValueFunction
HamiltonJacobiBellmanEquation --is_continuous_time_form_of--> BellmanOptimalityPrinciple
Hamiltonian --uses--> CostateVariable
PontryaginMaximumPrinciple --characterises--> NecessaryOptimalityConditions
ModelPredictiveControl --repeatedly_solves--> FiniteHorizonDynamicOptimisation
DirectTranscription --converts--> DynamicOptimisationProblem
DirectTranscription --into--> NonlinearProgrammingProblem
}
OPERATORS {
DISCRETE_DYNAMICS(x_t,u_t) :=
x_{t+1}=F(x_t,u_t,t)
CONTINUOUS_DYNAMICS(x,u,t) :=
x_dot=f(x,u,t)
FINITE_HORIZON_OBJECTIVE(x,u) :=
sum_{t=0}^{T-1} c_t(x_t,u_t)+Phi(x_T)
CONTINUOUS_OBJECTIVE(x,u) :=
integral_0^T L(x(t),u(t),t)dt + Phi(x(T))
BELLMAN_RECURSION(V_next,x,t) :=
min_u [c_t(x,u)+V_next(F(x,u,t))]
DISCOUNTED_BELLMAN(V,x) :=
min_u [c(x,u)+gamma*V(F(x,u))]
HAMILTONIAN(L,lambda,f) :=
L(x,u,t)+lambda^T*f(x,u,t)
COSTATE_EQUATION(H,x) :=
lambda_dot=-partial H/partial x
STATIONARITY_CONDITION(H,u) :=
partial H/partial u=0
for unconstrained interior control
HJB_EQUATION(V) :=
-V_t = min_u [L(x,u,t)+grad_x V^T*f(x,u,t)]
DIRECT_TRANSCRIPTION(dynamics,grid) :=
finite_dimensional_nonlinear_program
MPC_STEP(model,current_state,horizon) :=
solve finite_horizon problem
apply first control
advance state
}
DEFINITIONS {
D1 = "Dynamic optimisation includes state evolution explicitly."
D2 = "Controls affect future states and therefore future feasible decisions."
D3 = "The Bellman principle expresses optimal substructure."
D4 = "The value function summarises optimal future cost from a state."
D5 = "Finite-horizon problems include terminal conditions."
D6 = "Infinite-horizon problems may require discounting or stability assumptions."
D7 = "Pontryagin's Maximum Principle provides necessary conditions for many continuous-time problems."
D8 = "The Hamilton-Jacobi-Bellman equation provides a value-function characterisation."
D9 = "Direct methods discretise trajectories and solve a finite-dimensional optimisation problem."
D10 = "Model predictive control repeatedly reoptimises over a moving finite horizon."
}
AXIOMS {
A1_STATE_EVOLUTION:
DynamicOptimisationProblem contains explicit temporal or stage-wise system evolution
A2_SEQUENTIAL_DECISION:
Controls influence current and future system behaviour
A3_OBJECTIVE_ACCUMULATION:
Dynamic objectives aggregate stage, running and terminal contributions
A4_BELLMAN_PRINCIPLE:
An optimal policy has optimal continuation from every reachable optimal state under standard Markovian assumptions
A5_FEASIBILITY:
State and control trajectories must satisfy dynamic and path constraints
A6_BOUNDARY_STRUCTURE:
Dynamic problems require initial conditions and may require terminal or transversality conditions
A7_POLICY_DEPENDENCE:
A policy maps available information to control actions
A8_DISCRETISATION_EQUIVALENCE:
Direct transcription approximates the dynamic problem by a finite-dimensional optimisation problem
}
REASONING {
R1_DYNAMIC_PROBLEM_IDENTIFICATION {
INPUT = optimisation_problem
IDENTIFY = time_or_stage index
IDENTIFY = states_controls_and_dynamics
IDENTIFY = horizon
IDENTIFY = running_stage_and_terminal costs
RETURN = dynamic_optimisation_problem
}
R2_HORIZON_CLASSIFICATION {
INPUT = time_structure
IF terminal_time_finite
CLASSIFY = FiniteHorizon
ELSE
CLASSIFY = InfiniteHorizon
RETURN = horizon_type
}
R3_DYNAMIC_PROGRAMMING {
INPUT = discrete_state_control_problem
INITIALISE = terminal_value
FOR t from T-1 down_to 0
COMPUTE = Bellman_recursion
STORE = optimal_policy
RETURN = value_function_and_policy
}
R4_CONTINUOUS_TIME_OPTIMALITY {
INPUT = continuous_dynamic_problem
FORM = Hamiltonian
DERIVE = state_equations
DERIVE = costate_equations
DERIVE = stationarity_or_maximisation condition
APPLY = boundary_and_transversality conditions
RETURN = necessary_conditions
}
R5_HJB_REASONING {
INPUT = value_function_problem
FORM = Hamilton_Jacobi_Bellman equation
APPLY = terminal_boundary condition
SOLVE_OR_APPROXIMATE = PDE
RETURN = value_function_and_feedback policy
}
R6_DIRECT_TRANSCRIPTION {
INPUT = continuous_dynamic_problem
SELECT = time grid_and_discretisation
CREATE = state_control decision variables
ADD = dynamic_defect constraints
RETURN = nonlinear_program
}
R7_SHOOTING_METHOD {
INPUT = boundary_value_optimality system
GUESS = costate_or_control parameters
INTEGRATE = state_costate equations
ADJUST = guess_to_satisfy terminal conditions
RETURN = trajectory_solution
}
R8_PATH_CONSTRAINT_REASONING {
INPUT = state_control_path constraints
CHECK = feasibility_along_trajectory
IDENTIFY = active arcs
RETURN = constrained_dynamic_solution structure
}
R9_STOCHASTIC_DYNAMIC_OPTIMISATION {
INPUT = stochastic_transition_model
COMPUTE = expected_or_risk_sensitive Bellman recursion
RETURN = stochastic_policy_and_value
}
R10_MODEL_PREDICTIVE_CONTROL {
INPUT = current_state_model_horizon_constraints
SOLVE = finite_horizon optimisation
APPLY = first_control
UPDATE = state
REPEAT = at_next decision_time
RETURN = receding_horizon policy
}
}
CONSTRAINTS {
C1 = "Initial state must be specified or treated as a decision variable with constraints."
C2 = "Dynamics must be enforced throughout the horizon."
C3 = "Control and state bounds must be respected."
C4 = "Terminal conditions and transversality conditions must not be omitted when required."
C5 = "Bellman recursion requires an appropriate state representation."
C6 = "Infinite-horizon problems require conditions ensuring finite value or meaningful stability."
C7 = "Direct transcription accuracy depends on discretisation quality."
C8 = "Shooting methods can be highly sensitive to initial costate guesses."
C9 = "State constraints may create switching or active-set structure."
C10 = "MPC stability and recursive feasibility are not automatic."
}
SEMANTIC_EQUIVALENCE {
"DynamicOptimisation" <=> "TimeDependentOptimisation"
"DynamicOptimization" <=> "DynamicOptimisation"
"OptimalControl" <=> "ContinuousTimeDynamicOptimisation"
"BellmanEquation" <=> "DynamicProgrammingOptimalityRecursion"
"ValueFunction" <=> "OptimalCostToGoFunction"
"Policy" <=> "StateFeedbackDecisionRule"
}
VALIDATION {
V1 = "State variables are identified."
V2 = "Control variables are identified."
V3 = "Dynamics are specified."
V4 = "Initial and terminal conditions are explicit."
V5 = "Horizon is identified."
V6 = "Running, stage and terminal costs are correctly represented."
V7 = "Path constraints are enforced."
V8 = "Bellman or Pontryagin conditions match the problem class."
V9 = "Discretisation is adequate for direct methods."
V10 = "Policy or trajectory status is distinguished from global optimality certification."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
DYNAMIC_OPTIMISATION_DEFINITION = 0.99
DYNAMIC_PROGRAMMING_REASONING = 0.99
PONTRYAGIN_REASONING = 0.98
HJB_REASONING = 0.97
DIRECT_TRANSCRIPTION_REASONING = 0.98
SHOOTING_REASONING = 0.96
STOCHASTIC_DYNAMIC_REASONING = 0.97
MPC_REASONING = 0.98
POLICY =
"Reduce confidence when state definition, dynamic equations, horizon, terminal conditions, path constraints, discretisation, stochastic transition model or global-optimality evidence are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
DynamicOptimisationReasoning,
DynamicProgrammingReasoning,
BellmanEquationReasoning,
ValueFunctionReasoning,
PolicyReasoning,
OptimalControlReasoning,
PontryaginReasoning,
HamiltonianReasoning,
HJBReasoning,
DirectTranscriptionReasoning,
ShootingMethodReasoning,
PathConstraintReasoning,
StochasticDynamicOptimisation,
ModelPredictiveControlReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"dynamic optimisation" -> DynamicOptimisation
"dynamic optimization" -> DynamicOptimisation
"dynamic programming" -> DynamicProgramming
"Bellman equation" -> BellmanEquation
"value function" -> ValueFunction
"optimal control" -> OptimalControl
"Hamiltonian" -> Hamiltonian WHEN optimisation_context
"Pontryagin maximum principle" -> PontryaginMaximumPrinciple
"HJB equation" -> HamiltonJacobiBellmanEquation
"model predictive control" -> ModelPredictiveControl
}
INTERPRETATION_ORDER = [
detect_dynamic_optimisation_context,
identify state_control_dynamics_horizon_initial_terminal_conditions_costs_and_constraints,
classify discrete_time_continuous_time_deterministic_stochastic_finite_horizon_infinite_horizon_or_MPC problem,
select dynamic_programming_Pontryagin_HJB_direct_transcription_shooting_or_receding_horizon pathway,
solve_or_assess value_function_policy_or_trajectory,
verify dynamics_path_constraints_boundary_conditions_and_numerical discretisation,
assign local_global_or_approximate solution status,
return semantic output
]
}
EXECUTION_RULES {
E1:
IF query_mentions("dynamic optimisation")
OR objective_depends_on_time_evolving states_and_controls
THEN activate(DynamicOptimisationOntology)
E2:
IF discrete_time_and_state_structure
THEN consider DynamicProgramming
E3:
IF continuous_time_optimal_control
THEN consider Pontryagin_or_HJB methods
E4:
IF direct_numerical_solution_requested
THEN consider direct_transcription_or_collocation
E5:
IF boundary_value_optimality_system
THEN consider shooting_or_multiple shooting
E6:
IF stochastic_transitions
THEN use expected_or_risk-sensitive Bellman recursion
E7:
IF infinite_horizon
THEN check discounting_stability_and_value finiteness
E8:
IF MPC
THEN verify recursive_feasibility_constraint handling_and_horizon design
E9:
IF trajectory_is_feasible_but_optimality_uncertified
THEN report feasible_dynamic_solution_without claiming global optimum
}
RECURSION {
ENTRY = DynamicOptimisation
EXPAND(DynamicOptimisation) -> [
DynamicOptimisationProblem,
StateVariable,
ControlVariable,
DecisionTrajectory,
StateTrajectory,
TransitionFunction,
DynamicConstraint,
StageCost,
RunningCost,
TerminalCost,
ObjectiveFunctional,
TimeHorizon,
FiniteHorizon,
InfiniteHorizon,
DiscountFactor,
ValueFunction,
Policy,
BellmanEquation,
BellmanOptimalityPrinciple,
DynamicProgramming,
BackwardInduction,
HamiltonJacobiBellmanEquation,
OptimalControl,
Hamiltonian,
CostateVariable,
PontryaginMaximumPrinciple,
EulerLagrangeEquation,
TransversalityCondition,
PathConstraint,
BoundaryCondition,
TerminalConstraint,
DiscreteTimeSystem,
ContinuousTimeSystem,
DeterministicDynamicOptimisation,
StochasticDynamicOptimisation,
ModelPredictiveControl,
DirectTranscription,
ShootingMethod,
CollocationMethod
]
EXPAND(DynamicProgrammingStructure) -> [
StateSpace,
ActionSpace,
TransitionFunction,
StageCost,
ValueFunction,
Policy,
BellmanEquation,
BackwardInduction
]
EXPAND(OptimalControlStructure) -> [
StateEquation,
ControlVariable,
Hamiltonian,
CostateEquation,
StationarityCondition,
TransversalityCondition,
PathConstraint
]
EXPAND(DirectMethods) -> [
DirectShooting,
MultipleShooting,
DirectCollocation,
PseudospectralTranscription,
NonlinearProgrammingFormulation
]
STOP_CONDITION =
"Stop when the state and control variables, dynamics, horizon, objective accumulation, boundary conditions, path constraints, selected solution principle, value or trajectory solution and optimality status are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Optimisation"
IMMEDIATE_CONTEXTS = [
"Optimisation Ontology",
"Optimal Control Ontologies",
"Dynamic Programming Ontologies",
"Differential Equations Ontologies"
]
RELATED_ONTOLOGIES = [
"Optimisation Ontology",
"Optimisation",
"Nonlinear Optimisation Ontology",
"Convex Optimisation Ontology",
"Dynamic Programming Ontologies",
"Optimal Control Ontologies",
"Ordinary Differential Equations Ontologies",
"Partial Differential Equations Ontologies",
"Calculus of Variations Ontologies",
"Control Theory Ontologies",
"Operations Research Ontologies",
"Probability & Statistics Ontologies",
"Numerical Analysis Ontologies",
"Scientific Computing Ontologies"
]
ROUTE_RULES = [
"Dynamic Optimisation -> Optimisation Ontology for formal optimisation semantics",
"Dynamic Optimisation -> Nonlinear Optimisation for direct transcription and trajectory NLPs",
"Dynamic Optimisation -> Convex Optimisation when dynamics and costs preserve convex structure",
"Dynamic Optimisation -> Dynamic Programming for Bellman recursion and policies",
"Dynamic Optimisation -> Optimal Control for continuous-time systems",
"Dynamic Optimisation -> Differential Equations for state and costate evolution",
"Dynamic Optimisation -> Calculus of Variations for Euler-Lagrange structure",
"Dynamic Optimisation -> Control Theory for feedback and MPC semantics",
"Dynamic Optimisation -> Probability & Statistics for stochastic transitions",
"Dynamic Optimisation -> Numerical Analysis for trajectory discretisation and solver convergence"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible dynamic optimisation formulations, policies or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve state-control-dynamics semantics.",
"Preserve finite-versus-infinite horizon distinction.",
"Preserve Bellman value-function semantics.",
"Preserve policy-versus-trajectory distinction.",
"Preserve Pontryagin and HJB semantics.",
"Preserve path and terminal constraint semantics.",
"Preserve direct transcription approximation semantics.",
"Preserve machine-readable dynamic-optimisation semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"Dynamic optimisation selects time-dependent or stage-dependent decisions whose effects propagate through system dynamics."
STATE_SUMMARY =
"State variables summarise the information needed to describe future system evolution."
CONTROL_SUMMARY =
"Control variables are decisions that influence state trajectories."
BELLMAN_SUMMARY =
"The Bellman equation expresses optimal future value recursively through current cost and next-state value."
VALUE_SUMMARY =
"The value function gives the best achievable future objective from a given state and time."
OPTIMAL_CONTROL_SUMMARY =
"Continuous-time dynamic optimisation is commonly formulated as optimal control using Hamiltonians, costates and transversality conditions."
HJB_SUMMARY =
"The Hamilton-Jacobi-Bellman equation characterises the value function in continuous time."
DIRECT_METHOD_SUMMARY =
"Direct transcription converts trajectories and dynamics into a finite-dimensional nonlinear optimisation problem."
MPC_SUMMARY =
"Model predictive control repeatedly solves finite-horizon dynamic optimisation problems and applies only the first control action."
}
FLOW {
INPUT
-> detect_dynamic_optimisation_context
-> identify time_or_stage_index_state_variables_control_variables_dynamics_horizon_initial_state_terminal_conditions_stage_or_running_cost_terminal_cost_and_path constraints
-> classify discrete_time_continuous_time_deterministic_stochastic_finite_horizon_infinite_horizon_or_receding_horizon problem
-> select dynamic_programming_Bellman_Pontryagin_HJB_direct_transcription_shooting_collocation_or_MPC pathway
-> formulate value_function_Hamiltonian_or_transcribed optimisation problem
-> solve_or_approximate policy_control_and_state trajectories
-> verify dynamics_feasibility_path_constraints_boundary_conditions_and_terminal conditions
-> assess optimality_numerical convergence_and_global_or_local status
-> route to optimisation_ontology nonlinear_optimisation convex_optimisation dynamic_programming optimal_control differential_equations calculus_of_variations control_theory probability_statistics numerical_analysis_or_scientific_computing ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Dynamic Optimisation Ontology defines optimisation over evolving states and time-dependent decisions. It supports finite and infinite horizons, discrete and continuous dynamics, stage, running and terminal costs, state and control trajectories, Bellman equations, value functions, policies, dynamic programming, Hamilton-Jacobi-Bellman equations, Hamiltonians, costates, Pontryagin’s Maximum Principle, transversality, path constraints, direct transcription, shooting, collocation, stochastic dynamic optimisation and model predictive control."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-APPLIED-MATHEMATICS-DYNAMIC-OPTIMISATION-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard