# Package org.cpsolver.ifs.criteria

IFS Criteria.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Criterion<V extends Variable<V,T>,T extends Value<V,T>> | Criterion.

- Class Summary
  Class | Description
  --- | ---
  AbstractCriterion<V extends Variable<V,T>,T extends Value<V,T>> | Abstract Criterion.
  AssignedValue<V extends Variable<V,T>,T extends Value<V,T>> | Simple Criterion: Sum of `Value.toDouble(Assignment)`.

- Enum Summary
  Enum | Description
  --- | ---
  AbstractCriterion.ValueUpdateType | Defines how the overall value of the criterion should be automatically updated (using `getValue(Value, Set)`).

## Package org.cpsolver.ifs.criteria Description

IFS Criteria. An optimization objective can be split into several (optimization) criteria and modeled as a weighted sum of these. This makes the implementation of a particular problem more versatile as it allows for an easier modification of the optimization objective.

Version:
  IFS 1.4 (Instructor Sectioning)
  Copyright (C) 2024 Tomáš Müller
  muller@unitime.org
  http://muller.unitime.org
  This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
  This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
  You should have received a copy of the GNU Lesser General Public License along with this library; if not see http://www.gnu.org/licenses/.
Author:
  Tomáš Müller