|
PBeFS
Parallel Best-First Search
|
Header file for DeterministicBranchAndBound, the parallel Branch-and-Bound (B&B) by synchronous rounds, whose outcome does not depend on the timing of the workers. More...
#include <algorithm>#include <barrier>#include <exception>#include <mutex>#include <optional>#include <utility>#include <vector>#include "PBeFS/bnb/ParallelBranchAndBound.h"Go to the source code of this file.
Classes | |
| class | DeterministicBranchAndBound< P, Executor > |
| the parallel B&B by synchronous rounds More... | |
Namespaces | |
| namespace | PBeFS_di_unipi_it |
| namespace for the Parallel Best-First Search library | |
Header file for DeterministicBranchAndBound, the parallel Branch-and-Bound (B&B) by synchronous rounds, whose outcome does not depend on the timing of the workers.
The problem, the options and the Solution are those of BranchAndBound.h and ParallelBranchAndBound.h, and the design is discussed in docs/branch-and-bound.md.
The search is the following, with the notation of the page "Parallel branch-and-bound" of the documentation and the procedures PROCESS and PRUNABLE of the sequential search [see BranchAndBound.h], which a worker runs here with the incumbent \( z_0 \) of the start of the round and with an incumbent of its node alone; \( r \) is the number of nodes of a round (round, \( p \) if 0), and the procedure NEXTROUND is run by one worker while the others wait at a barrier:
The nodes of a round, their order and the incumbent \( z_0 \) against which they are evaluated are fixed before the round starts (lines 16 and 17), and the outcomes are merged in the order of the nodes (line 10); hence, the nodes evaluated, the incumbent and the bound depend only on \( r \), and neither on the timing nor on the number of the workers, provided that the evaluation of a node by the worker \( i \) depends only on the node and on the nodes evaluated by \( i \) before. The node limit is exact (line 16), while the time limit, checked at line 14, makes the end depend on the timing; no dive is taken.