PMConfig isn't just for ProposalMatcher anymore; it's about to gain settings for
[match/match.git] / program / PMConfig.hs
diff --git a/program/PMConfig.hs b/program/PMConfig.hs
new file mode 100644 (file)
index 0000000..20a380f
--- /dev/null
@@ -0,0 +1,21 @@
+module PMConfig where
+
+import PMInstance
+import IMinCostFlow
+
+data PMConfig = PMConfig {
+       minCostFlow :: MinCostFlowImpl,
+       reviewsEachProposal :: Int,
+       prefIsExpert :: Wt -> Bool,
+       prefIsKnowledgeable :: Wt -> Bool,
+       prefIsBoring :: Wt -> Bool,
+       prefIsVeryBoring :: Wt -> Bool,
+       prefIsConflict :: Wt -> Bool,
+       loadTolerance :: Int,
+       marginalLoadCost :: Wt -> Wt,
+       marginalBoringCost :: Wt -> Wt,
+       marginalVeryBoringCost :: Wt -> Wt,
+       assignmentCost :: Wt -> Wt,
+       knowledgeableBonus :: Wt,
+       expertBonus :: Wt
+}