Router Rumble
An open-source Python experimental project that uses a WiFi router placement optimization scenario to visually compare the performance of gradient descent against the NSGA-II evolutionary algorithm on discrete objective functions. The project is built on NumPy and pymoo.
Timeline (last 90 days)
Austin Starks open-sourced a Python experimental project called Router Rumble, which uses WiFi router placement scenarios to visually compare the differences between gradient descent and NSGA-II.
Router Rumble's objective function counts the number of coverage locations where the signal can reach −57 dBm, with a total of 560 sample points.
In Router Rumble, gradient descent starts from a single position and tests the four surrounding neighboring positions; because the discrete objective function causes the estimated slope to be zero, it ultimately stalls at 100 covered positions with no further improvement.
NSGA-II in Router Rumble maintains a population of 32 positions and ultimately achieves coverage of 209 out of 560 sample positions, far exceeding gradient descent's 100.
NSGA-II was originally designed for multi-objective optimization, but the Router Rumble example uses only a single objective.
Router Rumble sets the same budget for both methods: each is given 1,200 objective function evaluations, and results are validated for robustness across 20 random seeds.
Router Rumble is built on NumPy and pymoo, requires no GPU, needs no API keys, and can be run locally.
All Facts (7)
NSGA-II in Router Rumble maintains a population of 32 positions and ultimately achieves coverage of 209 out of 560 sample positions, far exceeding gradient descent's 100.
50%UnverifiedRouter Rumble's objective function counts the number of coverage locations where the signal can reach −57 dBm, with a total of 560 sample points.
50%UnverifiedIn Router Rumble, gradient descent starts from a single position and tests the four surrounding neighboring positions; because the discrete objective function causes the estimated slope to be zero, it ultimately stalls at 100 covered positions with no further improvement.
50%UnverifiedRouter Rumble is built on NumPy and pymoo, requires no GPU, needs no API keys, and can be run locally.
50%UnverifiedNSGA-II was originally designed for multi-objective optimization, but the Router Rumble example uses only a single objective.
50%UnverifiedRouter Rumble sets the same budget for both methods: each is given 1,200 objective function evaluations, and results are validated for robustness across 20 random seeds.
50%UnverifiedAustin Starks open-sourced a Python experimental project called Router Rumble, which uses WiFi router placement scenarios to visually compare the differences between gradient descent and NSGA-II.
50%