Talk:OBF-file: Difference between revisions

From BlueM
Jump to navigation Jump to search
(Erweiterte Definition von Zielfunktionen (Bug 414) nach ZIE-Datei übernommen)
Line 145: Line 145:


Dieses Beispiel hätte 3 Optimierungsziele (2 normale und ein aggregiertes), wobei das aggregierte aus dem Mittelwert von zwei normalen gebildet wird. ([[Benutzer:Froehlich|Froehlich]] 16:39, 12. Dez. 2007 (CET))
Dieses Beispiel hätte 3 Optimierungsziele (2 normale und ein aggregiertes), wobei das aggregierte aus dem Mittelwert von zwei normalen gebildet wird. ([[Benutzer:Froehlich|Froehlich]] 16:39, 12. Dez. 2007 (CET))
==Erweiterte Definition von Zielfunktionen==
:→ ''siehe Bug 414''
BlueM, Smusi und SWMM geben neben Zeitreihen auch bereits bilanzierte Ergebnisse in Ergebnisdateien aus. Bei der Optimierung mit SWMM wird derzeit (r1499) bereits auf die Bilanzwerte (in der rpt-Datei zugegriffen), der Zugriff auf die entsprechenden Werte ist allerdings direkt in den Quellcode reinprogrammiert. Um Bilanzwerten allgemeingültig als Zielfunktion definieren zu können, muss die zie-Datei umgebaut werden. Die Bilanzwerte bei BlueM stehen in der blz-Datei.
Die Datei könnte folgendermaßen aussehen:
<bluem>
*Optimierungsziele
*=================
*
*Reihenvergleich
*---------------
*
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|----------------------------------------|---------|
*| Opt | Bezeichnung  | Gruppe  | R | OpFak | Datei | SimGröße  | ZielFkt | EvalZeitraum |        Referenzreihe                  | IstWert |
*|    |              |        |  |      |      |            |        | Start | Ende | RefGröße | Datei                      |        |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|----------|-----------------------------|---------|
|  P  | NashSutcliffe |        | - |      |  WEL  | B401      | NashSutt|      |      |          | Zeitreihe.zre              |        |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|----------|-----------------------------|---------|
*
*Wertevergleich
*--------------
*
*|-----|---------------|---------|---|-------|-------|------------|---------|------------------|----------------|---------|---------|
*| Opt | Bezeichnung  | Gruppe  | R | OpFak | Datei |  SimGröße | ZielFkt | Zielgröße        | OptGröße      |        | IstWert |
*|    |              |        |  |      |      |            |        | (Block)          | (Spalte)      | RefWert |        |
*|-----|---------------|---------|---|-------|-------|------------|---------|------------------|----------------|---------|---------|
|  P  | OutfallLoad  |        | - |      |  RPT  |            |  Diff  | OutfallNode      | AvgFlow        |    0  |        |
|  S  | Speicher      | Becken  | - |    +  |  BLZ  | B401      |        | Speicher        | maxVolume      |        |        |
|  S  | Speicher      | Becken  | - |    +  |  BLZ  | B701      |        | Speicher        | maxVolume      |        |        |
*|-----|---------------|---------|---|-------|-------|------------|---------|------------------|----------------|---------|---------|
*
*Reihenwertevergleich
*--------------------
*
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|-------------------|---------|
*| Opt | Bezeichnung  | Gruppe  | R | OpFak | Datei |  SimGröße | ZielFkt | EvalZeitraum |  Referenzwert    | IstWert |
*|    |              |        |  |      |      |            |        | Start | Ende | WertTyp | RefWert |        |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|---------|---------|---------|
|  P  | OutfallLoad  |        | - |      |  WEL  | B401_2AB  |  Diff  |      |      |        |        |        |
*|-----|---------------|---------|---|-------|-------|------------|---------|-------|------|---------|---------|---------|
*
*IHA-Analyse
*-----------
*
*|-----|---------------|---------|---|-------|-------|------------|-----------|-------------------------------|----------|
*| Opt | Bezeichnung  | Gruppe  | R | OpFak | Datei | SimGröße  | ZielFkt  |        Referenzreihe        | IstWert  |
*|    |              |        |  |      |      |            |          | RefGröße | Datei              |          |
*|-----|---------------|---------|---|-------|-------|------------|-----------|----------|--------------------|----------|
|  P  | IHAGesamt    |        |  |      | WEL  | S09 _1ZU  |          | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHAQuantity  |        |  |      | WEL  | S09 _1ZU  | Quantity  | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHAExtremes  |        |  |      | WEL  | S09 _1ZU  | Extremes  | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHATiming    |        |  |      | WEL  | S09 _1ZU  | Timing    | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHAFrequency  |        |  |      | WEL  | S09 _1ZU  | Frequency | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
|  S  | IHARate      |        |  |      | WEL  | S09 _1ZU  | Rate      | TOLF_1ZU | ZRE\Olef_orig.wel  |          |
*|-----|---------------|---------|---|-------|-------|------------|-----------|----------|--------------------|----------|
*
*SKos
*----
*
*|-----|---------------|---------|---|-------|
*| Opt | Bezeichnung  | Gruppe  | R | OpFak |
*|    |              |        |  |      |
*|-----|---------------|---------|---|-------|
|  P  | Baukosten    |        |  |      |
*|-----|---------------|---------|---|-------|
*
*Aggregierte Ziele
*-----------------
*
*|-----|---------------|---------|---|
*| Opt | Bezeichnung  | Gruppe  | R |
*|-----|---------------|---------|---|
|  P  | Beckengesamt  | Becken  |  |
*|-----|---------------|---------|---|
</bluem>

