ttsolver.heuristics
Class PlacementSelection
java.lang.Object
ttsolver.heuristics.PlacementSelection
- All Implemented Interfaces:
- ValueSelection
public class PlacementSelection
- extends Object
- implements ValueSelection
Placement (value) selection.
We have implemented a hierarchical handling of the value selection criteria (see HeuristicSelector).
The value selection heuristics also allow for random selection of a value with a given probability
(random walk, e.g., 2%) and, in the case of MPP, to select the initial value (if it exists) with a given probability (e.g., 70%).
Parameters (general):
| Parameter | Type | Comment |
| Placement.RandomWalkProb | Double | Random walk probability |
| Placement.GoodSelectionProb | Double | Good value (not removed from domain) selection probability (MAC related) |
| Placement.TabuLength | Integer | Tabu-list length (-1 means do not use tabu-list) |
| Placement.MPP_InitialProb | Double | MPP initial selection probability |
| Placement.MPP_Limit | Integer | MPP: limit on the number of perturbations (-1 for no limit) |
| Placement.MPP_PenaltyLimit | Double | MPP: limit on the perturbations penalty (-1 for no limit) |
Parameters (for each level of selection):
| Parameter | Type | Comment |
Placement.NrAssignmentsWeight1 Placement.NrAssignmentsWeight2 Placement.NrAssignmentsWeight3 | Double | Number of previous assignments of the value weight |
| Placement.NrConflictsWeight1,2,3 | Double | Number of conflicts weight |
| Placement.WeightedConflictsWeight1,2,3 | Double | Weighted conflicts weight (Conflict-based Statistics related) |
| Placement.NrPotentialConflictsWeight1,2,3 | Double | Number of potential conflicts weight (Conflict-based Statistics related) |
| Placement.MPP_DeltaInitialAssignmentWeight1,2,3 | Double | Delta initial assigments weight (MPP, violated initials related) |
| Placement.NrHardStudConfsWeight1,2,3 | Double | Hard student conflicts weight (student conflicts between single-section classes) |
| Placement.NrStudConfsWeight1,2,3 | Double | Student conflicts weight |
| Placement.TimePreferenceWeight1,2,3 | Double | Time preference weight |
| Placement.DeltaTimePreferenceWeight1,2,3 | Double | Time preference delta weight (difference between before and after assignemnt of the value) |
| Placement.ConstrPreferenceWeight1,2,3 | Double | Constraint preference weight |
| Placement.RoomPreferenceWeight1,2,3 | Double | Room preference weight |
| Placement.UselessSlotsWeight1,2,3 | Double | Useless slot weight |
| Placement.TooBigRoomWeight1,2,3 | Double | Too big room weight |
| Placement.DistanceInstructorPreferenceWeight1,2,3 | Double | Distance (of the rooms of the back-to-back classes) based instructor preferences weight |
| Placement.DeptSpreadPenaltyWeight1,2,3 | Double | Department spreading: penalty of when a slot over initial allowance is used |
| Placement.ThresholdKoef1,2 | Double | Threshold koeficient of the level |
- Version:
- 1.0
- Author:
- Tomáš Müller
- See Also:
PlacementSelection
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
GOOD_SELECTION_PROB
public static final String GOOD_SELECTION_PROB
- See Also:
- Constant Field Values
RW_SELECTION_PROB
public static final String RW_SELECTION_PROB
- See Also:
- Constant Field Values
INITIAL_SELECTION_PROB
public static final String INITIAL_SELECTION_PROB
- See Also:
- Constant Field Values
NR_MPP_LIMIT
public static final String NR_MPP_LIMIT
- See Also:
- Constant Field Values
NR_MPP_PENALTY_LIMIT
public static final String NR_MPP_PENALTY_LIMIT
- See Also:
- Constant Field Values
NR_CONFLICTS_WEIGHT
public static final String NR_CONFLICTS_WEIGHT
- See Also:
- Constant Field Values
NR_POTENTIAL_CONFLICTS_WEIGHT
public static final String NR_POTENTIAL_CONFLICTS_WEIGHT
- See Also:
- Constant Field Values
WEIGHTED_CONFLICTS_WEIGHT
public static final String WEIGHTED_CONFLICTS_WEIGHT
- See Also:
- Constant Field Values
DELTA_TIME_PREFERENCE_WEIGHT
public static final String DELTA_TIME_PREFERENCE_WEIGHT
- See Also:
- Constant Field Values
DELTA_INITIAL_ASSIGNMENT_WEIGHT
public static final String DELTA_INITIAL_ASSIGNMENT_WEIGHT
- See Also:
- Constant Field Values
NR_STUDENT_CONF_WEIGHT
public static final String NR_STUDENT_CONF_WEIGHT
- See Also:
- Constant Field Values
NR_HARD_STUDENT_CONF_WEIGHT
public static final String NR_HARD_STUDENT_CONF_WEIGHT
- See Also:
- Constant Field Values
USELESS_SLOTS_WEIGHT
public static final String USELESS_SLOTS_WEIGHT
- See Also:
- Constant Field Values
SUM_CONSTR_PREFERENCE_WEIGHT
public static final String SUM_CONSTR_PREFERENCE_WEIGHT
- See Also:
- Constant Field Values
SUM_ROOM_PREFERENCE_WEIGHT
public static final String SUM_ROOM_PREFERENCE_WEIGHT
- See Also:
- Constant Field Values
SUM_TIME_PREFERENCE_WEIGHT
public static final String SUM_TIME_PREFERENCE_WEIGHT
- See Also:
- Constant Field Values
NR_ASSIGNMENTS_WEIGHT
public static final String NR_ASSIGNMENTS_WEIGHT
- See Also:
- Constant Field Values
NR_THRESHOLD_KOEF
public static final String NR_THRESHOLD_KOEF
- See Also:
- Constant Field Values
TOO_BIG_ROOM_WEIGHT
public static final String TOO_BIG_ROOM_WEIGHT
- See Also:
- Constant Field Values
DEPT_SPREAD_WEIGHT
public static final String DEPT_SPREAD_WEIGHT
- See Also:
- Constant Field Values
DISTANCE_INSTRUCTOR_PREFERENCE_WEIGHT
public static final String DISTANCE_INSTRUCTOR_PREFERENCE_WEIGHT
- See Also:
- Constant Field Values
TABU_LENGTH
public static final String TABU_LENGTH
- See Also:
- Constant Field Values
PlacementSelection
public PlacementSelection(DataProperties properties)
parameters
public static Vector parameters()
init
public void init(Solver solver)
- Description copied from interface:
ValueSelection
- Initialization
- Specified by:
init in interface ValueSelection
selectValue
public Value selectValue(Solution solution,
Variable selectedVariable)
- Description copied from interface:
ValueSelection
- Value selection
- Specified by:
selectValue in interface ValueSelection
- Parameters:
solution - current solutionselectedVariable - selected variable
Copyright © 2005 Tomáš Müller