Skip to content

Sammlung metaheuristischer Algorithmen zur Optimierung von Problemen

License

Notifications You must be signed in to change notification settings

DavidPiper94/MetaheuristicKit

Repository files navigation

MetaheuristicKit

CI Status Version License Platform

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.

Usage

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

MetaheuristicKit is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "MetaheuristicKit"

Author

DavidPiper94, david.piper@udo.edu

License

MetaheuristicKit is available under the MIT license. See the LICENSE file for more info.

About

Sammlung metaheuristischer Algorithmen zur Optimierung von Problemen

Resources

License

Stars

Watchers

Forks

Packages

No packages published