Package org.opt4j.core.domination
Class GoalAttainmentDomination
java.lang.Object
org.opt4j.core.domination.GoalAttainmentDomination
- All Implemented Interfaces:
DominationStrategy
This class implements
The approach is extended in C.M. Fonseca and P.J. Fleming: Multiobjective optimization and multiple constraint handling with evolutionary algorithms. I. A unified formulation. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on, 28(1):26-37, 1998. Here, it is shown that the relation is transitive.
The strategy is based on
It is essential to provide a goal vector (reference point) by a number of
DominationStrategy. The dominance relation is
based on the goal attainment approach described in Carlos M. Fonseca
and Peter J. Fleming: Genetic Algorithms for Multiobjective Optimization:
Formulation, Discussion and Generalization. In: Genetic Algorithms:
Proceedings of the Fifth International Conference, pp 416-423.
Morgan Kaufmann, 1993.
The approach is extended in C.M. Fonseca and P.J. Fleming: Multiobjective optimization and multiple constraint handling with evolutionary algorithms. I. A unified formulation. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on, 28(1):26-37, 1998. Here, it is shown that the relation is transitive.
The strategy is based on
ParetoDomination and uses its array based
method ParetoDomination.dominates(double[], double[]).
It is essential to provide a goal vector (reference point) by a number of
SatisfactionConstraints on Objectives! If no
satisfaction for an Objective o exists, the constraint is consequently
o < negative infinity or o > positive infinity". Semantically, a
satisfaction constraint x < a will mean, that the attribute x satisfies
the goal, if its value v(x) is less than a.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandominates(Objectives o1, Objectives o2) Checks twoObjectivesfor domination.protected List<Constraint>protected ObjectivegetObjective(Constraint constraint) protected booleanisEligibleConstraint(Constraint constraint) protected double[]listToArray(List<Double> list) booleanweaklyDominates(Objectives o1, Objectives o2) Checks twoObjectivesfor weak domination.
-
Field Details
-
paretoDomination
-
-
Constructor Details
-
GoalAttainmentDomination
-
-
Method Details
-
dominates
Checks twoObjectivesfor domination. The dominance relation is Goal-Attainment-Domination.
The basic idea is to give a higher priority to objectives in which the goal is not fulfilled. Thus, when deciding whether a solution x is preferable to a solution y or not, first, only the objectives in which solution x does not satisfy the goal are considered, and x is preferred to y if it dominates y on these objectives. If x is equal to y in all these objectives, or if x satisfies the goal in all objectives, x is preferred over y either if y does not fulfill some of the objectives fulfilled by x, or if x dominates y on the objectives fulfilled by x. If noSatisfactionConstraints are present, this method just passes the parameters on to its internal strategy for Pareto Domination.- Specified by:
dominatesin interfaceDominationStrategy- Parameters:
o1- the objectives to checko2- the objectives to compare with- Returns:
true, ifo1dominateso2
false, otherwise
-
listToArray
-
getAllElibleConstraints
-
isEligibleConstraint
-
getObjective
-
weaklyDominates
Checks twoObjectivesfor weak domination. The dominance relation is Goal-Attainment-Domination.- Specified by:
weaklyDominatesin interfaceDominationStrategy- Parameters:
o1- the objectives to checko2- the objectives to compare with- Returns:
true, ifo1weakly dominateso2
false, otherwise
-