Applications of Reformulations in Mathematical Programming - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2012

Applications of Reformulations in Mathematical Programming

Alberto Costa
  • Fonction : Auteur
  • PersonId : 931956

Résumé

Mathematical programming is a technique that can be used to solve real-world optimization problems, where one wants to maximize, or minimize, an objective function subject to some constraints on the decision variables. The key features of mathematical programming are the creation of a model for describing the problem (the so called formulation), and the implementation of efficient algorithms to solve it (also called solvers). In this thesis, we focus on the first point. More precisely, we study some problems arising from different domains, and starting from the most natural models for describing them, we propose alternative formulations, which share some properties with the original models but are somehow better (for instance in terms of computational time needed to obtain the solution by the solver). These new models are called reformulations. We follow the classification of reformulations proposed by Liberti in [Reformulations in Mathematical Programming: Definitions and Systematics, RAIRO-OR, 43(1):55-86, 2009]: exact reformulations (also called opt-reformulations), narrowings, relaxations. This thesis is concerned with three mathematical programming applications where the reformulation was crucial to obtain a good solution. The first problem tackled herein is graph clustering by means of modularity maximization. Since this problem is NP-hard, several heuristics are proposed. We focus on a divisive hierarchical algorithm which works by recursively splitting a cluster into two new clusters in an optimal way. This splitting step is performed by solving a convex binary quadratic program. This is reformulated exactly to a more compact form without changing the optimal solutions set (exact reformulation). We also evaluate the impact provided by the reduction of the number of symmetric global optima of the problem, which is also an important topic of the next part of this thesis. The computational times are considerably reduced with respect to the original formulation. The second problem tackled in the thesis is the Packing of Equal Circles in a Square (PECS), where one wants to place non-overlapping equal circles in a unit square in such a way as to maximize the common radius. One of the reasons why the problem is hard to solve is the presence of several symmetric optimal solutions, and consequently a very large Branch-and-Bound tree. Some of the symmetric optima are made infeasible by adjoining some Symmetry Breaking Constraints (SBCs) to the formulation, thereby obtaining a narrowing. Both computational time and size of the Branch-and-Bound tree outperform the ones provided by the original formulation. The third application considered in the thesis is that of computing the convex relaxation for multilinear problems, and to compare the "primal" formulation and another one obtained using a "dual" representation. Although these two relaxations are both already known in the literature, we make a striking observation, i.e., that the dual relaxation leads to a faster and more stable solution process as regards CPU time.
La programmation mathématique est une technique qui peut être utilisée pour résoudre des problèmes concrets où l'on veut maximiser, ou minimiser, une fonction objectif soumise à des contraintes sur les variables décisionnelles. Les caractéristiques les plus importantes de la programmation mathématique sont la création d'un modèle pour décrire le problème (aussi appelé formulation), et la mise en œuvre d'algorithmes efficaces pour le résoudre (aussi appelés solveurs). Dans cette thèse, on s'occupe du premier point. Plus précisemment, on étudie certains problèmes qui proviennent de domaines diffèrents, et en commençant par les modèles les plus naturels pour les décrire, on présente des formulations alternatives, qui partagent certaines propriétés avec le modèle original mais qui sont en quelque sorte meilleures (par exemple au niveau du temps d'exécution nécessaire pour obtenir la solution par le solveur). Ces nouveaux modèles sont appelés reformulations. On suit la classification des reformulations proposée par Liberti dans [Reformulations in Mathematical Programming: Definitions and Systematics, RAIRO-OR, 43(1):55-86, 2009]: exact reformulations (aussi appellées opt-reformulations), narrowings, relaxations. Cette thèse concerne trois applications de la programmation mathématique où les reformulations ont été fondamentales pour obtenir une bonne solution. Le premier problème étudié est le partitionnement de graphes sur la base de la maximisation de la modularité. Comme ce problème est NP-difficile, plusieurs heuristiques sont proposées. On s'occupe d'un algorithme séparatif hiérarchique qui fonctionne en divisant récursivement une classe en deux nouvelles classes de façon optimale. Cet étape de division est accomplie en résolvant un programme binaire quadratique et convexe. Il est reformulé de manière exacte pour obtenir une forme plus compacte sans modifier l'ensemble des solutions optimales (exact reformulation). On considère aussi l'impact donné par la réduction du nombre des solutions symétriques globalement optimales. Les temps d'exécution sont considérablement réduits par rapport à la formulation originelle. Le deuxième problème étudié dans cette thèse est le placement de cercles égaux dans un carré (Packing Equal Circles in a Square, ou PECS), où l'on veut placer des cercles égaux dans un carré de côté 1 sans avoir de superposition et en maximisant le rayon commun. L'une des raisons pour laquelle le problème est difficile à résoudre vient de la présence de plusieurs solutions symétriques optimales, et par conséquent un arbre de séparation-et-évaluation (ou Branch-and-Bound) très large. Certaines solutions symétriques optimales sont rendues irréalisables en ajoutant des contraintes pour briser les symétries (Symmetry Breaking Constraints, ou SBCs) à la formulation, en obtenant ainsi un narrowing. Le temps d'exécution et la dimension de l'arbre de Branch-and-Bound sont tous les deux meilleurs par rapport à la formulation originelle. La troisième application considérée dans cette thèse est le calcul de la relaxation convexe pour des problèmes multilinéaires, et la comparaison de la formulation ''primale'' avec celle obtenue par une représentation ''duale''. Bien que ces deux relaxations soient déjà connues, il est intéressant de voir que la relaxation duale conduit à des meilleures performances de calcul.
Fichier principal
Vignette du fichier
Phd_Costa.pdf (2.19 Mo) Télécharger le fichier
costa_phd_presentation.pdf (4.73 Mo) Télécharger le fichier
Format : Autre

Dates et versions

pastel-00746083 , version 1 (09-11-2012)

Identifiants

  • HAL Id : pastel-00746083 , version 1

Citer

Alberto Costa. Applications of Reformulations in Mathematical Programming. Operations Research [math.OC]. Ecole Polytechnique X, 2012. English. ⟨NNT : ⟩. ⟨pastel-00746083⟩
359 Consultations
1429 Téléchargements

Partager

Gmail Facebook X LinkedIn More