# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - - - - - - - - - - -  SDDPSCfg-greedy-LD.txt - - - - - - - - - - - - -
#
# The BlockSolverConfig of the SDDPBlock for the simulation (-s), with the
# inner Block of each stage solved via LagrangianDualSolver [see
# BSPar-greedy-LD.txt], to be used with -B SDDPBCfg-LD.txt.
#
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

BlockSolverConfig     # exact type of the Configuration object

1  # the BlockSolverConfig is a "differential" one

1  # number of (the names of) Solver in this BlockSolverConfig
# now all the names of the Solver - - - - - - - - - - - - - - - - - - - - - -
SDDPGreedySolver    # name of 1st Solver

1  # number of ComputeConfig in this BlockSolverConfig

# now all the ComputeConfig
# 1st ComputeConfig - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# ComputeConfig of the SDDPGreedySolver; it basically is the
# ComputeConfig of the inner Solver, which is a BundleSolver

ComputeConfig # exact type of the ComputeConfig object

1  # f_diff == 0 ==> all non-provided parameters are set to the default value
   # f_diff == 1 ==> all non-provided parameters are not changed

2 # number of integer parameters

# now all the integer parameters
intLogVerb 1      # log verbosity
# intScenarioId 0 # index of the scenario to be considered
intUnregisterSolver 1 # unregister the Solver of the inner Block after
                      # solving it

0 # number of double parameters

# now all the double parameters

0 # number of string parameters

# now all the string parameters
# [none]

0 # number of vector-of-int parameters

# now all the vector-of-int parameters
# [none]

0 # number of vector-of-double parameters

# now all the vector-of-double parameters
# [none]

0 # number of vector-of-string parameters

# now all the vector-of-string parameters
# [none]

# pointer to the "extra" Configuration: the Configurations of the inner
# Block of each stage
SimpleConfiguration<std::vector<Configuration*>>
4  # number of elements in this vector

# the BlockConfig of the inner Block
*  # [none]

# the BlockSolverConfig of the inner Block
*BSPar-greedy-LD.txt

# the Configuration of get_var_solution(): the components whose primal
# solution the simulation needs, by class, which are the hard ones of
# BSPar-greedy-LD.txt
SimpleConfiguration<std::map<std::string,Configuration*>>
9                      # the number of elements in the map
ThermalUnitBlock       *  # all of its solution
HydroSystemUnitBlock   *  # all of its solution
BatteryUnitBlock       *  # all of its solution
IntermittentUnitBlock  *  # all of its solution
DCNetworkBlock         *  # all of its solution
ACNetworkBlock         *  # all of its solution
ECNetworkBlock         *  # all of its solution
OTSNetworkBlock        *  # all of its solution
DesignNetworkBlock     *  # all of its solution

# the Configuration of get_dual_solution(): only the dual solution of the
# linking constraints of the UCBlock (the -1 not being any sub-Block), those
# of its sub-Blocks are not needed
SimpleConfiguration<std::vector<std::pair<int,int>>>
1  # number of elements in this vector
-1 -1

# end of 1st ComputeConfig- - - - - - - - - - - - - - - - - - - - - - - - - -

# end of BlockSolverConfig- - - - - - - - - - - - - - - - - - - - - - - - - -

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - - - - - - - - - -  END SDDPSCfg-greedy-LD.txt - - - - - - - - - - - -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
