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 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 provider
      connector - the connector
      unassignManager - 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 provider
      connector - 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 provider
      connector - 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 provider
      connector - 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 provider
      connector - the connector
      Returns:
      the assessor multi route restrictions
    • setAutoFilter

      void setAutoFilter(IAutoNodeFilter filter)
    • setCustomDefaultProperties

      void setCustomDefaultProperties(Properties properties)
    • getCustomDefaultProperties

      Optional<Properties> getCustomDefaultProperties()