Example Configuration llr-old
## General
## ---------------------------------------------------------------
## Problem name
General.ProblemName=purdue
General.ProblemNameLong=Purdue University Large Lecture Room Timetabling
## Seed for random number generator
#General.Seed=13031978
## Save configuration (these properties) in file ${General.Output}/${General.ProblemName}.properties
General.SaveConfiguration=true
## Save default values for undefined properties as well (if General.SaveConfiguration is true)
General.SaveDefaultProperties=true
## Auto configuration mode (do not change!)
Solver.AutoConfigure=true
## Minimal number of unassigned variables to save best solution found (-1 always save)
General.SaveBestUnassigned=-1

## General -- I/O
## ---------------------------------------------------------------
# Loader class
TimetableLoader=net.sf.cpsolver.coursett.TimetableXMLLoader
## Save output, into database (new version is created) if General.InputVersion is used, into output folder otherwise
General.Save=true
# Saver class
TimetableSaver=net.sf.cpsolver.coursett.TimetableXMLSaver

## General -- Other
## ---------------------------------------------------------------
## Minimal perturbation problem
General.MPP=false
## Number of forced perturbances (for testing purposes only)
General.ForcedPerturbances=0
## Use distance constraints
General.UseDistanceConstraints=true
## Use random walk (if false, Lecture.RandomWalkProb and Placement.RandomWalkProb is ignored)
General.RandomWalk=true
## Switch student between sections
General.SwitchStudents=true
## Use input solution as initial assignments
General.InitialAssignment=false
## Post auto diff_time constraints
General.AutoDiffTime=true

## Extensions
## ---------------------------------------------------------------
## Extensions -- semicolon separated list of appropriate classes
## net.sf.cpsolver.ifs.extension.ConflictStatistics -- conflict statistics
## net.sf.cpsolver.ifs.extension.ViolatedInitials -- computation of violated initial values (for MPP)
## net.sf.cpsolver.ifs.extension.MacPropagation -- dynamic maintenance of arc consistency
Extensions.Classes=net.sf.cpsolver.ifs.extension.ConflictStatistics

## Extensions - Conflict Statistics
## ---------------------------------------------------------------
## Ageing (koef)
ConflictStatistics.Ageing=1.0
## Ageing -- half time (number of iteration) -- use either ConflictStatistics.Ageing or ConflictStatistics.AgeingHalfTime
#ConflictStatistics.AgeingHalfTime=0

## Department Spreading (Balancing times for departments)
## ---------------------------------------------------------------
## Use this feature
General.UseDepartmentSpreadConstraints=false
## Initial allowance of the slots for a particular time (factor)
## Allowed slots = ROUND(SpreadFactor * (number of requested slots / number of slots per day))
DepartmentSpread.SpreadFactor=1.2
## Increase the initial allowance when it causes the given number of unassignments
DepartmentSpread.Unassignments2Weaken=100

## Perturbations counter
------------------------------------------------------------------
## Perturbations counter class
PerturbationCounter.Class=net.sf.cpsolver.coursett.heuristics.UniversalPerturbationsCounter

## Perturbations counter -- weights
------------------------------------------------------------------
## Different value than initial is assigned
Perturbations.DifferentPlacement=0.0
## Number of students which are enrolled in a class which is placed to a different location than initial
## (a student can be included twice or more)
Perturbations.AffectedStudentWeight=0.0
## Number of instructors which are assigned to classes which are placed to different locations than initial
## (an instructor can be included twice or more)
Perturbations.AffectedInstructorWeight=1.0
## Number of classes which are placed to a different room than initial
Perturbations.DifferentRoomWeight=0.0
## Number of classes which are placed to a different building than initial
Perturbations.DifferentBuildingWeight=0.0
## Number of classes which are placed in a different time than initial
Perturbations.DifferentTimeWeight=0.0
## Number of classes which are placed in a different days than initial
Perturbations.DifferentDayWeight=2.0
## Number of classes which are placed in a different hours than initial
Perturbations.DifferentHourWeight=2.0
## Difference of student conflicts of classes assigned to current placements instead of initial placements
## It is a difference between number of students conflicts which are in the initial solution and the current one
## Student conflicts created by classes without initial placement are not taken into account
Perturbations.DeltaStudentConflictsWeight=0.1
## New created student conflicts -- particular students are taken into account
## Student conflicts created by classes without initial placement are not taken into account
Perturbations.NewStudentConflictsWeight=0.0
## New placement of a class is too far from the intial placement (instructor-wise)
## It is computed only when the class has an instructor assigned, moreover:
## 0 < distance(currentPlacement,initialPlacement) <= 5 .. weight is taken once
## 5 < distance(currentPlacement,initialPlacement) <= 20 .. weight is taken twice
## 20 < distance(currentPlacement,initialPlacement) .. weight is taken ten times
Perturbations.TooFarForInstructorsWeight=0.5
## New placement of a class is too far from the intial placement (instructor-student)
## It is weighted by the number of students enrolled in the class when
## distance(currentPlacement,initialPlacement) > 67
Perturbations.TooFarForStudentsWeight=0.0
## Difference between number of instructor distance preferences of the initial
## (but maybe inconsistent) solution and the current solution
## Instructor distance preferences of classes without initial placement are not taken into account
Perturbations.DeltaInstructorDistancePreferenceWeight=1.0
## Difference between room preferences of the initial and the current solution
## Room preferences of classes without initial placement are not taken into account
Perturbations.DeltaRoomPreferenceWeight=0.1
## Difference between time preferences of the initial and the current solution
## Time preferences of classes without initial placement are not taken into account
Perturbations.DeltaTimePreferenceWeight=0.1
## Number of students which are enrolled in a class which is placed to a different time than initial
Perturbations.AffectedStudentByTimeWeight=0.05
## Number of instructors which are assigned to classes which are placed to different time than initial
Perturbations.AffectedInstructorByTimeWeight=0.0
## Number of students which are enrolled in a class which is placed to a different room than initial
Perturbations.AffectedStudentByRoomWeight=0.0
## Number of instructors which are assigned to classes which are placed to different room than initial
Perturbations.AffectedInstructorByRoomWeight=0.0
## Number of students which are enrolled in a class which is placed to a different building than initial
Perturbations.AffectedStudentByBldgWeight=0.0
## Number of instructors which are assigned to classes which are placed to different building than initial
Perturbations.AffectedInstructorByBldgWeight=0.0


