Fix remaining mentions of "proposal" in the paper.
[match/match.git] / paper / paper.tex
CommitLineData
f3084293
MM
1\documentclass[11pt]{article}
2\usepackage{url}
3\usepackage[square,comma,numbers]{natbib}
4\usepackage{color}
5
6% Figure stuff. To add a new figure named `foo.fig', put
7% `\includexfig{foo}' in the appropriate place and add `foo' to the
8% figures line at the top of the Makefile.
9\usepackage{ifpdf}
10\ifpdf
11 \usepackage[pdftex]{graphicx}
12 \def\includexfig#1{\input{#1.pdf_t}}
13\else
14 \usepackage[dvips]{graphicx}
15 \def\includexfig#1{\input{#1.ps_t}}
16\fi
17
18\usepackage{amssymb, amsmath, amsthm}
19\newtheorem{theorem}{Theorem}
20\newtheorem{lemma}{Lemma}
21
22\usepackage[letterpaper,left=2.6cm,right=2.6cm,top=2.6cm,bottom=2.6cm]{geometry}
23
24\usepackage{floatflt}
25\usepackage{pstricks}
26\usepackage{delarray}
27
17e0995d
MM
28\def\code#1{\texttt{#1}}
29
30\title{Assigning Papers to Reviewers}
f3084293
MM
31
32\author{
33Samir Khuller\thanks{Research currently supported by CCF-0728839.
34Email:{\tt samir@cs.umd.edu}.}\\
35Dept.\ of Computer Science\\
36University of Maryland, College Park MD 20742.
37\and
38Richard Matthew McCutchen\thanks{
39The bulk of this work was done while Matt was at the Dept.\ of Computer Science,
40University of Maryland, College Park, and supported by REU Supplement to
41CCF-0430650. Current email: {\tt matt@mattmccutchen.net}.}\\
42%Department of Computer Science\\
43%University of Maryland, College Park, MD 20742.
44}
45
46\date{}
47
48\begin{document}
49
50\maketitle
51
52%\begin{abstract}
53%
54%\end{abstract}
55
56\section{Introduction}
57Assignment problems arise in a variety of settings.
58For funding agencies such as NSF program directors
59that co-ordinate panels, assigning proposals to
60reviewers is a major challenge. It is important that each proposal receive
61sufficient review by qualified experts, and at the same time we would like to
62roughly balance the workload across reviewers and to honor the reviewers'
63preferences for which proposals they would like to read. The same
64issue arises for a program committee chair, who may have to assign
65literally hundreds of papers to a program committee consisting of
66thirty to forty program committee members.
67
68%{\em What does CMT use? What does Easychair use?}
69
70From now on we will focus on the problem of assigning papers to
71reviewers.
72We assume that each reviewer is given access to the
73list of papers to be reviewed, and gives each paper both a ``desirability''
74score indicating his/her level of interest in reviewing the paper and an
75``expertise'' score indicating how qualified he/she is to evaluate the paper.
76(Some organizations may choose to use a single set of scores for both
77desirability and expertise. We believe that making this distinction may better
78model the real-world objective.)
17e0995d 79A reviewer may also declare a conflict of interest with a particular paper,
f3084293
MM
80meaning that he/she is forbidden to review the paper.
81
82We do not consider stable marriage type preference lists,
83because a strict ranking of papers would be rather tedious
84to produce. In this scheme, the papers are essentially grouped
85into a few categories.
86
87Let $N$ be the number of papers and $P$ be the number of reviewers.
17e0995d 88Suppose that each paper needs $q$ reviews, so a total of $qN$
f3084293
MM
89reviews need to be generated.
90Ideally, from the perspective of the papers, we would like to
17e0995d 91assign each paper the $q$ most qualified reviewers for the paper.
f3084293
MM
92Of course, this could lead to a load imbalanced solution where
93the load on some program committee members is very high, and the
94load on others is low. On the other hand, we could insist
95on a perfectly load balanced solution in which the number
96of papers assigned to each program committee member does not
17e0995d 97exceed $L= \lceil qN/P \rceil$. However, this may lead to a solution
f3084293
MM
98which is not optimal from the perspective of the papers.
99
100One of our goals is to study precisely this tradeoff, and allow each
101reviewer to be assigned up to $L + C$ papers,
102where $C$ is the {\em load tolerance}. We consider the question:
103is it possible to obtain a high quality
104assignment with a fairly low value of $C$? One can also ask whether,
105in such an assignment, the reviewers receive the papers that they would
106have most liked to review.
107
108{\em Stinkers} are papers that pretty much no-one wanted to review.
109We would like to spread the load of the stinkers as evenly as possible.
110
111
17e0995d
MM
112\section{Formulation as a Min-Cost Max-Flow Problem}
113
114\begin{figure*}
115\begin{center}
116\def\eg#1{\fbox{#1}}
117\centerline{\includexfig{flow}}
118\caption{Flow Construction.}
119\label{flow-fig}
120\end{center}
121\end{figure*}
f3084293 122
17e0995d
MM
123We formulate the assignment problem as a min-cost max-flow problem,
124where each unit of flow represents one review.
f3084293 125The construction is somewhat involved in order to incorporate all
17e0995d 126the desired incentives. In several places, it makes
f3084293
MM
127use of sets of ``parallel edges'' of different costs connecting a
128single pair of nodes $(x, y)$ to allow flow to be sent from $x$ to $y$
129at a cost that grows faster than linear in the amount of the flow. For
130example, if there are five unit-capacity edges from $x$ to $y$ of costs
1311, 3, 5, 7, and 9, then any integer amount $f \le 5$ of flow can be
132sent from $x$ to $y$ at a cost of $f^2$.
133
17e0995d
MM
134An example of the graph is shown in Figure~\ref{flow-fig}.
135We have a source $s$ and a sink $t$.
f3084293
MM
136For each paper $j$ we create a set of nodes $p^1_j, p^2_j,p^3_j$, and for each
137reviewer $i$ we create a set of nodes $r^1_i, r^2_i, r^3_i$. (The rationale
17e0995d
MM
138for these sets is discussed below.)
139Flow can pass from $s$ through one or more of the nodes $r^t_i$ and
f3084293
MM
140one or more of the nodes $p^t_j$ to the sink to represent a review
141by reviewer $i$ of paper $j$.
142
143Each paper has an edge of capacity $r$ to
144the sink, indicating that it needs $r$ reviews. In general, these
145edges will constitute the min cut, so any max flow will saturate them
146and thereby provide all the required reviews. We take the min-cost
147max flow in order to provide the reviews in the ``best'' possible way.
148
149Each reviewer has a zero-cost edge of capacity $L$ from the source so that
150he/she can be assigned $L$ papers. If that were all, we would get a perfectly
151load-balanced solution, but we may be able to improve the quality of the
152assignments by allowing some imbalance.
153Therefore, we allow each reviewer to be overloaded by up to $C$ papers
154($C$ is the load imbalance parameter) via a set
155of $C$ additional unit-capacity edges from the source. We make the cost of the
156$l$th edge an increasing function $f(l)$ to provide an incentive to
157balance load across reviewers. Since $2f(1) < f(1) + f(2)$,
158a solution that loads two reviewers each by $L+1$ will be preferred
159to a solution that loads one reviewer by $L$ and the other by $L+2$
160unless the load imbalance in the second solution is outweighed by
161other benefits.
162
4e46fa87 163For each reviewer $i$ and paper $j$, there is a unit-capacity edge from $i$
17e0995d
MM
164to $j$ allowing that pair to be assigned, unless the reviewer declared a
165conflict of interest, in which case the edge is not present. The edge cost is
4e46fa87 166based on the desirability value $d_{ij}$ stated by reviewer $i$ for paper
17e0995d
MM
167$j$. For values on the NSF scale of 1 (best) to 40 (worst), we chose the cost
168function $(10 + d_{ij})^2$, in an attempt to provide an incentive to avoid
169really bad matched pairs without completely masking the difference between a
170good matched pair and an excellent one. This choice seeks only to achieve a
171natural relationship between a linear preference scale as normally interpreted
172and the costs to be used in the optimization. We realize that strategic
173reviewers will take the cost function into account in choosing what desirability
174values to submit, in which case its form matters little.
175
176Alongside these purely additive per-review costs,
177we want to avoid an individual reviewer
178getting too many papers he/she does not like.
179With respect to a reviewer $i$, we classify papers as ``interesting'',
180``boring'', or ``very boring'' based on their desirability values;
181the thresholds for these classes are currently
182the same for all reviewers. The edge for reviewer $i$ and paper
f3084293
MM
183$j$ leaves from $r^1_i$ if $j$ is interesting, $r^2_i$ if $j$ is boring, or
184$r^3_i$ if $j$ is very boring. Since all edges from the source enter $r^1_i$,
17e0995d
MM
185flow for boring and very boring papers is forced to pass through a set of
186parallel edges from $r^1_i$ to $r^2_i$, and flow for very boring papers
f3084293
MM
187must pass through an additional set of parallel edges from $r^2_i$ to $r^3_i$.
188In each of these sets, we make the cost of the $l$th edge an increasing
189function of $l$ to provide an incentive to balance the load of boring
17e0995d
MM
190papers in the same way as for overload.
191
192Finally, we would like at least one or two of each paper's reviews to be well
193qualified, if possible. The method is the same as that for reviewer fairness.
194With respect to a paper $j$, we classify reviewers as ``expert'',
195``knowledgeable'', or ``general'' by comparing the expertise values to uniform
196thresholds. (Since this is the only place the expertise values are used, we
197effectively assume expertise takes on only these three values.)
198Edges representing
f3084293
MM
199expert reviews enter $p^1_j$, edges for knowledgeable reviews enter $p^2_j$,
200and edges for general reviews enter $p^3_j$; the edge to the sink leaves
201$p^3_j$. A paper's first knowledgeable (or expert) review scores a bonus $c_2$
202by traversing a unit-capacity edge of cost $-c_2$ from $p^2_j$ to $p^3_j$,
203and an additional expert review scores another bonus $c_1$ by traversing a
204unit-capacity edge of cost $-c_1$ from $p^1_j$ to $p^3_j$.
205In addition to the bonus edges,
206there are edges of zero cost and unlimited capacity that reviews can follow
207from $p^1_j$ to $p^2_j$ and from $p^2_j$ to $p^3_j$ in order to reach the sink.
208The choice to offer bonuses for two reviews was based on the value $r = 3$;
209this would be easy to change for other values of $r$.
210
17e0995d
MM
211In the example in Figure~\ref{flow-fig},
212paper 1 is interesting to reviewer 1 and boring to reviewers 2 and 3.
213Reviewer 2 is expert on paper 1, with reviewers 1 and 3 merely knowledgeable.
214(Reviewer edges for paper 2 are not shown.)
215This illustrates how, in principle,
216the desirability and expertise relations might differ.
217Each is taken into account at a different stage of the construction.
218
219The cost of a flow (assignment) is the sum of its reviewer overload costs,
220per-review costs, and reviewer boring / very boring load costs,
221minus paper bonuses. Any one of these components can be traded off against
222the others.
223
224\section{Evaluation}
225
226We have implemented the matching algorithm, based on the construction above, in
227Haskell.
228The construction is intended to illustrate
229ways to model real concerns that we find reasonable a priori.
230We do not have enough experience with real-world
231instances to be confident that each part of the construction serves its intended
232purpose or that the parameter values we have chosen are suitable.
233Fortunately, the parameter values are easy to change in the source code of our
234implementation, and even substantive changes to the graph structure are not too
235hard to make. At a minimum, we believe that min-cost max-flow provides a
236reasonable framework for global optimization of an assignment.
237
238We have worked with Michael Hicks, program chair of POPL 2012, to apply our
239method to the paper assignment problem for that conference.
240The set of POPL 2012 reviewers consisted of the
241program committee (PC) and an external review committee (ERC),
242where the ERC served two purposes:
243\begin{itemize}
244\item To provide up to one knowledgeable (or expert) review per paper if
245prior knowledge of the topic was hard to find on the PC.
246\item To provide all reviews of papers with an author on the PC (``PC papers''),
247which were considered to
248pose an implicit conflict of interest to all PC members.
249\end{itemize}
250The special policy for ERC reviews of non-PC papers was realized via a more
251complex paper-side gadget, not described here.
252Based on an evaluation tool he wrote as well as manual inspection,
253Dr.~Hicks was satisfied that the decisions made by the matching tool
254closely reflected the best he could have done manually.
255
256We are looking for additional opportunities to apply the matching tool.
257Anyone interested is invited to contact us so we can help adapt it
258to the scenario and document the experience gained.
259
260%Waiting for data from NSF.
261
262%Synthetic Data.
263
264\section{Getting the Tool}
265
266A distribution containing the source code for the matching tool as well as this
267document may be browsed or downloaded at (NOT YET):
268\[\hbox{\url{https://mattmccutchen.net/match/}}\]
269There are currently two branches:
270\begin{itemize}
271\item \code{master} has the tool as originally designed for NSF, with no
272distinction between desirability and expertise.
273\item \code{popl2012} is the basis of the version used for POPL 2012. The main
274differences are that it has separate desirability and expertise, support for
275``fixing'' previously chosen reviewer-paper pairs (buggy, however),
276and the special ERC gadget.
277\end{itemize}
278We regret that we do not currently have a single well-maintained version of the
279tool to recommend.
f3084293
MM
280
281\begin{thebibliography}{99}
282
283\bibitem{Flow}
284R. Ahuja, T. Magnanti and J. Orlin.
285Network Flows: Theory and Applications.
286{\em Prentice Hall}.
287
288
289
290\end{thebibliography}
291
292\end{document}