Describir: Decomposition techniques in mathematical programming