Skip to content

Automatized paper allocations for TPC discussions

License

Notifications You must be signed in to change notification settings

bradunov/assignments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Automatized paper allocation for TPC meetings

Basic requirements

The code needs Python 3.6+ to run.

Inputs:

The program takes 3 inputs:

  • Mobicom TPC-schedule.csv: List of reviewers and time availability in form:

    • Column 1: Reviewers email
    • Column 6: Availability on the first day in reviewer's local time (see below for more)
    • Column 7: Availability on the second day in reviewer's local time
    • Column 8: Time zone in which the reviewer resides. We collected this info by asking reviewers and created the file
  • mobicom20-pcassignments.csv: generated by HotCRP, it gives paper assignments. To generate, go to the list of papers, click on Download, and select "PC Assignments" and click on Go.

  • mobicom20-scores.csv: generated by HotCRP, it gives paper scores per reviewer. To generate, go to the list of papers, click on Download, and select paper scores.

Put all files in the same directory where the code is and run. The code will print various assignments.

General description:

We collect all reviewers availability times in their "local" times (express in their time zone) and convert them into a single time zone (UTC - 9) which we call "global" time. We perform all the scheduling in "global" time and later convert into local time.

We have two global parametrs:

  • sched_time: this the time during which the TPC can be meeting, in "global" time. This is the time when the PC chairs can work. It can be 24h, but sometimes shorter times give equally good allocation. Experiment and see.
  • default_time: this is the "active" time during which the PC members are expected to be available, expressed in their local time. 7am-10pm worked well for us because there is enough overlap across time zones.

The scheduling is done in two phases. We first find one time where a maximum number of reviewers can attend, given the default_time setting. If not all reviewers can attend, we use a heuristic to remove users that have the least expertise or lowest score (be positive :). We only consider options of removing 1 or 2 reviewer. More is certainly not desirable. In our case we had 20% of papers which were not attended by a single reviewer. WARNING: This is a very crude heuristic, you may want to optimize.

The second phase creates an array called with one slot for each hour. It adds each paper in the default slot from the first phase and then tries to move papers around while still keeping the schedule feasible. WARNING: This is a simple heuristic.

Finally, we try to generate a lead reviewer from the reviewers that are able to attend, according to expertise and positiveness. WARNING: This is a very crude heuristic, you may want to optimize.

Reviewer availability:

The reviewer availability in Mobicom TPC-schedule.csv is given in form ([not] <from_hour:from_minute>-<to_hour:to_minute>)+. Examples are:

  • "" (Empty): available all day on that day
  • "not": not available on that day
  • "11:00-14:00, 15:00-20:00": available in those two intervals
  • "not 12:00-14:00": not available in this interval NOTE: We currently don't allow two not interval in a list, but this can easily be added.

Outputs:

The program prints bunch of stuff at the end:

  • Assignment per slots in different time zones
  • Which reviewers are feasible and which not per paper (you may need to enable this)
  • Discuss order tags for HotCRP that can be directly uploaded
  • Lead reviewer tags for HotCRP that can be directly uploaded

About

Automatized paper allocations for TPC discussions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages