IMP  2.4.0
The Integrative Modeling Platform
BranchAndBoundSampler.h
Go to the documentation of this file.
1 /**
2  * \file IMP/domino/BranchAndBoundSampler.h
3  * \brief Sample best solutions using BranchAndBound.
4  *
5  * Copyright 2007-2015 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPDOMINO_BRANCH_AND_BOUND_SAMPLER_H
10 #define IMPDOMINO_BRANCH_AND_BOUND_SAMPLER_H
11 
12 #include <IMP/domino/domino_config.h>
13 //#include "Evaluator.h"
14 #include "DiscreteSampler.h"
15 #include <IMP/Sampler.h>
16 #include <IMP/macros.h>
17 #include <IMP/base/Pointer.h>
18 
19 IMPDOMINO_BEGIN_NAMESPACE
20 
21 //! Sample best solutions using BranchAndBound
22 /** Find all good configurations of the model using branch and bound.
23  Searches are truncated when the score is worse than the the thresholds
24  in the Sampler or when two particles with the same kernel::ParticlesState
25  are assigned the same state.
26  */
27 class IMPDOMINOEXPORT BranchAndBoundSampler : public DiscreteSampler {
28  public:
30  std::string name = "BranchAndBoundSampler %1%");
32  std::string name = "BranchAndBoundSampler %1%");
33  Assignments do_get_sample_assignments(const IMP::domino::Subset &known) const
36 };
37 
39 
40 IMPDOMINO_END_NAMESPACE
41 
42 #endif /* IMPDOMINO_BRANCH_AND_BOUND_SAMPLER_H */
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition: object_macros.h:25
A base class for discrete samplers in Domino2.
Represent a subset of the particles being optimized.
Definition: Subset.h:33
Import IMP/kernel/macros.h in the namespace.
A base class for discrete samplers.
Import IMP/kernel/Sampler.h in the namespace.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Definition: object_macros.h:52
A nullptr-initialized pointer to an IMP Object.
Sample best solutions using BranchAndBound.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:73