package lp

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

top module of package Lp

module Var : sig ... end
module Term : sig ... end
module Poly : sig ... end

Module for polynomial expression type

module Cnstr : sig ... end
module Obj : sig ... end
module Problem : sig ... end
val c : float -> Poly.t

Make monomial of a constant value

val var : ?integer:bool -> ?lb:float -> ?ub:float -> string -> Poly.t

Make monomial of a variable

val binary : string -> Poly.t

Make monomial of a binary variable

val range : ?integer:bool -> ?lb:float -> ?ub:float -> string -> int -> Poly.t array

Make array of monomials of a variable

val (~-) : Poly.t -> Poly.t

Negate the whole polynomial

val (+) : Poly.t -> Poly.t -> Poly.t

Add (concatenate) two polynomials

val (-) : Poly.t -> Poly.t -> Poly.t

Subtract two polynomials (concatenate left with negated right )

val expand : Poly.t -> Poly.t -> Poly.t

Multiply two polynomials. specifically, performs polynomial expansion.

val (*) : Poly.t -> Poly.t -> Poly.t

Multiply two polynomials. specifically, performs polynomial expansion.

val dot : Poly.t -> Poly.t -> Poly.t

Regard two polynomials as vectors and take dot product.

val (*@) : Poly.t -> Poly.t -> Poly.t

Regard two polynomials as vectors and take dot product.

val div : Poly.t -> Poly.t -> Poly.t

Divide polynomial by a univariate polynomial. Be careful as this function raises exception in following cases.

    val (/) : Poly.t -> Poly.t -> Poly.t

    Equivalent to div

    val (=$) : Poly.t -> Poly.t -> Lp__.Constraint.t

    Build an equality constraint. Polynomials are simplified on build.

    val (<$) : Poly.t -> Poly.t -> Lp__.Constraint.t

    Build an inequality constraint. Polynomials are simplified on build.

    val (>$) : Poly.t -> Poly.t -> Lp__.Constraint.t

    Build an inequality constraint. Polynomials are simplified on build.

    val maximize : Poly.t -> Lp__.Objective.t

    Build an objective to maximize a polynomial. The polynomial is simplified on build.

    val minimize : Poly.t -> Lp__.Objective.t

    Build an objective to minimize a polynomial. The polynomial is simplified on build.

    val validate : Problem.t -> bool

    Validate the problem

    val to_string : ?short:bool -> Problem.t -> string

    Express the problem in LP file format string

    val of_string : string -> Problem.t

    Parse an LP file format string to build the problem

    val write : ?short:bool -> string -> Problem.t -> unit

    write fname problem writes out problem to an LP file fname

    val read : string -> Problem.t

    Parse an LP file to build the problem

    OCaml

    Innovation. Community. Security.