Skip to content

Flow-Optix - Conceptual Optimization of SDN Traffic Using Multi-Strategy Flow Routing v1.2.0

 Published: 4 min read

Flow-Optix is a conceptual Python-based simulation and visualization tool for optimizing Software-Defined Networking (SDN) traffic using multiple routing strategies. It allows users to compare the network impact of four algorithms—Shortest Path, Load Balancing, Congestion Avoidance, and Q-Learning—under randomized traffic flow conditions. The tool emphasizes educational clarity, algorithmic transparency, and visual interpretability.

Table of contents

Open Table of contents

Actions

  1. 🗃️ Download Windows EXE File ~v1.2.0

  2. Open GitHub Repository source for this project. (Closed-source)

  3. Open Google Drive folder to view all associated files and source.

  4. Open presentation in Google Slides.

  1. Open report in Google Docs.

📌 Features

📌 Installation

1. Clone the Repository

git clone https://github.com/s-m-quadri/flow-optix
cd flow-optix

2. Create Virtual Environment

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

3. Install Requirements

pip install -r requirements.txt

📌 Usage

Run in Python

python main.py

Run from Executable

A standalone .exe build is available in the Releases section as FlowOptix.exe. No Python installation is required to run the compiled version.

📌 Project Structure

├── main.py             # Entry point
├── gui.py              # Tkinter-based GUI
├── topology.py         # Network topology and flow generation
├── routing.py          # All routing algorithms
├── visualization.py    # Drawing and visual annotations
├── requirements.txt    # Dependencies
├── setup.spec          # PyInstaller spec file
├── icon.ico            # App icon for .exe
├── README.md           # This file

📌 Algorithms

1. Shortest Path Routing

Uses Dijkstra’s algorithm to determine the shortest path between source and destination for each flow.

2. Load Balancing Routing

Distributes flows across all available shortest paths to avoid overuse of a single link.

3. Congestion-Aware Routing

Avoids links with high utilization by applying a dynamic threshold-based penalty to congested links.

4. Q-Learning Routing

Implements reinforcement learning to train agents that learn optimal paths based on link costs (negative weights). Supports training over multiple episodes per round.

📌 License and Access

This project is closed-source. The source code is not publicly visible in the GitHub repository. Interested users may request access by contacting the author.

📌 Support

For questions or access requests, please contact:

Developer Email: dev.smq@gmail.com Repository: https://github.com/s-m-quadri/flow-optix


Previous Project
ToonSuggest - Animation Movie Recommender System v1.0
Next Project
RedBERT - Summarize & Sentiment Analyzer v1.0