v-va*

← return to the collection

08 · research / undergraduate thesis

swarmwave

a colony of agents negotiating one timetable

simulation · swarm intelligence


artist
fazza abiyyu
date
2025 — 2026
role
research developer
medium
Flask · Nuxt.js · Docker · Python
status
on view

statement

A comprehensive web application implementing bio-inspired optimization techniques (ACO vs PSO) to solve complex resource allocation problems in distributed computing environments — with real-time visualization and interactive algorithm simulation.

  • mechanism comparing two swarm intelligence approaches: ant colony optimization vs particle swarm optimization.
  • observation dashboard tracks convergence progress live while the colony works.
  • reproducibility fully containerized for repeatable experiments.
8 functional requirements
4 uml diagrams
8 tech components
SSE real-time streaming

the problem

complex multi-agent scheduling

Task scheduling in multi-agent environments is an NP-hard problem. Traditional heuristic methods struggle with large-scale scenarios involving multiple agents, task dependencies, and varying resource constraints. Finding optimal or near-optimal schedules requires intelligent optimization approaches.

the answer

bio-inspired swarm intelligence

Swarm Wave applies Ant Colony Optimization (ACO) and Particle Swarm Optimization (PSO) — two bio-inspired metaheuristics — to find near-optimal task schedules. With real-time SSE streaming, researchers can observe algorithm convergence and compare performance interactively.

exhibited artifact

fig. i — the colony · flask api · python
fig. i — the colony · flask api · python
fig. ii — the experiment floor · live dataset workspace
fig. ii — the experiment floor · live dataset workspace

requirements analysis

functional requirements

coderequirementdescription
FR-01Algorithm SimulationRun ACO and PSO algorithms on selected datasets
FR-02Real-time StreamingStream algorithm iterations via Server-Sent Events (SSE)
FR-03Data ManagementImport/Export tasks and agents via CSV and JSON files
FR-04Visual AnalyticsInteractive Chart.js graphs for fitness progression
FR-05Parameter TuningAdjust heuristic parameters (alpha, beta, inertia, etc.) dynamically
FR-06Result ComparisonCompare makespan and execution times between algorithms
FR-07Interactive TableExcel-like grid for manual task and agent modifications
FR-08Containerized DeploymentDocker-ready setup for reproducible research environments

system design — uml plates

drawings & diagrams

system architecture — frontend (nuxt 4) · backend (flask) · data layer, docker compose
plate i — system architecture — frontend (nuxt 4) · backend (flask) · data layer, docker compose
use case diagram — researcher and system actors
plate ii — use case diagram — researcher and system actors
class diagram — task · agent · schedule · acosolver · psosolver · simulationresult
plate iii — class diagram — task · agent · schedule · acosolver · psosolver · simulationresult
sequence diagram — simulation flow from researcher to algorithm engine
plate iv — sequence diagram — simulation flow from researcher to algorithm engine

materials list

technical inventory

backend Python / Flask
frontend Nuxt 4 / Vue 3
language TypeScript
styling Tailwind CSS
charts Chart.js
streaming Server-Sent Events
container Docker Compose
data CSV / JSON

notable installations

features & integrations

aco

Ant Colony Optimization

Inspired by ant foraging behavior. Artificial ants construct solutions by probabilistically selecting task-agent assignments based on pheromone trails and heuristic information. Pheromones are updated after each iteration, reinforcing good solutions and evaporating over time to avoid stagnation.

α — pheromone influenceβ — heuristic influenceρ — evaporation rateQ — deposit factor

pso

Particle Swarm Optimization

Inspired by bird flocking and fish schooling. Each particle represents a potential schedule, moving through the solution space by adjusting its velocity based on personal best (pbest) and global best (gbest) positions. The swarm collectively converges toward optimal solutions.

w — inertia weightc₁ — cognitive coefficientc₂ — social coefficientv max — max velocity

server-sent events

Real-time Algorithm Streaming

Watch algorithm convergence in real-time as iterations progress. SSE streams iteration data from the Flask backend to the Nuxt frontend, updating charts and metrics live.

dynamic table component

Interactive Data Management

Excel-like table editor for creating, importing (CSV/JSON), and modifying task scheduling datasets. Researchers can customize task parameters before running simulations.

chart.js dashboards

Performance Visualization

Interactive convergence charts, fitness progression graphs, and makespan comparisons. Visual analytics help researchers evaluate and compare ACO vs PSO performance.

production ready

Docker Containerization

Full Docker Compose setup for reproducible experiments. Single command deployment with isolated frontend and backend containers for consistent research environments.