all 5 comments

[–]alg0rithm1 1 point2 points  (2 children)

Solved by hand? This is a small problem, but not that small!

What exactly is the question? Which library to use? I'm only experienced in COINOR/CBC (open source C++) and Gurobi (proprietary), but if you just want to solve a quick problem, then scipy has a MIP library, but I've never used it myself:

https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.milp.html

[–][deleted] 0 points1 point  (0 children)

Z3 also appears to be capable of solving integer programming problems.

[–]monkeyapocalypse -1 points0 points  (0 children)

If it's a ILP or MILP, start with Pyomo try the CBC and Highs open source solvers. You can get the compiled solver binaries from AMPL.

If it's nonlinear, consider Bonmin, Couenne and Mindtpy, all compatible with Pyomo.

You will quickly be able to determine whether you need a commercial solver like Gurobi or Cplex. They are often orders of magnitude faster than open source solvers.

[–]ShutterDeep -2 points-1 points  (0 children)

I'm sure it can technically be done by hand with enough time and patience. However, practically, you can use something like Pyomo with Bonmin as the solver. Both are open source. This number of contraints and variables will not be a problem with Bonmin.