1,981 research outputs found

    A Framework for Globally Optimizing Mixed-Integer Signomial Programs

    Get PDF
    Mixed-integer signomial optimization problems have broad applicability in engineering. Extending the Global Mixed-Integer Quadratic Optimizer, GloMIQO (Misener, Floudas in J. Glob. Optim., 2012. doi:10.1007/s10898-012-9874-7), this manuscript documents a computational framework for deterministically addressing mixed-integer signomial optimization problems to ε-global optimality. This framework generalizes the GloMIQO strategies of (1) reformulating user input, (2) detecting special mathematical structure, and (3) globally optimizing the mixed-integer nonconvex program. Novel contributions of this paper include: flattening an expression tree towards term-based data structures; introducing additional nonconvex terms to interlink expressions; integrating a dynamic implementation of the reformulation-linearization technique into the branch-and-cut tree; designing term-based underestimators that specialize relaxation strategies according to variable bounds in the current tree node. Computational results are presented along with comparison of the computational framework to several state-of-the-art solvers. © 2013 Springer Science+Business Media New York

    Chance Constrained Mixed Integer Program: Bilinear and Linear Formulations, and Benders Decomposition

    Full text link
    In this paper, we study chance constrained mixed integer program with consideration of recourse decisions and their incurred cost, developed on a finite discrete scenario set. Through studying a non-traditional bilinear mixed integer formulation, we derive its linear counterparts and show that they could be stronger than existing linear formulations. We also develop a variant of Jensen's inequality that extends the one for stochastic program. To solve this challenging problem, we present a variant of Benders decomposition method in bilinear form, which actually provides an easy-to-use algorithm framework for further improvements, along with a few enhancement strategies based on structural properties or Jensen's inequality. Computational study shows that the presented Benders decomposition method, jointly with appropriate enhancement techniques, outperforms a commercial solver by an order of magnitude on solving chance constrained program or detecting its infeasibility

    Facets of a mixed-integer bilinear covering set with bounds on variables

    Full text link
    We derive a closed form description of the convex hull of mixed-integer bilinear covering set with bounds on the integer variables. This convex hull description is determined by considering some orthogonal disjunctive sets defined in a certain way. This description does not introduce any new variables, but consists of exponentially many inequalities. An extended formulation with a few extra variables and much smaller number of constraints is presented. We also derive a linear time separation algorithm for finding the facet defining inequalities of this convex hull. We study the effectiveness of the new inequalities and the extended formulation using some examples

    GALINI: an extensible solver for mixed-integer quadratically-constrained problems

    Get PDF
    Many industrial relevant optimization problems can be formulated as Mixed-Integer Quadratically Constrained Problems. This class of problems are difficult to solve because of 1) the non-convex bilinear terms 2) integer variables. This thesis develops the Python library \suspect{} for detecting special structure (monotonicity and convexity) of Pyomo models. This library can be extended to provide specialized detection for complex expressions. As a motivating example, we show how the library can be used to detect the convexity of the reciprocal of the log mean temperature difference. This thesis introduces GALINI: a novel solver that is easy to extend at runtime with new 1) cutting planes, 2) primal heuristics, 3) branching strategies, 4) node selection strategies, and 5) relaxations.GALINI uses Pyomo to represent optimization problems, this decision makes it possible to integrate with the existing Pyomo ecosystem to provide, for example, building blocks for relaxations. We test the solver on two large datasets and show that the performance is comparable to existing open source solvers. Finally, we present a library to formulate pooling problems, a class of network flow problems, using Pyomo. The library provides a mechanism to automatically generate the PQ-formulation for pooling problems. Since the library keeps the knowledge of the original network, it can 1) use a mixed-integer programming primal heuristic specialized for the pooling problem to find a feasible solution, and 2) generate valid cuts for the pooling problem. We use this library to develop an extension for GALINI that uses the mixed-integer programming primal heuristic to find a feasible solution and that generates cuts at every node of the branch & cut algorithm. We test GALINI with the pooling extensions on large scale instances of the pooling problem and show that we obtain results that are comparable to or better than the best available commercial solver on dense instances.Open Acces

    Using Functional Programming to recognize Named Structure in an Optimization Problem: Application to Pooling

    Get PDF
    Branch-and-cut optimization solvers typically apply generic algorithms, e.g., cutting planes or primal heuristics, to expedite performance for many mathematical optimization problems. But solver software receives an input optimization problem as vectors of equations and constraints containing no structural information. This article proposes automatically detecting named special structure using the pattern matching features of functional programming. Specifically, we deduce the industrially-relevant nonconvex nonlinear Pooling Problem within a mixed-integer nonlinear optimization problem and show that we can uncover pooling structure in optimization problems which are not pooling problems. Previous work has shown that preprocessing heuristics can find network structures; we show that we can additionally detect nonlinear pooling patterns. Finding named structures allows us to apply, to generic optimization problems, cutting planes or primal heuristics developed for the named structure. To demonstrate the recognition algorithm, we use the recognized structure to apply primal heuristics to a test set of standard pooling problems
    corecore