132 research outputs found

    Light On String Solving: Approaches to Efficiently and Correctly Solving String Constraints

    Get PDF
    Widespread use of string solvers in formal analysis of string-heavy programs has led to a growing demand for more efficient and reliable techniques which can be applied in this context, especially for real-world cases. Designing an algorithm for the (generally undecidable) satisfiability problem for systems of string constraints requires a thorough understanding of the structure of constraints present in the targeted cases. We target the aforementioned case in different perspectives: We present an algorithm which works by reformulating the satisfiability of bounded word equations as a reachability problem for non-deterministic finite automata. Secondly, we present a transformation-system-based technique to solving string constraints. Thirdly, we investigate benchmarks presented in the literature containing regular expression membership predicates and design a decission procedure for a PSPACE-complete sub-theory. Additionally, we introduce a new benchmarking framework for string solvers and use it to showcase the power of our algorithms via an extensive empirical evaluation over a diverse set of benchmarks

    Computational Methods for Discrete Conic Optimization Problems

    Get PDF
    This thesis addresses computational aspects of discrete conic optimization. Westudy two well-known classes of optimization problems closely related to mixedinteger linear optimization problems. The case of mixed integer second-ordercone optimization problems (MISOCP) is a generalization in which therequirement that solutions be in the non-negative orthant is replaced by arequirement that they be in a second-order cone. Inverse MILP, on the otherhand, is the problem of determining the objective function that makes a givensolution to a given MILP optimal.Although these classes seem unrelated on the surface, the proposedsolution methodology for both classes involves outer approximation of a conicfeasible region by linear inequalities. In both cases, an iterative algorithmin which a separation problem is solved to generate the approximation isemployed. From a complexity standpoint, both MISOCP and inverse MILP areNP--hard. As in the case of MILPs, the usual decision version ofMISOCP is NP-complete, whereas in contrast to MILP, we provide the firstproof that a certain decision version of inverse MILP is rathercoNP-complete.With respect to MISOCP, we first introduce a basic outer approximationalgorithm to solve SOCPs based on a cutting-plane approach. As expected, theperformance of our implementation of such an algorithm is shown to lag behindthe well-known interior point method. Despite this, such a cutting-planeapproach does have promise as a method of producing bounds when embedded withina state-of-the-art branch-and-cut implementation due to its superior ability towarm-start the bound computation after imposing branching constraints. Ourouter-approximation-based branch-and-cut algorithm relaxes both integrality andconic constraints to obtain a linear relaxation. This linear relaxation isstrengthened by the addition of valid inequalities obtained by separatinginfeasible points. Valid inequalities may be obtained by separation from theconvex hull of integer solution lying within the relaxed feasible region or byseparation from the feasible region described by the (relaxed) conicconstraints. Solutions are stored when both integer and conic feasibility isachieved. We review the literature on cutting-plane procedures for MISOCP andmixed integer convex optimization problems.With respect to inverse MILP, we formulate this problem as a conicproblem and derive a cutting-plane algorithm for it. The separation problem inthis algorithm is a modified version of the original MILP. We show that thereis a close relationship between this algorithm and a similar iterativealgorithm for separating infeasible points from the convex hull of solutions tothe original MILP that forms part of the basis for the well-known result ofGrotschel-Lovasz-Schrijver that demonstrates the complexity-wiseequivalence of separation and optimization.In order to test our ideas, we implement a number of software librariesthat together constitute DisCO, a full-featured solver for MISOCP. Thefirst of the supporting libraries is OsiConic, an abstract base classin C++ for interfacing to SOCP solvers. We provide interfaces using thislibrary for widely used commercial and open source SOCP/nonlinear problemsolvers. We also introduce CglConic, a library that implements cuttingprocedures for MISOCP feasible set. We perform extensive computationalexperiments with DisCO comparing a wide range of variants of our proposedalgorithm, as well as other approaches. As DisCO is built on top of a libraryfor distributed parallel tree search algorithms, we also perform experimentsshowing that our algorithm is effective and scalable when parallelized

    Dyadic linear programming and extensions

    Full text link
    A rational number is dyadic if it has a finite binary representation p/2kp/2^k, where pp is an integer and kk is a nonnegative integer. Dyadic rationals are important for numerical computations because they have an exact representation in floating-point arithmetic on a computer. A vector is dyadic if all its entries are dyadic rationals. We study the problem of finding a dyadic optimal solution to a linear program, if one exists. We show how to solve dyadic linear programs in polynomial time. We give bounds on the size of the support of a solution as well as on the size of the denominators. We identify properties that make the solution of dyadic linear programs possible: closure under addition and negation, and density, and we extend the algorithmic framework beyond the dyadic case

    Mixed-integer Nonlinear Optimization: a hatchery for modern mathematics

    Get PDF
    The second MFO Oberwolfach Workshop on Mixed-Integer Nonlinear Programming (MINLP) took place between 2nd and 8th June 2019. MINLP refers to one of the hardest Mathematical Programming (MP) problem classes, involving both nonlinear functions as well as continuous and integer decision variables. MP is a formal language for describing optimization problems, and is traditionally part of Operations Research (OR), which is itself at the intersection of mathematics, computer science, engineering and econometrics. The scientific program has covered the three announced areas (hierarchies of approximation, mixed-integer nonlinear optimal control, and dealing with uncertainties) with a variety of tutorials, talks, short research announcements, and a special "open problems'' session

    Some advances in the polyhedral model

    Get PDF
    Department Head: L. Darrell Whitley.2010 Summer.Includes bibliographical references.The polyhedral model is a mathematical formalism and a framework for the analysis and transformation of regular computations. It provides a unified approach to the optimization of computations from different application domains. It is now gaining wide use in optimizing compilers and automatic parallelization. In its purest form, it is based on a declarative model where computations are specified as equations over domains defined by "polyhedral sets". This dissertation presents two results. First is an analysis and optimization technique that enables us to simplify---reduce the asymptotic complexity---of such equations. The second is an extension of the model to richer domains called Ƶ-Polyhedra. Many equational specifications in the polyhedral model have reductions---application of an associative and commutative operator to collections of values to produce a collection of answers. Moreover, expressions in such equations may also exhibit reuse where intermediate values that are computed or used at different index points are identical. We develop various compiler transformations to automatically exploit this reuse and simplify the computational complexity of the specification. In general, there is an infinite set of applicable simplification transformations. Unfortunately, different choices may result in equivalent specifications with different asymptotic complexity. We present an algorithm for the optimal application of simplification transformations resulting in a final specification with minimum complexity. This dissertation also presents the Ƶ-Polyhedral model, an extension to the polyhedral model to more general sets, thereby providing a transformation framework for a larger set of regular computations. For this, we present a novel representation and interpretation of Ƶ-Polyhedra and prove a number of properties of the family of unions of Ƶ-Polyhedra that are required to extend the polyhedral model. Finally, we present value based dependence analysis and scheduling analysis for specifications in the Ƶ-Polyhedral model. These are direct extensions of the corresponding analyses of specifications in the polyhedral model. One of the benefits of our results in the Ƶ-Polyhedral model is that our abstraction allows the reuse of previously developed tools in the polyhedral model with straightforward pre- and post-processing

    Annales Mathematicae et Informaticae 2019

    Get PDF
    corecore