Finds an optimal expert-to-object assignment given the following conditions:
- There are objects to review by experts.
- Each object must be reviewed by exactly given number of experts.
- Expert can review a single object only once.
- Expert has some pre-paid amount of reviews.
- There are already some expert-to-object assignments.
- Some experts allow to have over contract reviews, some ones don't.
- We need to use as few experts as possible.
- We should find as few new experts as possible (second criteria).
Time complexity of solution: O(|Objects| |Experts| log(|Objects|))
gem install review_assigner
or add it to your Gemfile:
gem 'review_assigner', '~> 0.0', github: 'jughead/review_assigner'
and run bundle install
You can either use command line:
bundle exec review_assigner <input_filename> <output_filename>
input_filename
is any string value suitable for roo
gem.
output_filename
is a path to store xlsx result.
or use it internally:
ReviewAssigner.assign_excel(input_filename, output_filename)