dogs 1.1.0

Discrete Optimization Global Search framework. Implements various search algorithms that can be found in combinatorial optimization or heuristic search.
Documentation

DOGS (Discrete Optimization Global Search) framework

Implements various search algorithms within a unified paradigm (so far, mostly anytime tree search algorithms). see this thesis for more information about anytime tree search algorithms.

implemented components

tree search algorithms

  • Beam Search
  • Best First Search
  • DFS
  • Iterative Beam Search
  • LDS
  • PartialChildrenExpansion (Iterative) Beam Search

combinators

  • Bounding combinator
  • LDS combinator
  • PrefixEquivalence dominance combinator
  • Pruning combinator
  • Statistics combinator

examples

Some examples are available for various problems. For some of them, the DOGS implementation is state-of-the-art.

Some helpful tips

profiling rust applications (linux)

  1. install requirements sudo apt install -y linux-tools-common linux-tools-generic
  2. install flamegraph via cargo cargo install flamegraph
  3. disable the sudo requirement for perf: echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
  4. add the following in the Cargo.toml:
[profile.release]
debug = true
  1. cargo flamegraph ARGUMENTS. For instance (SOP): cargo flamegraph insts/R.700.1000.15.sop 30
  2. visualize the flamegraph (here by using firefox): firefox flamegraph.svg