Nearest-Insertion-Heuristik

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von NEARIN)
Zur Navigation springen Zur Suche springen
Nearest-Insertion-Heuristik

Die Nearest-Insertion-Heuristik (NEARIN) ist eine Einfüge-Heuristik und damit ein heuristisches Eröffnungsverfahren aus der Graphentheorie. Es dient zur Approximation einer guten Lösung des Problems des Handlungsreisenden; Ziel ist es also, eine möglichst kurze Rundreise durch alle Knoten des Graphen zu finden.

Der Algorithmus wählt in jedem Schritt einen Knoten aus mit der geringsten Entfernung zu einem Knoten der schon konstruierten Teilroute. Dieser wird so in die vorhandene Teilroute eingebaut, dass die geringste Verlängerung der bisherigen Teilroute entsteht.

Der NEARIN-Algorithmus besteht also genaugenommen aus den zwei Teilen:

  • nearest selection: für die Auswahl des nächsten Knotens
  • cheapest insertion: für das Einfügen in den bestehenden Kreis

Die dabei entstehende Struktur entspricht immer einer transitiven Hülle. Dieses Verfahren wird bis zum n-ten Knoten fortgesetzt und entspricht der Komplexitätsklasse .

Als Varianten dieser treten die Farthest-Insertion-Heuristik, die Cheapest-Selection-Heuristik und die Random-Insertion-Heuristik auf.

Das Ergebnis des NEARIN-Algorithmus ist in der Regel nicht optimal. Bei Vorliegen der Dreiecksungleichung kann die Länge der gefundenen Rundreise aber nicht schlechter als das Doppelte der Länge einer optimalen Rundreise sein. Die Kurzsichtigkeit des NEARIN-Algorithmus (es wird beim Aufbau der Rundreise nur in der nächsten Nachbarschaft nach weiteren einzufügenden Knoten gesucht) kann sogar zu Rundreisen mit Überkreuzungen führen, die schon deshalb nicht optimal sein können. In der Praxis werden derartige Algorithmen daher mit nach-optimierenden Algorithmen wie etwa einer 2-opt-Heuristik kombiniert.