I'm pretty new to linear programming, I did solve my first problem with lpsolve (binary dll called from Java, via the JavaILP wrapper to have a more object-oriented code) and it was very fast (50 ms).
I then decided to avoid native code (if possible) and re-wrote everything using ojAlgo and for my 2100 variables problem the solution time has increased from 50 ms to 1089 ms.
Is this speed normal / expected?
Is it because ojAlgo is using BigDecimal
(not so sure it is so, I've seen double
s in the code there and there) and lpsolve is probably using int
s?
Can I do something about it?
On the other hand the maximum found increased from 1013
to OPTIMAL 1249
, which is good. (using lpsolve I didn't even know a better solution existed)
edit: I didn't notice that a few expression names were clashing and I guess this made them overwrite one another; now I fixed that and an OPTIMAL 1013
solution is found… in 8270 ms.