https://github.com/emiz98/firefly-algorithm-tsp
Firefly Algorithm benchmark TSP
https://github.com/emiz98/firefly-algorithm-tsp
firefly-algorithm genetic-algorithm javascript p5js swarm-intelligence
Last synced: 8 months ago
JSON representation
Firefly Algorithm benchmark TSP
- Host: GitHub
- URL: https://github.com/emiz98/firefly-algorithm-tsp
- Owner: emiz98
- License: gpl-3.0
- Created: 2022-03-30T15:28:21.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-14T10:49:27.000Z (over 3 years ago)
- Last Synced: 2025-06-29T05:34:16.972Z (9 months ago)
- Topics: firefly-algorithm, genetic-algorithm, javascript, p5js, swarm-intelligence
- Language: JavaScript
- Homepage: https://emiz98.github.io/firefly-algorithm-tsp/
- Size: 2.69 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Evolutionary Discrete Firefly Algorithm for Traveling Salesman Problem

## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Build Process](#build-process)
- [Tech Stack](#tech-stack)
## Introduction
The paper that was related to this implementation was published by Gilang Kusuma Jati and Suyanto. It addresses how to apply firefly algorithm (FA) for traveling salesman problem (TSP). Two schemes are studied, i.e. discrete distance between two fireflies and the movement scheme. Computer simulation shows that the simple form of FA without combination with other methods performs very well to solve some TSP instances, but it can be trapped into local optimum solutions for some other instances.
## Features
🚀 Ability to instantiate Random TSP instances
🚀 Ability to select benchmarks Ulysses 16/22
🚀 Can tweak parameters (population, alpha etc.)
🚀 Toggle crossover to avoid premature convergence
## Build Process
- Clone or download the repo
- to run the application
## Tech Stack

## Project Goals & Outcomes
✔️ Learning Javascript
✔️ Learning [`P5.JS`](https://p5js.org/)
✔️ Learning to solve np-hard problems in a polynomial time
✔️ Learning to solve premature convergence.