Example Configuration deluge_v13
## Solver Configuration File
## Use with CPSolver 1.3 or later
## Name: Course Timetabling Great Deluge Configuration
## Date: Tue Mar 25 19:24:57 EDT 2014
######################################

## Basic Settings
######################################
## Solver mode
## Type: enum(Initial,MPP)
Basic.Mode=Initial
## When finished
## Type: enum(No Action,Save,Save as New,Save and Unload,Save as New and Unload)
Basic.WhenFinished=No Action
## Students sectioning
## Type: boolean
General.SwitchStudents=true
## Load committed assignments
## Type: boolean
General.LoadCommittedAssignments=false
## Allow breaking of hard constraints
## Type: boolean
Basic.DisobeyHard=false

## General Settings
######################################
## Use conflict-based statistics
## Type: boolean
General.CBS=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 search intensification
## Type: boolean
## Default: true
General.SearchIntensification=false
## Load student enrollments from solution
(faster, but it ignores new classes)
## Type: boolean
Global.LoadStudentEnrlsFromSolution=false
## Settings Id
## Type: integer
## Default: -1
General.SettingsId=262
## 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
## Do not load committed student conflicts (deprecated)
## Type: boolean
General.IgnoreCommittedStudentConflicts=false
## Weight last-like students (deprecated)
## Type: boolean
General.WeightStudents=true
## Student course demands
## Type: enum(Last Like Student Course Demands,Weighted Last Like Student Course Demands,Projected Student Course Demands,Curricula Course Demands,Curricula Last Like Course Demands,Student Course Requests,Enrolled Student Course Demands)
Curriculum.StudentCourseDemadsClass=Projected Student Course Demands
## Committed student conflicts
## Type: enum(Load,Compute,Ignore)
General.CommittedStudentConflicts=Load
## Automatic precedence constraint
## Type: enum(Required,Strongly Preferred,Preferred,Neutral)
General.AutoPrecedence=Neutral
## Number of unassignments for the discouraged room constraint to weaken
## Type: integer
DiscouragedRoom.Unassignments2Weaken=1000
## Curriculum Course Demands: Include Other Students
## Type: boolean
CurriculaCourseDemands.IncludeOtherStudents=true
## Additional Criteria (semicolon separated list of class names)
## Type: text
General.AdditionalCriteria=org.cpsolver.coursett.criteria.additional.ImportantStudentConflict;org.cpsolver.coursett.criteria.additional.ImportantStudentHardConflict
## Purge invalid placements during the data load
## Type: boolean
General.PurgeInvalidPlacements=true
## Important Curriculum Groups (regexp matching the group name -- all courses of a matching group are marked as important)
## Type: text
CurriculumEnrollmentPriority.GroupMatch=.*
## Precedence Constraint: consider date patterns
## Type: boolean
Precedence.ConsiderDatePatterns=true
## Joint Enrollment Constraint: conflict limit (% limit of the smaller class)
## Type: double
General.JenrlMaxConflicts=1.0
## Joint Enrollment Constraint: limit weakening
## Type: double
General.JenrlMaxConflictsWeaken=0.001
## Load student instructor conflicts
## Type: boolean
Global.LoadStudentInstructorConflicts=false
## Automatic hierarchical constraints (comma separated list of a preference, a constraint name and optional date pattern)
## Type: text
General.AutomaticHierarchicalConstraints=
## Fix complete solution interval (min number of iteration from the previous best solution)
## Type: integer
## Default: 1
General.CompleteSolutionFixInterval=-1
## Fix incomplete solution interval (min number of non improving iterations, -1 to disable
## Type: integer
## Default: 5000
General.IncompleteSolutionFixInterval=-1
## Search Algorithm
## Type: enum(Default,Experimental)
## Default: Default
General.SearchAlgorithm=Experimental
## Deterministic student sectioning
## Type: boolean
General.DeterministicStudentSectioning=false
## Class Weights
## Type: enum(Default Class Weights,Average Hours A Week Class Weights)
ClassWeightProvider.Class=Default Class Weights

