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