Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.0.1.Final
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

## org.optaplanner.core.api.domain.entity
Annotation Type PlanningEntity

    @Target(value=TYPE)
    @Retention(value=RUNTIME)
    public @interface PlanningEntity

Specifies that the class is a planning entity. Each planning entity must have at least 1 `PlanningVariable` property.

The class should have a public no-arg constructor, so it can be instantiated.

Optional Element Summary
`Class<? extends Comparator>` | `difficultyComparatorClass` Allows a collection of planning entities to be sorted by difficulty.
`Class<? extends SelectionSorterWeightFactory>` | `difficultyWeightFactoryClass` The `SelectionSorterWeightFactory` alternative for `difficultyComparatorClass()`.
`Class<? extends SelectionFilter>` | `movableEntitySelectionFilter` An immovable planning entity is never changed during planning, this is useful in repeated planning use cases (such as continuous planning and real-time planning).

### movableEntitySelectionFilter

    public abstract Class<? extends SelectionFilter> movableEntitySelectionFilter

  An immovable planning entity is never changed during planning, this is useful in repeated planning use cases (such as continuous planning and real-time planning).

  This applies to all the planning variables of this planning entity. To make individual variables immovable, see https://issues.jboss.org/browse/PLANNER-124

  The method `SelectionFilter.accept(ScoreDirector, Object)` returns false if the selection entity is immovable and it returns true if the selection entity is movable

  Returns:
    `PlanningEntity.NullMovableEntitySelectionFilter` when it is null (workaround for annotation limitation)
  Default:
    org.optaplanner.core.api.domain.entity.PlanningEntity.NullMovableEntitySelectionFilter.class

### difficultyComparatorClass

    public abstract Class<? extends Comparator> difficultyComparatorClass

  Allows a collection of planning entities to be sorted by difficulty. A difficultyWeight estimates how hard is to plan a certain PlanningEntity. Some algorithms benefit from planning on more difficult planning entities first/last or from focusing on them.

  The `Comparator` should sort in ascending difficulty (even though many optimization algorithms will reverse it). For example: sorting 3 processes on difficultly based on their RAM usage requirement: Process B (1GB RAM), Process A (2GB RAM), Process C (7GB RAM),

  Do not use together with `difficultyWeightFactoryClass()`.

  Returns:
    `PlanningEntity.NullDifficultyComparator` when it is null (workaround for annotation limitation)
  See Also:
    `difficultyWeightFactoryClass()`
  Default:
    org.optaplanner.core.api.domain.entity.PlanningEntity.NullDifficultyComparator.class

### difficultyWeightFactoryClass

    public abstract Class<? extends SelectionSorterWeightFactory> difficultyWeightFactoryClass

  The `SelectionSorterWeightFactory` alternative for `difficultyComparatorClass()`.

  Do not use together with `difficultyComparatorClass()`.

  Returns:
    `PlanningEntity.NullDifficultyWeightFactory` when it is null (workaround for annotation limitation)
  See Also:
    `difficultyComparatorClass()`
  Default:
    org.optaplanner.core.api.domain.entity.PlanningEntity.NullDifficultyWeightFactory.class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| OptaPlanner distribution 6.0.1.Final
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT

Copyright © 2006-2013 JBoss by Red Hat. All Rights Reserved.