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