Revision as of 01:07, 6 May 2009

XML

Anmerkung
Wenn möglich sollten alle Werte in Attribute gepackt werden. Deshalb ist z.B. das Element "Bezeichnung" besser als Attribut dargestellt (es sei den, es sollen noch Unterelemente gebildet werden).


So könnte eine ZIE-Datei im XML-Format aussehen:

<xml> <?xml version="1.0" encoding="utf-8"?> <Zielliste xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://130.83.196.154/BlueM">

 <Ziel isOpt="true" ZielTyp="Reihe">
   <Bezeichnung>SumFehlQ</Bezeichnung>
   <ZielFkt>AbQuad</ZielFkt>
   <SimReihe>
     <Datei Spalte="S3  _1ZU">WEL</Datei>
   </SimReihe>
   <Evaluierungszeitraum>
     <Start>1959-01-01T07:30:00</Start>
     <Ende>1973-12-31T07:30:00</Ende>
   </Evaluierungszeitraum>
   <ZielReihe>
     <Datei Spalte="">ZRE\OlefT_Zufl.zre</Datei>
   </ZielReihe>
 </Ziel>
 <Ziel isOpt="true" ZielTyp="Reihe">
   <Bezeichnung>VolFehler</Bezeichnung>
   <ZielFkt>Volf</ZielFkt>
   <SimReihe>
     <Datei Spalte="S3  _1ZU">WEL</Datei>
   </SimReihe>
   <Evaluierungszeitraum>
     <Start>1959-01-01T07:30:00</Start>
     <Ende>1973-12-31T07:30:00</Ende>
   </Evaluierungszeitraum>
   <ZielReihe>
     <Datei Spalte="">ZRE\OlefT_Zufl.zre</Datei>
   </ZielReihe>
 </Ziel>

</Zielliste> </xml>

und so das zugehörige Schema (erstellt mit xsd.exe):

