BlueM.Opt Evaluierung: Difference between revisions

From BlueM
Jump to navigation Jump to search
(Die Seite wurde neu angelegt: {{BlueM.Opt_nav}} ==Ablauf der Evaluierung== thumb|500px Die spezifischen Simulationsmodelle (z.B. BlueM.Sim, SMUSI, SWMM) s...)
 
m (fix syntax highlighting)
 
(2 intermediate revisions by the same user not shown)
Line 8: Line 8:
Die Simulationsergebnisse werden zentral in einer Collection namens '''<code>SimErgebnis</code>''' abgelegt.
Die Simulationsergebnisse werden zentral in einer Collection namens '''<code>SimErgebnis</code>''' abgelegt.


Die Mutterklasse <code>Sim</code> berechnet anschließend die ObjectiveFunction-Werte anhand der Ergebnisse im <code>SimErgebnis</code>.
Die Mutterklasse <code>Sim</code> übergibt den ObjectiveFunctions dann das <code>SimErgebnis</code>, damit diese ihre ObjectiveFunctionValues berechnen können.
 
Aggregierte Ziele werden im <code>Sim</code> berechnet.


==SimErgebnis==
==SimErgebnis==
Die Collection <code>SimErgebnis</code> kann sowohl Zeitreihen als auch Werte speichern. Identifiziert werden die Ergebnisse anhand eines Keys (String).
Das <code>SimErgebnis</code> kann sowohl Zeitreihen als auch Werte speichern. Identifiziert werden die Ergebnisse anhand eines Keys (String).
 
<source lang="vbnet">
    ''' <summary>
    ''' Struktur für Simulationsergebnisse
    ''' </summary>
    Public Structure SimErgebnis_Structure
        ''' <summary>
        ''' Ergebniswerte (Key ist ObjectiveFunction Name)
        ''' </summary>
        Public Werte As Dictionary(Of String, Double)
        ''' <summary>
        ''' Ergebnisreihen (Key ist ObjectiveFunction Name)
        ''' </summary>
        Public Reihen As Dictionary(Of String, Wave.Zeitreihe)
        ''' <summary>
        ''' Löscht alle vorhandenen Ergebnisse
        ''' </summary>
        Public Sub Clear()
            Me.Werte = New Dictionary(Of String, Double)
            Me.Reihen = New Dictionary(Of String, Wave.Zeitreihe)
        End Sub
    End Structure
</source>


;TODO: Als Key könnte man den Namen der ObjectiveFunction nehmen.
;TODO: Momentan wird als Key immer die Simulationsgröße verwendet. Um Verwechslungen zu vermeiden, sollte anstattdessen der Name der ObjectiveFunction verwendet werden.


[[Kategorie:BlueM.Opt Development]]
[[Kategorie:BlueM.Opt Development]]

Latest revision as of 04:59, 3 March 2018

EVO.png BlueM.Opt | Download | Usage | Development

Ablauf der Evaluierung

EvaluierungsFlow.png

Die spezifischen Simulationsmodelle (z.B. BlueM.Sim, SMUSI, SWMM) sind für die Simulation und das Einlesen der Simulationsergebnisse zuständig.

Die Simulationsergebnisse werden zentral in einer Collection namens SimErgebnis abgelegt.

Die Mutterklasse Sim übergibt den ObjectiveFunctions dann das SimErgebnis, damit diese ihre ObjectiveFunctionValues berechnen können.

Aggregierte Ziele werden im Sim berechnet.

SimErgebnis

Das SimErgebnis kann sowohl Zeitreihen als auch Werte speichern. Identifiziert werden die Ergebnisse anhand eines Keys (String).

    ''' <summary>
    ''' Struktur für Simulationsergebnisse
    ''' </summary>
    Public Structure SimErgebnis_Structure
        ''' <summary>
        ''' Ergebniswerte (Key ist ObjectiveFunction Name)
        ''' </summary>
        Public Werte As Dictionary(Of String, Double)
        ''' <summary>
        ''' Ergebnisreihen (Key ist ObjectiveFunction Name)
        ''' </summary>
        Public Reihen As Dictionary(Of String, Wave.Zeitreihe)
        ''' <summary>
        ''' Löscht alle vorhandenen Ergebnisse
        ''' </summary>
        Public Sub Clear()
            Me.Werte = New Dictionary(Of String, Double)
            Me.Reihen = New Dictionary(Of String, Wave.Zeitreihe)
        End Sub
    End Structure
TODO
Momentan wird als Key immer die Simulationsgröße verwendet. Um Verwechslungen zu vermeiden, sollte anstattdessen der Name der ObjectiveFunction verwendet werden.