Dies ist Framework mit einer Sammlung von metaheuristischen Algorithmen, die in Swift implementiert sind. Sie wurden für mein Proseminar "Metaheuristische Optimierungen" an der Technischen Universität Dortmund im Sommersemester 2016 von mir auf Grundlage des Buchs "Essentials of Metaheuristics" von Sean Luke umgesetzt. Dieses Buch ist kostenfrei auf folgender Seite herunterzuladen:
https://cs.gmu.edu/~sean/book/metaheuristics/
Metaheuristiken sind Optimierungsalgorithmen, welche Probleme versuchen zu lösen, für die keine optimale Lösung bekannt ist. Zu dieser Gruppe von Algorithmen gehören unter anederem die Evolutions-Strategie, der genetische Algorithmus, Hill-Climbing und weitere. Das Hauptaugenmerk liegt bei diesem Projekt zunächst auf dem genetischen Algorithmus und seinen Bestandteilen Selektion, Crossover und Mutation, später sollen aber noch andere Algorithmen hinzugefügt werden.
Das Framework liegt in Form eines CocoaPod-Projekts vor. CocoaPod ist ein Dependency Manager, welcher das Verwenden von externen Frameworks stark vereinfacht.
Die wichtigste Datei, welche die Implementierung des genetischen Algorihtmus darstellt, ist GeneticAlgorithm.swift. Sie befindet sich in MetaheuristicKit/MetaheuristicKit/Classes/GeneticAlgorithm.swift.
Zu einem CocoaPod-Projekt gehört auch immer eine beispielhafte Verwendung des Frameworks, diese findet sich unter MetaheuristicKit/Example/MetaheuristicKit/ViewController.swift. Hier werden zwei GeneticAlgorithm-Objekte vom Typ Bool und Float erstellt, die Attribute geändert und anschließend ausgeführt.
To run the example project, clone the repo, and run pod install
from the Example directory first.
MetaheuristicKit is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "MetaheuristicKit"
DavidPiper94, david.piper@udo.edu
MetaheuristicKit is available under the MIT license. See the LICENSE file for more info.