0ptX is a package for solving and optimizing mixed, integer linear systems consisting of an arbitrary number of equations, inequations and target functions. It implements a lattice-based approach for this task, which outperforms commonly used branch-and-bound algorithms and currently represents the most efficient way to challenge such systems in a timely manner.

The specification and target(s) of the problem:

The target functions are represented by a matrix At ∈ ℝt×n and a vector st ∈ {-∞, ∞}t ⋃ ℝt, where the rows of At contain the linear target functions and the entries of st the desired target values of an optimal solution.

Further Ag is a matrix ∈ ℝg×n and bg a vector ∈ ℝg. They represent the linear equation system a solution must fulfill.

The inequation system is denoted by the matrix Au ∈ ℝu×n, and vectors lu and ru, whose entries define intervals [lu(j), ru(j)] where the evaluated inequation values of an optimal solution have to range.

Two additional vectors lx and rx contain the interval bounds, which have to be fulfilled by the components of a vector x, in order for being considered as a solution - a third vector dx contains the maximum number of floating point digits.

The formulation of the optimization problem:

Let x be a vector ∈ ℝn and set y = At·x for i = 1,2,..,t.

According to the i-th entry of st, minimize (-∞) or maximize (∞) the i-th entry of y. If the i-th entry of st contains a real number, its distance to the corresponding entry of y should be minimized.

If the fp-digits of x fulfill:
x(i) <= dx(i), for i = 1,2,..,n

and x solves the side conditions:
(a) Ag·x = bg,
(b) lu <= Au·x <= ru,
(c) lx <= x <= rx

and (d) its target vector y is valid with regards to st and a user-provided slack tolerance T, such that:
| y(i) - st(i) | <= T
i = 1,2,..,t
y(i) ∈ ℝ

then x is an optimal solution.

For a short video demonstration click here.
See the manual for further details.
To verify that 0ptX fits your business' needs, you can download a free, trial version of 0ptX.

Caution: If the size of the input problems exceeds a certain limit, the solutions found by the trial version are (intentionally) displayed in scrambled form. In order to unscramble them, you must acquire the licensed version.

Kontakt   Impressum   Support