# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - - - - - - - - - - - - TSSBSCfg-PPH.txt  - - - - - - - - - - - - - - -
#
# A TSSBlock solved by the PrimalProximalHeur over the Lagrangian dual of
# its scenarios (LPBSCfg-LDLD.txt), which fixes the design to its mean over
# the scenarios and solves each one alone (BSCfg1-IP.txt, 8 threads).
#
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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 - - - - - - - - - - - - - - - - - - - - - -
PrimalProximalHeur    # name of 2nd Solver

1 # number of ComputeConfig in this BlockSolverConfig

# now all the ComputeConfig
# 1st ComputeConfig - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# ComputeConfig of the :MILPSolver


# 2nd ComputeConfig - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# ComputeConfig of the LagrangianDualSolver; it mostly is the
# ComputeConfig of the inner Solver, which is a [Parallel]BundleSolver

*LDCfg.txt +

1  # f_diff == 1 ==> only the entries listed below are changed

5 # number of integer parameters

intUseWarmStartPSol 0 # the first iteration solves the plain Lagrangian Dual,
                      # so its bound is valid for the integer problem and
                      # stronger than the one of the continuous relaxation

int_LDSlv_iBCopy  0 # 1 if sub-Block must be R3B-copied
intLogVerb        0 # log verbosity of main Bundle algorithm
intTrgtMng       31 # bit-wise targets and accuracies management: lower
                    # and upper targets, accuracy as upper - lower, and
                    # the Lipschitz constant in the upper model
intMaxThread      7 # threads solving the scenarios of the recovery,
                    # besides the one calling compute()

8 # number of double parameters

dbl_penaltyFactor 1e-1 # weight of the proximal term

dblMaxTime        3600 # maximum time for a call, so that the nested dual is
                       # given the same budget as the MILP it is compared with

dblMinNrEvls        -1 # every component is evaluated at each iteration: a
                       # component here is an entire inner LagrangianDualSolver,
                       # so an iteration made on one of the three alone buys
                       # little and costs a master problem anyway; on the NC
                       # instances the evaluations go from 865 and 1705 down
                       # to 132 and 168
dblRelAcc         1e-5 # relative accuracy required to solution
dbltStar         -1e+0 # stopping parameter: multiplied to || residual || to estimate gap
dblmxIncr            2 # max increase of t
dbltMaior         1e+9 # maximum value for t
dbltInit          1e-3 # initial value for t

3 # number of string parameters

str_LDSlv_ISCfg  ISCfg-PPH.txt # ComputeConfig of the inner Solver: the
                                # iterations and the accuracy of the
                                # Lagrangian Dual at each proximal step
str_LagBF_BSCfg  LPBSCfg-LDLD.txt
strRecoveryBSC   BSCfg1-IP.txt # BlockSolverConfig of the recovery: each
                                # scenario a MILP at the fixed design

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]

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

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# - - - - - - - - - - - - - END TSSBSCfg-PPH.txt  - - - - - - - - - - - - - -
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
