BlueM.Opt Code
Jump to navigation
Jump to search
BlueM.Opt | Download | Usage | Development
Projektstruktur
Der Code besteht aus den folgenden Assemblies (Projekten), welche in einer Projektmappe zusammengeführt werden:
- Main: Startprojekt
- Form1.vb: Hauptformular
- EVO_Einstellungen.vb: Steuerelement für das Setzen der Optimierungseinstellungen
- EVO_Opt_Verlauf: Steuerelement, dass den Verlauf der Optimierung anzeigt
- EVOMOD.vb:
- ...
- BlueM.Opt.Algos: Unterordner für Algorithmen
- IController: Stellt ein Interface für Controller zur Verfügung
- ES: Evolutionsstrategie (PES)
- DDS: Dynamically Dimensioned Search
- MetaEvo: hybrider Optimierungsalgorithmus
- HookeAndJeeves: Hooke & Jeeves
- SensiPlot: Sensitivitätsanalyse
- TSP: Traveling Salesman Problem
- Bluem.Opt.Apps: Assembly enthält Klassen für Evaluierungsanwendungen
- Sim.vb: Basisklasse für Simulationsanwendungen
- BlueM:
- BlueM.vb: Anbindung an BlueM
- BlueM.dll: BlueM Rechenkern
- IHWB.BlueM.DLLAdapter.dll: .NET Wrapper zum Ansprechen des BlueM Rechenkerns (siehe BlueM.DLLAdapter)
- SKos.vb:
- S_CAN: Anwendung S:CAN (Sonde Graz)
- Scan.vb
- SMUSI:
- Smusi.vb: Anbindung an SMUSI
- IHWB.SMUSI.DLLAdapter.dll: .NET Wrapper zum Ansprechen des SMUSI Rechenkerns
- SWMM
- SWMM.vb: Anbindung an SWMM
- Swmm_Iface.vb
- SWMM5.dll: SWMM Rechenkern
- Testprobleme: Testprobleme (Sinusfunktion, Deb, etc.)
- Testprobleme.vb
- Bluem.Opt.Common: Gemeinsam genutzte Objekte
- Constants.vb: Modul enthält Konstanten und Enums
- Constraint.vb: Klasse für Constraint
- EVO_Settings.vb: Klasse, die die EVO_Einstellungen abbildet (XML-Serialisierbar)
- Individuum.vb: Basisklasse für Individuen
- Problem.vb: Definiert das zu lösende Optimierungsproblem
- Progress.vb: Speichert den Optimierungsverlauf
- OptParameter.vb: Klasse für OptParameter
- Modellparameter.vb: Structure für Modellparameter
- Provider.vb: Modul stellt Provider zur Verfügung (z.B. FortranProvider)
- Objectivefunction.vb: Klasse für Zielfunktion
- Bluem.Opt.Diagramm: Diagramm- und Zeichenfunktionalitäten
- Diagramm.vb: Klasse, die von Steema.TeeChart.TChart erbt und diese Klasse erweitert
- Hauptdiagramm.vb: Abkömmling von Diagramm
- Monitor.vb: Formular enthält ein Monitor-Diagramm und einen Log
- Scatterplot.vb: Form für die Anzeige einer Scatterplot-Matrix
- Bluem.Opt.MO_Indicators: Assembly zur Berechnung von Multi-Objective Indikatoren wie Hypervolumen, etc.
- Bluem.Opt.OptResult: Assembly verwaltet das Optimierungsergebnis mit zugehöriger Datenbank
- Wave: Zeitreihenverwaltung und -darstellung (siehe Wave)
Code Formatting
Tab settings
Comments
Es sollte die im VS integrierte Code-Dokumentationsfunktion genutzt werden ("XML-Kommentare"). Anleitung dazu bietet folgender Screencast. Further information on using XML comments in Visual Studio can be found here.
Formatierung von Überschriften:
#Region "Überschrift1" 'Überschrift 1 (z.B. Unterteilung zwischen Eigenschaften und Methoden '#################################################################### 'Überschrift 2 (z.B. Größere Gruppen von Funktionen/Subs) 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ''' <summary> ''' XML-Kommentare für Methoden, Eigenschaften, Felder etc. ''' </summary> Sub Beispiel() 'Untertitel 1 'xxxxxxxxxxxx 'Untertitel 2 '============ 'Untertitel 3 '------------ 'Normale Kommentare End Sub #End Region 'Überschrift1
Tokens
Folgende Tokens werden im Code benutzt:
Token | Bedeutung |
---|---|
ACHTUNG | Wichtiger Kommentar |
BUG | Betrifft einen Bug in Bugzilla |
TODO | Noch zu tun |
HACK | Temporäre Lösung |
UNDONE | ??? |
CHECK | ??? |
UPGRADE | Kleine mögliche Erweiterungen innerhalb von Funktionen |
UPGRADE_NOTE | Beim Update von VB6 auf VB generierte Kommentare |
UPGRADE_WARNING | Beim Update von VB6 auf VB generierte Kommentare |
UPGRADE_ISSUE | Beim Update von VB6 auf VB generierte Kommentare |