

OPL – High-level syntax for linear programming - bgodlove88
https://github.com/brg8/opl

======
idunning
An alternative is JuMP [1], a package for Julia. You can model optimization
problems with linear, quadratic, and general nonlinear constraints/objective
and send them to a variety of open-source and commercial solvers. JuMP, these
solver wrappers, and more are all part of the JuliaOpt organization [2]. Once
of the great things about JuMP is that it generates the internal/computer-
friendly form for LPs/MILPs/MIQCQPs/... very quickly, as good as any
commercial tool. If you are solving nonlinear problems, it'll generate first
and second derivatives for you using automatic differentiation (see JuliaDiff
for more on that [3])

[1]:
[https://github.com/JuliaOpt/JuMP.jl](https://github.com/JuliaOpt/JuMP.jl)

[2]: [http://juliaopt.org](http://juliaopt.org)

[3]: [http://juliadiff.org](http://juliadiff.org)

------
tlarkworthy
What's the improvement over
PuLP?[https://pypi.python.org/pypi/PuLP/1.1](https://pypi.python.org/pypi/PuLP/1.1)

~~~
idunning
PuLP, apart from being in Python and this being in Ruby, is definitely a more
general tool as it can connect to a wide variety of (MI)LP solvers.

Heres a link to the latest version of PuLP:
[https://pypi.python.org/pypi/PuLP/1.5.6](https://pypi.python.org/pypi/PuLP/1.5.6)

