Example Configuration default
## Solver Configuration File
## Name: Default
## Decription: Default configuration file
## Date: Wed Mar 28 16:20:24 EDT 2007
######################################

## Basic Settings
######################################
## Allow breaking of hard constraints
## Type: boolean
Basic.DisobeyHard=false
## Student final sectioning
## Type: boolean
General.SwitchStudents=true

## General Settings
######################################
## Minimal Perturbation Problem (minimize changes from initial solution)
## Type: boolean
General.MPP=false
## Solver extensions
## Type: semicolon separated list of classes
## Conflict-based statistics: net.sf.cpsolver.ifs.extension.ConflictStatistics
## Search intensification: net.sf.cpsolver.ifs.extension.SearchIntensification
## Violated initial values: net.sf.cpsolver.ifs.extension.ViolatedInitials
Extensions.Classes=net.sf.cpsolver.ifs.extension.SearchIntensification;net.sf.cpsolver.ifs.extension.ConflictStatistics
## Save solution when done
## Default: true
General.Save=true
## Minimal number of unassigned variables to save best solution found (-1 always save)
## Type: integer
General.SaveBestUnassigned=-1
## Use building distances
## Type: boolean
General.UseDistanceConstraints=true
## Use same subpart balancing
## Type: boolean
General.Spread=true
## Use automatic same_students constraints
## Type: boolean
General.AutoSameStudents=true
## Time preference normalization decrease factor
## Type: double
General.NormalizedPrefDecreaseFactor=0.77
## Use departmental balancing
## Type: boolean
General.DeptBalancing=false
## Automatic same student constraint
## Type: enum(SAME_STUDENTS,DIFF_TIME)
General.AutoSameStudentsConstraint=SAME_STUDENTS
## Ignore Room Sharing
## Type: boolean
General.IgnoreRoomSharing=false

## Minimal-perturbation Setting
######################################

## Perturbation Penalty
######################################
## Different value than initial is assigned
## Type: double
Perturbations.DifferentPlacement=0.0
## Number of students which are enrolled in a class which is placed to a different location than initial
## Type: double
Perturbations.AffectedStudentWeight=0.1
## Number of classes which are placed to a different room than initial
## Type: double
Perturbations.AffectedInstructorWeight=0.0
## Number of classes which are placed to a different room than initial
## Type: double
Perturbations.AffectedInstructorWeight=0.0
## Number of classes which are placed to a different room than initial
## Type: double
Perturbations.DifferentRoomWeight=0.0
## Number of classes which are placed to a different building than initial
## Type: double
Perturbations.DifferentBuildingWeight=0.0
## Number of classes which are placed in a different time than initial
## Type: double
Perturbations.DifferentTimeWeight=0.0
## Number of classes which are placed in a different days than initial
## Type: double
Perturbations.DifferentDayWeight=0.0
## Number of classes which are placed in a different hours than initial
## Type: double
Perturbations.DifferentHourWeight=0.0
## Difference of student conflicts of classes assigned to current placements instead of initial placements
## Type: double
Perturbations.DeltaStudentConflictsWeight=0.0
## New created student conflicts -- particular students are taken into account
## Type: double
Perturbations.NewStudentConflictsWeight=0.0
## New placement of a class is too far from the intial placement (instructor-wise)
## Type: double
Perturbations.TooFarForInstructorsWeight=0.0
## New placement of a class is too far from the intial placement (student-wise)
## Type: double
Perturbations.TooFarForStudentsWeight=0.0
## Difference between number of instructor distance preferences of the initial
## Type: double
Perturbations.DeltaInstructorDistancePreferenceWeight=0.0
## Difference between room preferences of the initial and the current solution
## Type: double
Perturbations.DeltaRoomPreferenceWeight=0.0
## Difference between time preferences of the initial and the current solution
## Type: double
Perturbations.DeltaTimePreferenceWeight=0.0
## Number of students which are enrolled in a class which is placed to a different time than initial
## Type: double
Perturbations.AffectedStudentByTimeWeight=0.0
## Number of instructors which are assigned to classes which are placed to different time than initial
## Type: double
Perturbations.AffectedInstructorByTimeWeight=0.0
## Number of students which are enrolled in a class which is placed to a different room than initial
## Type: double
Perturbations.AffectedStudentByRoomWeight=0.0
## Number of instructors which are assigned to classes which are placed to different room than initial
## Type: double
Perturbations.AffectedInstructorByRoomWeight=0.0
## Number of students which are enrolled in a class which is placed to a different building than initial
## Type: double
Perturbations.AffectedStudentByBldgWeight=0.0
## Number of instructors which are assigned to classes which are placed to different building than initial
## Type: double
Perturbations.AffectedInstructorByBldgWeight=0.0

