Package de.uka.ipd.sdq.tcfmoop.config
Class GivenParetoFrontIsReachedConfig
java.lang.Object
de.uka.ipd.sdq.tcfmoop.config.AbstractConfiguration
de.uka.ipd.sdq.tcfmoop.config.GivenParetoFrontIsReachedConfig
- All Implemented Interfaces:
IConfiguration
Configuration class for GivenParetoFrontIsReached termination criterion.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionList<org.opt4j.core.Objectives>
Returns the targeted pareto front.Returns the path to a file that describes a Pareto front.double
Gets the percentages of the targeted front that must be covered by the pareto front of the optimization.void
setParetoFront
(List<? extends org.opt4j.core.Objectives> paretoFront) Sets the targeted pareto front that should be partially or fully covered/dominated by the pareto from created by the optimization process.void
setParetoFrontFile
(String pathToFile) In case the Pareto front cannot be created at configuration time, a Pareto front descriptive file can be saved in the configuration object.void
setPercentagesToCover
(double percentages) Sets the percentages of the targeted front that must be covered by the pareto front of the optimization.boolean
Checks the configuration object for correctness.Methods inherited from class de.uka.ipd.sdq.tcfmoop.config.AbstractConfiguration
getTerminationCriterionName
-
Constructor Details
-
GivenParetoFrontIsReachedConfig
public GivenParetoFrontIsReachedConfig()
-
-
Method Details
-
validateConfiguration
public boolean validateConfiguration()Checks the configuration object for correctness. Should be called before accessing any of the data of the configuration object- Returns:
- true - The configuration is correct false - The configuration is incomplete or wrong
-
setParetoFrontFile
In case the Pareto front cannot be created at configuration time, a Pareto front descriptive file can be saved in the configuration object. The Pareto front should be parsed from the file at first possible moment. Note that the termination criteria itself cannot work with this file, it requires the parsed Pareto front to be created and properly set.- Parameters:
pathToFile
- path to the file that describes the Pareto front.
-
getParetoFrontFile
Returns the path to a file that describes a Pareto front. The file must be previously set in setParetoFrontFile() or an empty String will be returned. The state of this attribute does not affect the validation of the Configuration Object.- Returns:
- path to a Pareto front description file.
-
setParetoFront
public void setParetoFront(List<? extends org.opt4j.core.Objectives> paretoFront) throws InvalidConfigException Sets the targeted pareto front that should be partially or fully covered/dominated by the pareto from created by the optimization process.- Parameters:
paretoFront
- targeted pareto front. Should not be empty or null. The Elements of the supplied List will be copied to a new internal list. The given list will be left intact.- Throws:
InvalidConfigException
- if the supplied parameter do not conform to the required conditions.
-
getParetoFront
Returns the targeted pareto front.- Returns:
- the targeted pareto front.
-
setPercentagesToCover
Sets the percentages of the targeted front that must be covered by the pareto front of the optimization. A value in the interval [0, 1] is required as an input. 0 means no coverage at all and the criterion will terminate the optimization right after the first iteration and 1 mean fully coverage, which might take long depending on the supplied targeted front.- Parameters:
percentages
- the to be covered percentages. The value must be in the [0, 1] interval.- Throws:
InvalidConfigException
- if the supplied parameter do not conform to the required conditions.
-
getPercentagesToCover
public double getPercentagesToCover()Gets the percentages of the targeted front that must be covered by the pareto front of the optimization.- Returns:
- the percentages of the targeted front that must be covered by the pareto front of the optimization.
-