Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ttsolver.heuristics
Class TimetableComparator

    java.lang.Object
      ttsolver.heuristics.TimetableComparator

All Implemented Interfaces:
  SolutionComparator

    public class TimetableComparator

extends Object
implements SolutionComparator

Timetable (solution) comparator.
The quality of a solution is expressed as a weighted sum combining soft time and classroom preferences, satisfied soft group constrains and the total number of student conflicts. This allows us to express the importance of different types of soft constraints.
The solution comparator prefers a more complete solution (with a smaller number of unassigned variables) and a solution with a smaller number of perturbations among solutions with the same number of unassigned variables. If both solutions have the same number of unassigned variables and perturbations, the solution of better quality is selected.
Parameters:

Parameter | Type | Comment
--- | --- | ---
Comparator.HardStudentConflictWeight | `Double` | Weight of hard student conflict (conflict between single-section classes)
Comparator.StudentConflictWeight | `Double` | Weight of student conflict
Comparator.TimePreferenceWeight | `Double` | Time preferences weight
Comparator.ContrPreferenceWeight | `Double` | Group constraint preferences weight
Comparator.RoomPreferenceWeight | `Double` | Room preferences weight
Comparator.UselessSlotWeight | `Double` | Useless slots weight
Comparator.TooBigRoomWeight | `Double` | Too big room weight
Comparator.DistanceInstructorPreferenceWeight | `Double` | Distance (of the rooms of the back-to-back classes) based instructor preferences weight
Comparator.PerturbationPenaltyWeight | `Double` | Perturbation penalty (see `UniversalPerturbationsCounter`)
Comparator.DeptSpreadPenaltyWeight | `Double` | Department balancing penalty (see `DepartmentSpreadConstraint`)

Version:
  1.0
Author:
  Tomáš Müller

Field Summary
`static String` | `CONSTR_PREFERENCE_WEIGHT`
`static String` | `DEPT_SPREAD_PENALTY_WEIGHT`
`static String` | `DISTANCE_INSTRUCTOR_PREFERENCE_WEIGHT`
`static String` | `HARD_STUDENT_CONFLICT_WEIGHT`
`static String` | `PERTURBATION_PENALTY_WEIGHT`
`static String` | `ROOM_PREFERENCE_WEIGHT`
`protected static Logger` | `sLogger`
`static String` | `STUDENT_CONFLICT_WEIGHT`
`static String` | `TIME_PREFERENCE_WEIGHT`
`static String` | `TOO_BIG_ROOM_WEIGHT`
`static String` | `USELESS_SLOT_WEIGHT`

Constructor Summary
`TimetableComparator(DataProperties properties)`

Method Summary
`boolean` | `isBetterThanBestSolution(Solution currentSolution)` Compares two solutions.
`static Collection` | `parameters()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### sLogger

    protected static Logger sLogger

### USELESS_SLOT_WEIGHT

    public static final String USELESS_SLOT_WEIGHT

See Also:
  Constant Field Values

### TIME_PREFERENCE_WEIGHT

    public static final String TIME_PREFERENCE_WEIGHT

See Also:
  Constant Field Values

### STUDENT_CONFLICT_WEIGHT

    public static final String STUDENT_CONFLICT_WEIGHT

See Also:
  Constant Field Values

### ROOM_PREFERENCE_WEIGHT

    public static final String ROOM_PREFERENCE_WEIGHT

See Also:
  Constant Field Values

### CONSTR_PREFERENCE_WEIGHT

    public static final String CONSTR_PREFERENCE_WEIGHT

See Also:
  Constant Field Values

### HARD_STUDENT_CONFLICT_WEIGHT

    public static final String HARD_STUDENT_CONFLICT_WEIGHT

See Also:
  Constant Field Values

### TOO_BIG_ROOM_WEIGHT

    public static final String TOO_BIG_ROOM_WEIGHT

See Also:
  Constant Field Values

### DISTANCE_INSTRUCTOR_PREFERENCE_WEIGHT

    public static final String DISTANCE_INSTRUCTOR_PREFERENCE_WEIGHT

See Also:
  Constant Field Values

### PERTURBATION_PENALTY_WEIGHT

    public static final String PERTURBATION_PENALTY_WEIGHT

See Also:
  Constant Field Values

### DEPT_SPREAD_PENALTY_WEIGHT

    public static final String DEPT_SPREAD_PENALTY_WEIGHT

See Also:
  Constant Field Values

Constructor Detail

### TimetableComparator

    public TimetableComparator(DataProperties properties)

Method Detail

### parameters

    public static Collection parameters()

### isBetterThanBestSolution

    public boolean isBetterThanBestSolution(Solution currentSolution)

  Description copied from interface: `SolutionComparator`
  Compares two solutions. Returns true if the given solution is better than its best ever found solution (see `Solution.saveBest()` and `Solution.restoreBest()`).

  Specified by:
    `isBetterThanBestSolution` in interface `SolutionComparator`
  Parameters:
    `currentSolution` - given solution
  Returns:
    true if the given solution is better than the best ever found solution

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005 Tomáš Müller