## Departmental Balancing
######################################
## Initial allowance of the slots for a particular time
## Type: double
DeptBalancing.SpreadFactor=1.2
## Increase the initial allowance when it causes the given number of unassignments
## Type: integer
DeptBalancing.Unassignments2Weaken=0

## Conflict-based Statistics
######################################
## Ageing (koef)
## Type: double
ConflictStatistics.Ageing=1.0
## Ageing -- half time (number of iteration)
## Type: integer
ConflictStatistics.AgeingHalfTime=0
## Print conflict statistics
## Type: boolean
ConflictStatistics.Print=true
## Number of iterations to print CBS (-1 just keep in memory and save within the solution)
## Type: integer
ConflictStatistics.PrintInterval=-1

## Termination Conditions
######################################
## Minimal allowed number of perturbances (-1 not use)
## Type: integer
Termination.MinPerturbances=-1
## Maximal number of iteration
## Type: integer
Termination.MaxIters=-1
## Maximal solver time (in sec)
## Type: integer
Termination.TimeOut=1800
## Stop computation when a complete solution is found
## Type: boolean
Termination.StopWhenComplete=false

## Solution Comparator Weights
######################################
## Weight of hard student conflict
## Type: double
Comparator.HardStudentConflictWeight=0.8
## Weight of student conflict
## Type: double
Comparator.StudentConflictWeight=0.2
## Time preferences weight
## Type: double
Comparator.TimePreferenceWeight=0.3
## Distribution preferences weight
## Type: double
Comparator.ContrPreferenceWeight=2.0
## Room preferences weight
## Type: double
Comparator.RoomPreferenceWeight=1.0
## Useless slots weight
## Type: double
Comparator.UselessSlotWeight=0.1
## Too big room weight
## Type: double
Comparator.TooBigRoomWeight=0.1
## Back-to-back instructor preferences weight
## Type: double
Comparator.DistanceInstructorPreferenceWeight=1.0
## Perturbation penalty weight
## Type: double
Comparator.PerturbationPenaltyWeight=1.0
## Department balancing weight
## Type: double
Comparator.DeptSpreadPenaltyWeight=1.0
## Same subpart balancing weight
## Type: double
Comparator.SpreadPenaltyWeight=1.0
## Commited student conflict weight
## Type: double
Comparator.CommitedStudentConflictWeight=1.0

