6 -- A PMConfig structure has a bunch of configuration values used by
7 -- many functions in PMInstanceGenerator, ProposalMatcher, and Evaluation, which
8 -- take a PMConfig as their first argument. Module PMDefaults defines a sane
9 -- default configuration `pmDefaults'; it can be used as-is or individual fields
10 -- can be overridden, e.g., pmDefaults{loadTolerance = 2} . See module
11 -- PMDefaults for documentation of each field.
12 data PMConfig = PMConfig {
13 minCostFlow :: MinCostFlowImpl,
14 reviewsEachProposal :: Int,
15 prefIsExpert :: Wt -> Bool,
16 prefIsKnowledgeable :: Wt -> Bool,
17 prefIsBoring :: Wt -> Bool,
18 prefIsVeryBoring :: Wt -> Bool,
19 prefIsConflict :: Wt -> Bool,
21 marginalLoadCost :: Wt -> Wt,
22 marginalBoringCost :: Wt -> Wt,
23 marginalVeryBoringCost :: Wt -> Wt,
24 assignmentCost :: Wt -> Wt,
25 knowledgeableBonus :: Wt,
28 topicZipfExponent :: Wt,
29 reviewEvalWeights :: [Wt]