Peerless Optimizer

Peerless is a software to model and solve mathematical optimization problems of the form:

\[\begin{split}\begin{eqnarray} \min\; & f(x, y) & \\ s.t.\; & g(x, y) & \ge 0 \\ & h(x, y) & = 0 \\ & x \in \mathbb{R}^{n_1} &\\ & y \in \mathbb{Z}^{n_2} & \end{eqnarray}\end{split}\]

where \(f(x):\mathbb{R}^n\rightarrow\mathbb{R}\), \(g(x):\mathbb{R}^n\rightarrow\mathbb{R}^p\), \(h(x):\mathbb{R}^n\rightarrow\mathbb{R}^q\), with \(n=n_1+n_2\), are functions without any requirement on continuity, differentiability or convexity. Notice that \(\mathbb{R}\) and \(\mathbb{Z}\) are the set of real and integer numbers, respectively.

The algorithms are designed to find the global optimimum of the problem, making Peerless a Global Mixed-Integer General Nonlinear Programming. General means that the functions in the problem can be of any type, nothing is required of them, as previously mentioned.

Any type of problem

When dealing with optimization problems, one is faced with the decision of knowing in advance the type of problem that will be solved. This decision will generally bind your software to the choosen solver and will limit the ability to modify and extend the model because of the limitations impossed by it.

Since Peerless can handle any type of problem (linear, nonlinear, discrete, discontinuous, non-convex, etc.), you have the freedom to create the model as you please and as close as you want to the process or situation at hand.

Pure Python

Peerless is a pure Python library that is installed in a minute by issuing *:

$ pip install peerless

The problems are solved in EuT’s servers, or in you company’s servers, meaning that you can integrate your optimization models everywhere because you don’t need processing power or memory requirements to solve challenging problems.

*

The client side is a pure Python library. The server side is written in Python and Fortran 2018 for performance.

Indices and tables