Interface IOptimizationScheme
- All Known Implementing Classes:
AbstractOptimizationScheme
,DefaultOptimizationScheme
,DefaultOptimizationSchemeWithObjective
,EntityValidationOptimizationScheme
,GEExploreOptimizationScheme
,OpenCostAssessorOptimizationScheme
,OptionalOperatorTuningScheme
,SingleAssessOptimizationScheme
public interface IOptimizationScheme
The Interface IOptimizationScheme.
An optimizationScheme defines the workflow of the optimization. For example, which optimization algorithms are executed in which order and which restrictions are used during the optimization.
- Since:
- Sep 27, 2019
- Version:
- Sep 27, 2019
- Author:
- Jens Richter
-
Method Summary
Modifier and TypeMethodDescriptionvoid
attachCustomNodeLevelRestriction
(com.dna.jopt.assessment.costassessorrestriction.nodelevel.custom.ICustomNodeLevelRestriction nodeLevelRestriction) Attach custom node level restriction.void
attachCustomRouteLevelRestriction
(com.dna.jopt.assessment.costassessorrestriction.routelevel.custom.ICustomRouteLevelRestriction routeLevelRestriction) Attach custom route level restriction.void
create()
Creates the defined scheme by adding the algorithms etc.Optional<List<com.dna.jopt.assessment.costassessorrestriction.joblevel.IEntityCostAssessorJobRestriction>>
getAssessorJobRestrictions
(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor job restrictions.Optional<List<com.dna.jopt.assessment.costassessorrestriction.multiroutelevel.IEntityCostAssessorMultiRouteRestriction>>
getAssessorMultiRouteRestrictions
(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor multi route restrictions.Optional<List<com.dna.jopt.assessment.costassessorrestriction.nodelevel.IEntityCostAssesorNodeRestriction>>
getAssessorNodeRestrictions
(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor node restrictions.Optional<List<com.dna.jopt.assessment.costassessorrestriction.routelevel.IEntityCostAssessorRouteRestriction>>
getAssessorRouteRestrictions
(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor route restrictions.Gets the auto filter.com.dna.jopt.assessment.costassessor.IEntityCostAssessor
Gets the cost assessor attached to this scheme.Gets the optimization attached to this scheme.List<com.dna.jopt.revision.algorithm.IOptimizationAlgorithm>
Gets the optimization algorithms attached to this scheme.void
initAssessor
(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider, INodeEdgeConnector connector, INodeUnassigner unassignManager) Inits the assessor by adding the different components of the optimization.void
Post create is called after the ininital creation of the schemevoid
setAutoFilter
(IAutoNodeFilter filter) void
setCostAssessor
(com.dna.jopt.assessment.costassessor.IEntityCostAssessor ca) Sets the cost assessor attached to this scheme.void
setCustomDefaultProperties
(Properties properties) void
setOptimizationAlgorithms
(List<com.dna.jopt.revision.algorithm.IOptimizationAlgorithm> orderedOptimizationAlgorithms) Sets the optimization algorithms attached to this scheme.
-
Method Details
-
getOptimization
IOptimization getOptimization()Gets the optimization attached to this scheme.- Returns:
- the optimization
-
getOptimizationAlgorithms
List<com.dna.jopt.revision.algorithm.IOptimizationAlgorithm> getOptimizationAlgorithms()Gets the optimization algorithms attached to this scheme.- Returns:
- the optimization algorithms
-
getCostAssessor
com.dna.jopt.assessment.costassessor.IEntityCostAssessor getCostAssessor()Gets the cost assessor attached to this scheme.- Returns:
- the cost assessor
-
setOptimizationAlgorithms
void setOptimizationAlgorithms(List<com.dna.jopt.revision.algorithm.IOptimizationAlgorithm> orderedOptimizationAlgorithms) Sets the optimization algorithms attached to this scheme.- Parameters:
orderedOptimizationAlgorithms
- the new optimization algorithms
-
setCostAssessor
void setCostAssessor(com.dna.jopt.assessment.costassessor.IEntityCostAssessor ca) Sets the cost assessor attached to this scheme.- Parameters:
ca
- the new cost assessor
-
create
void create()Creates the defined scheme by adding the algorithms etc. -
postCreate
void postCreate()Post create is called after the ininital creation of the scheme -
initAssessor
void initAssessor(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider provider, INodeEdgeConnector connector, INodeUnassigner unassignManager) Inits the assessor by adding the different components of the optimization.- Parameters:
provider
- the providerconnector
- the connectorunassignManager
- the unassign manager
-
getAutoFilter
IAutoNodeFilter getAutoFilter()Gets the auto filter.- Returns:
- the auto filter
-
attachCustomNodeLevelRestriction
void attachCustomNodeLevelRestriction(com.dna.jopt.assessment.costassessorrestriction.nodelevel.custom.ICustomNodeLevelRestriction nodeLevelRestriction) Attach custom node level restriction.- Parameters:
nodeLevelRestriction
- the node level restriction
-
attachCustomRouteLevelRestriction
void attachCustomRouteLevelRestriction(com.dna.jopt.assessment.costassessorrestriction.routelevel.custom.ICustomRouteLevelRestriction routeLevelRestriction) Attach custom route level restriction.- Parameters:
routeLevelRestriction
- the route level restriction
-
getAssessorNodeRestrictions
Optional<List<com.dna.jopt.assessment.costassessorrestriction.nodelevel.IEntityCostAssesorNodeRestriction>> getAssessorNodeRestrictions(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor node restrictions.- Parameters:
propertyProvider
- the property providerconnector
- the connector- Returns:
- the assessor node restrictions
-
getAssessorRouteRestrictions
Optional<List<com.dna.jopt.assessment.costassessorrestriction.routelevel.IEntityCostAssessorRouteRestriction>> getAssessorRouteRestrictions(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor route restrictions.- Parameters:
propertyProvider
- the property providerconnector
- the connector- Returns:
- the assessor route restrictions
-
getAssessorJobRestrictions
Optional<List<com.dna.jopt.assessment.costassessorrestriction.joblevel.IEntityCostAssessorJobRestriction>> getAssessorJobRestrictions(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor job restrictions.- Parameters:
propertyProvider
- the property providerconnector
- the connector- Returns:
- the assessor job restrictions
-
getAssessorMultiRouteRestrictions
Optional<List<com.dna.jopt.assessment.costassessorrestriction.multiroutelevel.IEntityCostAssessorMultiRouteRestriction>> getAssessorMultiRouteRestrictions(com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, INodeEdgeConnector connector) Gets the assessor multi route restrictions.- Parameters:
propertyProvider
- the property providerconnector
- the connector- Returns:
- the assessor multi route restrictions
-
setAutoFilter
-
setCustomDefaultProperties
-
getCustomDefaultProperties
Optional<Properties> getCustomDefaultProperties()
-