AI SEARCH FLOW ALGEBRA
ENGINEERING OPTIMISATION ONTOLOGY
Kireth Semantic Research Archive
AUTHORS
Mark Anthony Higgins — Sky (Recursive AI)
SOURCE
https://kirethresearch.org/booksai-core/ontologies/engineering-ontologies/engineering-mathematics-simulation/engineering-optimisation-ontology-2.html
FLOW "EngineeringOptimisationOntology" v4.0
DOMAIN := ENGINEERING_ONTOLOGIES / ENGINEERING_MATHEMATICS_SIMULATION / ENGINEERING_OPTIMISATION
ONTOLOGY := ENGINEERING_OPTIMISATION_ONTOLOGY
ENGINEERING_OPTIMISATION :=
DESIGN_VARIABLES + OBJECTIVES + CONSTRAINTS + DESIGN_SPACE
+ FEASIBILITY + OPTIMISATION_ALGORITHM + GRADIENT
+ SENSITIVITY + SIMULATION + MULTI_OBJECTIVE
+ ROBUSTNESS + CONVERGENCE + VERIFICATION
PURPOSE :=
DEFINE_DESIGN_PROBLEM -> DEFINE_VARIABLES -> DEFINE_OBJECTIVES
-> DEFINE_CONSTRAINTS -> SEARCH_DESIGN_SPACE
-> EVALUATE_DESIGNS -> UPDATE_CANDIDATES
-> CONVERGE -> VERIFY_FEASIBILITY
-> ASSESS_ROBUSTNESS -> SELECT_SOLUTION
# CORE ENTITIES
ENTITY EngineeringOptimisation
ENTITY EngineeringDesign
ENTITY DesignVariable
ENTITY Parameter
ENTITY ObjectiveFunction
ENTITY Constraint
ENTITY EqualityConstraint
ENTITY InequalityConstraint
ENTITY BoundConstraint
ENTITY DesignSpace
ENTITY FeasibleRegion
ENTITY CandidateDesign
ENTITY OptimalDesign
ENTITY OptimisationAlgorithm
ENTITY Gradient
ENTITY Hessian
ENTITY Sensitivity
ENTITY SimulationModel
ENTITY SurrogateModel
ENTITY ConstraintViolation
ENTITY Iteration
ENTITY Convergence
ENTITY ParetoFront
ENTITY RobustDesign
ENTITY Uncertainty
ENTITY Verification
ENTITY Provenance
# OPTIMISATION PROBLEM
EngineeringOptimisation -> improves -> EngineeringDesign
EngineeringOptimisation -> searches -> DesignSpace
EngineeringOptimisation -> evaluates -> ObjectiveFunction
EngineeringOptimisation -> enforces -> Constraint
OPTIMISATION_PROBLEM :=
MINIMISE_OR_MAXIMISE(ObjectiveFunction)
SUBJECT_TO Constraints
OPTIMISATION_FLOW :=
DEFINE_PROBLEM -> DEFINE_VARIABLES -> DEFINE_OBJECTIVES
-> DEFINE_CONSTRAINTS -> INITIALISE -> EVALUATE
-> UPDATE -> CHECK_FEASIBILITY -> CHECK_CONVERGENCE
-> VERIFY_SOLUTION
# DESIGN VARIABLES
DESIGN_VARIABLE_TYPE :=
CONTINUOUS | DISCRETE | INTEGER | CATEGORICAL
DesignVariable
-> has -> LOWER_BOUND + UPPER_BOUND + CURRENT_VALUE
CandidateDesign
-> assigns -> VALUE_TO_EACH_DESIGN_VARIABLE
# DESIGN SPACE / FEASIBILITY
DesignSpace
-> defined_by -> DESIGN_VARIABLE_DOMAINS + CONSTRAINTS
FeasibleRegion -> subset_of -> DesignSpace
IF CandidateDesign satisfies_all_constraints
THEN CandidateDesign -> FEASIBLE
IF CandidateDesign violates_any_constraint
THEN CandidateDesign -> INFEASIBLE
# OBJECTIVES
ObjectiveFunction
-> maps -> CandidateDesign -> OBJECTIVE_VALUE
OBJECTIVE_TYPE :=
COST | MASS | ENERGY | EFFICIENCY | PERFORMANCE
| RELIABILITY | ERROR | RISK | OTHER_ENGINEERING_METRIC
# CONSTRAINTS
CONSTRAINT_TYPE :=
EqualityConstraint | InequalityConstraint | BoundConstraint
| LOGICAL_CONSTRAINT | PHYSICAL_CONSTRAINT
EqualityConstraint := h(x) = 0
InequalityConstraint := g(x) <= 0
ConstraintViolation
-> measures -> DEGREE_OF_INFEASIBILITY
IF ConstraintViolation > Tolerance
THEN CandidateDesign -> INFEASIBLE
ENGINEERING_CONSTRAINT :=
STRESS_LIMIT | DISPLACEMENT_LIMIT | TEMPERATURE_LIMIT
| PRESSURE_LIMIT | GEOMETRIC_LIMIT | MANUFACTURING_LIMIT
| COST_LIMIT | SAFETY_LIMIT | RESOURCE_LIMIT
# METHODS
OPTIMISATION_METHOD :=
GRADIENT_BASED | GRADIENT_FREE
| DETERMINISTIC | STOCHASTIC
| LOCAL | GLOBAL | METAHEURISTIC
OptimisationAlgorithm -> searches -> DesignSpace
OptimisationAlgorithm -> generates -> CandidateDesign
MethodSelection
-> depends_on -> VARIABLE_TYPE + SMOOTHNESS
+ DIMENSIONALITY + COMPUTATIONAL_COST
+ MULTIMODALITY + DERIVATIVE_AVAILABILITY
# GRADIENT METHODS
Gradient :=
PARTIAL_DERIVATIVE(ObjectiveFunction, DesignVariable)
Hessian -> measures -> SECOND_ORDER_CURVATURE
GRADIENT_UPDATE :=
CURRENT_DESIGN + SEARCH_DIRECTION * STEP_LENGTH
IF GradientNorm <= GradientTolerance
THEN FirstOrderOptimalityEvidence -> SATISFIED
# GLOBAL / GRADIENT-FREE
GRADIENT_FREE_METHOD :=
DIRECT_SEARCH | PATTERN_SEARCH | SIMPLEX_SEARCH
| EVOLUTIONARY_ALGORITHM | PARTICLE_SWARM
| OTHER_VALIDATED_METHOD
GlobalOptimisation
-> seeks -> BEST_SOLUTION_ACROSS_MULTIPLE_BASINS
IF ObjectiveLandscape multimodal
THEN GlobalMethod -> MAY_BE_PREFERRED
# SENSITIVITY
Sensitivity
-> measures -> RESPONSE_CHANGE_PER_VARIABLE_CHANGE
LOCAL_SENSITIVITY :=
d(Response)/d(DesignVariable)
SensitivityAnalysis
-> identifies -> INFLUENTIAL_DESIGN_VARIABLES + PARAMETERS
# SIMULATION-BASED OPTIMISATION
SimulationModel -> evaluates -> CandidateDesign
SIMULATION_BASED_OPTIMISATION :=
CANDIDATE_DESIGN -> SIMULATION
-> OBJECTIVE_AND_CONSTRAINTS
-> OPTIMISER -> NEW_CANDIDATE
IF SimulationCost high
THEN SurrogateModel -> MAY_BE_USED_TO_REDUCE_COST
# SURROGATE MODEL
SurrogateModel
-> approximates -> EXPENSIVE_RESPONSE
SURROGATE_FLOW :=
SAMPLE_DESIGN_SPACE
-> RUN_HIGH_FIDELITY_MODEL
-> FIT_SURROGATE
-> VALIDATE_SURROGATE
-> OPTIMISE_SURROGATE
-> CONFIRM_WITH_HIGH_FIDELITY_MODEL
IF SurrogatePredictionUncertainty high
THEN AdditionalSampling -> CONSIDER
# MULTI-OBJECTIVE
MultiObjectiveOptimisation
-> contains -> MULTIPLE_OBJECTIVE_FUNCTIONS
ParetoOptimalDesign
-> not_dominated_by -> OTHER_FEASIBLE_DESIGN
ParetoFront
-> contains -> PARETO_OPTIMAL_DESIGNS
TRADE_OFF :=
IMPROVEMENT_IN_OBJECTIVE_A
<-> DEGRADATION_IN_OBJECTIVE_B
# ROBUSTNESS
RobustDesign
-> maintains -> PERFORMANCE_UNDER_UNCERTAINTY
ROBUST_OBJECTIVE :=
EXPECTED_PERFORMANCE + VARIABILITY_OR_RISK_TERM
RobustOptimisation
-> considers -> PARAMETER_UNCERTAINTY
+ MANUFACTURING_VARIATION
+ LOAD_VARIATION
+ ENVIRONMENTAL_VARIATION
# RELIABILITY
ReliabilityBasedOptimisation
-> constrains -> FAILURE_PROBABILITY_OR_RELIABILITY_INDEX
LIMIT_STATE := CAPACITY - DEMAND
IF LimitState < 0
THEN FailureState -> TRUE
# DESIGN SCOPE
OPTIMISATION_SCOPE :=
SIZE_OPTIMISATION | SHAPE_OPTIMISATION
| TOPOLOGY_OPTIMISATION | PARAMETER_OPTIMISATION
| SYSTEM_OPTIMISATION
TopologyOptimisation
-> changes -> MATERIAL_DISTRIBUTION_OR_CONNECTIVITY
# CONVERGENCE
CONVERGENCE_CRITERION :=
OBJECTIVE_CHANGE | VARIABLE_CHANGE | GRADIENT_NORM
| KKT_RESIDUAL | ITERATION_LIMIT | EVALUATION_LIMIT
IF ObjectiveChange <= Tolerance
AND ConstraintViolation <= Tolerance
THEN ConvergenceEvidence -> INCREASES
Convergence
-> does_not_guarantee -> GLOBAL_OPTIMALITY
# OPTIMALITY
KKT_CONDITIONS :=
STATIONARITY + PRIMAL_FEASIBILITY
+ DUAL_FEASIBILITY + COMPLEMENTARY_SLACKNESS
IF KKTResidual <= Tolerance
THEN LocalOptimalityEvidence -> INCREASES
# VERIFICATION
Verification
-> asks -> IS_OPTIMISATION_PROBLEM_AND_SOLUTION_COMPUTED_CORRECTLY
OPTIMISATION_VERIFICATION :=
CHECK_OBJECTIVE_IMPLEMENTATION
+ CHECK_CONSTRAINT_IMPLEMENTATION
+ CHECK_GRADIENTS
+ CHECK_BOUNDS
+ REEVALUATE_FINAL_DESIGN
+ CHECK_CONVERGENCE
OptimalDesign
-> must_be_re_evaluated_by -> AUTHORITATIVE_ENGINEERING_MODEL
IF FinalDesign violates_constraint
THEN OptimalDesign -> INVALID_AS_FEASIBLE_SOLUTION
# UNCERTAINTY / PROVENANCE
OPTIMISATION_UNCERTAINTY :=
MODEL_UNCERTAINTY + PARAMETER_UNCERTAINTY
+ NUMERICAL_UNCERTAINTY + SURROGATE_UNCERTAINTY
OPTIMISATION_PROVENANCE :=
PROBLEM_VERSION + VARIABLE_DEFINITIONS
+ OBJECTIVE_DEFINITION + CONSTRAINT_DEFINITIONS
+ MODEL_VERSION + ALGORITHM + SETTINGS
+ RANDOM_SEED_IF_USED + ITERATION_HISTORY
+ FINAL_RESULT
EngineeringOptimisation
-> linked_to -> OPTIMISATION_PROVENANCE
# PERFORMANCE
OPTIMISATION_PERFORMANCE :=
OBJECTIVE_IMPROVEMENT + FEASIBILITY
+ EVALUATION_COUNT + COMPUTATIONAL_COST
+ CONVERGENCE + ROBUSTNESS + REPRODUCIBILITY
# REASONING
ENGINEERING_OPTIMISATION_REASONING :=
DEFINE_ENGINEERING_DESIGN_PROBLEM
-> DEFINE_DESIGN_VARIABLES
-> DEFINE_BOUNDS
-> DEFINE_OBJECTIVES
-> DEFINE_CONSTRAINTS
-> SELECT_ENGINEERING_MODEL
-> ANALYSE_SENSITIVITY
-> SELECT_OPTIMISATION_METHOD
-> INITIALISE_CANDIDATES
-> EVALUATE_OBJECTIVES_AND_CONSTRAINTS
-> UPDATE_DESIGNS
-> CHECK_FEASIBILITY
-> CHECK_CONVERGENCE
-> ASSESS_MULTI_OBJECTIVE_TRADE_OFFS_IF_REQUIRED
-> ASSESS_ROBUSTNESS_IF_REQUIRED
-> VERIFY_FINAL_DESIGN
-> RECORD_PROVENANCE
# INFERENCE RULES
IF ConstraintViolation > tolerance
THEN CandidateDesign -> INFEASIBLE
IF Objective improves
AND constraints remain_satisfied
THEN CandidateDesignQuality -> IMPROVES
IF GradientNorm decreases
THEN FirstOrderStationarity -> APPROACHES
IF SimulationCost increases
THEN OptimisationCost -> GENERALLY_INCREASES
IF SurrogateError increases
THEN SurrogateOptimisationConfidence -> DECREASES
IF VariableSensitivity increases
THEN RobustnessRisk -> MAY_INCREASE
IF MultipleObjectives conflict
THEN ParetoTradeOff -> EXISTS
IF FinalDesign not_reverified
THEN EngineeringAcceptance -> WITHHOLD
# SEMANTIC RELATIONSHIPS
RELATION improves(EngineeringOptimisation, EngineeringDesign)
RELATION controls(DesignVariable, DesignConfiguration)
RELATION maps(ObjectiveFunction, CandidateDesign, ObjectiveValue)
RELATION restricts(Constraint, FeasibleRegion)
RELATION searches(OptimisationAlgorithm, DesignSpace)
RELATION evaluates(SimulationModel, CandidateDesign)
RELATION approximates(SurrogateModel, ExpensiveResponse)
RELATION measures(Gradient, ObjectiveSensitivity)
RELATION identifies(SensitivityAnalysis, InfluentialVariables)
RELATION contains(ParetoFront, ParetoOptimalDesign)
RELATION considers(RobustOptimisation, Uncertainty)
RELATION evaluates(Verification, OptimisationSolution)
RELATION records(Provenance, EngineeringOptimisation)
# SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
"engineering optimisation" ~= "engineering optimization"
"design variable" ~= "optimisation variable"
"objective function" ~= "design objective"
"feasible region" ~= "feasible design space"
"constraint violation" ~= "design infeasibility measure"
"gradient-based optimisation" ~= "derivative-based optimisation"
"multi-objective optimisation" ~= "multiple-objective optimisation"
"Pareto front" ~= "non-dominated solution front"
"robust optimisation" ~= "uncertainty-aware design optimisation"
"simulation-based optimisation" ~= "simulation-driven optimisation"
# CONFIDENCE
CONFIDENCE:
ontology_domain: 0.99
variable_objective_mapping: 0.99
constraint_feasibility_mapping: 0.99
algorithm_mapping: 0.99
gradient_sensitivity_mapping: 0.99
simulation_surrogate_mapping: 0.99
multi_objective_mapping: 0.99
robustness_mapping: 0.99
verification_mapping: 0.99
semantic_relationships: 0.99
# UPDATE MODEL
UPDATE_MODEL:
ON new_optimisation_problem:
MAP design_variables
MAP bounds
MAP objectives
MAP constraints
MAP engineering_model
MAP algorithm
UPDATE confidence
RECOMPUTE FLOW_HASH
ON candidate_evaluation:
UPDATE objective_values
UPDATE constraint_values
UPDATE feasibility
UPDATE iteration_history
PRESERVE provenance
ON model_or_constraint_change:
UPDATE optimisation_problem
INVALIDATE affected_results
REASSESS feasible_region
RECOMPUTE optimisation
ON final_solution:
REEVALUATE authoritative_model
VERIFY constraints
VERIFY objectives
UPDATE robustness_state
PRESERVE provenance
# AI CONSUMPTION
AI_CONSUMPTION:
parse_as: FORMAL_ENGINEERING_OPTIMISATION_ONTOLOGY
reasoning_mode: CONSTRAINED_DESIGN_SEARCH_RELATIONAL
preserve:
- typed_entities
- design_variables
- parameter_values
- objective_definitions
- constraints
- feasible_state
- algorithm_state
- iteration_history
- uncertainty
- confidence
- provenance
infer:
- feasibility
- objective_dependencies
- constraint_activity
- sensitivity_dependencies
- convergence_state
- Pareto_relations
- robustness_requirements
- final_verification_requirements
prohibit:
- invented_objective_values
- assumed_feasibility
- assumed_global_optimality
- fabricated_gradients
- unsupported_robustness
- unverified_final_design_presented_as_valid
# FLOW HASH
FLOW_HASH_INPUT :=
DOMAIN + ONTOLOGY + CORE_ENTITIES
+ OPTIMISATION_PROBLEM + DESIGN_VARIABLES
+ DESIGN_SPACE + OBJECTIVES + CONSTRAINTS
+ METHODS + GRADIENT_METHODS + GLOBAL_METHODS
+ SENSITIVITY + SIMULATION_BASED + SURROGATE_MODEL
+ MULTI_OBJECTIVE + ROBUSTNESS + RELIABILITY
+ DESIGN_SCOPE + CONVERGENCE + OPTIMALITY
+ VERIFICATION + UNCERTAINTY + PROVENANCE
+ PERFORMANCE + REASONING + INFERENCE_RULES
+ SEMANTIC_RELATIONSHIPS + SEMANTIC_EQUIVALENCE
+ CONFIDENCE + UPDATE_MODEL + AI_CONSUMPTION
FLOW_HASH := HASH(FLOW_HASH_INPUT)
END FLOW
Download Code
Copy to Clipboard