Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
SequentialCommunicationStrategy.h
1#pragma once
2
3#include "antares-xpansion/benders/benders_core/ICommunicationStrategy.h"
4
13{
14public:
15 [[nodiscard]] int Rank() const override
16 {
17 return 0;
18 }
19
20 [[nodiscard]] int WorldSize() const override
21 {
22 return 1;
23 }
24
25 void Barrier() const override
26 {
27 // No-op for single process
28 }
29
30 [[nodiscard]] bool ShouldParallelize() const override
31 {
32 return true;
33 }
34
35 void BroadcastBool(bool& /*value*/) const override
36 {
37 // No-op for single process: already the master, nothing to broadcast
38 }
39};
Strategy interface for communication operations in Benders decomposition.
Definition ICommunicationStrategy.h:33
Communication strategy for single-process (sequential) execution.
Definition SequentialCommunicationStrategy.h:13
void BroadcastBool(bool &) const override
Definition SequentialCommunicationStrategy.h:35
int Rank() const override
Return the rank of this process (0 for sequential)
Definition SequentialCommunicationStrategy.h:15
int WorldSize() const override
Return the total number of processes (1 for sequential)
Definition SequentialCommunicationStrategy.h:20
bool ShouldParallelize() const override
Definition SequentialCommunicationStrategy.h:30
void Barrier() const override
Synchronization barrier across all processes (no-op for sequential)
Definition SequentialCommunicationStrategy.h:25