## Termination
## ---------------------------------------------------------------
## Termination class
Termination.Class=net.sf.cpsolver.ifs.termination.MPPTerminationCondition
## Minimal allowed number of perturbances (-1 not use)
Termination.MinPerturbances=-1
## Maximal number of iteration
Termination.MaxIters=-1
## Maximal solver time (in sec)
Termination.TimeOut=1800
## Stop computation when a complete solution is found
Termination.StopWhenComplete=false
## If both Termination.MaxIters and Termination.TimeOut are -1, solver stops after a first complete solution is found

## Solution Comparator
## ---------------------------------------------------------------
## Solution comparator class
Comparator.Class=net.sf.cpsolver.coursett.heuristics.TimetableComparator
## Weight of hard student conflict
Comparator.HardStudentConflictWeight=1.0
## Weight of student conflict
Comparator.StudentConflictWeight=0.2
## Time preferences weight
Comparator.TimePreferenceWeight=1.0
## Constraint preferences weight
Comparator.ContrPreferenceWeight=0.0
## Room preferences weight
Comparator.RoomPreferenceWeight=0.2
## Useless slots weight
Comparator.UselessSlotWeight=0.05
## Too big room weight
Comparator.TooBigRoomWeight=0.05
## Distance (of the rooms of the ongoing classes) based instructor preferences weight
Comparator.DistanceInstructorPreferenceWeight=1.0
## Perturbation penalty
Comparator.PerturbationPenaltyWeight=0.0
## Department balancing
Comparator.DeptSpreadPenaltyWeight=0.5

## Lecture selection
## ---------------------------------------------------------------
## Lecture selection class
Variable.Class=net.sf.cpsolver.coursett.heuristics.LectureSelection
## Unassign a lecture when there is a variable with no good values (MAC related)
Lecture.UnassignWhenNotGood=false
## Probability of selection of a good value (MAC related)
Lecture.GoodValueProb=1.0

## Selection among unassigned lectures
## Roulette wheel selection
Lecture.RouletteWheelSelection=true
## Random walk probability
Lecture.RandomWalkProb=1.0
## Domain size weight
Lecture.DomainSizeWeight=30.0
## Number of assignments weight
Lecture.NrAssignmentsWeight=10.0
## Initial assignment weight
Lecture.InitialAssignmentWeight=20.0
## Number of constraint weight
Lecture.NrConstraintsWeight=0.0

## Selection among assigned lectures
## Hard student conflict weight
Lecture.HardStudentConflictWeight=%Comparator.HardStudentConflictWeight%
## Student conflict weight
Lecture.StudentConflictWeight=%Comparator.StudentConflictWeight%
## Time preference weight
Lecture.TimePreferenceWeight=%Comparator.TimePreferenceWeight%
## Constraint preference weight
Lecture.ContrPreferenceWeight=%Comparator.ContrPreferenceWeight%
## Room preference weight
Lecture.RoomPreferenceWeight=%Comparator.RoomPreferenceWeight%
## Useless slot weight
Lecture.UselessSlotWeight=%Comparator.UselessSlotWeight%
## Too big room weight
Lecture.TooBigRoomWeight=%Comparator.TooBigRoomWeight%
## Distance (of the rooms of the ongoing classes) based instructor preferences weight
Lecture.DistanceInstructorPreferenceWeight=%Comparator.DistanceInstructorPreferenceWeight%
## Department balancing
Lecture.DeptSpreadPenaltyWeight=%Comparator.DeptSpreadPenaltyWeight%

