File: SimulatorMultiStageDPBase.h

package info (click to toggle)
stopt 5.12%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 8,860 kB
  • sloc: cpp: 70,456; python: 5,950; makefile: 72; sh: 57
file content (47 lines) | stat: -rw-r--r-- 1,509 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Copyright (C) 2023 EDF
// All Rights Reserved
// This code is published under the GNU Lesser General Public License (GNU LGPL)
///
#ifndef SIMULATORMULTISTAGEDPBASE_H
#define SIMULATORMULTISTAGEDPBASE_H
#include <Eigen/Dense>
#include "StOpt/dp/SimulatorDPBase.h"

/* \file   SimulatorMultiStageDPBase.h
 * \brief  Abstract class for simulators for Dynamic Programming Programms when a deterministic optimization
 *         by DP is achieved on a transition step in time
 * \author Benoit Clair, Xavier Warin
 */

namespace StOpt
{
/// \class SimulatorMultiStageDPBase SimulatorMultiStageDPBase.h
/// Abstract class for simulator used in dynamic programming when a deterministic optimization  by DP is achieved on a transition step in time
class SimulatorMultiStageDPBase : public SimulatorDPBase
{

private :

    int m_iperiodCur ; ///< Number of current period during optimization or simulation in deterministic for the current time step

public :

    /// \brief Constructor
    SimulatorMultiStageDPBase(): SimulatorDPBase() {}
    /// \brief Destructor
    virtual ~SimulatorMultiStageDPBase() {}
    /// \brief Returns number of periods of current timestep
    virtual int getNbPeriodsInTransition() const = 0;
    ///< Set period treated
    void setPeriodInTransition(const int &p_iperiodCur)
    {
        m_iperiodCur = p_iperiodCur;
    }
    ///< Get period treated
    int  getPeriodInTransition() const
    {
        return m_iperiodCur ;
    }
};
}
#endif /* SIMULATORMULTISTAGEDPBASE_H */