Eine Heuristik zur Lösung ganzzahliger Programme mit quadratischen Nebenbedingungen - Tobias Flister - Cottbus Mathematical Preprints COMP # ...
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Eine Heuristik zur Lösung ganzzahliger Programme mit quadratischen Nebenbedingungen Tobias Flister Cottbus Mathematical Preprints COMP # 19(2021)
Bachelorarbeit Eine Heuristik zur Lösung ganzzahliger Programme mit quadratischen Nebenbedingungen vorgelegt von: Tobias Flister Studiengang: Wirtschaftsmathematik 03. Juni 2021 Fakultät MINT - Mathematik, Informatik, Physik, Elektro- und Informationstechnik Fachgebiet Ingenieurmathematik und Numerik der Optimierung Betreuung: Prof. Dr. rer. nat. habil. Armin Fügenschuh Zweitgutachen: Prof. Dr. rer. nat. habil. Ekkehard Köhler
i Inhaltsverzeichnis Abbildungsverzeichnis iii Tabellenverzeichnis iii 1 Einleitung 1 1.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Mathematische Grundlagen 3 2.1 Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 Gemischt-Ganzzahlige Optimierung . . . . . . . . . . . . . . . . . . . 3 2.1.2 Nichtlineare Optimierung . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 CPLEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.1 Preprocessing und Probing . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.2 Branch-and-Bound, Schnittebenenverfahren und Branch-and-Cut . . 5 2.2.3 Paralleles Rechnen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Heuristiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.1 Genetische Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.2 Tabu-Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.3 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 Technische Grundlagen 15 3.1 Schall im Wasser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Zielerkennung beim Sonar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.2.1 Cookie-Cutter Erkennungswahrscheinlichkeiten . . . . . . . . . . . . 17 3.2.2 Probabilistische Erkennungswahrscheinlichkeiten . . . . . . . . . . . 18 3.2.3 Direct Blast Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.2.4 Bresenham-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Bekannte Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3.1 Modellformulierung DISC-LOC . . . . . . . . . . . . . . . . . . . . . 23 3.3.2 Modellformulierung von Oral-Kettani . . . . . . . . . . . . . . . . . . 25 4 Allgemeiner Modellaufbau 29 4.1 Annahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Eingabedaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3 Nichtlineare Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.3.1 Maximierung der Zielabdeckung . . . . . . . . . . . . . . . . . . . . 31 4.3.2 Minimierung der Kosten . . . . . . . . . . . . . . . . . . . . . . . . . 31 5 Heuristische Ansätze 33 5.1 Heuristik zur Maximierung der Zielabdeckung . . . . . . . . . . . . . . . . . 33 5.1.1 Lineare ganzzahlige Programme . . . . . . . . . . . . . . . . . . . . . 33 5.1.2 Ablauf und Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.2 Heuristik zur Minimierung der Kosten . . . . . . . . . . . . . . . . . . . . . 35 5.2.1 Lineare ganzzahlige Programme . . . . . . . . . . . . . . . . . . . . . 35 5.2.2 Ablauf und Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.3 Unterschiede und Besonderheiten der Algorithmen . . . . . . . . . . . . . . 36 5.4 Platzierung der Startsensoren . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.4.1 Startvarianten für das Problem der Abdeckungsmaximierung . . . . 37 5.4.2 Startvarianten für das Problem der Kostenminimierung . . . . . . . 38
ii INHALTSVERZEICHNIS 6 Rechenergebnisse und Bewertung 39 6.1 Vergleich der Startvarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.1.1 Startvarianten für das Problem der Abdeckungsmaximierung . . . . 39 6.1.2 Startvarianten für das Problem der Kostenminimierung . . . . . . . 44 6.2 Vergleich der Heuristik mit einem exakten Verfahren . . . . . . . . . . . . . 44 6.2.1 Modell CM-CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 6.2.2 Modell CM-PRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.2.3 Modell CR-CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.2.4 Modell CR-PRB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.2.5 Vergleich am Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7 Fazit und Ausblick 51 Literatur 53
iii Abbildungsverzeichnis 1 Genetischer Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Selektion und Kreuzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Tabu-Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5 Cassinische Kurven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6 Direct Blast Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7 Bresenham-Algorithmus Linie . . . . . . . . . . . . . . . . . . . . . . . . . . 23 8 Gitter am Beispielküstenabschnitt Agadir . . . . . . . . . . . . . . . . . . . 30 9 Teilung des Ozeanabschnittes RekaBuorYuryakh in zwei Teilbereiche . . . . 38 10 Vergleich heuristischer mit exakter Lösung . . . . . . . . . . . . . . . . . . . 50 Tabellenverzeichnis 1 Vergleich der Startvarianten für CM-CC . . . . . . . . . . . . . . . . . . . . 40 2 Vergleich der Startvarianten für CM-PRB . . . . . . . . . . . . . . . . . . . 41 3 Vergleich der Startvarianten für CR-CC . . . . . . . . . . . . . . . . . . . . 42 4 Vergleich der Startvarianten für CR-PRB . . . . . . . . . . . . . . . . . . . 43 5 Vergleich HEUR2-R mit OK1-S für CM-CC . . . . . . . . . . . . . . . . . . 45 6 Vergleich HEUR2-R mit OK1-S für CM-PRB . . . . . . . . . . . . . . . . . 46 7 Vergleich HEUR3-R mit OK1-S für CR-CC . . . . . . . . . . . . . . . . . . 47 8 Vergleich HEUR3-R mit OK1-S für CR-PRB . . . . . . . . . . . . . . . . . 48
1 1 Einleitung Die Menschheit kennt verschiedene Techniken, um Objekte aufzuspüren und ihre Lage im Raum zu bestimmen. Möchte man dies für ein Objekt im Wasser oder gar Unterwasser durchführen, so kommt das Sonar zum Einsatz. Sonar ist ein englisches Akronym und steht für Sound Navigation and Ranging, also Navigation und Bestimmung der Entfernung durch Schall. Das Sonar ist gewissermaßen eine Art Unterwasser-Radar, nur verwendet man hier Schall- wellen statt Funkwellen zur Ortung von Objekten. Der Grund dafür ist einfach. Funkwellen breiten sich relativ ungehindert in der Luft aus, Schallwellen hingegen nicht. Im Wasser kehrt sich diese Beziehung quasi um und Schallwellen sind hier in der Lage, sich bis zu mehrere tausend Kilometer weit auszubreiten [2]. Zunächst folgt ein kurzer Einschub zur geschichtlichen Einordnung des Sonars. Die Ent- wicklung von modernen Systemen zur Entdeckung und Standortbestimmung von Objekten unter Wasser nahm ihren Anfang zu Beginn des zwanzigsten Jahrhunderts. In Folge der Katastrophe des Untergangs der RMS Titanic im Jahre 1912 hatte man es sich zur Aufgabe gemacht, die Sicherheit auf See zu verbessern. So begab es sich, dass gleich drei Männer, namentlich Alexander Behm, Reginald Fessenden und Lewis Fry Richardson, unabhängig voneinander an der frühzeitigen Erkennung von Eisbergen forschten. In Folge dieser Bemü- hungen erfand Alexander Behm ein spezielles Sonar, das es ihm ermöglichte den Abstand zum Meeresboden zu messen. Auch wenn diese Erfindung leider nicht beim Aufspüren von Eisbergen half, so ist sie heutzutage doch weltweit als Echolot bekannt [2]. Im Jahre 1914 sollte ein weiteres geschichtliches Ereignis die Entwicklung des Sonars voran- treiben. Der Beginn des ersten Weltkriegs und der damit verbundene Einsatz von Schiffen, U-Booten und Seeminen erzeugte ein militärisches Interesse am Sonar und so dauerte es nicht lange, bis ein Jahr später das erste aktive Sonar entwickelt wurde, welches tatsäch- lich in der Lage war, U-Boote aufzuspüren. Der später folgende zweite Weltkrieg, sowie der kalte Krieg schafften weitere Einsatzmöglichkeiten für das Sonar und kurbelten so die Forschung in diesem Bereich noch weiter an [2]. In der heutigen Zeit hat das Sonar längst nicht nur militärische Einsatzmöglichkeiten. In der Fischerei kann man das Echolot nutzen, um Fischschwärme aufzuspüren. In der Forschung kann das Sonar genutzt werden, um die Beschaffenheit des Meeresbodens zu untersuchen oder um Meerestiere zu beobachten. Und allgemein kann das Sonar zur Navi- gation, besonders in flachen Gewässern, genutzt werden [1]. Die zuerst entwickelten Sonar Systeme lassen sich im Allgemeinen in zwei Typen unter- teilen. Das aktive Sonar arbeitet mit mindestens einem Sender und einem Empfänger. Der Sender sendet eine Schallwelle aus. Befindet sich ein Objekt in der Nähe, so wird die Schallwelle von diesem reflektiert und dann vom Empfänger aufgezeichnet. Anhand der benötigten Zeit und der Richtung lässt sich so die Lage des Objekts bestimmen. Das passive Sonar hingegen besteht nur aus einem Empfänger. Es sendet somit keine eigenen Schallwellen aus, sondern empfängt nur die von Objekten selbst verursachten Schallwellen [2]. Diese zwei Ausprägungsformen verfügen über ganz eigene Vorteile und Nachteile. So ist
2 1 EINLEITUNG das aktive Sonar in der Lage, Objekte zu orten, die selbst gar keinen Schall aussenden. Durch das Aussenden einer eigenen Schallwelle macht es sich aber selbst leicht sichtbar für fremdes Sonar. Das passive Sonar vermeidet hingegen diesen Nachteil, kann dafür aber nur Objekte orten, die Schallwellen aussenden. Typische Vertreter des aktiven Sonars sind das monostatische Sonar, bei diesem befinden sich Sender und Empfänger an derselben Stelle und das multistatische Sonar, dessen Sender und Empfänger an unterschiedlichen Positionen platziert werden. 1.1 Problemstellung Diese Bachelorarbeit befasst sich mit exakten und heuristischen Lösungsverfahren für li- neare und quadratische ganzzahlige Programme, welche für die optimale Platzierung von Sendern und Empfängern beim multistatischen Sonar angewandt werden. Ich betrachte dabei zwei Probleme. Beim Ersten möchte ich mit einer gegebenen Anzahl Sensoren mög- lichst viel Raum eines Meeresabschnitts abdecken, beim zweiten Problem möchte ich den gesamten Meeresabschnitt mit möglichst geringen Kosten abdecken. Im Kapitel 3.3 gehe ich auf bereits existierende exakte Verfahren ein, die in der Lage sind, eine optimale Lösung für die Probleme zu berechnen. Deren Rechenzeiten sind in der Pra- xis jedoch für große Eingabedaten zu langsam. Um sich der Realität besser anzunähern, soll es möglich sein, auch feinmaschige Diskretisierungen der zu überwachenden Ozeanab- schnitte als Eingabedaten zu verwenden. Um dieses Ziel zu erreichen, wird im Laufe dieser Arbeit eine Heuristik entwickelt, diese garantiert im Gegensatz zu den exakten Verfahren keine Optimalität mehr, aber soll dennoch zu guten Lösungen bei vergleichsweise niedriger Rechenzeit führen.
3 2 Mathematische Grundlagen 2.1 Optimierung Es ist das Ziel der Optimierung, ein betrachtetes System zu verbessern und im Idealfall das namensgebende Optimum zu erreichen. Um solch ein System zu beschreiben, nutzt man ein mathematisches Modell, welches üblicherweise als Optimierungsproblem oder Programm (P) bezeichnet wird [8]. Zentrale Rolle spielt dabei die Zielfunktion z = f (x) mit der Ab- bildung f : Rn → R, n ∈ N [13]. Je nach Problemstellung sucht man nach dem Maximum oder Minimum der Zielfunktion z. Diese Probleme lassen sich gemäß des Dualitätsprinzips max z = −min(−z) und min z = −max(−z) leicht ineinander überführen, weshalb ich im Folgenden nur das Minimierungsproblem be- trachte [11]. Man beachte, x ist ein Variablenvektor mit x = (x1 , ..., xn )> . Die Variablen der Zielfunktion sind dabei oft durch Nebenbedingungen gi , i = 1, ..., k, k ∈ N auf einen zulässigen Bereich G := {x ∈ Rn |gi (x) ≤ 0, ∀i = 1, ..., k} beschränkt. Statt auf ganz Rn sucht man dann auf Rn ∩ G. Im Allgemeinen hat ein Optimierungsproblem (P) die Gestalt min z = f (x) (2.1) unter x ∈ G (2.2) mit G ⊆ Rn [11]. Gilt f (x∗ ) ≤ f (x) ∀x ∈ G für ein x∗ ∈ G, so bezeichnet man x∗ als Optimallösung und f (x∗ ) als das Optimum von (P). Je nach Art der Zielfunktion und der Gestalt des zulässigen Bereichs lässt sich das Problem klassifizieren [8]. Liegt beispielsweise eine lineare Zielfunktion vor und der zulässi- ge Bereich wird ausschließlich durch lineare Gleichungen und Ungleichungen beschrieben, so spricht man von einem linearen Optimierungsproblem [13]. 2.1.1 Gemischt-Ganzzahlige Optimierung Für einige Probleme ist es notwendig, einen Teil der Variablen als ganzzahlig anzunehmen. Laut Kallrath [13] spricht man in diesem Fall von einem gemischt-ganzzahligen Programm (engl. mixed-integer program, MIP). Für die in dieser Arbeit diskutierten Probleme be- nötige ich im Speziellen Binärvariablen, da diese jeweils eine Entscheidung repräsentieren. Gibt es nun nb binäre, nc reelle und nd ganzzahlige Variablen und k Nebenbedingungen, so ergibt sich mit x = (x1 , ..., xnb , ..., xnb +nc , ..., xnb +nc +nd )>
4 2 MATHEMATISCHE GRUNDLAGEN die folgende allgemeine Formulierung des Programms: min z = f (x) (2.3) unter gi (x) ≤ 0, i = 1, ..., k, (2.4) x1 , ..., xnb ∈ B, (2.5) xnb +1 , ..., xnb +nc ∈ R, (2.6) xnb +nc +1 , ..., xnb +nc +nd ∈ Z, (2.7) x ≥ 0. (2.8) Die Äquivalenzen gi (x) ≤ 0 ⇔ −gi (x) ≥ 0, sowie gi (x) ≥ 0 und gi (x) ≤ 0 ⇔ gi (x) = 0, erlauben dabei auch die Verwendung von „≥“ und „=“ in den Nebenbedingungen. Liegt der Spezialfall vor, dass man ausschließlich ganzzahlige Variablen hat, gilt also nb + nd > 0 und nc = 0, so handelt es sich um ein ganzzahliges Optimierungsproblem [13]. Falls dabei ausschließlich Binärvariablen vorliegen, spricht man mitunter auch von einem binären Programm. 2.1.2 Nichtlineare Optimierung Ist mindestens eine der Funktionen f (x) oder gi (x), ∀i = 1, ..., k nichtlinear, so hat man es mit einem nichtlinearen Optimierungsproblem zu tun [13]. Die in Kapitel 4.3 betrachteten Modelle haben mit den Ungleichungen (4.1) und (4.7) jeweils quadratische Nebenbedingun- gen. Da in den Modellen alle Variablen binär sind, handelt es sich dabei also um nichtlineare ganzzahlige Optimierungsprobleme bzw. im Speziellen um quadratische binäre Optimie- rungsprobleme. Für diese Klasse von Problemen existieren Linearisierungsansätze, um die Nebenbedingungen zu vereinfachen. Ich betrachte das Optimierungsprogramm min f (x1 , ..., xn ) (2.9) unter gi (x1 , ..., xn ) ≥ 0, i = 1, ..., m, (2.10) x1 , ..., xn ∈ B, (2.11) wobei gi (x) quadratische Funktionen sind [24]. Der älteste Ansatz basiert auf Watters [24] und wird von Fügenschuh et al. [10] aufgegriffen. Er sieht vor, dass man x2j durch xj für alle j ersetzt, da das offensichtlich nichts am Wert der Funktion ändert. Weiterhin führt man für alle j und k eine neue Binärvariable xjk ein, welche nur den Wert 1 annehmen soll, wenn das Produkt xj xk den Wert 1 annimmt. Dieser Zusammenhang lässt sich durch die linearen Nebenbedingungen 2xj,k ≤ xj + xk
2 MATHEMATISCHE GRUNDLAGEN 5 und xj + xk ≤ 1 + xj,k beschreiben. Die als Standard Linearisierung bezeichnete Methode nutzt das gleiche Vorgehen, jedoch verwendet man statt einer binären die reelle Variable xj,k ∈ [0, 1], wodurch sich die linearen Nebenbedingungen xj,k ≤ xj , xj,k ≤ xk und xj + xk ≤ 1 + xj,k ergeben [10]. Bei den Linearisierungen nach Glover, sowie nach Oral und Kettani, nutzt man Spalten- oder Zeilensummen, um die Nebenbedingungen zu linearisieren [10]. In Kapitel 3.3.2 wird die Linearisierung nach Oral und Kettani an einem Optimierungsproblem, welches in dieser Arbeit betrachtet wird, verdeutlicht. 2.2 CPLEX Da ich IBM ILOG CPLEX 12.8.0 für die Berechnungen verwende, möchte ich die dabei verwendeten Verfahren in diesem Kapitel kurz vorstellen. CPLEX nutzt Preprocessing, Probing, den Simplex-Algorithmus, Branch-and-Bound, Schnittebenen-Verfahren, Branch- and-Cut sowie paralleles Rechnen [12]. 2.2.1 Preprocessing und Probing Preprocessing und Probing werden vor dem eigentlichen Lösen genutzt, um das Problem zu vereinfachen. Beim Preprocessing wird auf Zulässigkeit geprüft, redundante Nebenbedingungen werden entfernt und die Schranken von Variablen, wenn möglich, verbessert [22]. Beim Probing werden testweise nacheinander die Binärvariablen auf entweder 0 oder 1 gesetzt. Die so entstehenden Programme werden mit den Methoden des Preprocessing ausgewertet, um gegebenenfalls einzelne Binärvariablen zu fixieren oder ihre Koeffizienten zu verbessern [22]. 2.2.2 Branch-and-Bound, Schnittebenenverfahren und Branch-and-Cut Unter Branch-and-Cut versteht man die Kombination aus Schnittebenen-Verfahren und Branch-and-Bound. Zunächst möchte ich die beiden Verfahren vorstellen. Branch-and-Bound ist ein Verfahren, welches aus den beiden namensgebenden Lösungs- prinzipien Branching und Bounding besteht. Ich betrachte das Verfahren für Maximie- rungsprobleme, bei Minimierungsproblemen müssen die Begriffe untere und obere Schran- ke entsprechend vertauscht werden [26].
6 2 MATHEMATISCHE GRUNDLAGEN Ich möchte zunächst das Branching erklären. Sei P0 das Ausgangsproblem und X(P0 ) die Menge seiner zulässigen Lösungen, dann wird es gemäß k [ X(P0 ) = X(Pi ) i=1 und möglichst X(Pi ) ∩ X(Pj ) = ∅ ∀i 6= j in k Teilprobleme P1 , ..., Pk zerlegt bzw. verzweigt (engl. to branch). Die Vereinigung der Lösungsmenge der Teilprobleme soll also die Lösungsmenge des Ausgangsproblems ergeben und der Durchschnitt der Lösungsmenge zweier Teilprobleme soll möglichst leer sein. Nach demselben Prinzip lässt sich jedes der Probleme P1 bis Pk erneut zerlegen und so weiter, man erhält so einen Baum mit Wurzel P0 [8]. Die folgende Erklärung basiert auf Domschke et al. [8]. Das Bounding liefert die Grund- lage, um festzustellen, wann eine weitere Verzweigung sinnvoll ist und wann nicht. Dafür wird einerseits die beste bekannte zulässige Lösung als eine globale obere Schranke F für den Zielfunktionswert der optimalen Lösung von P0 verwendet. Bei der Initialisierung wird diese auf den Wert −∞ gesetzt, alternativ kann sie aber auch mit einer Heuristik bestimmt werden. Andererseits bestimmt man für jedes Problem Pi für alle i eine lokale untere Schranke Fi . Dafür benötigt man eine Relaxation Pi0 von Pi , also ein vereinfachtes Problem mit X(Po ) ⊆ X(Pi0 ), welches man durch Vereinfachen oder Weglassen von Neben- bedingungen erhält. Bei einem gemischt-ganzzahligen Problem kann man beispielsweise auf die Ganzzahligkeitsforderung verzichten. Der Zielfunktionswert dieser Lösung dient dann als untere Schranke [8]. Ein Problem Pi ist fertig bearbeitet und muss nicht weiter betrachtet werden, sobald einer der folgenden drei Fälle erreicht ist: Fall 1 (Es gilt Fi ≤ F ): Da die bestmögliche Lösung des Teilproblems schlechter als die beste bekannte Lösung ist, kann hier keine Verbesserung erzielt werden. Fall 2 (Es gilt Fi > F und die optimale Lösung von Pi0 ist auch zulässig für Pi ): Damit ist eine zulässige neue beste Lösung von P0 gefunden und die untere Schranke kann gemäß F := Fi aktualisiert werden. Fall 3 (Es gilt X(Pi0 ) = ∅): In diesem Fall gibt es keine zulässige Lösung für Pi0 und somit hat auch das Teilproblem Pi keine zulässige Lösung [8]. Sind alle Teilprobleme fertig bearbeitet, so endet das Verfahren mit einer optimalen Lösung für P0 . Für ein Schnittebenen-Verfahren betrachtet man eine Relaxation des Problems, welche auf die Ganzzahligkeit der Variablen verzichtet. Man verschärft diese dann durch zusätz- liche Ungleichungen, um so nach Möglichkeit ganzzahlige Lösungen zu erhalten. Für ein gemischt-ganzzahliges Problem betrachte ich den zulässigen Bereich G = {x ∈ Rn |gi (x) ≤ 0, xj ∈ Z, x ≥ 0, j ∈ I, ∀i = 1, ..., k}. Seine konvexe Hülle conv(G) stellt einen Polyeder dar. Dieser lässt sich durch conv(G) = {x|αl x ≥ αl,0 , l = 1, ..., q} beschreiben, gilt (αl )> x ≥ αl,0 für alle x ∈ G, so handelt es sich um eine zulässige Ungleichung von G und man spricht man von einem Schnitt beziehungsweise einer Schnittebene [16].
2 MATHEMATISCHE GRUNDLAGEN 7 Das älteste Verfahren, um solche Schnittebenen zu bestimmen, ist das Schnittebenen- Verfahren von Gomory. Für eine genaue Beschreibung des Verfahrens siehe Zimmermann [26] Kapitel 3.6.2. Zur Durchführung von Branch-and-Cut nutzt man zuerst ein Schnittebenen-Verfahren, um die Relaxation des Problems zu verschärfen, indem man Schnittebenen hinzufügt. An- schließend führt man das Branch-and-Bound-Verfahren aus und verwendet dann wieder ein Schnittebenen-Verfahren für die so entstandenen Teilprobleme. Dies wiederholt man, bis das Problem gelöst ist. Auf diese Weise lässt sich gegenüber dem normalen Branch- and-Bound-Verfahren Rechenzeit einsparen [16]. 2.2.3 Paralleles Rechnen Grundsätzlich geht es beim parallelen Rechnen darum, ein Programm oder Teile davon so in Unterabschnitte zu unterteilen, dass diese von mehreren Prozessoren gleichzeitig be- ziehungsweise parallel ausgeführt werden können. Dadurch lässt sich unter Umständen Rechenzeit einsparen. Das Vorgehen lässt sich grob in drei Phasen unterteilen [20]. Während der Anlaufphase (engl. ramp-up phase) werden die Rechnungen oder Unterpro- gramme aufgeteilt und den einzelnen Prozessoren zugewiesen. Sobald ausreichend Aufga- ben verteilt wurden, beginnt die Hauptphase, während der der Algorithmus seine eigent- lichen Aufgaben abarbeitet. In der letzten Phase werden die geteilten Prozesse langsam heruntergefahren (engl. ramp-down phase) und ihre Ergebnisse ausgegeben [20]. Dieses Vorgehen eignet sich besonders für Baumalgorithmen, wie Branch-and-Bound und Branch-and-Cut, da sich dabei einzelne Teilprobleme ergeben, die parallel abgearbeitet werden können. Eine Kommunikation der einzelnen Prozesse untereinander ist begrenzt möglich, so können beispielsweise gewonnene Schranken direkt weitergegeben werden, al- lerdings sollte dabei darauf geachtet werden, dass der so gewonnene Nutzen größer als der zusätzliche Rechenaufwand ist [20]. 2.3 Heuristiken Der Begriff Heuristik wird in der Literatur mit verschiedenen Bedeutungen versehen, so gilt er beispielsweise als Zusammenfassung von Tricks, Techniken und Regeln zur Problem- lösung, als ganzer Gegenstandsbereich oder als Teil einer Wissenschaft [4]. Im Bereich des Operations Research versteht man unter dem Begriff in der Regel einen iterativen Algo- rithmus, welcher aber nicht gegen die Lösung des Problems konvergiert. Es gibt also keine Garantie, dass man die optimale oder gar eine mögliche Lösung findet [18]. An dieser Stelle muss man sich fragen, warum und wann man denn dann Heuristiken einsetzen sollte. Es gibt zahlreiche Probleme, wie beispielsweise die NP-Vollständigen (siehe Korte und Vygen [14]), für die kein Algorithmus existiert, welcher in akzeptabler Zeit gegen die Lösung kon- vergiert. Für diese Probleme können Heuristiken der einzige Weg sein, Lösungen in kurzer Zeit zu erhalten. Alternativ kann man Heuristiken aber auch für effizient lösbare Proble- me verwenden, um die Rechenzeit zu verkürzen. In Folge dessen werden Heuristiken auch innerhalb von konvergierenden Algorithmen verwendet, wie beispielsweise bei der Pivot- auswahl bei Linearen Programmen [18].
8 2 MATHEMATISCHE GRUNDLAGEN In den folgenden Unterkapiteln beschreibe ich drei typische Arten von Heuristiken, welche auf verschiedenste Problemstellungen angewandt werden können, weshalb man sie auch als Metaheuristiken bezeichnet. Ich orientiere mich dabei stark an Pham und Karaboga [19]. 2.3.1 Genetische Algorithmen Ganz allgemein ausgedrückt sind genetische Algorithmen Heuristiken, die Optima bestim- men, indem sie Methoden verwenden, welche sich an der Genetik und der natürlichen Selektion orientieren [19]. Bei der Optimierung von nichtlinearen multimodalen Funktionen stoßen herkömmliche Suchmethoden oft an ihre Grenzen, es bietet sich dann häufig die Verwendung einer Zu- fallssuche an. Geht man dabei aber einfach komplett zufällig vor, so erhält man gerade für große Instanzen hohe Rechenzeiten. Der genetische Algorithmus als Ansatz bringt eine Ordnung in diese Zufallssuche, um bessere Ergebnisse zu erzielen [19]. Abbildung 1: Die Darstellung zeigt den Ablauf eines einfachen genetischen Algorithmus als Flussdiagramm basierend auf Pham et al. [19]. Darstellungsform und erste Population Die zu optimierenden Parameter werden meist mit einer Zeichenfolge beziehungsweise Zei- chenkette dargestellt. Als beliebteste Methode hat sich dabei die binäre Darstellung durch- gesetzt, da diese aufgrund der heutigen Rechnerarchitektur eine maximale Speichereffizienz bietet, es existieren aber auch andere Methoden [19]. Eine solche Zeichenkette wird häufig
2 MATHEMATISCHE GRUNDLAGEN 9 als Genotyp oder Chromosom bezeichnet [25]. Zu Beginn benötigt man Startlösungen. Verfügt man bereits über geeignetes Vorwissen be- züglich des Problems, so können die Startlösungen in einem Bereich nahe der vermuteten optimalen Lösung gewählt werden. Ist dies nicht der Fall, so werden sie rein zufällig ge- wählt. Die so generierten Zeichenketten werden auch als Population der ersten Generation bezeichnet [19]. Sobald man über eine erste Population verfügt, wird jede Zeichenkette bewertet und an- schließend mit einem Wert versehen, welcher die reproduktive Fitness beschreibt. Die Zielfunktion wird dabei zur Bewertung einer Zeichenkette verwendet. Eine Fitnessfunk- tion wandelt dann den zugehörigen Zielfunktionswert in einen Fitnesswert um. Dieser be- schreibt die Möglichkeit zur Fortpflanzung. Zu beachten ist, dass der Zielfunktionswert einer Zeichenkette unabhängig von den Zielfunktionswerten anderer Zeichenketten ist. Der Fitnesswert hingegen steht in Relation zu den anderen Fitnesswerten der selben Generation [25]. Genetische Operatoren Aus der Population der ersten Generation sollen nun iterativ weitere Generationen gebildet werden. Dazu benötigt man genetische Operatoren. Die drei häufigsten genetischen Ope- ratoren sind Selektion, Kreuzung und Mutation, für manche Probleme bieten sich aber auch weitere Operatoren, wie beispielsweise ein Umkehrungsoperator an. Da die geneti- schen Operatoren unabhängig voneinander sind, kann man je nach gewählter Darstellung und nach Form des Problems ihre Art und Anzahl anpassen. Ich möchte an dieser Stelle die am häufigsten genutzten Operatoren vorstellen [19]. Die Selektion wird meist als erster genetischer Operator verwendet, da sie großen Einfluss darauf hat, ob und wie schnell eine geeignete Lösung gefunden wird. Ziel dieser Methode ist es, mehr Kopien beziehungsweise Nachkommen von Genotypen mit hohem Fitnesswert und weniger von Genotypen mit geringem Fitnesswert zu erhalten. Man wählt dabei be- wusst nicht ausschließlich Genotypen mit hohem Fitnesswert, damit das Verfahren nicht zu zeitig konvergiert und man den optimalen Zielfunktionswert erreichen kann. Bei der proportionalen Auswahl wird mehrfach zufällig ausgewählt. Der Fitnesswert bestimmt da- bei mit welcher Wahrscheinlichkeit ein Genotyp gewählt wird. Bei der Auswahl nach Rang werden die Genotypen entsprechend dem Fitnesswert in Ränge unterteilt und erhalten je nach Rang eine vorher festgelegte Anzahl an Nachkommen [19]. Einer der entscheidenden Punkte, in denen sich genetische Algorithmen von anderen Al- gorithmen unterscheiden, ist die Methode der Kreuzung. Hierbei werden aus zwei be- stehenden Genotypen, also den Eltern, zwei neue Genotypen, die Kinder, erschaffen. Es gibt zahlreiche Vorgehen, um aus den Genotypen der Eltern die Genotypen der Kinder zu kreieren, außerdem lässt sich auch die Anzahl der Eltern und Kinder variieren. In einem einfachen Beispiel wählt man zufällig zwei Eltern, zerschneidet ihre Genotypen am selben zufälligen Punkt, vertauscht dann zwei gleich lange Teilstücke und erzeugt so die beiden Kinder [19]. Bei der Mutation werden alle Bits der Zeichenketten durchlaufen und zufällig mit einer
10 2 MATHEMATISCHE GRUNDLAGEN gegebenen Mutationschance invertiert. Das erlaubt dem Algorithmus, andere Bereiche zu überprüfen, nicht frühzeitig zu konvergieren und somit bessere Lösungen zu finden. Auch hier existieren verschiedene Arten der Umsetzung, die sich zum Beispiel in der Wahl der Bits und der Art ihrer Veränderung beziehungsweise Mutation unterscheiden [19]. Abbildung 2: Aus der Generation t wird durch Selektion und Kreuzung die neue Generation t + 1 geschaffen. Die Darstellung basiert auf Whitley [25]. Die Abbildung 2 zeigt beispielhaft, wie aus einer Generation t durch die genetischen Opera- toren Selektion und Kreuzung die Nachfolgegeneration t + 1 erzeugt wird. Auf die Darstel- lung der Mutation wurde aus Platzgründen und im Sinne der Übersichtlichkeit verzichtet [25]. Der genetische Algorithmus erzeugt auf diese Weise immer neue Generationen von Zeichen- ketten und damit Lösungen der Zielfunktion. Die Abbildung 1 zeigt unter Verwendung der genetischen Operatoren Selektion, Kreuzung und Mutation, wie sich dieses Vorgehen wie- derholt, bis ein vorher festgelegtes Abbruchkriterium erreicht wird. Man erhält dann aus der Endpopulation eine Lösung für das Problem. Mögliche Abbruchkriterien sind eine feh- lende Verbesserung des Zielfunktionswerts über mehrere Populationen oder eine vorher bestimmte Anzahl an Generationen, es sind aber auch andere Kriterien denkbar. 2.3.2 Tabu-Suche Namensgebend für die Tabu-Suche sind dynamisch erstellte Einschränkungen, also Tabus, welche bei der Suche nach dem Optimum eingesetzt werden. Man kann durch diese Ein- schränkungen bei der Suche lokale Extrema vermeiden, um so das globale Extremum zu finden [19]. In jedem Schritt wird aus der Nachbarschaft der aktuellen Lösung die beste Lösung in Bezug auf die Zielfunktion und geltende Tabus ausgewählt. Eine Tabu-Liste speichert die dabei relevanten Eigenschaften der Auswahl, um sie später als Tabu festlegen zu können.
2 MATHEMATISCHE GRUNDLAGEN 11 Abbildung 3: Dieses Flussdiagramm zeigt das Vorgehen bei einer Tabu-Suche basierend auf Pham et al. [19]. Da in jedem Schritt auch eine Verschlechterung des Zielfunktionswerts erlaubt ist, kann es durch wiederholtes Besuchen der gleichen Lösung zu endlosen Zyklen kommen, dies wird durch geeignet gewählte Tabus verhindert. Die Tabu-Suche wird durch die drei Hauptstra- tegien Forbidding Strategy, Freeing Strategy und Short-Term Strategy bestimmt [19]. Die Forbidding Strategy beschreibt, was als Tabu festgelegt wird. Möchte man Zyklen vermeiden, reicht es aus zu überprüfen, ob man eine Lösung vorher bereits besucht hat. Theoretisch kann man dafür alle zuvor besuchten Lösungen speichern und diese in jedem Schritt überprüfen, allerdings benötigt dieses Vorgehen viel Rechenzeit und Speicher. Eine Alternative ist es, nur die besuchten Lösungen der letzten Ts Schritte zu überprüfen, auf diese Weise entfernt sich die Suche von diesen Lösungen. Man bezeichnet Ts als die Größe der Tabu-Liste. Wählt man diese zu klein, können wieder Zyklen auftreten, doch wählt man sie zu groß, könnten günstige Suchgebiete zu früh verlassen werden [19]. Durch die Freeing Strategy wird festgelegt, was aus der Tabu-Liste befreit beziehungs- weise entfernt wird, da es unter Umständen sinnvoll sein kann, Lösungen erneut in Betracht zu ziehen, wenn diese beispielsweise in einem günstigen Suchgebiet liegen. Ein möglicher Teil dieser Strategie ist, dass eine Lösung nach Ts Schritten aus der Tabu-Liste entfernt wird und dann als zulässig gilt. Im genauen Gegensatz zu den Tabus stehen die Aspirati- onskriterien, also günstige und erstrebenswerte Eigenschaften von Lösungen. Ein Aspirati- onskriterium beschreibt, was eine Lösung erfüllen muss, um trotz Eintrag in der Tabu-Liste zulässig zu sein und dient so dazu, das Suchverfahren zu steuern [19].
12 2 MATHEMATISCHE GRUNDLAGEN Die Short-Term Strategy regelt die Zwischenschritte und damit das Zusammenspiel der zuvor genannten Strategien. Für die Tabu-Suche ergibt sich so der in Abbildung 3 gezeigte Ablauf. Ausgehend von einer Startlösung wird eine Liste für Kandidaten von in Frage kom- menden Lösungen erstellt. Diese Kandidaten werden bewertet, um daraus im Anschluss die beste zulässige Lösung auszuwählen. Dabei spielen die Tabu-Liste und die Aspirations- kriterien die entscheidende Rolle. Ist ein festgelegtes Abbruchkriterium erreicht, so endet der Algorithmus mit einer Lösung. Ist dies nicht der Fall, so werden die Tabu-Liste und mögliche Aspirationskriterien aktualisiert und das Vorgehen wiederholt sich [19]. 2.3.3 Simulated Annealing Simulated Annealing (dt. simuliertes Abkühlen) umfasst alle Heuristiken, die sich an den Prozessen beim Abkühlen von Metall orientieren, da dabei ein energiearmer Zustand nahe dem Minimum erreicht wird [19]. Grundidee ist die Nachbildung eines Abkühlungsprozesses, etwa beim Glühen in der Me- tallurgie. Dabei wird Metall stark erhitzt und anschließend langsam abgekühlt bis es kris- tallisiert, also fest wird. Im hocherhitzten Zustand befinden sich die Atome des Materials auf einem hohen Energieniveau und können sich freier anordnen, sobald sich die Tempe- ratur reduziert, ordnen sie sich in einer Kristallstruktur an, für die das System minimale Energie hat. Die Wahrscheinlichkeitsverteilung der Energie des Systems bei einer festen Temperatur wird wie folgt durch die Boltzmann-Verteilung beschrieben: P (E) ∼ e−E/(kT ) . Hier ist E die Energie des Systems, k ist die Boltzmann-Konstante, T ist die Temperatur und P (E) gibt die Wahrscheinlichkeit dafür an, dass sich das System im Zustand mit der Energie E befindet. Daraus kann man folgern, dass das System selbst bei niedrigen Tempe- raturen mit einer geringen Wahrscheinlichkeit höhere Energieniveaus annehmen kann [19]. Im Vergleich mit einem Optimierungsproblem bedeutet das, dass man ein lokales Opti- mum auch wieder verlassen kann, um so eventuell ein besseres lokales Optimum zu finden. Dabei stehen feste Aggregatzustände für zulässige Lösungen des Problems und die Energie des Systems entspricht dem Zielfunktionswert. Somit ist der energieärmste Zustand die optimale Lösung des Problems [19]. Aufbau und Ablauf des Algorithmus Der Algorithmus bestimmt schrittweise Lösungen, dabei wird in jedem Schritt eine neue Lösung in der Nachbarschaft der aktuellen Lösung generiert, indem diese zufällig verändert wird. Bei diesem Vorgehen kann man sich teilweise an den genetischen Algorithmen (vgl. Kapitel 2.3.1) orientieren. Wie bei diesen benötigt man zunächst eine geeignete Darstel- lungsform für die Lösungen. Bei der zufälligen Veränderung der Lösung kann man sich an den genetischen Operatoren orientieren oder andere Operatoren benutzen. Man führt außerdem ähnlich der Fitnessfunktion eine Kostenfunktion ein, welche jedem Zielfunkti-
2 MATHEMATISCHE GRUNDLAGEN 13 Abbildung 4: Dieses Flussdiagramm zeigt den Ablauf eines Simulated Annealing Algorith- mus basierend auf Pham et al. [19]. onswert Kosten zuweist, um eine Vergleichbarkeit zu ermöglichen [19]. Die Änderung der Kostenfunktion zwischen aktueller und neuer Lösung wird genutzt, um zu entscheiden, ob die neue Lösung akzeptiert werden kann. Ist diese Änderung negativ, so wird die Lösung akzeptiert und aktualisiert. Ist dies nicht der Fall, so wird basierend auf dem Metropolis-Kriterium entschieden. Das Metropolis-Kriterium nutzt die Boltzmann- Verteilung und besagt, ist die Änderung der Kostenfunktion größer oder gleich Null, dann erzeuge ein zufälliges δ ∈ [0, 1] mittels einer stetigen Gleichverteilung. Gilt dann δ ≤ e(−∆E/T ) , so akzeptiere und aktualisiere die Lösung. Gilt dies nicht, behalte die aktuelle Lösung bei. Die Änderung der Kostenfunktion wird dabei durch ∆E beschrieben [19]. Im Anschluss folgt die namensgebende Abkühlung, da abhängig vom Ablauf die Tem- peratur verringert wird. Der Ablauf der Abkühlung beinhaltet die Starttemperatur, eine Update-Regel für die Temperatur, die Anzahl durchzuführender Schritte je Temperaturstu- fe und ein Abbruchkriterium für den Algorithmus. Wird die Temperatur nicht verringert, so wird aus der aktualisierten Lösung eine neue aktuelle Lösung generiert und der nächste Schritt beginnt von vorn. Wird die Temperatur verringert, so wird geprüft, ob das Ab- bruchkriterium erreicht ist. Ist dies nicht der Fall, so wird ebenfalls aus der aktualisierten Lösung eine neue aktuelle Lösung generiert und der nächste Schritt gestartet. Ein typischer Ablauf des Algorithmus ist in Abbildung 4 zu sehen [19].
15 3 Technische Grundlagen 3.1 Schall im Wasser Die Schallgeschwindigkeit, der Wellenwiderstand und die Absorption von Schall sind ent- scheidende Faktoren bei der Ausbreitung von Schall im Wasser. Sowohl die Temperatur T , der Salzgehalt S, als auch der hydrostatische Druck P spielen dabei eine große Rolle, da sie Einfluss auf die übrigen Parameter nehmen. Der Druck P hängt dabei direkt von der Meerestiefe z ab, wobei z = 0 die Meeresoberfläche darstellt. Bei niedrigen Frequenzen spielt außerdem der pH-Wert eine Rolle [2]. Für eine bessere Übersicht in den folgenden Formeln definiere ich folgende dimensionslose Variablen: P P̂ ≡ 1P a z ẑ ≡ 1m T T̂ ≡ 1K Der hydrostatische Druck P steigt monoton mit der Tiefe z an. Für übliche Verhältnisse lässt sich diese Abhängigkeit wie folgt beschreiben: P̂ (z) = 98066.5[1.04 + 0.102506(1 + 2.64 · 10−3 )ẑ + 2.524 · 10−7 ẑ 2 ] Die Temperatur T beträgt in vielen Gebieten der Tiefsee etwa 2◦ C, allerdings ist sie in der Nähe der Wasseroberfläche stärkeren Schwankungen ausgesetzt, welche beispielsweise durch die Jahreszeit ausgelöst werden. So besteht beispielsweise im Mittelmeer eine Tem- peraturdifferenz von etwa 15◦ C zwischen Winter und Sommer. Weiterhin befindet sich darunter die Thermokline, also ein Bereich, in welchem die Temperatur stark mit steigen- der Tiefe abfällt. Möchte man also, statt mit Durchschnittswerten, mit genauen Werten arbeiten, so sind Messungen nötig [2]. Die Salzhaltigkeit hat einen vergleichsweise geringen Einfluss auf die Schallgeschwindig- keit im Wasser, außerdem liegen die meisten großen Ozeane mit Werten von 34.5 bis 35 Gramm Salz pro Kilogramm Wasser sehr dicht beieinander, weshalb es mitunter genügt einen Durchschnittswert von 34.7 zu verwenden. Für spezielle Gewässertypen ist eine Mes- sung nötig, welche die Salzhaltigkeit durch die Leitfähigkeit bestimmt und gleichzeitig mit einer Temperaturmessung durchgeführt werden kann [2]. Ich betrachte nun die Schallgeschwindigkeit im Wasser, sie liegt in der Größenordnung von cwasser ≈ 1500 m/s. Da aber sowohl Temperatur, Salzgehalt, als auch Druck von der
16 Tiefe abhängen, wird die Schallgeschwindigkeit dadurch stark beeinflusst. Die tatsächliche Schallgeschwindigkeit wird durch eine sehr komplizierte Funktion, welche von der Salzhal- tigkeit S, der Temperatur T und dem Druck P abhängt, beschrieben. Für die Modellierung von Sonartechnik genügt es glücklicherweise, die Schallgeschwindigkeit in m/s durch eine vereinfachte Formel darzustellen: ĉ(S, T, z) =1448.96 + 4.591T̂ − 0.05304T̂ 2 + 2.374 · 10−4 T̂ 3 + (1.340 − 0.01025T̂ ) · (S − 35) + 0.0163ẑ + 1.675 · 10−7 ẑ 2 − 7.139 · 10−13 T̂ ẑ 3 . Diese Formel bestimmt die Schallgeschwindigkeit mit einer Präzision von ±0.07 m/s, für −2 < T̂ < 30 25 < S < 40 0 < ẑ < 8000 und ist somit für die meisten Anwendungsgebiete geeignet [2]. Besonders bei Sonarsystemen für große Distanzen spielt die Absorption von Schall eine große Rolle. Die Viskosität hat einen großen Einfluss auf Schallwellen mit hohen Frequenzen von 1 M Hz oder höher. Die Temperatur und die Salzhaltigkeit spielen dabei die Hauptrolle. Bei niedrigen Frequenzen von bis zu 300 kHz hängt die Absorption vor allem vom Druck und vom pH-Wert ab. Doch auch Blasenbildung und eine große Anzahl an Fischen kann einen Einfluss auf die Absorption des Schalls haben [2]. Breitet sich Schall ausgehend von einer Stelle gleichmäßig aus, so kommt es zu einem Übertragungsverlust, welcher durch T L = 20 log d beschrieben werden kann. Dabei spielt lediglich der Abstand d zur Schallquelle eine Rolle [17]. 3.2 Zielerkennung beim Sonar Sendet man eine Schallwelle von einem Gerät zu einem Ziel, so benötigt diese eine gewisse Zeit. Ich gehe von der Annahme aus, dass sich Schallwellen mit einer konstanten Geschwin- digkeit cwasser fortbewegen. So lässt sich jeder zurückgelegten Zeit τ eine Distanz d wie folgt zuordnen [1]: d = τ · cwasser . Im Sinne der Übersichtlichkeit verwende ich ab jetzt nur noch Distanzen und nicht die Reisezeit der Schallwellen. Im Folgenden werde ich Ziele mit t, Empfänger mit r und Sender mit s bezeichnen. Sei nun die Distanz vom Ziel zum Empfänger dt,r , die Distanz vom Ziel zum Sender dt,s und die Distanz vom Empfänger zum Sender dr,s . Die Range of the Day ρ0 beschreibt die bekannte maximale Reichweite des monostatischen Sonars [5].
3 TECHNISCHE GRUNDLAGEN 17 3.2.1 Cookie-Cutter Erkennungswahrscheinlichkeiten Die Wahrscheinlichkeit, mit der das Sonar ein Ziel erkennt, lässt sich am einfachsten mit dem Cookie-Cutter Modell angeben. Das bedeutet, dass diese Wahrscheinlichkeit innerhalb der maximalen Reichweite bei 1 und außerhalb bei 0 liegt. Für das monostatische Sonar ergibt sich so mit d = dt,s = dt,r folgende Erkennungswahrscheinlichkeit [9]: 1 für d ≤ ρ , 0 pt,s,r = (3.1) 0 sonst. Abbildung 5: Typisch auftretende Formen Cassinischer Kurven für verschiedene dr,s basie- rend auf Craparo et al. [6]. Für das multistatische Sonar lässt sich die Entdeckungswahrscheinlichkeit nicht so trivial angeben, da sich Sender und Empfänger nicht an derselben Stelle befinden. Ich betrachte zunächst die auftretenden Übertragungsverluste T L beim Aussenden der Schallwellen. Laut Fewell und Ozols [9] beschreibt dies im monostatischen Fall T Lmono = 20 log d2 = 40 log d (3.2)
18 3 TECHNISCHE GRUNDLAGEN und im multistatischen Fall T Lmulti = 20 log dt,r dt,s . (3.3) Durch das Einführen der sogenannten äquivalenten monostatischen Reichweite p dequiv = dt,r dt,s (3.4) lassen sich die Gleichungen (3.2) und (3.3) ineinander überführen [9]. Ersetze ich nun in der Gleichung (3.1) die Distanz d durch dequiv , so erhalte ich die Erken- nungswahrscheinlichkeit für das multistatische Sonar mit: 1 für d d = ρ2 ≤ ρ2 , t,s t,r t,s,r 0 pt,s,r = (3.5) 0 sonst. Betrachtet man jetzt den Fall dt,s dt,r = ρ20 , ergibt sich für die maximale Reichweite des Sonars eine sogenannte Cassinische Kurve, deren Form vom Abstand dr,s und von der maximalen monostatischen Reichweite ρ0 abhängt [6]. Die Abbildung 5 zeigt die typischen Arten der Cassinischen Kurve für ρ0 = 1. Wählt man den Abstand dr,s = 0, so ergibt sich die für monostatische Sonare typische Form, ein √ Kreis mit dem Radius ρ0 . Für 0 ≤ dr,s < 2 · ρ0 beschreibt die Kurve eine Ellipse. Für √ 2 · ρ0 ≤ dr,s < 2 · ρ0 bilden sich von oben und unten Dellen im Zentrum der Ellipse. Im Spezialfall dr,s = 2ρ0 nimmt sie die Form einer Lemniskate an. Und für dr,s > 2ρ0 bilden sich zwei geteilte Ellipsen [6]. 3.2.2 Probabilistische Erkennungswahrscheinlichkeiten In der Praxis nimmt die Erkennungswahrscheinlichkeit mit steigender Distanz ab, weshalb neben dem simplen Cookie-Cutter Modell ein probabilistischer Ansatz verwendet wird. Dabei wird ein Ziel t von einem Sender s und einem Empfänger r mit der Wahrschein- lichkeit pt,s,r ∈ [0, 1] erkannt. Der Rand der Cassinischen Kurve dt,s dt,r ≤ ρ20 , beschreibt dabei den Bereich, für den pt,s,r = 0.5 gilt. Bewegt man sich in das Innere des Ovals, so erreicht die Erkennungswahrscheinlichkeit ein Maximum Pmax , bewegt man sich hingegen nach Außen, so flacht sie auf den Wert 0 ab. In der praktischen Anwendung rundet man die Wahrscheinlichkeit auf 0, sobald sie einen Wert Pmin unterschreitet, da dann das Signal zu schwach ist [10]. In der Literatur werden zwei verschiedene Arten von Funktionen verwendet, um die Er- kennungswahrscheinlichkeit möglichst gut zu beschreiben. Die Fermi-Funktion 1 ft,s,r := d−1 (3.6) 1 + 10 b1 mit dt,s · dt,r d := ρ20 ist die erste Möglichkeit, diese Wahrscheinlichkeit zu beschreiben. Der Parameter b1 beein- flusst dabei, wie steil die Kurve verläuft, also wie schnell die Wahrscheinlichkeit von nahe 1
3 TECHNISCHE GRUNDLAGEN 19 für geringe Distanzen zu nahe 0 für große Distanzen wechselt. Lässt man b1 gegen 0 laufen, so gleicht sich das Modell dem Cookie-Cutter Modell an [10]. Als zweite Möglichkeit kann eine Exponentialfunktion der Gestalt et,s,r := 10−0.30103·d (3.7) genutzt werden. Die ungewöhnliche Zahl im Exponenten stellt dabei sicher, dass pt,s,r = 0.5 auf dem Rand des Cassini Ovals gilt [9]. Da ich mich stark am Artikel „Solving multistatic sonar location problems with mixed- integer programming“ [10] orientiere, verwende ich in der weiteren Arbeit die Fermi- Funktion. 3.2.3 Direct Blast Effect Zwischen Sender und Empfänger gibt es einen Bereich, in dem Ziele nicht erkannt werden können, genannt Blind Zone. Trifft die vom Ziel reflektierte Schallwelle beim Empfänger ein, während dieser noch die ursprünglich ausgesendete Schallwelle empfängt, so kann dieser die beiden Schallwellen nicht voneinander unterscheiden. Diesen Effekt nennt man Direct Blast Effect [10]. Die Pulsdauer der ausgesendeten Schallwelle bezeichne ich als τ und ihre Geschwindigkeit als ν. Schicke ich nun eine Schallwelle los, so erreicht diese den Empfänger während des Zeitintervalls ds,r ds,r [ , + τ ]. ν ν Das vom Ziel reflektierte Echo kommt während des Zeitintervalls ds,t + dt,r ds,t + dt,r [ , + τ] ν ν an. Überlagern sich diese Intervalle, gilt also ds,t + dt,r ds,r < + τ, (3.8) ν ν so trifft das Echo ein, während die ursprüngliche Schallwelle noch empfangen wird und τ ·ν es ist keine Zielerkennung möglich. Mit der Pulslänge kb := 2 erhalte ich die zu (3.8) äquivalente Ungleichung dt,s + dt,r < ds,r + 2kb , (3.9) diese dient als Bedingung für die durch den Direct Blast Effect hervorgerufene Blind Zone [7]. Die Pulslänge ist also entscheidend, da ein reflektierter längerer Puls sich eher mit dem ursprünglichen Signal überlagert. Um diesen Effekt anschaulich darstellen zu können, kb führe ich den Parameter K := ρ0 ein. Die Abbildung 6 zeigt die Blind Zones für K = 0.01, K = 0.05, K = 0.1 und K = 0.2 für die verschiedenen Formen der Cassinischen Kurven [7]. Wird diese Ungleichung im Cookie-Cutter Modell erfüllt, liegt also ein Ziel in diesem Bereich, so gilt für die Erkennungswahrscheinlichkeit pt,s,r = 0 [10]. Es genügt hier, wenn
20 3 TECHNISCHE GRUNDLAGEN Abbildung 6: Durch den Direct Blast Effect hervorgerufene Blindzone für mehrere K und verschiedene Formen der Cassinischen Kurven basierend auf Craparo et al. [7]. man die Ungleichung (3.9) als Bedingung zur Gleichung (3.5) hinzufügt, man erhält so: 1 für d d = ρ2 ≤ ρ2 und dt,s + dt,r ≥ ds,r + 2kb , t,s t,r t,s,r 0 pt,s,r = (3.10) 0 sonst. Für das probabilistische Modell beschreibt diesen Effekt eine Fermi-Funktion der Gestalt 1 Ft,s,r := 1−d˜ 1 + 10 b2 mit dt,s + dt,r d˜ := . ds,r + 2kb Somit ergibt sich eine Erkennungswahrscheinlichkeit p̃t,s,r := Pmax · ft,s,r · Ft,s,r . (3.11) Die Menge G beinhaltet alle Platzierungsmöglichkeiten für Ziele, Sender und Empfänger.
3 TECHNISCHE GRUNDLAGEN 21 Da ein Ziel von mehr als einem Paar, bestehend aus Sender und Empfänger, abgedeckt werden kann und diese voneinander unabhängig sind, erhält man die Wahrscheinlichkeit, dass wenigstens ein Paar das Ziel t erkennt, mit Y 1− (1 − p̃t,s,r ) s,r∈G Ein Ziel t wird genau dann erkannt, wenn diese Wahrscheinlichkeit einen vorher festgelegten Wert φ ∈ (0, 1) überschreitet, also wenn Y 1− (1 − p̃t,s,r ) ≥ φ (3.12) s,r∈G gilt. Durch das Ziehen des Logarithmus lässt sich diese Formulierung wie folgt linearisieren: X log1−φ (1 − p̃t,s,r ) ≥ 1. s,r∈G Dadurch lässt sich der Beitrag zur Gesamterkennungswahrscheinlichkeit eines Ziels t für ein einzelnes Sender-Empfänger-Paar mit pt,s,r := log1−φ (1 − p̃t,s,r ) (3.13) angeben [10]. 3.2.4 Bresenham-Algorithmus Befindet sich irgendwo zwischen Sender und Empfänger, Ziel und Sender oder Ziel und Empfänger ein Hindernis, wie zum Beispiel eine Insel, so können die Schallwellen nicht alle nötigen Sonargeräte erreichen und eine Zielerkennung ist ebenfalls nicht möglich. Es ist also nötig zu prüfen, ob solche Hindernisse existieren. Da ich später mit diskreten Werten am Computer arbeiten möchte, nutze ich den Bresenham- Algorithmus. Dieser ermöglicht das Zeichnen von Geraden auf Rastern. Prüfe ich jeden Punkt einer solchen Geraden, so kann ich feststellen, ob sich ein Hindernis auf ihr befindet. Um den ursprünglichen Bresenham-Algorithmus zu erklären, betrachte ich zunächst den ersten Oktant, also eine Steigung zwischen 0 und 1. Für andere Oktanten muss man den Algorithmus entsprechend anpassen [3]. Der Startpunkt sei (x0 , y0 ) und der Zielpunkt (x1 , y1 ). Ich lege die Abstände dx = x1 − x0 und dy = y1 − x0 fest, wobei für diesen Oktant 0 < dy ≤ dx gelten muss. Da hier dx ≥ dy gilt, mache ich zunächst Schritte in x-Richtung und auch immer wieder einen Schritt in y-Richtung, abhängig von der Steigung. Um zu wissen, wann ich einen Schritt in y-Richtung machen muss, nutze ich die Fehlervariable err. Bei einem Schritt in x-Richtung subtrahiere ich dy und bei einem Schritt in y-Richtung addiere ich dx zu err [27]. Da der ursprüngliche Bresenham-Algorithmus nur auf den ersten Oktant angewandt wird, verwende ich eine modifizierte Version, welche mir eine Linie in allen Richtungen erlaubt. Außerdem möchte ich, anstatt eine Linie zu zeichnen, lediglich prüfen, ob sich ein Hin-
22 dernis am jeweiligen Punkt befindet. Der folgende Pseudocode zeigt diesen modifizierten Algorithmus [27]: Algorithmus 1 Modifizierter Bresenham-Algorithmus Input: Startpunkt (x0 , y0 ), Endpunkt (x1 , y1 ) Output: true, wenn ein Hindernis vorhanden ist, sonst f alse 1: dx = |x1 − x0 |, dy = −|y1 − y0 | 2: if x0 < x1 then 3: sx = 1 4: else 5: sx = −1 6: end if 7: if y0 < y1 then 8: sy = 1 9: else 10: sy = −1 11: end if 12: err = dx + dy 13: while Endpunkt nicht erreicht und kein Hindernis gefunden do 14: e2 = 2 · err 15: if bei (x0 , y0 ) Hindernis gefunden then 16: return true 17: end if 18: if (x0 , y0 ) = (x1 , y1 ) then 19: return f alse 20: end if 21: if e2 > dy then 22: err = err + dy 23: x0 = x0 + sx 24: end if 25: if e2 < dx then 26: err = err + dx 27: y0 = y0 + sy 28: end if 29: end while Je nach Lage des Start- und Endpunkts wird die Schrittrichtung durch Veränderung der Vorzeichen der Schritte sx und sy angepasst. Die Abbildung 7 verdeutlicht das Vorgehen des Algorithmus an einem einfachen Beispiel, in der Abbildung gilt dx = 5 und dy = −4. Die grünen Kacheln zeigen die durch den modifizierten Bresenham-Algorithmus abgelaufe- ne Linie, dabei wird in jedem Schleifendurchlauf überprüft, ob e2 < dx und/oder e2 > dy gilt und der entsprechende Schritt durchgeführt. Bei einem Schritt in y-Richtung addiert man 2dx und bei einem Schritt in x-Richtung 2dy zu e2 hinzu. In allen bis auf den dritten Schritt gilt sowohl e2 < dx, als auch e2 > dy und es wird entsprechend ein Diagonal- schritt durchgeführt. Im dritten Schritt gilt lediglich e2 > dy und es wird nur ein Schritt in x-Richtung durchgeführt. Die Linie endet, als das Ziel (x1 , y1 ) erreicht wird [27].
3 TECHNISCHE GRUNDLAGEN 23 Abbildung 7: Beispiel für das Vorgehen des modifizierten Besenham-Algorithmus in An- lehnung an Zingl [27]. 3.3 Bekannte Modelle Um das im folgenden Kapitel 4 vorgestellte Modell zu lösen, existieren bereits einige Ver- fahren, bei denen man spezielle Modellformulierungen lösen muss. Ich möchte in diesem Kapitel zwei zugrunde liegende Modellformulierungen für den späteren Vergleich vorstel- len, um zu verdeutlichen, weshalb ein heuristischer Lösungsansatz sinnvoll ist. Das ursprüngliche Modell lässt sich nur unter großem Aufwand lösen, da die Ungleichun- gen (4.1) für das Problem der Abdeckungsmaximierung und die Ungleichung (4.7) für das Problem der Kostenminimierung nichtlinear sind. Aus Gründen der Übersicht betrachte ich dabei nur das Maximierungsproblem, da es das Kompliziertere von beiden ist. Für das Minimierungsproblem lässt sich die Formulierung analog aufstellen. Seien nun g, g 0 ∈ G Gitterpunkte und t ∈ G Ziele. Zunächst berechne ich für alle Tripel (t, g, g 0 ) die Erkennungswahrscheinlichkeiten pt,s,r mit den Gleichungen (3.10) bzw. (3.13). Dieser Schritt erlaubt mir die Berechnung außerhalb der Modelle [10]. 3.3.1 Modellformulierung DISC-LOC Diese Formulierung basiert vorwiegend auf dem Artikel „Optimizing source and receiver placement in multistatic sonar networks to monitor fixed targets“ [5] sowie „Solving mul- tistatic sonar location problems with mixed-integer programming“ [10]. Er verwendet die in Kapitel 2.1.2 vorgestellten Möglichkeiten, um die Nebenbedingung (4.1) zu linearisieren und soll die optimale Platzierung der Sender und Empfänger mit Methoden für lineare
24 3 TECHNISCHE GRUNDLAGEN Optimierungsprobleme ermöglichen. Notwendige Mengen und Variablen Neben pt,s,r benötige ich folgende binäre Variablen: sg : Nimmt Wert 1 an, falls sich ein Sender am Gitterpunkt g befindet. rg : Nimmt Wert 1 an, falls sich ein Empfänger am Gitterpunkt g befindet. hg,g0 : Nimmt Wert 1 an, falls sich ein Sender am Gitterpunkt g und ein Empfänger am Gitterpunkt g 0 befindet. ct : Nimmt Wert 1 an, wenn das Ziel t erkannt wird. Nebenbedingungen Wird ein Ziel t von einem Sender auf g und einem Empfänger auf g 0 erkannt, so muss gewährleistet sein, dass die Bedingung dt,s dt,r ≤ ρ20 der Gleichung (3.5) eingehalten wird. Dies wird durch die beiden folgenden Nebenbedingungen sichergestellt: hg,g0 ≤ sg ∀g, g 0 ∈ G, (3.14) hg,g0 ≤ rg0 ∀g, g 0 ∈ G. (3.15) Jedes Ziel t darf nur dann erkannt werden, wenn die Bedingung dt,s dt,r ≤ ρ20 für wenigstens ein Dupel aus Gitterpunkten erfüllt ist. Damit dies eingehalten wird, genügt die Nebenbe- dingung X ct ≤ hg,g0 ∀t ∈ G. (3.16) (g,g 0 ):(t,g,g 0 )∈D Um nicht die maximale Anzahl an verfügbaren Sensoren und Empfängern zu überschreiten, benötige ich außerdem noch folgende Nebenbedingungen: X sg ≤ |S|, (3.17) g∈G X rg ≤ |R|. (3.18) g∈G Weiterhin gilt für die Variablen: sg , rg ∈ {0, 1} ∀g ∈ G, (3.19) ct ∈ {0, 1} ∀t ∈ G, (3.20) hg,g0 ∈ {0, 1} ∀g, g 0 ∈ G. (3.21) Als Folge verfügt diese Formulierung über n2 zusätzliche Binärvariablen und n2 zusätzliche Nebenbedingungen.
Sie können auch lesen