This small library provides a standard set of environments for writing optimization problems. It automatically aligns the problems in three points with an optional fourth:
beginning of the words minimize/argmin and subject to,
the objective function and the longest left hand side of the constraints.
the $=, |, >, |, <$ signs of the constraints.
optionally, the user can add manually a double align character && to align some common constraints feature; a clear example could be the constraints names, e.g., boundary constraint alignment with dynamic constraint.
Furthermore, it provides an easy interface to define optimization problem for three different reference situations:
where no equation is referenced/numbered;
where the problem is referenced with a single number;
where each equation has an individual reference.
Finally, it also allows a definition of any optimization problem without a limitless number of constraints.