Antares Xpansion
Investment simulations for Antares studies
Loading...
Searching...
No Matches
BendersPlugin.h
1#pragma once
2
3#include "antares-xpansion/benders/benders_core/SubproblemWorker.h"
4#include "antares-xpansion/benders/benders_core/common.h"
5#include "antares-xpansion/multisolver_interface/SolverAbstract.h"
6#include "antares-xpansion/xpansion_interfaces/ILogger.h"
7
8/*
9 This interface will be implemented each time we need to add call backs.
10*/
12{
13public:
14 virtual ~BendersPlugin() = default;
15
16 /*
17 This method will be called on the start of the benders method
18 @inputs :
19 */
20 virtual void OnBendersStart() = 0;
21
22 /*
23 This method will be called on the end of the benders method
24 @inputs :
25 */
26 virtual void OnBendersEnd() = 0;
27
28 /*
29 This method will be called at the beginning of a benders iteration
30 @inputs :
31 */
32 virtual void OnBendersIterationStart() = 0;
33
34 /*
35 This method will be called at the end of a benders iteration
36 @inputs :
37 */
38 virtual void OnBendersIterationEnd() = 0;
39
40 /*
41 This method will be called at the start of the master iteration after solving the master
42 @inputs :
43 */
44 virtual void OnBendersMasterResolutionStart() = 0;
45 /*
46 This method will be called at the end of the master iteration after solving subprolems
47 @inputs :
48
49 */
50 virtual void OnBendersMasterResolutionEnd() = 0;
51
52 /*
53 This method will be called before solving a subproblem (for each subproblem)
54 @inputs :
55 */
56 virtual void OnBendersMicroIterationStart() = 0;
57
58 /*
59 This method will be called after solving a subproblem (for each subproblem)
60 @inputs :
61 */
62 virtual void OnBendersMicroIterationEnd() = 0;
63};
Definition BendersPlugin.h:12