SMS++: A Structured Modeling System for mathematical models

SMS++ is an open-source system for modeling complex, block-structured mathematical models (in particular, but not exclusively, single-real-objective optimization problems), and solving them via sophisticated, structure-exploiting algorithms (in particular, but not exclusively, decomposition approaches and structured Interior-Point methods). It aims at facilitating the implementation of general and flexible algorithms for optimization problems with several nested layers of structure.

Project website: smspp.gitlab.io

Packing ellipsoids by nonlinear optimization

The problem of packing ellipsoids can be defined as follows. Given a set of ellipsoids, each one defined by the lengths of its semi-principal axes, and a container set, the problem consists in finding an arrangement of the ellipsoids (by means of translations and rotations) so that each ellipsoid is inside the container and the ellipsoids do not overlap each other. The container set may be allowed to vary (for example, the container could be a ball whose volume should be minimized) or may be fixed (i.e., it cannot be changed).

Project website: lobato.it/ellipsoids/

Mixed-Integer Nonlinear Programming solver

ALGENCAN, available to download as part of the TANGO Project (Trustable Algorithms for Nonlinear General Optimization), is a method designed to solve nonlinear programming problems with general constraints. The aim of this project is to extend ALGENCAN to deal with mixed-integer nonlinear programming problems.

Project website: www.ime.usp.br/~egbirgin/tango/

Unconstrained two-dimensional cutting problem

Given a rectangle with length L and width W, and m rectangular pieces, each one of type i with length li, width wi and value vi, the objective is to find an orthogonal cutting pattern which maximizes the sum of the values of the pieces cut. The orientation of each piece is fixed and the number of times each piece can appear in the solution is unbounded.

Project website: lobato.it/utdc/

Packing rectangles - The Pallet Loading Problem

The problem consists in arranging, without overlapping, identical rectangular pieces (boxes) in a rectangular pallet. The boxes must be placed orthogonally (i.e., with each edge of the boxes orthogonal to some edge of the pallet) and only ninety-degree rotations are allowed. The objective is to find a pattern with the maximum number of boxes packed. The source code of the implemented algorithm is available to download under the GNU General Public License. Moreover, a web interface allows one to solve their own instances online.

Project website: lobato.it/packing/

Interfacing TANGO with the non-FORTRAN world

The methods of TANGO Project (Trustable Algorithms for Nonlinear General Optimization) were coded in FORTRAN. The intention of this project is to make possible to the users of other programming languages the use of these methods. It has been done by providing interfaces between these methods written in FORTRAN and other programming languages such as AMPL, C/C++, CUTEr, MATLAB, Octave, Python, and R (statistical computing).

Project website: www.ime.usp.br/~egbirgin/tango/interfaces.php


Packing of rectangles within convex regions

The problem consists in arranging, without overlapping, the maximum number of rectangular items within a given arbitrary convex region. This problem is modeled as a mixed-integer nonlinear program and a solution method based on a combination of branch-and-bound and a modern active-set strategy for bound-constrained minimization of smooth functions is implemented.

Project website: lobato.it/igenpack/