## Lecture Selection
######################################
## Roulette wheel selection
## Type: boolean
Lecture.RouletteWheelSelection=true
## Random walk probability
## Type: double
Lecture.RandomWalkProb=1.0
## Domain size weight
## Type: double
Lecture.DomainSizeWeight=30.0
## Number of assignments weight
## Type: double
Lecture.NrAssignmentsWeight=10.0
## Initial assignment weight
## Type: double
Lecture.InitialAssignmentWeight=20.0
## Number of constraint weight
## Type: double
Lecture.NrConstraintsWeight=0.0
## Hard student conflict weight
## Type: double
## Default: %Comparator.HardStudentConflictWeight%
Lecture.HardStudentConflictWeight=0.8
## Student conflict weight
## Type: double
## Default: %Comparator.StudentConflictWeight%
Lecture.StudentConflictWeight=0.2
## Time preference weight
## Type: double
## Default: %Comparator.TimePreferenceWeight%
Lecture.TimePreferenceWeight=0.3
## Constraint preference weight
## Type: double
## Default: %Comparator.ContrPreferenceWeight%
Lecture.ContrPreferenceWeight=2.0
## Room preference weight
## Type: double
## Default: %Comparator.RoomPreferenceWeight%
Lecture.RoomPreferenceWeight=1.0
## Useless slot weight
## Type: double
## Default: %Comparator.UselessSlotWeight%
Lecture.UselessSlotWeight=0.1
## Too big room weight
## Type: double
## Default: %Comparator.TooBigRoomWeight%
Lecture.TooBigRoomWeight=0.1
## Back-to-back instructor preferences weight
## Type: double
## Default: %Comparator.DistanceInstructorPreferenceWeight%
Lecture.DistanceInstructorPreferenceWeight=1.0
## Department balancing weight
## Type: double
## Default: %Comparator.DeptSpreadPenaltyWeight%
Lecture.DeptSpreadPenaltyWeight=1.0
## Selection among subset of lectures (faster)
## Type: boolean
Lecture.SelectionSubSet=true
## Minimal subset size
## Type: integer
Lecture.SelectionSubSetMinSize=10
## Subset size in percentage of all lectures available for selection
## Type: double
Lecture.SelectionSubSetPart=0.2
## Same subpart balancing weight
## Type: double
## Default: %Comparator.SpreadPenaltyWeight%
Lecture.SpreadPenaltyWeight=1.0
## Commited student conflict weight
## Type: double
## Default: %Comparator.CommitedStudentConflictWeight%
Lecture.CommitedStudentConflictWeight=1.0