## 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.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
## Weight of distance student conflict
## Type: double
Comparator.DistStudentConflictWeight=0.2
## 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
## Weight of important student conflict
## Type: double
Comparator.ImportantStudentConflictWeight=0.0
## Weight of important hard student conflict
## Type: double
Comparator.ImportantHardStudentConflictWeight=0.0
## Excessive room size weight
## Type: double
Comparator.RoomSizeWeight=0.001
## Excessive room size factor
## Type: double
Comparator.RoomSizeFactor=1.05
## Flexible constraint weight
## Type: double
## Default: %Comparator.ContrPreferenceWeight%
FlexibleConstraint.Weight=2.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
## Distance student conflict weight
## Type: double
## Default: %Comparator.DistStudentConflictWeight%
Lecture.DistStudentConflictWeight=0.2
## 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=2.0
## Weighted conflicts weight (CBS, level 1)
## Type: double
Placement.WeightedConflictsWeight1=4.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
## Distance student conflict weight (level 1)
## Type: double
Placement.NrDistStudConfsWeight1=0.05
## Distance student conflict weight (level 2)
## Type: double
## Default: %Comparator.DistStudentConflictWeight%
Placement.NrDistStudConfsWeight2=0.2
## Distance student conflict weight (level 3)
## Type: double
Placement.NrDistStudConfsWeight3=0.0
## Important student conflict weight (level1)
## Type: double
Placement.NrImportantStudConfsWeight1=0.0
## Important student conflict weight (level2)
## Type: double
## Default: %Comparator.ImportantStudentConflictWeight%
Placement.NrImportantStudConfsWeight2=0.0
## Important student conflict weight (level3)
## Type: double
Placement.NrImportantStudConfsWeight3=0.0
## Important hard student conflict weight (level 1)
## Type: double
Placement.NrImportantHardStudConfsWeight1=0.0
## Important hard student conflict weight (level 2)
## Type: double
## Default: %Comparator.ImportantHardStudentConflictWeight%
Placement.NrImportantHardStudConfsWeight2=0.0
## Important hard student conflict weight (level 3)
## Type: double
Placement.NrImportantHardStudConfsWeight3=0.0
## Flexible constraint preference weight (level 1)
## Type: double
## Default: %Placement.ConstrPreferenceWeight1%
Placement.FlexibleConstrPreferenceWeight1=0.25
## Flexible constraint preference weight (level 2)
## Type: double
## Default: %FlexibleConstraint.Weight%
Placement.FlexibleConstrPreferenceWeight2=2.0
## Flexible constraint preference weight (level 3)
## Type: double
## Default: %Placement.ConstrPreferenceWeight3%
Placement.FlexibleConstrPreferenceWeight3=0.0

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

## 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
## Ellipsoid to be used to compute distances
## Type: enum(DEFAULT,LEGACY,WGS84,GRS80,Airy1830,Intl1924,Clarke1880,GRS67)
## Default: DEFAULT
Distances.Ellipsoid=LEGACY
## Student speed in meters per minute
## Type: double
Distances.Speed=6.70
## Compute Distance Conflicts Between Non BTB Classes
## Type: boolean
Distances.ComputeDistanceConflictsBetweenNonBTBClasses=false
## Instructor Long Travel in Minutes (only when computing distances between non-BTB classes is enabled)
## Type: double
Instructor.InstructorLongTravelInMinutes=30.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
## Construction: heuristics
## Type: text
Construction.Class=org.cpsolver.coursett.heuristics.NeighbourSelectionWithSuggestions
## Construction: use construction heuristic untill a complete solution is found
## Type: boolean
Construction.UntilComplete=true
## Use great deluge (instead of simulated annealing)
## Type: boolean
Search.GreatDeluge=true
## Hill Climber: max idle iterations
## Type: integer
HillClimber.MaxIdle=10000
## Hill Climber: Additional neighbourhoods
## Type: text
HillClimber.AdditionalNeighbours=org.cpsolver.coursett.neighbourhoods.TimeChange;org.cpsolver.coursett.neighbourhoods.RoomChange;org.cpsolver.coursett.neighbourhoods.TimeSwap@0.01;org.cpsolver.coursett.neighbourhoods.RoomSwap@0.01
## Great Deluge: cooling rate
## Type: double
GreatDeluge.CoolRate=0.9999999
## Great Deluge: upper bound
## Type: double
GreatDeluge.UpperBoundRate=1.05
## Great Deluge: lower bound
## Type: double
GreatDeluge.LowerBoundRate=0.95
## Great Deluge: Additional neighbourhoods
## Type: text
GreatDeluge.AdditionalNeighbours=org.cpsolver.coursett.neighbourhoods.TimeChange;org.cpsolver.coursett.neighbourhoods.RoomChange;org.cpsolver.coursett.neighbourhoods.TimeSwap@0.1;org.cpsolver.coursett.neighbourhoods.RoomSwap@0.1
## Simulated Annealing: initial temperature
## Type: double
SimulatedAnnealing.InitialTemperature=1.5
## Simulated Annealing: temperature length (number of iterations between temperature decrements)
## Type: integer
SimulatedAnnealing.TemperatureLength=2500
## Simulated Annealing: cooling rate
## Type: double
SimulatedAnnealing.CoolingRate=0.95
## Simulated Annealing: temperature re-heat length coefficient
## Type: double
SimulatedAnnealing.ReheatLengthCoef=5.0
## Simulated Annealing: temperature re-heating rate (default (1/coolingRate)^(reheatLengthCoef*1.7))
## Type: double
SimulatedAnnealing.ReheatRate=-1
## Simulated Annealing: restore best length coefficient (default reheatLengthCoef^2)
## Type: double
SimulatedAnnealing.RestoreBestLengthCoef=-1
## Simulated Annealing: stochastic search acceptance
## Type: boolean
SimulatedAnnealing.StochasticHC=false
## Simulated Annealing: relative acceptance (compare with current solution, not the best one)
## Type: boolean
SimulatedAnnealing.RelativeAcceptance=true
## Simulated Annealing: Additional neighbourhoods
## Type: text
SimulatedAnnealing.AdditionalNeighbours=org.cpsolver.coursett.neighbourhoods.TimeChange;org.cpsolver.coursett.neighbourhoods.RoomChange;org.cpsolver.coursett.neighbourhoods.TimeSwap@0.1;org.cpsolver.coursett.neighbourhoods.RoomSwap@0.1

## On Fly Student Sectioning
######################################
## Enable on fly sectioning (if enabled, students will be resectioned after each iteration)
## Type: boolean
OnFlySectioning.Enabled=false
## Recursively resection lectures affected by a student swap
## Type: boolean
OnFlySectioning.Recursive=true
## Resection students between configurations as well
## Type: boolean
OnFlySectioning.ConfigAsWell=false

## Instructor Lunch Breaks
######################################
## Enable Instructor Lunch Breaks
## Type: boolean
InstructorLunch.Enabled=false
## Weight
## Type: double
InstructorLunch.Weight=0.18
## Start slot
## Type: integer
InstructorLunch.StartSlot=132
## End slot
## Type: integer
InstructorLunch.EndSlot=162
## Minum break length (in slots)
## Type: integer
InstructorLunch.Length=6
## Violations multiplication factor
## Type: double
InstructorLunch.Multiplier=1.15
## Show violations in the solution info
## Type: boolean
InstructorLunch.InfoShowViolations=false

## Curriculum Conversion
######################################
## Search Phases
## Type: text
Curriculum.Phases=HC,Deluge
## Hill Climber: max idle iterations
## Type: integer
Curriculum.HC.MaxIdle=1000
## Great Deluge: cooling rate
## Type: double
## Default: 0.999999
Curriculum.Deluge.Factor=0.999995
## Great Deluge: upper bound
## Type: double
Curriculum.Deluge.UpperBound=1.25
## Great Deluge: lower bound
## Type: double
Curriculum.Deluge.LowerBound=0.75

## Other Properties
######################################
General.Unload=false
Xml.ShowNames=true
General.CreateNewSolution=false
Extensions.Classes=org.cpsolver.ifs.extension.ConflictStatistics
Parallel.NrSolvers=4
General.Save=true
General.UseAmPm=true
Xml.ExportStudentSectioning=true