-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Description
There is a replicability issue using the CVXOPT solver in Python to calculate the PUF and CPS weights - the md5 hash for the weight file changes every time the solver is run. Because most of the commonly used LP solvers do not have clean APIs for Python, the stage2 and solve_lp_for_year scripts should be re-written in Julia. The language has a clean optimization & modeling interface called JuMP that can be used for any LP optimization model that has a Julia implementation.
There are a few reasons why using Julia would be advantageous to Python for the solver stage:
- Julia has a
pandasinterface, so refactoring the data processing portions of the code shouldn't be too time consuming. - Using
JuMP, any new solver can be used with the same code becauseJuMPis model-agnostic. - Julia is a compiled language, so it might have a speed advantage over Python.
Coding the Julia version of the code should take substantially less time than finding the md5 replicability bug.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels