20,948 research outputs found
Multi-threading a state-of-the-art maximum clique algorithm
We present a threaded parallel adaptation of a state-of-the-art maximum clique
algorithm for dense, computationally challenging graphs. We show that near-linear speedups
are achievable in practice and that superlinear speedups are common. We include results for
several previously unsolved benchmark problems
Configurable Strategies for Work-stealing
Work-stealing systems are typically oblivious to the nature of the tasks they
are scheduling. For instance, they do not know or take into account how long a
task will take to execute or how many subtasks it will spawn. Moreover, the
actual task execution order is typically determined by the underlying task
storage data structure, and cannot be changed. There are thus possibilities for
optimizing task parallel executions by providing information on specific tasks
and their preferred execution order to the scheduling system.
We introduce scheduling strategies to enable applications to dynamically
provide hints to the task-scheduling system on the nature of specific tasks.
Scheduling strategies can be used to independently control both local task
execution order as well as steal order. In contrast to conventional scheduling
policies that are normally global in scope, strategies allow the scheduler to
apply optimizations on individual tasks. This flexibility greatly improves
composability as it allows the scheduler to apply different, specific
scheduling choices for different parts of applications simultaneously. We
present a number of benchmarks that highlight diverse, beneficial effects that
can be achieved with scheduling strategies. Some benchmarks (branch-and-bound,
single-source shortest path) show that prioritization of tasks can reduce the
total amount of work compared to standard work-stealing execution order. For
other benchmarks (triangle strip generation) qualitatively better results can
be achieved in shorter time. Other optimizations, such as dynamic merging of
tasks or stealing of half the work, instead of half the tasks, are also shown
to improve performance. Composability is demonstrated by examples that combine
different strategies, both within the same kernel (prefix sum) as well as when
scheduling multiple kernels (prefix sum and unbalanced tree search)
A Parallel Branch and Bound Algorithm for the Maximum Labelled Clique Problem
The maximum labelled clique problem is a variant of the maximum clique
problem where edges in the graph are given labels, and we are not allowed to
use more than a certain number of distinct labels in a solution. We introduce a
new branch-and-bound algorithm for the problem, and explain how it may be
parallelised. We evaluate an implementation on a set of benchmark instances,
and show that it is consistently faster than previously published results,
sometimes by four or five orders of magnitude.Comment: Author-final version. Accepted to Optimization Letter
Orbitopal Fixing
The topic of this paper are integer programming models in which a subset of
0/1-variables encode a partitioning of a set of objects into disjoint subsets.
Such models can be surprisingly hard to solve by branch-and-cut algorithms if
the order of the subsets of the partition is irrelevant, since this kind of
symmetry unnecessarily blows up the search tree. We present a general tool,
called orbitopal fixing, for enhancing the capabilities of branch-and-cut
algorithms in solving such symmetric integer programming models. We devise a
linear time algorithm that, applied at each node of the search tree, removes
redundant parts of the tree produced by the above mentioned symmetry. The
method relies on certain polyhedra, called orbitopes, which have been
introduced bei Kaibel and Pfetsch (Math. Programm. A, 114 (2008), 1-36). It
does, however, not explicitly add inequalities to the model. Instead, it uses
certain fixing rules for variables. We demonstrate the computational power of
orbitopal fixing at the example of a graph partitioning problem.Comment: 22 pages, revised and extended version of a previous version that has
appeared under the same title in Proc. IPCO 200
An ant colony algorithm for the sequential testing problem under precedence constraints.
We consider the problem of minimum cost sequential
testing of a series (parallel) system under precedence
constraints that can be modeled as a nonlinear integer program.
We develop and implement an ant colony algorithm for the
problem. We demonstrate the performance of this algorithm
for special type of instances for which the optimal solutions
can be found in polynomial time. In addition, we compare the
performance of the algorithm with a special branch and bound
algorithm for general instances. The ant colony algorithm is
shown to be particularly effective for larger instances of the
problem
- …