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
*/
17
class
BendersPluginFactory
18
{
19
public
:
20
BendersPluginFactory
() =
default
;
21
/*
22
Constructor
23
@inputs :
24
- options : study simulation
25
*/
26
BendersPluginFactory
(
const
SimulationOptions
& options);
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
39
private
:
40
const
SimulationOptions
options_;
41
};
42
43
typedef
BendersPlugin
* (*CreatePluginFunc)();
BendersPluginFactory
Definition
BendersPluginFactory.h:18
BendersPlugin
Definition
BendersPlugin.h:12
SimulationOptions
Definition
SimulationOptions.h:6
src
cpp
benders
factories
include
antares-xpansion
benders
factories
BendersPluginFactory.h
Generated by
1.12.0