-
Notifications
You must be signed in to change notification settings - Fork 11
Master #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
amanz360
wants to merge
17
commits into
PrefPy:master
Choose a base branch
from
samsaksfithian:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Master #4
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Created an input file. Added ability to enter name of desired file on the command line. Added photo reference for how to format/create input files.
Made the actual calculation of the winner be a separate (and thus overridable) function. Basic version still uses WMG, new kemenyILP overrides and uses Gurobi ILP optimization.
kemenyILP now properly functions as a mechanism and can be used like any other prefpy mechanism but it uses gurobi to solve Kemeny as an ILP.
Cleaned up basic run file and added ability to specify input file on initial command line call. Created some output formatting functions to convert candidates from ints to their string names, display a ranking in visual rank format (eg. “a > b > c”), etc.
kemenyILP is now a direct subclass of Mechanism, not MechanismKemeny, since it does/overloads basically everything itself anyway. Added several member variables to store data so it could be printed from main after the calculations. Eliminated function to convert solution to ranking, and just integrated it into the main calculation and data variable setting.
Got rid of redundant/unused/random tests/old code bits
Added output formatting to change the keys of dictionaries from numbers to corresponding candidate names.
Super memory inefficient so won’t generate large files. Will fix soon.
Still slow, because it potentially goes through all the permutations of candidate rankings, but only stores as many as requested for the file.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added gurobi implementation to kemenyILP