Below you can see some of my current and past projects.

Current projects

Packing ellipsoids by nonlinear optimization

ellipsoids-sphere.png 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).

Mixed-Integer Nonlinear Programming solver

ALGENCAN, available to download as part of the TANGO Project, 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.

Past projects

Unconstrained two-dimensional cutting problem

utdc.png 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.

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.

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). My contribution to this project was the development of AMPL, C/C++ and MATLAB interfaces.

Valid XHTML 1.0 Strict

Valid CSS!