Safe Haskell | None |
---|---|
Language | Haskell2010 |
WeekDaze.ExecutionConfiguration.ExecutionOptions
Description
AUTHOR
- Dr. Alistair Ward
DESCRIPTION
- Defines the data which drives the solution-mechanism, as opposed to that which either defines the problem or describes the presentation of the solution.
Synopsis
- type RandomSeed = Int
- type PermitTemporaryStudentBodyMerger = Bool
- type ReduceStudentBodyRegister = Bool
- type RemoveRedundantCourses = Bool
- data ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio = MkExecutionOptions {
- getEvolutionStrategies :: EvolutionStrategies fecundityDecayRatio populationDiversityRatio
- getMaybeHint :: Maybe Hint
- getMaybeRandomSeed :: Maybe RandomSeed
- getOptimiseLessonCriteriaWeights :: OptimiseLessonCriteriaWeights criterionWeight
- getLessonCriteriaWeights :: LessonCriteriaWeights criterionWeight
- getPermitTemporaryStudentBodyMerger :: PermitTemporaryStudentBodyMerger
- getReduceStudentBodyRegister :: ReduceStudentBodyRegister
- getRemoveRedundantCourses :: RemoveRedundantCourses
- getRemovePointlessGroups :: Bool
- getRemoveUnsubscribedGroups :: Bool
- getTimetableCriteriaWeights :: TimetableCriteriaWeights criterionWeight
- getZeroInappropriateOptions :: Bool
- inputStudentViewTimetableTag :: String
- permitTemporaryStudentBodyMergerTag :: String
- randomSeedTag :: String
- reduceStudentBodyRegisterTag :: String
- removeRedundantCoursesTag :: String
- removePointlessGroupsTag :: String
- removeUnsubscribedGroupsTag :: String
- zeroInappropriateOptionsTag :: String
- setPermitTemporaryStudentBodyMerger :: Num criterionWeight => PermitTemporaryStudentBodyMerger -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setSynchronisedCourseMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setSynchronisedCourseByDayMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setExcessRunlengthMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setFecundityDecayRatio :: fecundityDecayRatio -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setHomogeneousStudentViewLessonMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setIncompleteCourseMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setMinimumPopulationDiversityRatio :: populationDiversityRatio -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setMaybeNInitialScouts :: Maybe NTimetables -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setSingletonStudentClassMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setSplitSessionMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setStudentBodyCombinationMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setStudentViewTimetableForDayMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setStudentViewTimetableForWeekMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- setSynchronousLessonMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio
- hintWasSpecified :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> (Bool, Bool)
Types
Type-synonyms
type RandomSeed = Int Source #
A seed from which to construct a pseudo-random number-generator.
type PermitTemporaryStudentBodyMerger = Bool Source #
Whether to permit student-bodies to be temporarily merged for a lesson.
type ReduceStudentBodyRegister = Bool Source #
Whether to automatically merge student-bodies with identical profiles.
type RemoveRedundantCourses = Bool Source #
Whether to remove courses for which there's zero demand.
Data-types
data ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Encapsulates the data which drives the implementation.
Constructors
MkExecutionOptions | |
Fields
|
Instances
(Eq fecundityDecayRatio, Eq populationDiversityRatio, Eq criterionWeight) => Eq (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) Source # | |
Defined in WeekDaze.ExecutionConfiguration.ExecutionOptions Methods (==) :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> Bool # (/=) :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> Bool # | |
(Show fecundityDecayRatio, Show populationDiversityRatio, Show criterionWeight) => Show (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) Source # | |
Defined in WeekDaze.ExecutionConfiguration.ExecutionOptions Methods showsPrec :: Int -> ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> ShowS # show :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> String # showList :: [ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio] -> ShowS # | |
(NFData criterionWeight, NFData fecundityDecayRatio, NFData populationDiversityRatio) => NFData (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) Source # | |
Defined in WeekDaze.ExecutionConfiguration.ExecutionOptions Methods rnf :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> () # | |
(Fractional criterionWeight, Fractional fecundityDecayRatio, Fractional populationDiversityRatio) => Default (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) Source # | |
Defined in WeekDaze.ExecutionConfiguration.ExecutionOptions Methods def :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio # | |
(Fractional criterionWeight, Fractional fecundityDecayRatio, Fractional populationDiversityRatio, XmlPickler criterionWeight, XmlPickler fecundityDecayRatio, XmlPickler populationDiversityRatio, Ord fecundityDecayRatio, Ord populationDiversityRatio, Real criterionWeight, Show criterionWeight, Show fecundityDecayRatio, Show populationDiversityRatio) => XmlPickler (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) Source # | |
Defined in WeekDaze.ExecutionConfiguration.ExecutionOptions Methods xpickle :: PU (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) # | |
(Num fecundityDecayRatio, Num populationDiversityRatio, Ord fecundityDecayRatio, Ord populationDiversityRatio, Real criterionWeight, Show criterionWeight, Show fecundityDecayRatio, Show populationDiversityRatio) => SelfValidator (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) Source # | |
Defined in WeekDaze.ExecutionConfiguration.ExecutionOptions Methods getErrors :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> [String] # isValid :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> Bool # | |
(Eq criterionWeight, Num criterionWeight) => Configuration (ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio) Source # | |
Defined in WeekDaze.ExecutionConfiguration.ExecutionOptions Methods issueWarnings :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> [String] Source # |
Constants
inputStudentViewTimetableTag :: String Source #
Used to qualify XML.
permitTemporaryStudentBodyMergerTag :: String Source #
Used to qualify SQL & XML.
randomSeedTag :: String Source #
Used to qualify SQL & XML.
reduceStudentBodyRegisterTag :: String Source #
Used to qualify SQL & XML.
removeRedundantCoursesTag :: String Source #
Used to qualify SQL & XML.
removePointlessGroupsTag :: String Source #
Used to qualify SQL & XML.
removeUnsubscribedGroupsTag :: String Source #
Used to qualify SQL & XML.
zeroInappropriateOptionsTag :: String Source #
Used to qualify SQL & XML.
Functions
Mutators
setPermitTemporaryStudentBodyMerger :: Num criterionWeight => PermitTemporaryStudentBodyMerger -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
- Mutator.
- If student-bodies can be temporarily merged, allowing the size of student-classes to grow,
then there's no obvious advantage to fitting this transient class-size to either the capacity of the location or to any maximum class-size defined for the course;
so
getWeightOfMaximiseStudentClassSizeOverLocationCapacity
&getWeightOfMaximiseStudentClassSizeOverCourseClassSize
aren't relevant, equally if student-bodies can't be merged, then synchronous identical lessons are permissible, so there's no point trying to promote them viagetWeightOfAreResourcesReused
. - Alternatively, if student-bodies can't be temporarily merged into a variety of student-classes,
then there's no concept of either
getWeightOfMinimiseStudentBodyCombinations
orgetWeightOfMinimiseMeanStudentBodyCombinationsPerLesson
.
setSynchronisedCourseMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setSynchronisedCourseByDayMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setExcessRunlengthMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setFecundityDecayRatio :: fecundityDecayRatio -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setHomogeneousStudentViewLessonMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setIncompleteCourseMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setMinimumPopulationDiversityRatio :: populationDiversityRatio -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setMaybeNInitialScouts :: Maybe NTimetables -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setSingletonStudentClassMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setSplitSessionMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setStudentBodyCombinationMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setStudentViewTimetableForDayMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setStudentViewTimetableForWeekMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
setSynchronousLessonMutationFecundity :: TimetableBreederFecundity -> Mutator criterionWeight fecundityDecayRatio populationDiversityRatio Source #
Mutator.
Predicates
hintWasSpecified :: ExecutionOptions criterionWeight fecundityDecayRatio populationDiversityRatio -> (Bool, Bool) Source #
True if a (traversalOrder, input file-path) was specified.