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
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/
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/
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/
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/
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/
Project website: lobato.it/igenpack/