## Placement Selection
######################################
## Random walk probability
## Type: double
Placement.RandomWalkProb=0.00
## MPP initial selection probability
## Type: double
Placement.MPP_InitialProb=0.20
## MPP limit (-1 for no limit)
## Type: integer
Placement.MPP_Limit=-1
## Limit of the perturbations penalty (-1 for no limit)
## Type: double
Placement.MPP_PenaltyLimit=-1.0
## Number of assignments weight (level 1)
## Type: double
Placement.NrAssignmentsWeight1=0.0
## Number of conflicts weight (level 1)
## Type: double
Placement.NrConflictsWeight1=1.0
## Weighted conflicts weight (CBS, level 1)
## Type: double
Placement.WeightedConflictsWeight1=2.0
## Number of potential conflicts weight (CBS, level 1)
## Type: double
Placement.NrPotentialConflictsWeight1=0.0
## Delta initial assigments weight (MPP, level 1)
## Type: double
Placement.MPP_DeltaInitialAssignmentWeight1=0.1
## Hard student conflicts weight (level 1)
## Type: double
Placement.NrHardStudConfsWeight1=0.3
## Student conflicts weight (level 1)
## Type: double
Placement.NrStudConfsWeight1=0.05
## Time preference weight (level 1)
## Type: double
Placement.TimePreferenceWeight1=0.0
## Time preference delta weight (level 1)
## Type: double
Placement.DeltaTimePreferenceWeight1=0.2
## Constraint preference weight (level 1)
## Type: double
Placement.ConstrPreferenceWeight1=0.25
## Room preference weight (level 1)
## Type: double
Placement.RoomPreferenceWeight1=0.1
## Useless slot weight (level 1)
## Type: double
Placement.UselessSlotsWeight1=0.0
## Too big room weight (level 1)
## Type: double
Placement.TooBigRoomWeight1=0.01
## Back-to-back instructor preferences weight (level 1)
## Type: double
Placement.DistanceInstructorPreferenceWeight1=0.1
## Department balancing: penalty of when a slot over initial allowance is used (level 1)
## Type: double
Placement.DeptSpreadPenaltyWeight1=0.1
## Threshold koeficient (level 1)
## Type: double
Placement.ThresholdKoef1=0.1
## Number of assignments weight (level 2)
## Type: double
Placement.NrAssignmentsWeight2=0.0
## Number of conflicts weight (level 2)
## Type: double
Placement.NrConflictsWeight2=0.0
## Weighted conflicts weight (CBS, level 2)
## Type: double
Placement.WeightedConflictsWeight2=0.0
## Number of potential conflicts weight (CBS, level 2)
## Type: double
Placement.NrPotentialConflictsWeight2=0.0
## Delta initial assigments weight (MPP, level 2)
## Type: double
## Default: %Comparator.PerturbationPenaltyWeight%
Placement.MPP_DeltaInitialAssignmentWeight2=1.0
## Hard student conflicts weight (level 2)
## Type: double
## Default: %Comparator.HardStudentConflictWeight%
Placement.NrHardStudConfsWeight2=0.8
## Student conflicts weight (level 2)
## Type: double
## Default: %Comparator.StudentConflictWeight%
Placement.NrStudConfsWeight2=0.2
## Time preference weight (level 2)
## Type: double
## Default: %Comparator.TimePreferenceWeight%
Placement.TimePreferenceWeight2=0.3
## Time preference delta weight (level 2)
## Type: double
Placement.DeltaTimePreferenceWeight2=0.0
## Constraint preference weight (level 2)
## Type: double
## Default: %Comparator.ContrPreferenceWeight%
Placement.ConstrPreferenceWeight2=2.0
## Room preference weight (level 2)
## Type: double
## Default: %Comparator.RoomPreferenceWeight%
Placement.RoomPreferenceWeight2=1.0
## Useless slot weight (level 2)
## Type: double
## Default: %Comparator.UselessSlotWeight%
Placement.UselessSlotsWeight2=0.1
## Too big room weight (level 2)
## Type: double
## Default: %Comparator.TooBigRoomWeight%
Placement.TooBigRoomWeight2=0.1
## Back-to-back instructor preferences weight (level 2)
## Type: double
## Default: %Comparator.DistanceInstructorPreferenceWeight%
Placement.DistanceInstructorPreferenceWeight2=1.0
## Department balancing: penalty of when a slot over initial allowance is used (level 2)
## Type: double
## Default: %Comparator.DeptSpreadPenaltyWeight%
Placement.DeptSpreadPenaltyWeight2=1.0
## Threshold koeficient (level 2)
## Type: double
Placement.ThresholdKoef2=0.1
## Number of assignments weight (level 3)
## Type: double
Placement.NrAssignmentsWeight3=0.0
## Number of conflicts weight (level 3)
## Type: double
Placement.NrConflictsWeight3=0.0
## Weighted conflicts weight (CBS, level 3)
## Type: double
Placement.WeightedConflictsWeight3=0.0
## Number of potential conflicts weight (CBS, level 3)
## Type: double
Placement.NrPotentialConflictsWeight3=0.0
## Delta initial assigments weight (MPP, level 3)
## Type: double
Placement.MPP_DeltaInitialAssignmentWeight3=0.0
## Hard student conflicts weight (level 3)
## Type: double
Placement.NrHardStudConfsWeight3=0.0
## Student conflicts weight (level 3)
## Type: double
Placement.NrStudConfsWeight3=0.0
## Time preference weight (level 3)
## Type: double
Placement.TimePreferenceWeight3=0.0
## Time preference delta weight (level 3)
## Type: double
Placement.DeltaTimePreferenceWeight3=0.0
## Constraint preference weight (level 3)
## Type: double
Placement.ConstrPreferenceWeight3=0.0
## Room preference weight (level 3)
## Type: double
Placement.RoomPreferenceWeight3=0.0
## Useless slot weight (level 3)
## Type: double
Placement.UselessSlotsWeight3=0.0
## Too big room weight (level 3)
## Type: double
Placement.TooBigRoomWeight3=0.0
## Back-to-back instructor preferences weight (level 3)
## Type: double
Placement.DistanceInstructorPreferenceWeight3=0.0
## Department balancing: penalty of when a slot over initial allowance is used (level 3)
## Type: double
Placement.DeptSpreadPenaltyWeight3=0.0
## Same subpart balancing: penalty of when a slot over initial allowance is used (level 1)
## Type: double
Placement.SpreadPenaltyWeight1=0.1
## Same subpart balancing: penalty of when a slot over initial allowance is used (level 2)
## Type: double
## Default: %Comparator.SpreadPenaltyWeight%
Placement.SpreadPenaltyWeight2=1.0
## Same subpart balancing: penalty of when a slot over initial allowance is used (level 3)
## Type: double
Placement.SpreadPenaltyWeight3=0.0
## Commited student conlict weight (level 1)
## Type: double
Placement.NrCommitedStudConfsWeight1=0.5
## Commited student conlict weight (level 2)
## Type: double
## Default: %Comparator.CommitedStudentConflictWeight%
Placement.NrCommitedStudConfsWeight2=1.0
## Commited student conlict weight (level 3)
## Type: double
Placement.NrCommitedStudConfsWeight3=0.0
## Can unassign a singleton value
## Type: boolean
Placement.CanUnassingSingleton=true

