python-mip
minizinc-python
Our great sponsors
python-mip | minizinc-python | |
---|---|---|
1 | 3 | |
504 | 132 | |
2.0% | 1.5% | |
7.1 | 8.4 | |
about 1 month ago | about 18 hours ago | |
Python | Python | |
Eclipse Public License 2.0 | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
python-mip
-
Ask HN: Do you use an optimization solver? Which one? Why? Do you like it?
I've been using CBC via python-mip (https://github.com/coin-or/python-mip). It's great because it's got a super clean interface (milp variables/expressions/constraints), the code is quite accessible, and it's low overhead which makes it good for solving many very small problems.
Community sentiment seems to be beginning to shift toward favouring the HiGHS solver (https://github.com/ERGO-Code/HiGHS) over CBC. Something I'm keeping a close eye on.
nextmv seems to pitch itself as a generic solving ("decision automation") platform or something (unclear). But it seems that the only fleshed out product offering is for vehicle routing, based on the docs. Are there plans to offer, for instance, a solver binary that can be used to solve generic problems?
Also all the github repos under https://github.com/nextmv-io are private, so links from docs are 404.
minizinc-python
-
Matrix / 2d Array Puzzle-Like Problem
Now, you say you need to solve this using Python. I would personally either use the MiniZinc Python driver or I would use the OR-Tools Python package and write a similar model to the one above.
-
Discrete optimization for on-call scheduling
Btw, MiniZinc team recently released a python binding https://github.com/MiniZinc/minizinc-python which is quite nice to use.
-
Constraint Programming in Python or How to Solve Traveling Salesman Problem just Describing it.
minizinc-python solves the second issue, by providing the way to call minizinc models from python, the library will run minizinc, serialize your input and parse output, but the programmer still should write quite a lot lines of code. We can look at the example of solving square equation solving:
What are some alternatives?
or-tools - Google's Operations Research tools:
kanren - An extensible, lightweight relational/logic programming DSL written in pure Python
SciPy - SciPy library main repository
yuck - Yuck is a local-search constraint solver with FlatZinc interface
HiGHS - Linear optimization software
solver - SAT solver library in Go; wraps around Google's Operational Research Tools
EA-FC-24-Automated-SBC-Solving - EA FC 24 Automated SBC Solving using Integer Programming ⚽
TheAlgorithms - All Algorithms implemented in Python
exact
Simplex_Numpy - Creating a Linear Program Solver by Implementing the Simplex Method in Python with NumPy
osqp - The Operator Splitting QP Solver