I want to develop a program using the IBM ILOG CPLEX Optimizer to solve MPS-files. Is it possible to embed the IBM ILOG CPLEX Optimizer so that it isn't necessary anymore to have the IBM ILOG CPLEX Optimization Studio installed on the computer running the developed program?
My preferred programming language would be Java, but as far as my experience goes the IBM ILOG CPLEX Optimizer can only be implemented via Java Native Interface (JNI) and therefore the IBM ILOG CPLEX Optimization Studio has to be installed on the computer running the developed program because of the shared library.
I would be thankful for any suggestions.
Pinned topic Embedding
DanielJunglas 270002S4SX2526 Posts
Re: Embedding2013-04-18T11:14:14ZThis is the accepted answer. This is the accepted answer.
You are right, a shared library will be required on the machine that runs CPLEX. However, this shared library is not the same as IBM ILOG CPLEX Optimization Studio, it is only (a small) part of it.
There is no pure-Java implementation of the solution algorithms as doing everything in Java would just be too slow.
There are programming APIs for C, C++, Java, C# and Python, so you can embed the solver in each of those languages. You may want to take a look at the User's Manual and at all the examples that are shipped with CPLEX. If you just want to read and solve an MPS file then look at the LPex2.java and MIPex2.java examples.