-- Problem des Handlungsreisenden mit genetischen Algorithmen
-- VDM-Datentypen
DOMAINS
-- Die Population als Tupel von Chromosonen
Population = Chromosom *
-- Die einzelnen Chromosonen als Tupel von Real-Zahlen (die Gene)
Chromosom = Real *
-- Die Entfernungstabelle
Zeile = Spalte *
Spalte = Real *
-- Die Fitnesswerte
Fitness = Real *
-- Die Real-Zahlen fuer Gene, Entfernungen und Fitnesswerte
Real = () -numeric
IMPLEMENTATIONS
-- Allgemein: Benutzung von Arrays wegen schnellerem Komponentenzugriff
-- Population als verkettete Liste
Population = array + default + fpr + index + rmv1
-- Chromosomen als Arrays
Chromosom = array + default + fpr + ovwrt1 + sub_tup
-- Entfernungstabelle als Array of Array
Zeile = array + default + fpr
Spalte = array + default + fpr
-- Fitnesswerte als Array
Fitness = array + default + rmv1 + fpr
-- Die Realzahlen
Real = real + fpr