OBF-file: Difference between revisions
(translation) |
|||
Line 1: | Line 1: | ||
{{ | {{Template:BlueM.Opt input files}} | ||
<div class="info_versionen"> | <div class="info_versionen"> | ||
''' | '''Versions:''' | ||
* ''' | * '''current''' v1.6 (as of r1727) | ||
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6776 v1.4, v1.5] ( | * [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6776 v1.4, v1.5] (as of r1524) | ||
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6096 v1.3] ( | * [{{SERVER}}/index.php?title=ZIE-Datei&oldid=6096 v1.3] (as of r1436) | ||
* [{{SERVER}}/index.php?title=ZIE-Datei&oldid=5843 v1.2.x] | * [{{SERVER}}/index.php?title=ZIE-Datei&oldid=5843 v1.2.x] | ||
</div> | </div> | ||
<div style="float:left; margin:0 10px 10px 0;">__TOC__</div> | <div style="float:left; margin:0 10px 10px 0;">__TOC__</div> | ||
This file defines the objective functions for the optimization. | |||
The file must have the same filename as the rest of the dataset's files but have the file extension '''<code>.ZIE</code>''', and be located in the same directory as the rest of the dataset.<br clear="all"/> | |||
The file is divided into several blocks, each of which is optional. Each block is identified by its heading: | The file is divided into several blocks, each of which is optional. Each block is identified by its heading: | ||
* '''Series''': This block defines objective functions that are based on a comparison of simulation time series with a reference time series. | * '''Series''': This block defines objective functions that are based on a comparison of simulation time series with a reference time series. | ||
* '''Values''': This block defines objective functions that are based on a comparison of simulation result values with a reference value ( | * '''Values''': This block defines objective functions that are based on a comparison of simulation result values with a reference value (currently only functional for [[SWMM]] applications, see #414). | ||
* '''ValueFromSeries''': This block defines objective functions that are based on a comparison of values that are computed from | * '''ValueFromSeries''': This block defines objective functions that are based on a comparison of values that are computed from simulated time series with reference values. | ||
* '''SKos''': Damages and Costs | * '''SKos''': Damages and Costs | ||
* '''Aggregate''': Aggregate objective functions | * '''Aggregate''': Aggregate objective functions | ||
Line 27: | Line 27: | ||
*------ | *------ | ||
* | * | ||
*|-----|---------------|---------|---|-------|-------|------------|---------| | *|-----|---------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------------------------|----------| | ||
*| Opt | | *| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference series | CurValue | | ||
*| | | | | | | | | | *| | | | | | | | | Start | End | RefName | RefFile | | | ||
*|-----|---------------|---------|---|-------|-------|------------|---------| | *|-----|---------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------| | ||
| P | NashSutcliffe | | - | | WEL | B401 | NashSutt| | | P | NashSutcliffe | | - | | WEL | B401 | NashSutt| 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | | | ||
*|-----|---------------|---------|---|-------|-------|------------|---------| | *|-----|---------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------| | ||
* | * | ||
*Values | *Values | ||
*------ | *------ | ||
* | * | ||
*|-----|---------------|---------|---|-------|-------| | *|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------| | ||
*| Opt | | *| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | TargetElement | TargetValue | | CurValue | | ||
*| | | | | | | | *| | | | | | | | | (Block) | (Column) | RefValue | | | ||
*|-----|---------------|---------|---|-------|-------| | *|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------| | ||
| P | OutfallLoad | | - | | RPT | | | P | OutfallLoad | | - | | RPT | | Diff | OutfallNode | AvgFlow | 0 | | | ||
| S | | | S | Storage401 | Storage | - | + | BLZ | B401 | | Speicher | maxVolume | | | | ||
| S | | | S | Storage701 | Storage | - | + | BLZ | B701 | | Speicher | maxVolume | | | | ||
*|-----|---------------|---------|---|-------|-------| | *|-----|---------------|---------|---|-------|-------|-----------|---------|-------------- |-------------|----------|----------| | ||
* | * | ||
*ValueFromSeries | *ValueFromSeries | ||
*--------------- | *--------------- | ||
* | * | ||
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|-------------------|---------| | *|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|----------------------|----------| | ||
*| Opt | | *| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference value | CurValue | | ||
*| | | | | | | | | Start | Ende | | *| | | | | | | | | Start | Ende | ValueType | RefValue | | | ||
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|---------|---------|---------| | *|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------| | ||
| P | OutfallLoad | | - | | WEL | B401_2AB | Diff | | | P | OutfallLoad | | - | | WEL | B401_2AB | Diff | | | | | | | ||
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|---------|---------|---------| | *|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------| | ||
* | * | ||
*SKos | *SKos | ||
*---- | *---- | ||
* | * | ||
*|-----| | *|-----|-------------|---------|---|-------| | ||
*| Opt | | *| Opt | Name | Group | D | OpFac | | ||
*| | | *| | | | | | | ||
*|-----| | *|-----|-------------|---------|---|-------| | ||
| P | | | P | ConstrCosts | | | | | ||
*|-----| | *|-----|-------------|---------|---|-------| | ||
* | * | ||
*Aggregate | *Aggregate | ||
*--------- | *--------- | ||
* | * | ||
*|-----| | *|-----|--------------|---------|---| | ||
*| Opt | | *| Opt | Name | Group | D | | ||
*|-----| | *|-----|--------------|---------|---| | ||
| P | | | P | TotalStorage | Storage | | | ||
*|-----| | *|-----|--------------|---------|---| | ||
</bluem> | </bluem> | ||
The width of the columns can be adjusted if necessary, but the column separators (<code>|</code>) must be preserved! | |||
An asterisk (<code>*</code>) at the beginning of the line causes the line to be ignored. | |||
== | ==Description== | ||
===Common parameters=== | ===Common parameters=== | ||
The blocks "Series", "Values" | The blocks "Series", "Values" and "ValuesFromSeries" share a set of parameters. | ||
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | :{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | ||
|- | |- | ||
! width="150" | Parameter !! width="500" | | ! width="150" | Parameter !! width="500" | Description | ||
|- | |- | ||
| '''Opt''' || | | '''Opt''' || Specifies, whether the objective function is a '''primary objective function''' (<code>P</code>) or a '''secondary objective function''' (<code>S</code>). Secondary objective functions are evaluated, but are not used to determine the fitness of individuals. Secondary objective functions are useful for specifiying objective functions that are part of an aggregated objective function or for specifying values of interest that should be evaluated, but not optimized towards. | ||
|- | |- | ||
| ''' | | '''Name''' || Arbitrary name of the objective function | ||
|- | |- | ||
| ''' | | '''Group'''<br/>(optional) || Optional group name, only used for calculating aggregated objective functions. Objective functions with the same group name are aggregated to form one aggregated objective function. | ||
|- | |- | ||
| ''' | | '''D'''irection<br/>(optional) | ||
| | | | ||
*<code>-</code>: | Direction of desired optimization: | ||
*<code>+</code>: | *<code>-</code>: The objective function should be minimized (default) | ||
*<code>+</code>: The objective function should be maximized. This causes the objective function values to be multiplied by <code>-1</code> (#303). | |||
|- | |- | ||
| '''Op'''erator | | '''Op'''erator or '''Fac'''tor<br/>(optional) | ||
| | | | ||
*<code>+</code>: | Optional, only used for aggregated objective functions | ||
*<code>-</code>: | *<code>+</code>: The objective function value is added to the group | ||
* | *<code>-</code>: The objective function value is subtracted from the group | ||
*''number'': The objective function value is multiplied by the given number and then added to the group | |||
|- | |- | ||
| ''' | | '''File''' || The simulation result file containing the simulation result from which the objective function should be calculated. Supported values: | ||
* <code>WEL</code> ( | * <code>WEL</code> (for [[BlueM.Sim]] or [[TALSIM]]) | ||
* <code>KWL</code> ( | * <code>KWL</code> (only for [[BlueM.Sim]]) | ||
* <code>KTR.WEL</code> ( | * <code>KTR.WEL</code> (only for [[TALSIM]]) | ||
* <code>ASC</code> ( | * <code>ASC</code> (only for [[SMUSI]] and [[SWMM]]) | ||
|- | |- | ||
| ''' | | '''SimResult''' || The identifier of the simulation result from which the objective function should be calculated. | ||
|- | |- | ||
| ''' | | '''ObjFunc''' || Specified which objective function to use. Supported values: | ||
* <code>AbQuad</code>: | * <code>AbQuad</code>: Sum of squared errors | ||
* <code>NashSutt</code>: Nash-Sutcliffe | * <code>NashSutt</code>: Nash-Sutcliffe Coefficient{{:Literatur:Nash-Sutcliffe_1970|}} | ||
: | :modified formula with <code>0 < E < ∞</code> : | ||
:<math>E=\frac{\sum_{t=1}^T\left(Q_{ | :<math>E=\frac{\sum_{t=1}^T\left(Q_{obs}^t-Q_{sim}^t\right)^2}{\sum_{t=1}^T\left(Q_{obs}^t-\overline{Q_{obs}}\right)^2}</math> | ||
* <code>Diff</code>: | * <code>Diff</code>: Difference | ||
* <code>nÜber</code>: Relative | * <code>nÜber</code>: Relative number of timesteps in which the simulation result is larger than (exceeds) the value of the reference time series [%] | ||
* <code>sÜber</code>: | * <code>sÜber</code>: Sum of the simulation values that are larger than the values of the reference time series | ||
* <code>nUnter</code>: Relative | * <code>nUnter</code>: Relative number of timesteps in which the simulation result is smaller than the value of the reference time series [%] | ||
* <code>sUnter</code>: | * <code>sUnter</code>: Sum of the simulation values that are smaller than the values of the reference time series | ||
* <code>Korr</code>: [ | * <code>Korr</code>: [https://en.wikipedia.org/wiki/Coefficient_of_determination Coefficient of determination] (simple linear regression) <code>0 ≤ R² ≤ 1</code>: | ||
:<math>R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y}</math> | :<math>R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y}</math> | ||
* <code>Volf</code>: | * <code>Volf</code>: Volume error [%] | ||
|- | |- | ||
| ''' | | '''CurValue'''<br/>(optional) || An optional value that is displayed in diagrams to serve as an indication of improvement. | ||
|} | |} | ||
Line 132: | Line 134: | ||
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | :{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | ||
|- | |- | ||
! width="150" | Parameter !! width="500" | | ! width="150" | Parameter !! width="500" | Description | ||
|- | |- | ||
| ''' | | '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/> | ||
Format: <code>dd.mm.yyyy hh:mm</code><br/> | Format: <code>dd.mm.yyyy hh:mm</code><br/> | ||
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used. | |||
|- | |- | ||
| ''' | | '''RefName'''<br/>(nur bei Referenzreihen und .WEL als Referenzdatei) || Specifies the identifier of the time series with which the simulation result should be compared. Only necessary if the time series file specified under '''RefFile''' is in [[WEL-format]]. | ||
|- | |- | ||
| ''' | | '''RefFile''' || The filename of the reference time series ([[ZRE-Format|.zre]] or [[WEL-Format|.wel]])<br/><span style="color:red">'''Warning:''' The time step size of the reference series must be identical to that of the simulation result! (see #218)</span> | ||
|} | |} | ||
Line 147: | Line 149: | ||
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | :{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | ||
|- | |- | ||
! width="150" | Parameter !! width="500" | | ! width="150" | Parameter !! width="500" | Description | ||
|- | |- | ||
| ''' | | '''TargetElement (Block)''' || Specifies in which section (block) the target variable is located. | ||
|- | |- | ||
| ''' | | '''TargetValue (Column)''' || Specifies the target variable within the block. | ||
|- | |- | ||
| ''' | | '''RefValue''' || The reference value with which the simulation result should be compared. | ||
|} | |} | ||
The parameter TargetElement is dependent on the parameter TargetValue and the simulation tool used, only the following combinations are possible: | |||
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | :{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | ||
|- | |- | ||
! width="100" | | ! width="100" | Application !! width="200" | TargetElement (Block) !! width="200" | TargetValue (Column) | ||
|- | |- | ||
| '''SWMM''' || NodeFlooding || HoursFlooded | | '''SWMM''' || NodeFlooding || HoursFlooded | ||
Line 193: | Line 195: | ||
|} | |} | ||
The TargetValue Pollutant_[no] allows for the evaluation of up to five substances, [no] can take values of 01, 02, 03, 04 or 05, so e.g. specify Pollutant_02 for the second substance. | |||
==="ValueFromSeries"=== | ==="ValueFromSeries"=== | ||
:{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | :{| cellpadding="5" cellspacing="0" border="0" class="standard stripes" | ||
|- | |- | ||
! width="150" | Parameter !! width="500" | | ! width="150" | Parameter !! width="500" | Description | ||
|- | |- | ||
| ''' | | '''Evaluation period'''<br/>(optional) || Specifies the simulation time period for which the objective function should be evaluated.<br/> | ||
Format: <code>dd.mm.yyyy hh:mm</code><br/> | Format: <code>dd.mm.yyyy hh:mm</code><br/> | ||
If '''Start''' and/or '''End''' are left empty, the start and/or end of the entire simulation time period is used. | |||
|- | |- | ||
| ''' | | '''ValueType''' || Specifies how to calculate the value from the simulation result series. Supported values: | ||
* <code>MaxWert</code>: | * <code>MaxWert</code>: Maximum value of the simulation result | ||
* <code>MinWert</code>: | * <code>MinWert</code>: Minimum value of the simulation result | ||
* <code>Average</code>: | * <code>Average</code>: Average value of the simulation result | ||
* <code>AnfWert</code>: | * <code>AnfWert</code>: The first value of the simulation result | ||
* <code>EndWert</code>: | * <code>EndWert</code>: The last value of the simulation result | ||
* <code>Summe</code>: | * <code>Summe</code>: Sum of the simulation result | ||
|- | |- | ||
| ''' | | '''RefValue''' || The reference value with which the computed simulation result should be compared. | ||
|} | |} | ||
== | ==Literature== | ||
<references/> | <references/> | ||
[[ | [[Category:BlueM.Opt input files|Z]] |
Revision as of 02:53, 22 January 2018
BlueM.Opt | Download | Usage | Development
BlueM.Opt input files: MOD · OPT · OBF · CON
Versions:
- current v1.6 (as of r1727)
- v1.4, v1.5 (as of r1524)
- v1.3 (as of r1436)
- v1.2.x
This file defines the objective functions for the optimization.
The file must have the same filename as the rest of the dataset's files but have the file extension .ZIE
, and be located in the same directory as the rest of the dataset.
The file is divided into several blocks, each of which is optional. Each block is identified by its heading:
- Series: This block defines objective functions that are based on a comparison of simulation time series with a reference time series.
- Values: This block defines objective functions that are based on a comparison of simulation result values with a reference value (currently only functional for SWMM applications, see #414).
- ValueFromSeries: This block defines objective functions that are based on a comparison of values that are computed from simulated time series with reference values.
- SKos: Damages and Costs
- Aggregate: Aggregate objective functions
File format
*Objective functions *=================== * *Series *------ * *|-----|---------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------------------------|----------| *| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference series | CurValue | *| | | | | | | | | Start | End | RefName | RefFile | | *|-----|---------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------| | P | NashSutcliffe | | - | | WEL | B401 | NashSutt| 30.05.1984 00:00 | 18.06.1984 23:30 | | seriesfile.zre | | *|-----|---------------|---------|---|-------|-------|------------|---------|------------------|------------------|-----------|-----------------|----------| * *Values *------ * *|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------| *| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | TargetElement | TargetValue | | CurValue | *| | | | | | | | | (Block) | (Column) | RefValue | | *|-----|---------------|---------|---|-------|-------|-----------|---------|---------------|-------------|----------|----------| | P | OutfallLoad | | - | | RPT | | Diff | OutfallNode | AvgFlow | 0 | | | S | Storage401 | Storage | - | + | BLZ | B401 | | Speicher | maxVolume | | | | S | Storage701 | Storage | - | + | BLZ | B701 | | Speicher | maxVolume | | | *|-----|---------------|---------|---|-------|-------|-----------|---------|-------------- |-------------|----------|----------| * *ValueFromSeries *--------------- * *|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|----------------------|----------| *| Opt | Name | Group | D | OpFac | File | SimResult | ObjFunc | Evaluation period | Reference value | CurValue | *| | | | | | | | | Start | Ende | ValueType | RefValue | | *|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------| | P | OutfallLoad | | - | | WEL | B401_2AB | Diff | | | | | | *|-----|---------------|---------|---|-------|-------|------------|---------|---------|---------|-----------|----------|----------| * *SKos *---- * *|-----|-------------|---------|---|-------| *| Opt | Name | Group | D | OpFac | *| | | | | | *|-----|-------------|---------|---|-------| | P | ConstrCosts | | | | *|-----|-------------|---------|---|-------| * *Aggregate *--------- * *|-----|--------------|---------|---| *| Opt | Name | Group | D | *|-----|--------------|---------|---| | P | TotalStorage | Storage | | *|-----|--------------|---------|---|
The width of the columns can be adjusted if necessary, but the column separators (|
) must be preserved!
An asterisk (*
) at the beginning of the line causes the line to be ignored.
Description
Common parameters
The blocks "Series", "Values" and "ValuesFromSeries" share a set of parameters.
Parameter Description Opt Specifies, whether the objective function is a primary objective function ( P
) or a secondary objective function (S
). Secondary objective functions are evaluated, but are not used to determine the fitness of individuals. Secondary objective functions are useful for specifiying objective functions that are part of an aggregated objective function or for specifying values of interest that should be evaluated, but not optimized towards.Name Arbitrary name of the objective function Group
(optional)Optional group name, only used for calculating aggregated objective functions. Objective functions with the same group name are aggregated to form one aggregated objective function. Direction
(optional)Direction of desired optimization:
-
: The objective function should be minimized (default)+
: The objective function should be maximized. This causes the objective function values to be multiplied by-1
(#303).
Operator or Factor
(optional)Optional, only used for aggregated objective functions
+
: The objective function value is added to the group-
: The objective function value is subtracted from the group- number: The objective function value is multiplied by the given number and then added to the group
File The simulation result file containing the simulation result from which the objective function should be calculated. Supported values: SimResult The identifier of the simulation result from which the objective function should be calculated. ObjFunc Specified which objective function to use. Supported values: AbQuad
: Sum of squared errorsNashSutt
: Nash-Sutcliffe Coefficient[1]
- modified formula with
0 < E < ∞
: - [math]\displaystyle{ E=\frac{\sum_{t=1}^T\left(Q_{obs}^t-Q_{sim}^t\right)^2}{\sum_{t=1}^T\left(Q_{obs}^t-\overline{Q_{obs}}\right)^2} }[/math]
Diff
: DifferencenÜber
: Relative number of timesteps in which the simulation result is larger than (exceeds) the value of the reference time series [%]sÜber
: Sum of the simulation values that are larger than the values of the reference time seriesnUnter
: Relative number of timesteps in which the simulation result is smaller than the value of the reference time series [%]sUnter
: Sum of the simulation values that are smaller than the values of the reference time seriesKorr
: Coefficient of determination (simple linear regression)0 ≤ R² ≤ 1
:
- [math]\displaystyle{ R^2 = \frac{s^2_{xy}}{s^2_x \cdot s^2_y} }[/math]
Volf
: Volume error [%]
CurValue
(optional)An optional value that is displayed in diagrams to serve as an indication of improvement.
"Series"
Parameter Description Evaluation period
(optional)Specifies the simulation time period for which the objective function should be evaluated.
Format:
dd.mm.yyyy hh:mm
If Start and/or End are left empty, the start and/or end of the entire simulation time period is used.RefName
(nur bei Referenzreihen und .WEL als Referenzdatei)Specifies the identifier of the time series with which the simulation result should be compared. Only necessary if the time series file specified under RefFile is in WEL-format. RefFile The filename of the reference time series (.zre or .wel)
Warning: The time step size of the reference series must be identical to that of the simulation result! (see #218)
"Values"
Parameter Description TargetElement (Block) Specifies in which section (block) the target variable is located. TargetValue (Column) Specifies the target variable within the block. RefValue The reference value with which the simulation result should be compared.
The parameter TargetElement is dependent on the parameter TargetValue and the simulation tool used, only the following combinations are possible:
Application TargetElement (Block) TargetValue (Column) SWMM NodeFlooding HoursFlooded SWMM NodeFlooding FloodVolume SWMM StorageVolume AvgVolume SWMM StorageVolume AvgPctFull SWMM StorageVolume MaxVolume SWMM StorageVolume MaxPctFull SWMM StorageVolume MaxOutflow SWMM OutfallLoad MaxFlow SWMM OutfallLoad FlowVolume SWMM OutfallLoad Pollutant_[no] SWMM Pumping OnlineTime SWMM Pumping TotalEnergy Smusi EntlVolumen SumVol Smusi MaxAbfluss Qmax Smusi EntlFracht CSBspez
The TargetValue Pollutant_[no] allows for the evaluation of up to five substances, [no] can take values of 01, 02, 03, 04 or 05, so e.g. specify Pollutant_02 for the second substance.
"ValueFromSeries"
Parameter Description Evaluation period
(optional)Specifies the simulation time period for which the objective function should be evaluated.
Format:
dd.mm.yyyy hh:mm
If Start and/or End are left empty, the start and/or end of the entire simulation time period is used.ValueType Specifies how to calculate the value from the simulation result series. Supported values: MaxWert
: Maximum value of the simulation resultMinWert
: Minimum value of the simulation resultAverage
: Average value of the simulation resultAnfWert
: The first value of the simulation resultEndWert
: The last value of the simulation resultSumme
: Sum of the simulation result
RefValue The reference value with which the computed simulation result should be compared.
Literature
- ↑ Nash, J. E. and Sutcliffe, J. V. (1970): River flow forecasting through conceptual models part I — A discussion of principles, Journal of Hydrology, 10 (3), 282–290, DOI:10.1016/0022-1694(70)90255-6.