PMConfig isn't just for ProposalMatcher anymore; it's about to gain settings for
[match/match.git] / program / PMConfig.hs
1 module PMConfig where
2
3 import PMInstance
4 import IMinCostFlow
5
6 data PMConfig = PMConfig {
7         minCostFlow :: MinCostFlowImpl,
8         reviewsEachProposal :: Int,
9         prefIsExpert :: Wt -> Bool,
10         prefIsKnowledgeable :: Wt -> Bool,
11         prefIsBoring :: Wt -> Bool,
12         prefIsVeryBoring :: Wt -> Bool,
13         prefIsConflict :: Wt -> Bool,
14         loadTolerance :: Int,
15         marginalLoadCost :: Wt -> Wt,
16         marginalBoringCost :: Wt -> Wt,
17         marginalVeryBoringCost :: Wt -> Wt,
18         assignmentCost :: Wt -> Wt,
19         knowledgeableBonus :: Wt,
20         expertBonus :: Wt
21 }