![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Huber-Law acceptance-rejection sampler for the permanent. More...
#include <line/api/perm/perm_sampling.h>
Public Types | |
| enum class | Mode { Classic , Time , Sample } |
Public Member Functions | |
| HuberLawSampler (const Matrix< double > &matrix, double delta=0.1, double alpha2=0.000001, double epsilon=0.1, Mode mode=Mode::Classic, int number_of_samples=1000, double maximum_time=30000.0, std::uint64_t seed=0) | |
| double | solve () |
| Run the sampler in the configured mode and return the estimate. | |
| double | value () const |
| Estimate of the last solve. | |
Huber-Law acceptance-rejection sampler for the permanent.
The matrix is rescaled to be doubly stochastic, a permutation is drawn column by column under the Huber-Law upper bound on the remaining permanent, and the acceptance ratio times the rescaling constant estimates the permanent.
Definition at line 493 of file perm_sampling.h.
|
strong |
| Enumerator | |
|---|---|
| Classic | |
| Time | |
| Sample | |
Definition at line 495 of file perm_sampling.h.
|
inlineexplicit |
| matrix | nonnegative square matrix |
| delta | relative accuracy target, sets the budget K |
| alpha2 | convergence threshold of the rescaling |
| epsilon | failure probability target, sets the budget K |
| mode | which budget applies |
| number_of_samples | draw budget of Sample |
| maximum_time | time budget in milliseconds of Time |
| seed | seed of the draws |
Definition at line 507 of file perm_sampling.h.
References Classic.
|
inline |
Run the sampler in the configured mode and return the estimate.
Definition at line 528 of file perm_sampling.h.
References Classic, line::InputError::InputError(), Sample, and Time.
Referenced by line::perm::perm_huberlaw().
|
inline |
Estimate of the last solve.
Definition at line 556 of file perm_sampling.h.