Programming Languages

  • We recommend using MIPCL-PY for rapid development and writing prototypes, as well as for teaching Mixed Integer Programming.
  • The only reasonable way of using MIPCL in other languages for solving complex optimization problems is
    • to implement an optimization problem in C++ via a class derived from CMIP or CLP,
    • and then write an interface for using that class from the target language.
  • To implement simple applications, Java programmers can use the JVmipcl, which is a module that implements the Java Native Interface (JNI) to MIPCL.
    • JVmipcl implements only a part of the MIPCL API, for details see the JVmipcl documentation.
    • Complex applications overriding MIPCL virtual functions --- say, those needed for generating problem specific cuts --- cannot be implemented by using JVmipcl.
    • Efficiency issues are the main reason for such restrictions.
    • In addition, debugging a complex program that mix languages is a real headache.
  • C# programmers can use MIPCL via the OPTANO Modeling library.