Talk:OBF-file: Difference between revisions

From BlueM
Jump to navigation Jump to search
(XML-Format)
m (links)
 
(18 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<div style="float:right; margin-left:10px">__TOC__</div>
<div style="float:right; margin-left:10px">__TOC__</div>
==XML==
==Eingabedateien im XML-Format==
https://github.com/bluemodel/BlueM.Opt/issues/197
 
;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:
So könnte eine ZIE-Datei im XML-Format aussehen:


<xml>
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<?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">
<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">
Line 35: Line 39:
   </Ziel>
   </Ziel>
</Zielliste>
</Zielliste>
</xml>
</source>
 
und so das zugehörige Schema (erstellt mit [http://msdn2.microsoft.com/en-us/library/x6c1kb0s(VS.80).aspx xsd.exe]):
 
<source lang="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>
</source>


==Aggregation von Zielen==
==Aggregation von Zielen==
Siehe Bug 256
https://github.com/bluemodel/BlueM.Opt/issues/176


'''ZIE-Datei:'''
'''ZIE-Datei:'''
Line 46: Line 106:
*
*
*|------|--------------|---------|-------|----------|---------|--------------|--------------------|---------------------------|
*|------|--------------|---------|-------|----------|---------|--------------|--------------------|---------------------------|
*| Eval | Bezeichnung  | ZielTyp | Datei | SimGröße | ZielFkt | EvalZeitraum |      Zielwert  ODER      Zielreihe          |
*| Eval | Ziel/Subziel | ZielTyp | Datei | SimGröße | ZielFkt | EvalZeitraum |      Zielwert  ODER      Zielreihe          |
*|      |              |        |      |          |        | Start | Ende | WertTyp | ZielWert | ZielGröße | Datei        |
*|      |              |        |      |          |        | Start | Ende | WertTyp | ZielWert | ZielGröße | Datei        |
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|
*|------|--------------|---------|-------|----------|---------|-------|------|---------|----------|-----------|---------------|
Line 68: Line 128:
*|------|-----------------|----------|------------|--------|
*|------|-----------------|----------|------------|--------|
</pre>
</pre>
<pre>
*Optimierungszielgruppen
*=======================
*
*|------|-----------------|--------------|----------|--------|
*| Eval | Ziel            | SubZiel      | Operator | Faktor |
*|      |                |              |          |        |
*|------|-----------------|--------------|----------|--------|
|  J  | VolfehlerMittel |  Volfehler1  |    +    |  0.5  |
|      | VolfehlerMittel |  Volfehler2  |    +    |  0.5  |
*|------|-----------------|--------------|----------|--------|
</pre> 
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))

Latest revision as of 02:32, 16 December 2023

Eingabedateien im XML-Format

https://github.com/bluemodel/BlueM.Opt/issues/197

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 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>

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

<?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>

Aggregation von Zielen

https://github.com/bluemodel/BlueM.Opt/issues/176

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))