Are there any good tools to solve integer programs on Linux?
I have a small problem that I want to compute to save time :D. It is kind of a subset sum problem. I have a list of around 20 Integer-Values and I want to compute the subset with the smallest sum that satisfies a certain minimum. You could formulate this with a integer program... something like
\sum_{i=1}^{n} w*x -> min
with
\sum_{i=1}^{n} w*x >= c with x \in \{0,1\}
Or is there an other good way to do this?
An integer programming (IP) problem is a linear programming (LP) problem in which the decision variables are further constrained to take integer values. Both the objective function and the constraints must be linear. The most commonly used method for solving an IP is the method of branch-and–bound.
Instead, the MIP models provide a mathematical description of the system that accounts for processing times, backlog penalties, resource availabilities and due dates. From: Computer Aided Chemical Engineering, 2021.
It is limited to continuous parameters with a linear relationship. This is the difference between linear programming (LP) and integer linear programming (ILP). In summary, LP solvers can only use real numbers and not integers as variables.
Mixed-Integer Linear Programming Definition A mixed-integer linear program (MILP) is a problem with. Linear objective function, fTx, where f is a column vector of constants, and x is the column vector of unknowns. Bounds and linear constraints, but no nonlinear constraints (for definitions, see Write Constraints)
I would try either GLPK or SCIP.
They have their own modeling language, GLPK has GNU MathProg and SCIP has ZIMPL, so you can conveniently code your LP problem.
GNU MathProg has the advantage of being compatible with AMPL. Thus, you could try the student version of AMPL with CPLEX or Gurobi with your GNU MathProg model. Keep in mind that AMPL, CPLEX and Gurobi are commercial software.
Have you tried to do that with LibreOffice Calc Solver?
Microsoft Solver Foundation on Mono Framework could also do the job for you if you know C#.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With