VDM-Spezifikation


-- 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