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 LectureSelection

    java.lang.Object
      ttsolver.heuristics.LectureSelection

All Implemented Interfaces:
  VariableSelection

    public class LectureSelection

extends Object
implements VariableSelection

Lecture (variable) selection.
If there are one or more variables unassigned, the variable selection criterion picks one of them randomly. We have tried several approaches using domain sizes, number of previous assignments, numbers of constraints in which the variable participates, etc., but there was no significant improvement in this timetabling problem towards the random selection of an unassigned variable. The reason is, that it is easy to go back when a wrong variable is picked - such a variable is unassigned when there is a conflict with it in some of the subsequent iterations.
When all variables are assigned, an evaluation is made for each variable according to the above described weights. The variable with the worst evaluation is selected. This variable promises the best improvement in optimization.
Parameters (selection among unassigned lectures):

Parameter | Type | Comment
--- | --- | ---
Lecture.RouletteWheelSelection | `Boolean` | Roulette wheel selection
Lecture.RandomWalkProb | `Double` | Random walk probability
Lecture.DomainSizeWeight | `Double` | Domain size weight
Lecture.NrAssignmentsWeight | `Double` | Number of assignments weight
Lecture.InitialAssignmentWeight | `Double` | Initial assignment weight
Lecture.NrConstraintsWeight | `Double` | Number of constraint weight

Parameters (selection among assigned lectures, when the solution is complete):

Parameter | Type | Comment
--- | --- | ---
Lecture.HardStudentConflictWeight | `Double` | Hard student conflict weight
Lecture.StudentConflictWeight | `Double` | Student conflict weight
Lecture.TimePreferenceWeight | `Double` | Time preference weight
Lecture.ContrPreferenceWeight | `Double` | Group constraint preference weight
Lecture.RoomPreferenceWeight | `Double` | Room preference weight
Lecture.UselessSlotWeight | `Double` | Useless slot weight
Lecture.TooBigRoomWeight | `Double` | Too big room weight
Lecture.DistanceInstructorPreferenceWeight | `Double` | Distance (of the rooms of the back-to-back classes) based instructor preferences weight
Lecture.DeptSpreadPenaltyWeight | `Double` | Department balancing penalty (see `DepartmentSpreadConstraint`)

Parameters (selection among subset of lectures (faster)):

Parameter | Type | Comment
--- | --- | ---
Lecture.SelectionSubSet | `Boolean` | Selection among subset of lectures (faster)
Lecture.SelectionSubSetMinSize | `Double` | Minimal subset size
Lecture.SelectionSubSetPart | `Double` | Subset size in percentage of all lectures available for selection

Version:
  1.0
Author:
  Tomáš Müller
See Also:
  `PlacementSelection`

Constructor Summary
`LectureSelection(DataProperties properties)`

Method Summary
`void` | `init(Solver solver)` Initialization
`static Collection` | `parameters()`
`Variable` | `selectVariable(Solution solution)` Variable selection

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

Constructor Detail

### LectureSelection

    public LectureSelection(DataProperties properties)

Method Detail

### parameters

    public static Collection parameters()

### init

    public void init(Solver solver)

  Description copied from interface: `VariableSelection`
  Initialization

  Specified by:
    `init` in interface `VariableSelection`

### selectVariable

    public Variable selectVariable(Solution solution)

  Description copied from interface: `VariableSelection`
  Variable selection

  Specified by:
    `selectVariable` in interface `VariableSelection`
  Parameters:
    `solution` - current 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