Corpus ID: 18819576

Parallelization of Branch-and-Bound Algorithms in a Functional Programming Environment

  title={Parallelization of Branch-and-Bound Algorithms in a Functional Programming Environment},
  author={J. C. Glas and Rutger F. H. Hofman and W. Vree},
The referential transparancy of functional languages imposes restraints on the communication between parallel tasks. This seriously hampers the implementation of parallel branch-and-bound algorithms, because the parallel tasks cannot update a shared bound asynchronously. Maintaining local bounds only causes enormous performance loss, because parallel branch-and-bound algorithms exploit speculative parallelism. Therefore, the parallel tasks have to exchange their bounds synchronously, but this… Expand
Thunk Lifting: Reducing Heap Usage in an Implementation of a Lazy Functional Language
Thunk-lifting transforms a function application that contains as arguments further, nested, function applications into a new function application without nesting, which essentially folds some function applications. Expand
Benchmarking implementations of lazy functional languages
Five implementations of different lazy functional languages are compared using a common benchmark of a dozen medium size programs so that one set of programs can be translated automatically into different languages, thus allowing a fair comparison of the quality of compilers. Expand
Syntax-Directed Derivative Code (Part II: Intraprocedural Adjoint Code)
This is the second instance in a series of papers on single-pass generation of derivative codes by syntax-directed translation. We consider the automatic generation of adjoint code by reverse modeExpand
Counterexamples in Probabilistic Model Checking
This paper considers algorithms for counterexample generation for (bounded) probabilistic reachability properties in fully Probabilistic systems and adopts (partially new) k shortest paths algorithms that dynamically determine k. Expand


Analysis and Implementation of Branch-and Bound Algorithms on a Hypercube Multicomputer
Analytical models for the execution time of loosely synchronous and asynchronous parallel branch-and-bound algorithms are presented, and the models are validated with data from the execution of five algorithms that solve the traveling salesperson problem. Expand
A study of parallel branch-and-bound algorithms with best-bound-first search
This work presents three distribution functions and establishes a measure to evaluate the efficient work done by the processors, which is the percentage of critical nodes branched in each iteration of best-bound-first algorithms. Expand
The status of manip - a multicomputer architecture for solving, combinatorial extremum-search problems
A modified branch-and-bound algorithm is developed so that the amount of memory space required under a best-first search is significantly reduced and sufficient conditions so that anomalies can be eliminated under certain conditions and show that anomalies are unavoidable otherwise. Expand
Speedup Versus Efficiency in Parallel Systems
The tradeoff between speedup and efficiency that is inherent to a software system is investigated and it is shown that for any software system and any number of processors, the sum of the average processor utilization and the attained fraction of the maximum possible speedup must exceed one. Expand
Transputer-Based Experiments with the ZAPP Architecture
Experiments with a parallel architecture called ZAPP simulated on several connected INMOS transputers covered a range of applications including matrix multiply, heuristic search and the 0–1 knapsack optimisation problem. Expand
Performance analysis of storage management in combinator graph reduction
It is shown that adding more store to a list processing system with a non-reference counting garbage collector does not necessarily make it run faster. Expand
Why Functional Programming Matters
This paper shows that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute significantly to modularity. Expand
The Implementation of Functional Programming Languages
My 1987 book is now out of print, but it is available here in its entirety in PDF form, in one of two formats: single-page portrait double-page landscape Both are fully searchable, thanks to OCR andExpand
A general branch-and-bound formulation for and/or graph and game tree search
The procedure searches an AND/OR graph in a top-down manner and can be viewed as a general branch-and-bound procedure, applicable to a very large class of problems, and thus provides a way of synthesizing algorithms for new applications. Expand
Branch-and-Bound Methods: A Survey
The essential features of the branch-and-bound approach to constrained optimization are described, and several specific applications are reviewed, including integer linear programming Land-Doig and Balas methods, nonlinear programming minimization of nonconvex objective functions, and the quadratic assignment problem Gilmore and Lawler methods. Expand