Make the evaluator's review weights configurable.
[match/match.git] / program / PMConfig.hs
index 20a380f..d88f3d4 100644 (file)
@@ -3,6 +3,12 @@ module PMConfig where
 import PMInstance
 import IMinCostFlow
 
+-- A PMConfig structure has a bunch of configuration values used by
+-- many functions in PMInstanceGenerator, ProposalMatcher, and Evaluation, which
+-- take a PMConfig as their first argument.  Module PMDefaults defines a sane
+-- default configuration `pmDefaults'; it can be used as-is or individual fields
+-- can be overridden, e.g., pmDefaults{loadTolerance = 2} .  See module
+-- PMDefaults for documentation of each field.
 data PMConfig = PMConfig {
        minCostFlow :: MinCostFlowImpl,
        reviewsEachProposal :: Int,
@@ -17,5 +23,8 @@ data PMConfig = PMConfig {
        marginalVeryBoringCost :: Wt -> Wt,
        assignmentCost :: Wt -> Wt,
        knowledgeableBonus :: Wt,
-       expertBonus :: Wt
+       expertBonus :: Wt,
+       numTopics :: Int,
+       topicZipfExponent :: Wt,
+       reviewEvalWeights :: [Wt]
 }