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 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`

Field Summary
`static String` | `DELTA_INITIAL_ASSIGNMENT_WEIGHT`
`static String` | `DELTA_TIME_PREFERENCE_WEIGHT`
`static String` | `DEPT_SPREAD_WEIGHT`
`static String` | `DISTANCE_INSTRUCTOR_PREFERENCE_WEIGHT`
`static String` | `GOOD_SELECTION_PROB`
`static String` | `INITIAL_SELECTION_PROB`
`static String` | `NR_ASSIGNMENTS_WEIGHT`
`static String` | `NR_CONFLICTS_WEIGHT`
`static String` | `NR_HARD_STUDENT_CONF_WEIGHT`
`static String` | `NR_MPP_LIMIT`
`static String` | `NR_MPP_PENALTY_LIMIT`
`static String` | `NR_POTENTIAL_CONFLICTS_WEIGHT`
`static String` | `NR_STUDENT_CONF_WEIGHT`
`static String` | `NR_THRESHOLD_KOEF`
`static String` | `RW_SELECTION_PROB`
`static String` | `SUM_CONSTR_PREFERENCE_WEIGHT`
`static String` | `SUM_ROOM_PREFERENCE_WEIGHT`
`static String` | `SUM_TIME_PREFERENCE_WEIGHT`
`static String` | `TABU_LENGTH`
`static String` | `TOO_BIG_ROOM_WEIGHT`
`static String` | `USELESS_SLOTS_WEIGHT`
`static String` | `WEIGHTED_CONFLICTS_WEIGHT`

Constructor Summary
`PlacementSelection(DataProperties properties)`

Method Summary
`void` | `init(Solver solver)` Initialization
`static Vector` | `parameters()`
`Value` | `selectValue(Solution solution, Variable selectedVariable)` Value selection

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

Field Detail

### 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

Constructor Detail

### PlacementSelection

    public PlacementSelection(DataProperties properties)

Method Detail

### 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 solution
    `selectedVariable` - selected variable

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