1,626 research outputs found

    Solving integer programming problems using DPLL-based algorithms

    Get PDF
    [CATALÀ] En aquest projecte desenvolupem un SAT solver per a problemes de programació lineal entera, partint de l'algorisme de DPLL i extenent-lo per a que suporti variables enteres. Després afegim noves funcionalitats i comparem el resultat amb altres mètodes que resolen problemes d'aquest tipus.[CASTELLÀ] En este proyecto hemos desarrollado un SAT solver para problemas de programación lineal entera, también llamada programación entera. La programación lineal entera (ILP) es un problema NP-difícil, a diferencia de su versión racional, cuya pertenencia a la clase P fue probada en la década de los 70. Tradicionalmente, los solvers de problemas ILP utilizan el algoritmo Simplex como uno de sus ingredientes principales. Simplex, introducido por Dantzig en 1947, resuelve instancias de programación lineal (racional). Funciona siguiendo una interpretación geométrica del problema: las restricciones de nen un poliedro convexo en el espacio, y la función objetivo especifica una dirección en la cual optimizar. El algoritmo recorre los vértices del poliedro hasta encontrar uno optimo, que puede no ser entero. Para que Simplex pueda resolver problemas de programación lineal entera, hay que usar técnicas adicionales como añadir nuevas restricciones (cutting planes) o usar métodos basados en branch and bound. Nuestro enfoque es diferente. Nuestro solver, Intsat, es un SAT solver en el cual las variables son enteras. Para desarrollarlo hemos extendido el algoritmo DPLL para que soporte variables enteras. En esta memoria explicaremos el procedimiento e implementación, y presentaremos resultados de la comparación entre intsat y otros programas como cutsat o cplex.[ANGLÈS] In this project we have developed a SAT solver that solves integer programming problems. We have taken the DPLL algorithm and we have extended it to support integer variables. After that, we have added extra functionalities and we have compared it to other solvers that also solve ILP problems

    Product form parametric representation of the solutions to a quadratic boolean equation

    Full text link
    A parametric représentation of the solutions to a consistent quadratic boolean equation in n variables is obtained. Each variable (or its complement) is expressed as a product of free boolean parameters or their complements. These expressions provide a complete description of the solution set of the equation. An O (n^3) algorithm is proposed to produce such a representation. An application to the maximization of some classes of pseudoboolean functions is discussed

    Combining decision procedures for the reals

    Full text link
    We address the general problem of determining the validity of boolean combinations of equalities and inequalities between real-valued expressions. In particular, we consider methods of establishing such assertions using only restricted forms of distributivity. At the same time, we explore ways in which "local" decision or heuristic procedures for fragments of the theory of the reals can be amalgamated into global ones. Let Tadd[Q] be the first-order theory of the real numbers in the language of ordered groups, with negation, a constant 1, and function symbols for multiplication by rational constants. Let Tmult[Q] be the analogous theory for the multiplicative structure, and let T[Q] be the union of the two. We show that although T[Q] is undecidable, the universal fragment of T[Q] is decidable. We also show that terms of T[Q]can fruitfully be put in a normal form. We prove analogous results for theories in which Q is replaced, more generally, by suitable subfields F of the reals. Finally, we consider practical methods of establishing quantifier-free validities that approximate our (impractical) decidability results.Comment: Will appear in Logical Methods in Computer Scienc

    Automating Program Verification and Repair Using Invariant Analysis and Test Input Generation

    Get PDF
    Software bugs are a persistent feature of daily life---crashing web browsers, allowing cyberattacks, and distorting the results of scientific computations. One approach to improving software uses program invariants---mathematical descriptions of program behaviors---to verify code and detect bugs. Current invariant generation techniques lack support for complex yet important forms of invariants, such as general polynomial relations and properties of arrays. As a result, we lack the ability to conduct precise analysis of programs that use this common data structure. This dissertation presents DIG, a static and dynamic analysis framework for discovering several useful classes of program invariants, including (i) nonlinear polynomial relations, which are fundamental to many scientific applications; disjunctive invariants, (ii) which express branching behaviors in programs; and (iii) properties about multidimensional arrays, which appear in many practical applications. We describe theoretical and empirical results showing that DIG can efficiently and accurately find many important invariants in real-world uses, e.g., polynomial properties in numerical algorithms and array relations in a full AES encryption implementation. Automatic program verification and synthesis are long-standing problems in computer science. However, there has been a lot of work on program verification and less so on program synthesis. Consequently, important synthesis tasks, e.g., generating program repairs, remain difficult and time-consuming. This dissertation proves that certain formulations of verification and synthesis are equivalent, allowing for direct applications of techniques and tools between these two research areas. Based on these ideas, we develop CETI, a tool that leverages existing verification techniques and tools for automatic program repair. Experimental results show that CETI can have higher success rates than many other standard program repair methods

    A new mixed-integer modeling approach for capacity-constrained continuous-time scheduling problems

    Get PDF
    Nowadays, scheduling and resource management are increasingly important issues for organizations. Indeed, they do not only constitute an underlying necessity to make things work properly within the companies, but are and will always be more critical means to reduce costs and get competitive advantage in the market. Different approaches have been typically employed for these problems during the years. Among the others, linear programming techniques represent a valid tool that, despite applicable only to instances of limited dimension, offers an extremely flexible modeling opportunity, able to produce either optimal or approximate solutions of certified quality. In this spirit, the definition of suitable indicator variables and the use of particular constraints are proposed in the present work, with the aim of providing a useful basis for different mathematical models, taking into account scarce resources and other potential limitations. More in detail, a very well-known problem from the literature, the Resource Constrained Project Scheduling Problem, is investigated, and a new mixed-integer linear formulation is introduced, which treats time as a continuous variable. The considered model presents several advantages from the computational point of view, that are deeply studied and compared with those of one of the best methods recently developed in the same field. Extensive experiments reveal the good performances achieved by the proposed formulation over all the KPIs included in the analysis, thus motivating further applications to derived problems, such as the workforce planning and scheduling framework presented at the end of this dissertation

    Constrained completion: Theory, implementation, and results

    Get PDF
    The Knuth-Bendix completion procedure produces complete sets of reductions but can not handle certain rewrite rules such as commutativity. In order to handle such theories, completion procedure were created to find complete sets of reductions modulo an equational theory. The major problem with this method is that it requires a specialized unification algorithm for the equational theory. Although this method works well when such an algorithm exists, these algorithms are not always available and thus alternative methods are needed to attack problems. A way of doing this is to use a completion procedure which finds complete sets of constrained reductions. This type of completion procedure neither requires specialized unification algorithms nor will it fail due to unorientable identities. We present a look at complete sets of reductions with constraints, developed by Gerald Peterson, and the implementation of such a completion procedure for use with HIPER - a fast completion system. The completion procedure code is given and shown correct along with the various support procedures which are needed by the constrained system. These support procedures include a procedure to find constraints using the lexicographic path ordering and a normal form procedure for constraints. The procedure has been implemented for use under the fast HIPER system, developed by Jim Christian, and thus is quick. We apply this new system, HIPER- extension, to attack a variety of word problems. Implementation alternatives are discussed, developed, and compared with each other as well as with the HIPER system. Finally, we look at the problem of finding a complete set of reductions for a ternary boolean algebra. Given are alternatives to attacking this problem and the already known solution along with its run in the HIPER-extension system --Abstract, page iii
    corecore