|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Grid network generator. More...
#include <random_network_generator.H>
Public Member Functions | |
| GridNetworkGenerator (const NetworkGeneratorConfig &cfg, size_t r=5, size_t c=5) | |
| void | generate (Net &net) override |
Public Member Functions inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| RandomNetworkGenerator (const NetworkGeneratorConfig &cfg) | |
| virtual | ~RandomNetworkGenerator ()=default |
| void | reseed () |
| Reset the random number generator to the original seed. | |
| void | reseed (unsigned new_seed) |
| Reset with a specific seed (also updates config.seed) | |
Private Types | |
| using | Base = RandomNetworkGenerator< Net > |
| using | Node = typename Net::Node |
Private Member Functions | |
| void | insert_arc (Net &net, Node *src, Node *tgt) |
Private Attributes | |
| size_t | rows |
| size_t | cols |
| NetworkGeneratorConfig | config |
Additional Inherited Members | |
Protected Types inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| using | Node = typename Net::Node |
| using | Arc = typename Net::Arc |
Protected Member Functions inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| double | random_capacity () |
| double | random_cost () |
| double | random_prob () |
| bool | is_connected (const Net &net, Node *source, Node *sink) |
| void | ensure_path (Net &net, Node *source, Node *sink, const std::vector< Node * > &nodes) |
| void | insert_arc (Net &net, Node *src, Node *tgt) |
Protected Attributes inherited from Aleph::Testing::RandomNetworkGenerator< Net > | |
| NetworkGeneratorConfig | config |
| std::mt19937 | rng |
| std::uniform_real_distribution< double > | capacity_dist |
| std::uniform_real_distribution< double > | cost_dist |
| std::uniform_real_distribution< double > | prob_dist {0.0, 1.0} |
Grid network generator.
Generates a grid with flow from top-left to bottom-right. Good for testing scalability.
Definition at line 358 of file random_network_generator.H.
|
private |
Definition at line 360 of file random_network_generator.H.
Definition at line 90 of file random_network_generator.H.
|
inline |
Definition at line 369 of file random_network_generator.H.
References Aleph::Testing::GridNetworkGenerator< Net >::config, and Aleph::Testing::NetworkGeneratorConfig::num_nodes.
|
inlineoverridevirtual |
Implements Aleph::Testing::RandomNetworkGenerator< Net >.
Definition at line 377 of file random_network_generator.H.
References Aleph::Testing::GridNetworkGenerator< Net >::cols, Aleph::Testing::GridNetworkGenerator< Net >::insert_arc(), Aleph::Net_Graph< NodeT, ArcT >::insert_node(), Aleph::maps(), and Aleph::Testing::GridNetworkGenerator< Net >::rows.
|
inlineprivate |
Definition at line 195 of file random_network_generator.H.
Referenced by Aleph::Testing::GridNetworkGenerator< Net >::generate().
|
private |
Definition at line 366 of file random_network_generator.H.
Referenced by Aleph::Testing::GridNetworkGenerator< Net >::generate().
|
private |
Definition at line 87 of file random_network_generator.H.
Referenced by Aleph::Testing::GridNetworkGenerator< Net >::GridNetworkGenerator().
|
private |
Definition at line 365 of file random_network_generator.H.
Referenced by Aleph::Testing::GridNetworkGenerator< Net >::generate().