Results 1  10
of
23
Certifying Algorithms
, 2010
"... A certifying algorithm is an algorithm that produces, with each output, a certificate or witness (easytoverify proof) that the particular output has not been compromised by a bug. A user of a certifying algorithm inputs x, receives the output y and the certificate w, and then checks, either manual ..."
Abstract

Cited by 24 (6 self)
 Add to MetaCart
A certifying algorithm is an algorithm that produces, with each output, a certificate or witness (easytoverify proof) that the particular output has not been compromised by a bug. A user of a certifying algorithm inputs x, receives the output y and the certificate w, and then checks, either manually or by use of a program, that w proves that y is a correct output for input x. In this way, he/she can be sure of the correctness of the output without having to trust the algorithm. We put forward the thesis that certifying algorithms are much superior to noncertifying algorithms, and that for complex algorithmic tasks, only certifying algorithms are satisfactory. Acceptance of this thesis would lead to a change of how algorithms are taught and how algorithms are researched. The widespread use of certifying algorithms would greatly enhance the reliability of algorithmic software. We survey the state of the art in certifying algorithms and add to it. In particular, we start a
An exact rational mixedinteger programming solver
, 2010
"... We present an exact rational solver for mixedinteger linear programming which avoids the numerical inaccuracies inherent in the floatingpoint computations adopted in existing software. This allows the solver to be used for establishing fundamental theoretical results and in applications where corr ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
(Show Context)
We present an exact rational solver for mixedinteger linear programming which avoids the numerical inaccuracies inherent in the floatingpoint computations adopted in existing software. This allows the solver to be used for establishing fundamental theoretical results and in applications where correct solutions are critical due to legal and financial consequences. Our solver is a hybrid symbolic/numeric implementation of LPbased branchandbound, using numericallysafe bounding methods for all binding computations in the search tree. Computing provably accurate solutions by dynamically choosing the fastest of several available methods depending on the structure of the instance, our exact solver is only moderately slower compared to an inexact floatingpoint branchandbound solver. The software is incorporatedinto the SCIPoptimization framework,using the exact LP solverQSopt ex and the GMP arithmetic library. Computational results are presented for a suite of test instances taken from the Miplib and Mittelmann collections.
On using floatingpoint computations to help an exact linear arithmetic decision procedure
, 2009
"... ..."
On the exact separation of mixed integer knapsack cuts
 Proceedings of the 2007 Integer Programming and Combinatorial Optimization conference
, 2007
"... During the last decades, much research has been conducted deriving classes of valid inequalities for singlerow mixed integer programming polyhedrons. However, no such class has had as much practical success as the MIR inequality when used in cutting plane algorithms for general mixed integer progra ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
During the last decades, much research has been conducted deriving classes of valid inequalities for singlerow mixed integer programming polyhedrons. However, no such class has had as much practical success as the MIR inequality when used in cutting plane algorithms for general mixed integer programming problems. In this work we analyze this empirical observation by developing an algorithm which takes as input a point and a mixed integer knapsack polyhedron, and either proves the point is in the convex hull of said polyhedron, or finds a separating hyperplane, or knapsack cut. The main feature of this algorithm is a specialized subroutine for solving the Mixed Integer Knapsack Problem which exploits dominance relationships. To our knowledge, this is the first algorithm proposed for this problem. Exactly separating over the closure of mixed integer knapsack sets allows us to establish natural benchmarks by which to evaluate specific classes of knapsack cuts. Using these benchmarks on Miplib 3.0 and Miplib 2003 instances we analyze the performance of MIR inequalities. Our computations, which are performed in exact arithmetic, are surprising: Averaging over the 78 instances in which knapsack cuts afford bound improvements, MIR cuts alone achieve 95 % of the observed gain. 1
Numerically Safe Gomory MixedInteger Cuts
, 2008
"... We describe a simple process for generating numerically safe cutting planes using floatingpoint arithmetic and the mixedinteger rounding (MIR) procedure. Applying this method to the rows of the simplex tableau permits the generation of Gomory mixedinteger cuts that are guaranteed to be satisfied ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
We describe a simple process for generating numerically safe cutting planes using floatingpoint arithmetic and the mixedinteger rounding (MIR) procedure. Applying this method to the rows of the simplex tableau permits the generation of Gomory mixedinteger cuts that are guaranteed to be satisfied by all feasible solutions to a mixedinteger programming problem. We report on tests with the MIPLIB 3.0 and MIPLIB 2003 test collections, and with MIP instances derived from the TSPLIB traveling salesman library.
Safe Lower Bounds For Graph Coloring
, 2010
"... The best known method for determining lower bounds on the vertex coloring number of a graph is the linearprogramming columngeneration technique first employed by Mehrotra and Trick in 1996. We present an implementation of the method that provides numerically safe results, independent of the floati ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
The best known method for determining lower bounds on the vertex coloring number of a graph is the linearprogramming columngeneration technique first employed by Mehrotra and Trick in 1996. We present an implementation of the method that provides numerically safe results, independent of the floatingpoint accuracy of linearprogramming software. Our work includes an improved branchandbound algorithm for maximumweight stable sets and a parallel branchandprice framework for graph coloring. Computational results are presented on a collection standard test instances, including the unsolved challenge problems created by David S. Johnson in 1989.
Solving very sparse rational systems of equations
 Submitted
