- Add the notes Samir emailed me on 2008-07-06.
authorMatt McCutchen <matt@mattmccutchen.net>
Sun, 6 Jul 2008 15:32:52 +0000 (11:32 -0400)
committerMatt McCutchen <matt@mattmccutchen.net>
Mon, 7 Jul 2008 00:46:35 +0000 (20:46 -0400)
- Move the program into a subdirectory to cut down on rebuilding.
- Hide the .git contents from Eclipse.

12 files changed:
.externalToolBuilders/make match program.launch [moved from .externalToolBuilders/make match.launch with 51% similarity]
.project
notes [new file with mode: 0644]
program/.gitignore [moved from .gitignore with 100% similarity]
program/BellmanFord.hs [moved from BellmanFord.hs with 100% similarity]
program/Makefile [moved from Makefile with 100% similarity]
program/ProposalMatch.hs [moved from ProposalMatch.hs with 100% similarity]
program/ProposalMatchConfig.hs [moved from ProposalMatchConfig.hs with 100% similarity]
program/Test.hs [moved from Test.hs with 100% similarity]
program/UnitMinCostFlow.hs [moved from UnitMinCostFlow.hs with 100% similarity]
program/debug [moved from debug with 100% similarity]
program/run [moved from run with 100% similarity]

similarity index 51%
rename from .externalToolBuilders/make match.launch
rename to .externalToolBuilders/make match program.launch
index 0ff90ed..4f8de19 100644 (file)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
-<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; label=&quot;make match outputs&quot; name=&quot;make match outputs&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/match&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; label=&quot;make match outputs&quot; name=&quot;make match outputs&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/match/program&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
 <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; label=&quot;make match inputs&quot; name=&quot;make match inputs&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/match&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; label=&quot;make match inputs&quot; name=&quot;make match inputs&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/match/program&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
 <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="/usr/bin/make"/>
 <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
 <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/match}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/match/program}"/>
 </launchConfiguration>
index b302f1b..165f368 100644 (file)
--- a/.project
+++ b/.project
                        <arguments>
                                <dictionary>
                                        <key>LaunchConfigHandle</key>
-                                       <value>&lt;project&gt;/.externalToolBuilders/make match.launch</value>
+                                       <value>&lt;project&gt;/.externalToolBuilders/make match program.launch</value>
                                </dictionary>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
        </natures>
+       <linkedResources>
+               <link>
+                       <name>.git</name>
+                       <type>2</type>
+                       <location>/home/matt/Emptydir</location>
+               </link>
+       </linkedResources>
 </projectDescription>
diff --git a/notes b/notes
new file mode 100644 (file)
index 0000000..8317707
--- /dev/null
+++ b/notes
@@ -0,0 +1,52 @@
+For funding agencies such as NSF program directors 
+that co-ordinate panels, assigning proposals to 
+reviewers is a major challenge. It is important that each proposal be
+reviewed by qualified experts, and at the same time we would like the
+workload across different reviewers to be roughly balanced. The same
+issue arises for a program committee chair, who may have to assign
+literally hundreds of papers to a program committee consisting of
+thirty to forty program committee members. 
+
+What does CMT use? What does Easychair use?
+
+From now on we will focus on the problem of assigning papers to
+reviewers. 
+We assume that each reviewer is given access to the
+list of papers to be reviewed, and provides input on their
+preferences by giving a ``desirability'' score to each paper.
+We also assume that each paper  has to be reviewed by $at least r$
+reviewers. 
+
+List of codes.
+
+We do not consider stable marriage type preference lists,
+because a strict ranking of papers would be rather tedious
+to produce. In this scheme, the papers are essentially grouped
+into a few categories.
+
+
+Ideally, from the perspective of the papers, we would like to
+assign each paper the $r$ ``best'' reviewers for the paper.
+Ofcourse, this would lead to a load imbalanced solution where
+the load on some program committee members is very high, and the
+load on others is low. On the other hand, we could insist 
+on a perfectly load balanced solution in which the number
+of papers assigned to each program committee member do not
+exceed $\lceil rN/P  \rceil$, where $N$ is the number of
+submissions and $P$ is the number of program committee members.
+Recall that each paper needs $r$ reviewers, so a total of $rN$
+reviews need to be generated. However this may lead to a solution
+which is not optimal from the perspective of the papers.
+
+One of our goals is to study precisely this tradeoff, and allow each
+reviewer to have upto $\lceil rN/P  \rceil + C$ papers assigned to
+them, where $C$ is the {\em imbalance factor}. The main question
+we consider is: is it possible to obtain a high quality
+assignment with a fairly low value of $C$?
+
+One can ask the same question from the perspective of the reviewers
+as well. Each reviewer would ideally like papers
+that are the ``most desirable'' from their point of view.
+
+{\em Stinkers} are papers that pretty much no-one wanted to review. 
+We would like to spread the load of the stinkers as evenly as possible.
similarity index 100%
rename from .gitignore
rename to program/.gitignore
similarity index 100%
rename from BellmanFord.hs
rename to program/BellmanFord.hs
similarity index 100%
rename from Makefile
rename to program/Makefile
similarity index 100%
rename from ProposalMatch.hs
rename to program/ProposalMatch.hs
similarity index 100%
rename from Test.hs
rename to program/Test.hs
similarity index 100%
rename from debug
rename to program/debug
diff --git a/run b/program/run
similarity index 100%
rename from run
rename to program/run