This repo contains various implementations that provide insights into the rankability of data and the linear ordering problem.
graphviz headers must be installed:
apt-get install -y libgraphviz-dev
pip install pyrankability
This library relies on Gurobi optimizer. Gurobi provides free academic licenses and more information on obtaining and installing your license can be found here: https://support.gurobi.com/hc/en-us/articles/360040541251.
import pyrankability
n=8
D=np.zeros((n,n))
D[np.triu_indices(n,1)]=1
D[[5,3,7]] = 1-D[[5,3,7]]
D=pd.DataFrame(D)
k_hillside,details_hillside = pyrankability.rank.solve(D,method='hillside')
k_lop,details_lop = pyrankability.rank.solve(D,method='lop')
assert k_hillside == 54 and k_lop == 12.0
cd ranking_toolbox
python3 -m venv ../env
source ../env/bin/activate
cd tests
pytest tests.py
Paul Anderson, Ph.D.
Department of Computer Science
Director, Data Science Program
College of Charleston
Amy Langville, Ph.D.
Department of Mathematics
College of Charleston
Tim Chartier, Ph.D.
Department of Mathematics
Davidson College
We would like to thank the entire IGARDS team for their invaluable insight and encouragement.