ocaml-lp : LP and MIP modeling in OCaml

This library is a modeling tool for Linear Programming (LP) and Mixed Integer Programming (MIP). The model can be exported to CPLEX LP file format, which can be loaded by various solvers. Importing models from LP file is also supported.

Example

let problem =
  let open Lp in
  let x = var "x" in
  let y = var "y" in
  let c0 = [x; c 1.2 * y] <$ [c 5.0] in
  let c1 = [c 2.0 * x; y] <$ [c 1.2] in
  let obj = Obj.Min [x; y] in
  let cnstrs = [c0; c1] in
  (obj, cnstrs)

let () =
   if Lp.validate problem then
       Lp.write "my_problem.lp" problem
   else ()

Status

Currently only basic subset of LP file format is supported. (There is no standard of LP file, though.)

supported

not-supported

References

Some references to LP file format.

License

MIT