## Selection among subset of lectures (faster)
Lecture.SelectionSubSet=true
## Minimal subset size
Lecture.SelectionSubSetMinSize=10
## Subset size in percentage of all lectures available for selection
Lecture.SelectionSubSetPart=0.2

## Placement selection
## ---------------------------------------------------------------
## Placement selection class
Value.Class=net.sf.cpsolver.coursett.heuristics.PlacementSelection

## Random walk probability
Placement.RandomWalkProb=0.00
## Good value selection probability (MAC related)
Placement.GoodSelectionProb=1.0
## Tabu-list length (-1 means do not use tabu-list)
Placement.TabuLength=-1
## MPP initial selection probability
Placement.MPP_InitialProb=0.50
## MPP limit (-1 for no limit)
Placement.MPP_Limit=-1
## Limit of the perturbations penalty (-1 for no limit)
Placement.MPP_PenaltyLimit=-1.0

## Placement selection -- Level 1
## ---------------------------------------------------------------
## Number of assifnment weight
Placement.NrAssignmentsWeight1=0.0
## Number of conflicts weight
Placement.NrConflictsWeight1=1.0
## Weighted conflicts weight (Conflict Statistics related)
Placement.WeightedConflictsWeight1=1.0
## Number of potential conflicts weight (Conflict Statistics related)
Placement.NrPotentialConflictsWeight1=0.0
## Delta initial assigments weight (MPP, violated initials related)
Placement.MPP_DeltaInitialAssignmentWeight1=0.0

## Hard student conflicts weight
Placement.NrHardStudConfsWeight1=0.2
## Student conflicts weight
Placement.NrStudConfsWeight1=0.05
## Time preference weight
Placement.TimePreferenceWeight1=0.0
## Time preference delta weight
Placement.DeltaTimePreferenceWeight1=0.2
## Constraint preference weight
Placement.ConstrPreferenceWeight1=0.0
## Room preference weight
Placement.RoomPreferenceWeight1=0.0
## Useless slot weight
Placement.UselessSlotsWeight1=0.0
## Too big room weight
Placement.TooBigRoomWeight1=0.0
## Distance (of the rooms of the ongoing classes) based instructor preferences weight
Placement.DistanceInstructorPreferenceWeight1=0.1
## Department spreading: penalty of when a slot over initial allowance is used
Placement.DeptSpreadPenaltyWeight1=0.2

## Threshold koeficient
Placement.ThresholdKoef1=0.1

## Placement selection -- Level 2
## ---------------------------------------------------------------
Placement.NrAssignmentsWeight2=0.0
Placement.NrConflictsWeight2=0.0
Placement.WeightedConflictsWeight2=0.0
Placement.NrPotentialConflictsWeight2=0.0
Placement.MPP_DeltaInitialAssignmentWeight2=0.0

Placement.NrHardStudConfsWeight2=1.0
Placement.NrStudConfsWeight2=0.2
Placement.TimePreferenceWeight2=1.0
Placement.DeltaTimePreferenceWeight2=0.0
Placement.ConstrPreferenceWeight2=0.0
Placement.RoomPreferenceWeight2=0.2
Placement.TooBigRoomWeight2=0.05
Placement.UselessSlotsWeight2=0.05
Placement.DistanceInstructorPreferenceWeight2=1.0
Placement.DeptSpreadPenaltyWeight2=2.0

Placement.ThresholdKoef2=0.0

## Placement selection -- Level 3
## ---------------------------------------------------------------
Placement.NrAssignmentsWeight3=0.0
Placement.NrConflictsWeight3=0.0
Placement.WeightedConflictsWeight3=0.0
Placement.NrPotentialConflictsWeight3=0.0
Placement.MPP_DeltaInitialAssignmentWeight3=0.0

Placement.NrHardStudConfsWeight3=0.0
Placement.NrStudConfsWeight3=0.0
Placement.TimePreferenceWeight3=0.0
Placement.DeltaTimePreferenceWeight3=0.0
Placement.ConstrPreferenceWeight3=0.0
Placement.UselessSlotsWeight3=0.0
Placement.RoomPreferenceWeight3=0.0
Placement.TooBigRoomWeight3=0.0
Placement.DistanceInstructorPreferenceWeight3=0.0
Placement.DeptSpreadPenaltyWeight3=0.0

Placement.ThresholdKoef3=0.0