/*
 * SingleActivityEvaluationInterface.java
 *
 * Created on 17. prosinec 2000, 15:38
 * Documented 18. 7. 2001
 */

package timetable.solver.strategy.price;

import timetable.data.*;
import timetable.util.TimetableException;
/** Interface funkce, která ohodnocuje dané umístění aktivity v rozvrhu.
 *
 * @author Tomáš Müller
 * @version 1.0
 */
public interface SingleActivityEvaluationInterface {
    
    /** Ohodnocovací funkce.
     * @param activity aktivita, která se umístuje
     * @param slot umístění - počáteční slot
     * @param selectedResources umístění - vybrané zdroje
     * @param dependences množina všech závislostí
     * @param conflictActivities množina aktivit, které jsou s daným umístěním v konfliktu - budou se muset z rozvrhu odebrat v případě zvolení tohoto umístění
     * @return ohodnocení daného umístění (menší hodnota představuje lepší umístění, hledáme umístění s minimální hodnotou)
     */
    public int value(Activity activity, int slot, ActivityResources selectedResources, ActivityDependenceGroup dependences, ActivityGroup conflictActivities) throws TimetableException;

}

