ProgramType         {algorithm}
ObjectiveFunction   GCOP
ModelExecutable     ./ostrich-runs-raven.sh
PreserveBestModel   ./save_best.sh
#OstrichWarmStart   yes

ModelSubdir processor_

BeginExtraDirs
model
#best
EndExtraDirs

BeginFilePairs
  raven-mohyse.rvp.tpl;  raven-mohyse.rvp
  raven-mohyse.rvh.tpl;  raven-mohyse.rvh
  #can be multiple (.rvh, .rvi)
EndFilePairs

#Parameter/DV Specification
BeginParams
  #parameter      init.    low      high    tx_in  tx_ost  tx_out
  par_x01         random   {lowerBounds.par_x01}  {upperBounds.par_x01}  none   none     none
  par_x02         random   {lowerBounds.par_x02}  {upperBounds.par_x02}  none   none     none
  par_x03         random   {lowerBounds.par_x03}  {upperBounds.par_x03}  none   none     none
  par_x04         random   {lowerBounds.par_x04}  {upperBounds.par_x04}  none   none     none
  par_x05         random   {lowerBounds.par_x05}  {upperBounds.par_x05}  none   none     none
  par_x06         random   {lowerBounds.par_x06}  {upperBounds.par_x06}  none   none     none
  par_x07         random   {lowerBounds.par_x07}  {upperBounds.par_x07}  none   none     none
  par_x08         random   {lowerBounds.par_x08}  {upperBounds.par_x08}  none   none     none
  par_x09         random   {lowerBounds.par_x09}  {upperBounds.par_x09}  none   none     none
  par_x10         random   {lowerBounds.par_x10}  {upperBounds.par_x10}  none   none     none
EndParams

BeginTiedParams
  # 2-parameter ratio (par_rezi_x10 = 1.0 / par_x10 )
  # Xtied =(c3 * par_x10 + c2)/(c1 * par_x10 + c0)
  #   --> c3 = 0.0
  #   --> c2 = 1.0
  #   --> c1 = 1.0
  #   --> c0 = 0.0
  par_rezi_x10 2 par_x10 par_x10 ratio 0.00 1.00 1.00 0.00 free
EndTiedParams

BeginResponseVars
  #name   filename                              keyword         line    col     token
  NS      ./model/output/{run_name}-{run_index}_Diagnostics.csv;       OST_NULL        1       3       ','
EndResponseVars

BeginTiedRespVars
  NegNS 1 NS wsum -1.00
EndTiedRespVars

BeginGCOP
  CostFunction NegNS
  PenaltyFunction APM
EndGCOP

BeginConstraints
        # not needed when no constraints, but PenaltyFunction statement above is required
        # name     type     penalty    lwr   upr   resp.var
EndConstraints

# Randomsed control added
{random_seed}

#Algorithm should be last in this file:

BeginDDSAlg
        PerturbationValue 0.20
        MaxIterations {max_iterations}
        UseRandomParamValues
        # UseInitialParamValues
        # above intializes DDS to parameter values IN the initial model input files
EndDDSAlg