"... Efficient methods for solving linearprogramming problems in exact precision rely on the solution of sparse systems of linear equations over the rational numbers. We consider a test set of instances arising from exactprecision linear programming and use this test set to compare the performance of s ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
Efficient methods for solving linearprogramming problems in exact precision rely on the solution of sparse systems of linear equations over the rational numbers. We consider a test set of instances arising from exactprecision linear programming and use this test set to compare the performance of several techniques designed for symbolic sparse linearsystem solving. We compare a direct exact solver based on LU factorization, Wiedemann’s method for blackbox linear algebra, Dixon’s padiclifting algorithm, and the use of iterative numerical methods and rational reconstruction as developed by Wan.
Computational experience with general cutting planes for the Set Covering problem
"... In this paper we present a cutting plane algorithm for the Set Covering problem. Cutting planes are generated by a “general ” (i.e. not based on the “template paradigm”) separation algorithm based on the following idea: i) identify a suitably small subproblem defined by a subset of the constraints o ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
In this paper we present a cutting plane algorithm for the Set Covering problem. Cutting planes are generated by a “general ” (i.e. not based on the “template paradigm”) separation algorithm based on the following idea: i) identify a suitably small subproblem defined by a subset of the constraints of the formulation; ii) run an exact separation algorithm over the subproblem to produce a violated cutting plane, if any exists. Computational results on difficult smallmedium size instances are reported. 1
On using an inexact floatingpoint LP solver for deciding linear arithmetic in an SMT solver
 8TH INTERNATIONAL WORKSHOP ON SATISFIABILITY MODULO THEORIES
, 2010
"... Offtheshelf linear programming (LP) solvers trade soundness for speed: for efficiency, the arithmetic is not exact rational arithmetic but floatingpoint arithmetic. As a sideeffect the results come without any formal guarantee and cannot be directly used for deciding linear arithmetic. In this ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Offtheshelf linear programming (LP) solvers trade soundness for speed: for efficiency, the arithmetic is not exact rational arithmetic but floatingpoint arithmetic. As a sideeffect the results come without any formal guarantee and cannot be directly used for deciding linear arithmetic. In this work we explain how to design a sound procedure for linear arithmetic built upon an inexact floatingpoint LP solver. Our approach relies on linear programming duality to instruct a blackbox offtheshelf LP solver to output, when the problem is not satisfiable, an untrusted proof certificate. We present a heuristic postprocessing of the certificate which accommodates for certain numeric inaccuracies. Upon success it returns a provably correct proof witness that can be independently checked. Our preliminary results are promising. For a benchmark suite extracted from SMT verification problems the floatingpoint LP solver returns a result for which proof witnesses are successfully and efficiently generated.