AI INTERPRETATION NOTE
This Flow Algebra defines the Multi-Objective Optimisation Ontology within the Kireth Research Semantic Library. Multi-objective optimisation studies problems containing two or more competing objectives that cannot generally be minimised or maximised simultaneously by a single solution. This ontology supports Pareto optimality, dominance, Pareto fronts, efficient solutions, scalarisation, weighted sums, epsilon-constraint methods, achievement scalarising functions, lexicographic optimisation, reference-point methods, compromise programming, evolutionary multi-objective algorithms, diversity, preference articulation, knee points, hypervolume, convergence, decision making and relationships with optimisation, convex analysis, operations research and decision theory.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Multi-Objective Optimisation Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Applied Mathematics"
SPECIALISATION = "Optimisation / Multi-Objective Optimisation"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/optimisation/multi-objective-optimisation-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = MultiObjectiveOptimisation
SYMBOLIC_FORMS = [
"min_x [f_1(x),f_2(x),...,f_m(x)]",
"x* is Pareto optimal",
"F(x)=(f_1(x),...,f_m(x))"
]
ENTITY_CLASS = MultipleCriteriaOptimisationFramework
PRIMARY_CONTEXT = Optimisation
DEFINITION = "Multi-objective optimisation is the optimisation of two or more objective functions over a common feasible set, typically producing a set of trade-off solutions rather than one universally best solution."
SEMANTIC_ROLE = "Provides the machine-readable framework for multiple objectives, dominance, Pareto efficiency, trade-off surfaces, scalarisation, preference models, diversity, quality indicators and decision support."
}
SCOPE {
INCLUDE = [
MultiObjectiveOptimisation,
MultiCriteriaOptimisation,
VectorOptimisation,
ObjectiveVector,
MultipleObjectiveFunctions,
FeasibleSet,
Dominance,
WeakDominance,
StrictDominance,
ParetoDominance,
ParetoOptimality,
ParetoOptimalSolution,
ParetoSet,
ParetoFront,
EfficientSolution,
WeaklyEfficientSolution,
SupportedSolution,
UnsupportedSolution,
TradeOff,
ConflictBetweenObjectives,
UtopiaPoint,
IdealPoint,
NadirPoint,
ReferencePoint,
KneePoint,
Scalarisation,
WeightedSumMethod,
EpsilonConstraintMethod,
WeightedChebyshevMethod,
AchievementScalarisingFunction,
GoalProgramming,
LexicographicOptimisation,
CompromiseProgramming,
PreferenceArticulation,
AProriPreference,
InteractivePreference,
APosterioriPreference,
EvolutionaryMultiObjectiveOptimisation,
NSGAII,
SPEA2,
MOEAD,
DiversityPreservation,
CrowdingDistance,
Hypervolume,
GenerationalDistance,
SpreadMetric,
ConvergenceToParetoFront
]
EXCLUDE_AS_PRIMARY = [
SingleObjectiveOptimisation,
MulticlassPredictionWithoutOptimisationGoal,
MultiAttributeDecisionMakingWithoutSearchOrOptimisation,
WeightedObjectiveModelWithoutExplicitMultipleCriteriaInterpretation
]
DISAMBIGUATION_RULE =
"When two or more objectives are optimised simultaneously and trade-offs between them matter, interpret the problem as multi-objective optimisation."
}
CORE_CONCEPTS {
MultiObjectiveOptimisation {
definition = "Optimisation involving multiple potentially conflicting objective functions."
}
ObjectiveVector {
definition = "The vector of objective values associated with a feasible decision."
}
ParetoDominance {
definition = "A relation in which one feasible solution is no worse in every objective and strictly better in at least one objective."
}
ParetoOptimality {
definition = "The property of a feasible solution that is not Pareto-dominated by any other feasible solution."
}
ParetoSet {
definition = "The set of Pareto-optimal decision-variable solutions."
}
ParetoFront {
definition = "The image of the Pareto set in objective space."
}
TradeOff {
definition = "A compromise in which improving one objective worsens another."
}
IdealPoint {
definition = "A vector composed of the individually best achievable value for each objective."
}
NadirPoint {
definition = "A vector representing the worst objective values among Pareto-optimal solutions, under a declared convention."
}
KneePoint {
definition = "A Pareto-front region where small improvement in one objective causes relatively large deterioration in others."
}
Scalarisation {
definition = "Transformation of a multi-objective problem into one or more scalar optimisation problems."
}
}
RELATIONS {
MultiObjectiveOptimisation --is_special_case_of--> Optimisation
MultiObjectiveOptimisation --has--> ObjectiveVector
ObjectiveVector --contains--> ObjectiveFunction
ParetoOptimalSolution --is_element_of--> ParetoSet
ParetoSet --maps_to--> ParetoFront
ParetoDominance --defines--> ParetoOptimality
EfficientSolution --is_equivalent_to--> ParetoOptimalSolution
TradeOff --occurs_between--> ObjectiveFunction
WeightedSumMethod --is_type_of--> Scalarisation
EpsilonConstraintMethod --is_type_of--> Scalarisation
AchievementScalarisingFunction --is_type_of--> Scalarisation
LexicographicOptimisation --uses--> ObjectivePriority
GoalProgramming --uses--> TargetValue
PreferenceArticulation --guides--> SolutionSelection
NSGAII --is_type_of--> EvolutionaryMultiObjectiveOptimisation
CrowdingDistance --supports--> DiversityPreservation
Hypervolume --measures--> ParetoApproximationQuality
}
OPERATORS {
OBJECTIVE_VECTOR(x) :=
[f_1(x),f_2(x),...,f_m(x)]
PARETO_DOMINATES(x,y) :=
forall_i f_i(x)<=f_i(y)
AND exists_j f_j(x)<f_j(y)
for minimisation convention
WEAKLY_DOMINATES(x,y) :=
forall_i f_i(x)<=f_i(y)
PARETO_OPTIMAL(x,F) :=
feasible(x)
AND NOT exists y in F such_that PARETO_DOMINATES(y,x)
WEIGHTED_SUM(x,w) :=
sum_i w_i*f_i(x)
with w_i>=0
EPSILON_CONSTRAINT(primary_objective,other_objectives,epsilon) :=
optimise primary_objective
subject_to f_i(x)<=epsilon_i
WEIGHTED_CHEBYSHEV(x,w,z_ref) :=
max_i w_i*abs(f_i(x)-z_ref_i)
ACHIEVEMENT_SCALARISING(x,w,z_ref,rho) :=
max_i w_i*(f_i(x)-z_ref_i)
+ rho*sum_i w_i*(f_i(x)-z_ref_i)
HYPERVOLUME(P,r) :=
measure_of_region_dominated_by_P_and_bounded_by_reference_point_r
CROWDING_DISTANCE(point,neighbours) :=
objective_space_density_estimate
GENERATIONAL_DISTANCE(P,reference_front) :=
aggregate_distance_from_approximation_to_reference_front
}
DEFINITIONS {
D1 = "Multi-objective optimisation usually has no single solution that is best in every objective."
D2 = "Pareto-optimal solutions represent nondominated trade-offs."
D3 = "The Pareto set lives in decision space; the Pareto front lives in objective space."
D4 = "Weighted-sum scalarisation may fail to recover unsupported Pareto points in nonconvex objective spaces."
D5 = "Epsilon-constraint methods can recover unsupported efficient points."
D6 = "Preference information may be supplied before, during or after optimisation."
D7 = "Diversity and convergence are separate goals in Pareto-front approximation."
D8 = "Hypervolume captures both convergence and spread relative to a reference point."
D9 = "Knee points can represent high-value compromise solutions."
D10 = "Objective scaling strongly affects scalarisation and distance-based methods."
}
AXIOMS {
A1_MULTIPLE_OBJECTIVES:
MultiObjectiveOptimisation has at least two objectives
A2_COMMON_FEASIBILITY:
All objective evaluations refer to a common feasible decision set
A3_DOMINANCE:
Pareto dominance compares objective vectors componentwise under a declared direction convention
A4_NONDOMINATION:
Pareto-optimal solutions are feasible and undominated
A5_TRADEOFF:
Distinct Pareto-optimal solutions may encode different objective trade-offs
A6_SCALARISATION:
Scalarisation maps multiple objectives into a single optimisation criterion under declared parameters
A7_PREFERENCE:
Selecting one final solution from a Pareto set requires preference, policy or external decision criteria
A8_QUALITY:
Approximate Pareto sets should be assessed for both convergence and diversity
}
REASONING {
R1_MULTI_OBJECTIVE_IDENTIFICATION {
INPUT = optimisation_problem
COUNT = objective_functions
IF count>=2
RETURN = MultiObjectiveOptimisation
ELSE
RETURN = SingleObjectiveOptimisation
}
R2_OBJECTIVE_DIRECTION_NORMALISATION {
INPUT = objectives_with_min_or_max directions
CONVERT = all_to_common minimisation_or_maximisation convention
RETURN = normalised_objective_vector
}
R3_DOMINANCE_ANALYSIS {
INPUT = candidate_set
FOR each_pair(x,y)
CHECK = Pareto_dominance
RETURN = dominated_and_nondominated partitions
}
R4_PARETO_FRONT_CONSTRUCTION {
INPUT = feasible_candidate_set
REMOVE = dominated solutions
MAP = nondominated_decisions_to_objective space
RETURN = Pareto_set_and_front
}
R5_WEIGHTED_SUM_SCALARISATION {
INPUT = objectives_weights
NORMALISE = objectives_if_required
SOLVE = scalar weighted_sum problem
RETURN = supported_Pareto_candidate
}
R6_EPSILON_CONSTRAINT_REASONING {
INPUT = primary_objective_other_objectives_epsilon values
FORM = constrained_scalar problem
SOLVE = scalar optimisation
RETURN = efficient_candidate
}
R7_REFERENCE_POINT_REASONING {
INPUT = aspiration_or_reference point
FORM = achievement_scalarising_or_Chebyshev criterion
SOLVE = scalarised problem
RETURN = preference-guided candidate
}
R8_EVOLUTIONARY_MULTI_OBJECTIVE {
INPUT = population
EVALUATE = objective_vectors
RANK = nondomination_levels
PRESERVE = diversity
SELECT_MUTATE_RECOMBINE = new_population
RETURN = Pareto_approximation
}
R9_QUALITY_ASSESSMENT {
INPUT = approximate_front
COMPUTE = hypervolume_spread_generational_distance_or_other indicators
RETURN = front_quality_profile
}
R10_FINAL_DECISION_SELECTION {
INPUT = Pareto_front_and_preferences
APPLY = weighting_reference_point_knee_point_lexicographic_or_decision rule
RETURN = selected_compromise_solution
}
}
CONSTRAINTS {
C1 = "Objective directions must be normalised or explicitly tracked."
C2 = "Dominance comparisons require compatible objective meanings and directions."
C3 = "Weighted sums are sensitive to objective scaling."
C4 = "Weighted sums may miss unsupported Pareto points."
C5 = "Hypervolume requires a valid reference point."
C6 = "Approximate nondomination does not prove exact Pareto optimality."
C7 = "Evolutionary algorithms provide approximate, not automatically certified, fronts."
C8 = "Preference parameters must be disclosed."
C9 = "A Pareto front does not determine the final decision without external preference information."
C10 = "High-dimensional objective spaces can make dominance and visual interpretation difficult."
}
SEMANTIC_EQUIVALENCE {
"MultiObjectiveOptimisation" <=> "MultiCriteriaOptimisation"
"VectorOptimisation" <=> "MultiObjectiveOptimisation"
"ParetoOptimality" <=> "NondominatedOptimality"
"ParetoSet" <=> "SetOfNondominatedDecisionSolutions"
"ParetoFront" <=> "ObjectiveSpaceImageOfParetoSet"
"Scalarisation" <=> "MultipleObjectiveToSingleCriterionTransformation"
}
VALIDATION {
V1 = "At least two objectives are identified."
V2 = "Objective directions are explicit."
V3 = "All solutions satisfy common feasibility constraints."
V4 = "Dominance logic uses consistent direction conventions."
V5 = "Objective scaling is considered."
V6 = "Scalarisation parameters are explicit."
V7 = "Approximate fronts are checked for convergence and diversity."
V8 = "Hypervolume reference point is valid."
V9 = "Final selection preferences are disclosed."
V10 = "Exact-versus-approximate Pareto status is distinguished."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
MULTI_OBJECTIVE_DEFINITION = 0.99
DOMINANCE_REASONING = 0.99
PARETO_FRONT_REASONING = 0.99
WEIGHTED_SUM_REASONING = 0.98
EPSILON_CONSTRAINT_REASONING = 0.98
REFERENCE_POINT_REASONING = 0.98
EVOLUTIONARY_REASONING = 0.96
QUALITY_METRIC_REASONING = 0.97
POLICY =
"Reduce confidence when objective directions, scaling, feasible-set definition, scalarisation parameters, preference model, reference point or approximation quality evidence are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
MultiObjectiveOptimisationReasoning,
ParetoDominanceReasoning,
ParetoSetReasoning,
ParetoFrontReasoning,
WeightedSumReasoning,
EpsilonConstraintReasoning,
ReferencePointReasoning,
GoalProgrammingReasoning,
LexicographicOptimisationReasoning,
EvolutionaryMultiObjectiveReasoning,
DiversityReasoning,
HypervolumeReasoning,
KneePointReasoning,
PreferenceArticulation,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"multi-objective optimisation" -> MultiObjectiveOptimisation
"multiobjective optimisation" -> MultiObjectiveOptimisation
"multi-criteria optimisation" -> MultiObjectiveOptimisation
"vector optimisation" -> MultiObjectiveOptimisation
"Pareto optimal" -> ParetoOptimality
"Pareto front" -> ParetoFront
"Pareto set" -> ParetoSet
"nondominated solution" -> ParetoOptimalSolution
"weighted sum" -> WeightedSumMethod
"epsilon-constraint" -> EpsilonConstraintMethod
}
INTERPRETATION_ORDER = [
detect_multi_objective_context,
identify objectives_directions_constraints_domains_and_preferences,
normalise objective directions_and_scales,
classify exact_scalarised_evolutionary_or_reference_point solution pathway,
compute candidate_solutions,
evaluate dominance_and_construct Pareto set/front,
assess convergence_diversity_and_quality indicators,
apply preference_information_if_final_selection required,
return semantic output
]
}
EXECUTION_RULES {
E1:
IF query_mentions("multi-objective optimisation")
OR two_or_more_competing_objectives_present
THEN activate(MultiObjectiveOptimisationOntology)
E2:
IF objectives_have_mixed_min_max directions
THEN normalise_or_preserve direction metadata explicitly
E3:
IF weighted_sum_used
THEN normalise scales_when_needed_and_note supported_solution limitation
E4:
IF unsupported_Pareto_points_may_matter
THEN consider epsilon_constraint_or_reference_point methods
E5:
IF evolutionary_method_used
THEN assess both nondomination_and diversity
E6:
IF Pareto_front_approximate
THEN avoid claiming exact Pareto completeness
E7:
IF final_single_solution_requested
THEN require or infer declared preference rule
E8:
IF knee_point_requested
THEN analyse local tradeoff curvature_or_loss ratios
E9:
IF hypervolume_used
THEN verify reference_point_worse_than_relevant objective vectors
}
RECURSION {
ENTRY = MultiObjectiveOptimisation
EXPAND(MultiObjectiveOptimisation) -> [
MultiCriteriaOptimisation,
VectorOptimisation,
ObjectiveVector,
MultipleObjectiveFunctions,
FeasibleSet,
Dominance,
WeakDominance,
StrictDominance,
ParetoDominance,
ParetoOptimality,
ParetoOptimalSolution,
ParetoSet,
ParetoFront,
EfficientSolution,
WeaklyEfficientSolution,
SupportedSolution,
UnsupportedSolution,
TradeOff,
ConflictBetweenObjectives,
UtopiaPoint,
IdealPoint,
NadirPoint,
ReferencePoint,
KneePoint,
Scalarisation,
WeightedSumMethod,
EpsilonConstraintMethod,
WeightedChebyshevMethod,
AchievementScalarisingFunction,
GoalProgramming,
LexicographicOptimisation,
CompromiseProgramming,
PreferenceArticulation,
EvolutionaryMultiObjectiveOptimisation,
NSGAII,
SPEA2,
MOEAD,
DiversityPreservation,
CrowdingDistance,
Hypervolume,
GenerationalDistance,
SpreadMetric
]
EXPAND(ParetoStructure) -> [
Dominance,
ParetoOptimality,
ParetoSet,
ParetoFront,
SupportedSolution,
UnsupportedSolution,
KneePoint
]
EXPAND(ScalarisationMethods) -> [
WeightedSumMethod,
EpsilonConstraintMethod,
WeightedChebyshevMethod,
AchievementScalarisingFunction,
GoalProgramming,
LexicographicOptimisation,
CompromiseProgramming
]
EXPAND(EvolutionaryMethods) -> [
NSGAII,
SPEA2,
MOEAD,
NondominatedSorting,
CrowdingDistance,
DiversityPreservation
]
STOP_CONDITION =
"Stop when the objective vector, feasible set, dominance relation, Pareto set or front, scalarisation or evolutionary method, approximation quality and preference-based final selection are sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Optimisation"
IMMEDIATE_CONTEXTS = [
"Optimisation Ontology",
"Convex Optimisation Ontology",
"Operations Research Ontologies",
"Decision Theory Ontologies"
]
RELATED_ONTOLOGIES = [
"Optimisation Ontology",
"Optimisation",
"Convex Optimisation Ontology",
"Nonlinear Optimisation Ontology",
"Integer Programming Ontology",
"Operations Research Ontologies",
"Decision Theory Ontologies",
"Game Theory Ontologies",
"Evolutionary Computation Ontologies",
"Probability & Statistics Ontologies",
"Numerical Analysis Ontologies",
"Scientific Computing Ontologies"
]
ROUTE_RULES = [
"Multi-Objective Optimisation -> Optimisation Ontology for formal optimisation semantics",
"Multi-Objective Optimisation -> Convex Optimisation when objectives and feasible sets are convex",
"Multi-Objective Optimisation -> Nonlinear Optimisation for nonlinear scalarised subproblems",
"Multi-Objective Optimisation -> Integer Programming for discrete multi-criteria decisions",
"Multi-Objective Optimisation -> Operations Research for planning and resource tradeoffs",
"Multi-Objective Optimisation -> Decision Theory for preference articulation and final selection",
"Multi-Objective Optimisation -> Game Theory for strategic multi-criteria structures",
"Multi-Objective Optimisation -> Evolutionary Computation for population-based Pareto approximation",
"Multi-Objective Optimisation -> Numerical Analysis for solver convergence and quality metrics",
"Multi-Objective Optimisation -> Scientific Computing for large Pareto-search workloads"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible scalarisation methods, Pareto metrics or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve multiple-objective semantics.",
"Preserve Pareto-dominance semantics.",
"Preserve Pareto-set versus Pareto-front distinction.",
"Preserve exact-versus-approximate frontier distinction.",
"Preserve scalarisation parameter semantics.",
"Preserve preference-articulation semantics.",
"Preserve convergence-versus-diversity distinction.",
"Preserve machine-readable multi-objective optimisation semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"Multi-objective optimisation seeks trade-off solutions for two or more objective functions over a common feasible set."
DOMINANCE_SUMMARY =
"A solution Pareto-dominates another if it is no worse in every objective and strictly better in at least one."
PARETO_SUMMARY =
"Pareto-optimal solutions are feasible solutions not dominated by any other feasible solution."
FRONT_SUMMARY =
"The Pareto front is the objective-space image of the Pareto-optimal decision set."
SCALARISATION_SUMMARY =
"Scalarisation converts multiple objectives into scalar optimisation problems using weights, constraints, goals or reference points."
EVOLUTIONARY_SUMMARY =
"Evolutionary multi-objective algorithms approximate Pareto fronts using population search, nondominated sorting and diversity preservation."
QUALITY_SUMMARY =
"Pareto-front approximations should be judged for both convergence to the true front and coverage or diversity."
PREFERENCE_SUMMARY =
"Selecting one final compromise from the Pareto set requires preference information or an external decision rule."
CERTIFICATION_SUMMARY =
"Exact Pareto optimality and approximate nondomination should be reported separately."
}
FLOW {
INPUT
-> detect_multi_objective_optimisation_context
-> identify objective_functions_directions_decision_variables_domains_constraints_and_preference information
-> normalise objective directions_and_scales
-> classify convex_nonconvex_continuous_discrete_deterministic_or_stochastic multiobjective structure
-> choose weighted_sum_epsilon_constraint_reference_point_goal_lexicographic_evolutionary_or_other pathway
-> solve or sample candidate_solutions
-> compute objective_vectors
-> evaluate dominance
-> construct Pareto_set_and_Pareto_front approximation
-> assess supported_unsupported_solutions_knee_points_convergence_diversity_and_quality metrics
-> apply preference_articulation_for_final_selection if required
-> route to optimisation_ontology convex_optimisation nonlinear_optimisation integer_programming operations_research decision_theory game_theory evolutionary_computation numerical_analysis_or_scientific_computing ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Multi-Objective Optimisation Ontology defines optimisation with multiple competing objectives. It supports objective vectors, Pareto dominance, weak and strict dominance, Pareto-optimal sets and fronts, supported and unsupported solutions, ideal and nadir points, knee points, weighted-sum, epsilon-constraint, Chebyshev, achievement-scalarising, goal and lexicographic methods, evolutionary algorithms such as NSGA-II, SPEA2 and MOEA/D, diversity preservation, hypervolume, generational distance, preference articulation and trade-off-based decision support."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-APPLIED-MATHEMATICS-MULTI-OBJECTIVE-OPTIMISATION-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard