Example Configuration sect_v13
## Student Sectioning Solver Configuration File
## Use with CPSolver 1.3 or later
## Name: Student Sectioning Default Configuration
## Date: Fri Oct 03 13:17:07 CEST 2014
######################################

## General Parameters
######################################
## Student sectioning termination class
## Type: text
Termination.Class=org.cpsolver.ifs.termination.GeneralTerminationCondition
## Stop when a complete solution if found
## Type: boolean
Termination.StopWhenComplete=false
## Maximal solver time (in sec)
## Type: integer
Termination.TimeOut=28800
## Student sectioning solution comparator class
## Type: text
Comparator.Class=org.cpsolver.studentsct.weights.PriorityStudentWeights
## Student sectioning value selection class
## Type: text
Value.Class=org.cpsolver.studentsct.heuristics.EnrollmentSelection
## CBS weight
## Type: double
Value.WeightConflicts=1.0
## Number of past assignments weight
## Type: double
Value.WeightNrAssignments=0.0
## Student sectioning variable selection class
## Type: text
Variable.Class=org.cpsolver.ifs.heuristics.GeneralVariableSelection
## Student sectioning neighbour selection class
## Type: text
Neighbour.Class=org.cpsolver.studentsct.heuristics.StudentSctNeighbourSelection
## Save best even when no complete solution is found
## Type: integer
General.SaveBestUnassigned=0
## Use student distance conflicts
## Type: boolean
StudentSct.StudentDist=true
## Use conflict-based statistics
## Type: boolean
StudentSct.CBS=true
## Load real student requests
## Type: boolean
Load.IncludeCourseDemands=true
## Load last-like course demands (deprecated)
## Type: boolean
Load.IncludeLastLikeStudents=false
## Section limit constraint: favour unassignment of last-like course requests
## Type: boolean
SectionLimit.PreferDummyStudents=true
## Last-like student request weight
## Type: double
Student.DummyStudentWeight=0.01
## Branch&bound: If true, section penalties (instead of section values) are minimized
## Type: boolean
Neighbour.BranchAndBoundMinimizePenalty=false
## Branch&bound: Timeout for each neighbour selection (in milliseconds)
## Type: integer
Neighbour.BranchAndBoundTimeout=5000
## Random Unassignment: Probability of a random selection of a student
## Type: double
Neighbour.RandomUnassignmentProb=0.5
## Random Unassignment: Probability of a random selection of a problematic student
## Type: double
Neighbour.RandomUnassignmentOfProblemStudentProb=0.9
## Student Swap: Timeout for each neighbour selection (in milliseconds)
## Type: integer
Neighbour.SwapStudentsTimeout=5000
## Student Swap: Limit for the number of considered values for each course request
## Type: integer
Neighbour.SwapStudentsMaxValues=100
## Backtrack: Limit on the number of enrollments to be visited of each course request
## Type: integer
Neighbour.MaxValues=100
## Backtrack: Timeout for each neighbour selection (in milliseconds)
## Type: integer
Neighbour.BackTrackTimeout=5000
## Backtrack: Search depth
## Type: integer
Neighbour.BackTrackDepth=4
## More precise (but slower) computation of enrollments of a course request while skipping enrollments with the same times
## Type: boolean
CourseRequest.SameTimePrecise=true
## Use time overlaps
## Type: boolean
StudentSct.TimeOverlaps=true
## Tweak class limits to fit all enrolled students
## Type: boolean
Load.TweakLimits=false
## Allow over limit for individual reservations
## Type: boolean
Reservation.CanAssignOverTheLimit=true

## Student Weitghts
######################################
## Priority
## Type: double
StudentWeights.Priority=0.5010
## First alternative
## Type: double
StudentWeights.FirstAlternative=0.5010
## Second alternative
## Type: double
StudentWeights.SecondAlternative=0.2510
## Distance conflict
## Type: double
StudentWeights.DistanceConflict=0.0100
## Time overlap
## Type: double
StudentWeights.TimeOverlapFactor=0.5000
## Time overlap limit
## Type: double
StudentWeights.TimeOverlapMaxLimit=0.5000
## Section balancing
## Type: double
StudentWeights.BalancingFactor=0.0050
## Alternative request (equal weights)
## Type: double
StudentWeights.AlternativeRequestFactor=0.1260
## Spread leftover weight equaly
## Type: boolean
StudentWeights.LeftoverSpread=false
## Projected student request
## Type: double
StudentWeights.ProjectedStudentWeight=0.0100

## Other Properties
######################################
# Number of solver threads
Parallel.NrSolvers=4
# Anonymize XML file (no names)
Xml.ShowNames=false
# Use priority weighting
StudentWeights.Class=org.cpsolver.studentsct.weights.PriorityStudentWeights
# Extensions: CBS + distance conflicts + time overlaps
Extensions.Classes=org.cpsolver.studentsct.extension.StudentConflictStatistics;org.cpsolver.studentsct.extension.DistanceConflict;org.cpsolver.studentsct.extension.TimeOverlapsCounter
# Distance ellipsoid
# Type: enum(LEGACY,WGS84,GRS80,Airy1830,Intl1924,Clarke1880,GRS67)
Distances.Ellipsoid=LEGACY