BlueM.Opt Code: Difference between revisions
Jump to navigation
Jump to search
(→Code Formatierung: Tab settings) |
(→Projektstruktur: TSP-Controller) |
||
| Line 17: | Line 17: | ||
** '''<u>HookeAndJeeves</u>''': [[Hooke & Jeeves]] | ** '''<u>HookeAndJeeves</u>''': [[Hooke & Jeeves]] | ||
** '''<u>SensiPlot</u>''': [[SensiPlot|Sensitivitätsanalyse]] | ** '''<u>SensiPlot</u>''': [[SensiPlot|Sensitivitätsanalyse]] | ||
** '''<u>TSP</u>''': [[TSP|Traveling Salesman Problem]] | |||
* '''<u>EVO.Apps</u>''': Assembly enthält Klassen für Evaluierungsanwendungen | * '''<u>EVO.Apps</u>''': Assembly enthält Klassen für Evaluierungsanwendungen | ||
| Line 36: | Line 37: | ||
** '''Testprobleme:''' [[Testprobleme]] (Sinusfunktion, Deb, etc.) | ** '''Testprobleme:''' [[Testprobleme]] (Sinusfunktion, Deb, etc.) | ||
*** Testprobleme.vb | *** Testprobleme.vb | ||
* '''<u>EVO.Common</u>''': Gemeinsam genutzte Objekte | * '''<u>EVO.Common</u>''': Gemeinsam genutzte Objekte | ||
Revision as of 00:06, 30 June 2009
BlueM.Opt | Download | Usage | Development
Projektstruktur
Der Code besteht aus den folgenden Assemblies (Projekten), welche in einer Projektmappe zusammengeführt werden:
- EVO: 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:
- ...
- EVO.Algos: Unterordner für Algorithmen
- IController: Stellt ein Interface für Controller zur Verfügung
- ES: Evolutionsstrategie (PES, CES und HYBRID)
- DDS: Dynamically Dimensioned Search
- MetaEvo: hybrider Optimierungsalgorithmus
- HookeAndJeeves: Hooke & Jeeves
- SensiPlot: Sensitivitätsanalyse
- TSP: Traveling Salesman Problem
- EVO.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
- EVO.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
- EVO.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
- EVO.MO_Indicators: Assembly zur Berechnung von Multi-Objective Indikatoren wie Hypervolumen, etc.
- EVO.OptResult: Assembly verwaltet das Optimierungsergebnis mit zugehöriger Datenbank
- Wave: Zeitreihenverwaltung und -darstellung (siehe Wave)
- IHA.Win: Berechnung von IHA-Parametern (siehe Zielfunktion IHA)
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: <vbnet>
- 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
</vbnet>
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 |