net.sf.cpsolver.coursett.heuristics
Class PlacementSelection
java.lang.Object
net.sf.cpsolver.coursett.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:
- CourseTT 1.1 (University Course Timetabling)
Copyright (C) 2006 Tomáš Müller
muller@unitime.org
Lazenska 391, 76314 Zlin, Czech Republic
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 2.1 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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- 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
NR_COMMITED_STUDENT_CONF_WEIGHT
public static final String NR_COMMITED_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
SPREAD_WEIGHT
public static final String SPREAD_WEIGHT
- See Also:
- Constant Field Values
TABU_LENGTH
public static final String TABU_LENGTH
- See Also:
- Constant Field Values
PlacementSelection
public PlacementSelection(DataProperties properties)
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
containsItselfSingletonOrCommited
public boolean containsItselfSingletonOrCommited(TimetableModel model,
Collection values,
Value selectedValue)
getParameters
public PlacementSelection.ParamRetriever getParameters(Solution solution,
Lecture lecture,
Placement placement)
getCost
public double getCost(PlacementSelection.ParamRetriever paramRetriever,
int level,
Double flt)
getPerturbationsCounter
public PerturbationsCounter getPerturbationsCounter()