5,477 research outputs found

    Relaxations and discretizations for the pooling problem

    Get PDF
    The pooling problem is a folklore NP-hard global optimization problem that finds applications in industries such as petrochemical refining, wastewater treatment and mining. This paper assimilates the vast literature on this problem that is dispersed over different areas and gives new insights on prevalent techniques. We also present new ideas for computing dual bounds on the global optimum by solving high-dimensional linear programs. Finally, we propose discretization methods for inner approximating the feasible region and obtaining good primal bounds. Valid inequalities are derived for the discretized models, which are formulated as mixed integer linear programs. The strength of our relaxations and usefulness of our discretizations is empirically validated on random test instances. We report best known primal bounds on some of the large-scale instances

    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
    • …
    corecore