Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Lp
Sourcetop module of package Lp
Module for LP variable. Typically, users don't need to use this module directly. See higher-level module for polynomials (Poly
) instead.
Module for a term in the polynomial. Typically, users don't need to use this module directly. See higher-level module for polynomials (Poly
) instead.
Module for the optimization problem class.
Map with Poly.t key. It can be used to pack optimization result.
Make monomial of a variable.
val range :
?integer:bool ->
?lb:float ->
?ub:float ->
?start:int ->
int ->
string ->
Poly.t array
Make an array of monomials of a variable with uniform bounds.
val range2 :
?integer:bool ->
?lb:float ->
?ub:float ->
?start0:int ->
?start1:int ->
int ->
int ->
string ->
Poly.t array array
Make 2D array of monomials of a variable with uniform bounds.
val range3 :
?integer:bool ->
?lb:float ->
?ub:float ->
?start0:int ->
?start1:int ->
?start2:int ->
int ->
int ->
int ->
string ->
Poly.t array array array
Make 3D array of monomials of a variable with uniform bounds.
Make an array of monomials of a binary variable.
Make 2D array of monomials of a binary variable.
val range3b :
?start0:int ->
?start1:int ->
?start2:int ->
int ->
int ->
int ->
string ->
Poly.t array array array
Make 3D array of monomials of a binary variable.
val rangev :
?integer:bool ->
?lb:float array ->
?ub:float array ->
?start:int ->
int ->
string ->
Poly.t array
Make an array of monomials of a variable with different bounds.
val range2v :
?integer:bool ->
?lb:float array array ->
?ub:float array array ->
?start0:int ->
?start1:int ->
int ->
int ->
string ->
Poly.t array array
Make 2D array of monomials of a variable with different bounds.
val range3v :
?integer:bool ->
?lb:float array array array ->
?ub:float array array array ->
?start0:int ->
?start1:int ->
?start2:int ->
int ->
int ->
int ->
string ->
Poly.t array array array
Make 3D array of monomials of a variable with different bounds.
Concatenate an array of polynomials into single polynomial.
Subtract two polynomials (concatenate left with negated right).
Multiply two polynomials. Specifically, performs polynomial expansion.
Divide polynomial by a univariate polynomial. Be careful as this function raises exception in some cases.
Build an equality constraint. Optional name
can be given. Polynomials are simplified (Poly.simplify
) on build. eps
specifies the threshold of near-zero, defaulting to 10. *. epsilon_float.
Build an unnamed equality constraint. Polynomials are simplified on build.
Build an inequality constraint. Optional name
can be given. Polynomials are simplified (Poly.simplify
) on build. eps
specifies the threshold of near-zero, defaulting to 10. *. epsilon_float.
Build an unnamed inequality constraint. Polynomials are simplified on build.
Build an inequality constraint. Optional name
can be given. Polynomials are simplified (Poly.simplify
) on build. eps
specifies the threshold of near-zero, defaulting to 10. *. epsilon_float.
Build an unnamed inequality constraint. Polynomials are simplified on build.
Build an objective to maximize a polynomial. The polynomial is simplified (Poly.simplify
) on build. eps
specifies the threshold of near-zero, defaulting to 10. *. epsilon_float.
Build an objective to minimize a polynomial. The polynomial is simplified (Poly.simplify
) on build. eps
specifies the threshold of near-zero, defaulting to 10. *. epsilon_float.
Make problem from an Objective.t
and a constraint (Cnstr.t
) list. String name
can be given optionally.
Validate the problem. true
(false
) means the problem is valid (invalid).
Make (unique and sorted) list of the variables in a problem.
Express the problem in LP file format string.
write fname
problem
writes out problem
to an LP file fname
.