<xml> <?xml version="1.0" encoding="utf-8"?> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

 <xs:element name="Zielliste" nillable="true" type="Zielliste" />
 <xs:complexType name="Zielliste">
   <xs:sequence>
     <xs:element minOccurs="0" maxOccurs="1" name="List_Ziele" type="ArrayOfZiel" />
   </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ArrayOfZiel">
   <xs:sequence>
     <xs:element minOccurs="0" maxOccurs="unbounded" name="Ziel" nillable="true" type="Ziel" />
   </xs:sequence>
 </xs:complexType>
 <xs:complexType name="Ziel">
   <xs:sequence>
     <xs:element minOccurs="0" maxOccurs="1" name="Bezeichnung" type="xs:string" />
     <xs:element minOccurs="0" maxOccurs="1" name="ZielFkt" type="xs:string" />
     <xs:element minOccurs="0" maxOccurs="1" name="SimReihe" type="Reihe" />
     <xs:element minOccurs="1" maxOccurs="1" name="Evaluierungszeitraum" type="Struct_EvalZeitraum" />
     <xs:element minOccurs="0" maxOccurs="1" name="ZielWert" type="ZielWert" />
     <xs:element minOccurs="0" maxOccurs="1" name="ZielReihe" type="Reihe" />
   </xs:sequence>
   <xs:attribute name="isOpt" type="xs:boolean" use="required" />
   <xs:attribute name="ZielTyp" type="xs:string" />
 </xs:complexType>
 <xs:complexType name="Reihe">
   <xs:sequence>
     <xs:element minOccurs="1" maxOccurs="1" name="Datei" type="Struct_ReihenInfo" />
   </xs:sequence>
 </xs:complexType>
 <xs:complexType name="Struct_ReihenInfo">
   <xs:simpleContent>
     <xs:extension base="xs:string">
       <xs:attribute name="Spalte" type="xs:string" />
     </xs:extension>
   </xs:simpleContent>
 </xs:complexType>
 <xs:complexType name="Struct_EvalZeitraum">
   <xs:sequence>
     <xs:element minOccurs="1" maxOccurs="1" name="Start" type="xs:dateTime" />
     <xs:element minOccurs="1" maxOccurs="1" name="Ende" type="xs:dateTime" />
   </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ZielWert">
   <xs:simpleContent>
     <xs:extension base="xs:double">
       <xs:attribute name="WertTyp" type="xs:string" />
     </xs:extension>
   </xs:simpleContent>
 </xs:complexType>

</xs:schema> </xml>

Aggregation von Zielen

Siehe Bug 256

ZIE-Datei:

*Optimierungsziele
*=================
*
*|------|--------------|---------|-------|----------|---------|--------------|--------------------|---------------------------|
*| Eval | Ziel/Subziel | ZielTyp | Datei | SimGröße | ZielFkt | EvalZeitraum |       Zielwert   ODER      Zielreihe           |
*|      |              |         |       |          |         | Start | Ende | WertTyp | ZielWert | ZielGröße | Datei         |
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|
 |  J   | QSpitze      | Wert    |  WEL  | S100_1ZU | Diff    |       |      | MaxWert |    50    |           |               |
 |  J   | SumFehlQ     | Reihe   |  WEL  | S100_1ZU | AbQuad  |       |      |         |          |           | Zeitreihe.zre |
 |  N   | Volfehler1   | Reihe   |  WEL  | S100_1ZU | Volf    |       |      |         |          | S100_ZU   | Zeitreihe.wel |
 |  N   | Volfehler2   | Reihe   |  WEL  | S101_1ZU | Volf    |       |      |         |          | S101_ZU   | Zeitreihe.wel |
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|

ZIG-Datei:

*Optimierungszielgruppen
*=======================
*
*|------|-----------------|----------|------------|--------|
*| Eval | Gruppe          | Operator | Ziel       | Faktor |
*|      |                 |          |            |        |
*|------|-----------------|----------|------------|--------|
 |  J   | VolfehlerMittel |    +     | Volfehler1 |   0.5  |
 |      |                 |    +     | Volfehler2 |   0.5  |
*|------|-----------------|----------|------------|--------|
*Optimierungszielgruppen
*=======================
*
*|------|-----------------|--------------|----------|--------|
*| Eval | Ziel            | SubZiel      | Operator | Faktor |
*|      |                 |              |          |        |
*|------|-----------------|--------------|----------|--------|
 |  J   | VolfehlerMittel |  Volfehler1  |    +     |   0.5  |
 |      | VolfehlerMittel |  Volfehler2  |    +     |   0.5  |
*|------|-----------------|--------------|----------|--------|


Dieses Beispiel hätte 3 Optimierungsziele (2 normale und ein aggregiertes), wobei das aggregierte aus dem Mittelwert von zwei normalen gebildet wird. (Froehlich 16:39, 12. Dez. 2007 (CET))