## Implementations
######################################
## Perturbations counter
## Type: text
PerturbationCounter.Class=net.sf.cpsolver.coursett.heuristics.UniversalPerturbationsCounter
## Termination condition
## Type: text
Termination.Class=net.sf.cpsolver.ifs.termination.MPPTerminationCondition
## Solution comparator
## Type: text
Comparator.Class=net.sf.cpsolver.coursett.heuristics.TimetableComparator
## Lecture selection
## Type: text
Variable.Class=net.sf.cpsolver.coursett.heuristics.LectureSelection
## Placement selection
## Type: text
Value.Class=net.sf.cpsolver.coursett.heuristics.PlacementSelection
## Loader class
## Type: text
TimetableLoader=net.sf.cpsolver.coursett.TimetableXMLLoader
## Saver class
## Type: text
TimetableSaver=net.sf.cpsolver.coursett.TimetableXMLSaver
## Neighbour Selection
## Type: text
Neighbour.Class=net.sf.cpsolver.coursett.heuristics.NeighbourSelectionWithSuggestions

## Same Subpart Balancing
######################################
## Initial allowance of the slots for a particular time
## Type: double
Spread.SpreadFactor=1.2
## Increase the initial allowance when it causes the given number of unassignments
## Type: integer
Spread.Unassignments2Weaken=50

## Search Intensification
######################################
## Iteration limit (number of iteration after which the search is restarted to the best known solution)
## Type: integer
SearchIntensification.IterationLimit=100
## Number of consecutive restarts to increase iteration limit (if this number of restarts is reached, iteration limit is increased)
## Type: integer
SearchIntensification.ResetInterval=5
## Iteration limit incremental coefficient (when a better solution is found, iteration limit is changed back to initial)
## Type: integer
SearchIntensification.MultiplyInterval=2
## Reset conflict-based statistics (number of consecutive restarts after which CBS is cleared, zero means no reset of CBS)
## Type: integer
SearchIntensification.Multiply=2

## Default Time Preferences
######################################
## Time preferences weight
## Type: double
TimePreferences.Weight=0.0
## Time preferences
## Type: timepref
TimePreferences.Pref=2222222222222224222222222222222223333222222222222222222222222224222222222222222223333222222222222222222222222224222222222222222223333222222222222222222222222224222222222222222223333222222222222222222222222224222222222222222223333222222222222222222222

## Distances
######################################
## Instructor Constraint: No Preference Limit
## Type: double
Instructor.NoPreferenceLimit=0.0
## Instructor Constraint: Discouraged Limit
## Type: double
Instructor.DiscouragedLimit=5.0
## Instructor Constraint: Prohibited Limit
## Type: double
Instructor.ProhibitedLimit=20.0
## Student Conflict: Distance Limit
## Type: double
Student.DistanceLimit=67.0
## Student Conflict: Distance Limit (after 75min class)
## Type: double
Student.DistanceLimit75min=100.0

## Neighbour Selection
######################################
## Probability of using suggestions
## Type: double
Neighbour.SuggestionProbability=0.1
## Suggestions timeout
## Type: integer
Neighbour.SuggestionTimeout=500
## Suggestions depth
## Type: integer
Neighbour.SuggestionDepth=4
## Probability of using suggestions (when all classes are assigned)
## Type: double
Neighbour.SuggestionProbabilityAllAssigned=0.5