Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
BendersPluginFactory.h
1#pragma once
2
3#include <filesystem>
4#include <iostream>
5#include <memory>
6
7#include "antares-xpansion/benders/benders_core/SimulationOptions.h"
8#include "antares-xpansion/benders/benders_core/common.h"
9#include "antares-xpansion/benders/benders_mpi/common_mpi.h"
10#include "antares-xpansion/benders/plugins/BendersPlugin.h"
11
12/*
13 Factory to create the plugin needed in benders callbacks.
14 Called in BendersFactory
15*/
17{
18public:
19 /*
20 Constructor
21 @inputs :
22 - options : study simulation
23 */
25
26 /*
27 This method will be called to instantiate the benders plugin
28 @inputs :
29 - coupling_map : coupling map
30 - micro_iter : boolean to check if Micro iterations is needed to build the right plugin
31 */
32 std::shared_ptr<BendersPlugin> CreatePlugin(const CouplingMap& coupling_map,
33 bool micro_iter,
34 boost::mpi::communicator* world);
35
36private:
37 const SimulationOptions& options_;
38};
39
40typedef BendersPlugin* (*CreatePluginFunc)();
Definition BendersPluginFactory.h:17
Definition BendersPlugin.h:14
Definition SimulationOptions.h:6