BlueM.Opt Evaluierung

From BlueM
Jump to navigation Jump to search

EVO.png BlueM.Opt | 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.