A Network Simulator that randomly generates and calculates minimum paths in a configurable random doubly-weighted graph
Project description
NetworkSim
NetworkSim is a project I wrote for CPE 400 (Computer Networking) and have implemented testing and CI/CD for as a part of CS 491 (DevOps and Testing).
NetworkSim generates random double-weighted graphs and finds the shortest distance between each node to every other node in the graph. The user can specify the number of simulations they want to run and the program will create a directory of directories representing each simulation. In each simulation directory exists a .png picture of the graph and a text file that has a list of the shortest path between every node to every other node, along with the weight of taking that path.
This program simply brute forces all of these calculations, so I would recommend playing with it a bit before going and running a million simulations on a Core 2 Duo. YMMV!
I would recommend using a virtual environment to run this package.
To initialize, simply run:
python3 -m venv env
source env/bin/activate
Then to install the required packages, simply run:
pip install -r requirements.txt
Once all required libraries are installed, simply run:
python NetworkSim.py
After reading all of the initial prompts, please input the parameters that one would like to use to run the simulations. Some lightweight parameters that one can use to test the functionality can be found below:
Number of simulations: __ (Up to the user)
Estimated number of nodes: 15 (Takes usually less than 3 seconds per sim on 2017 Macbook Pro i7)
Edge creation probability: 0.2 (0.3 can be fine too, but expect longer time per simulation iteration)
Min/max weights for nodes/edges: __ (Up to the user, just arithmetic, doesn't affect performance)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file NetworkSim-brysonreese-0.0.1.tar.gz
.
File metadata
- Download URL: NetworkSim-brysonreese-0.0.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc3a860af4c52de1b679ad5994906875ea896707dd7cc7badfb18ca5e40fa4b1 |
|
MD5 | a47899a9371d86dd953f0afd56b954f4 |
|
BLAKE2b-256 | db95da0ead237367ba646220388d950207fb1a66177bf2ede0b1c4359587d3a5 |
File details
Details for the file NetworkSim_brysonreese-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: NetworkSim_brysonreese-0.0.1-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20db90a5af067145419a0198d119dc37a522cb30b2f1cf704fc482174a6930fb |
|
MD5 | 66c89816087268071ca935212045d526 |
|
BLAKE2b-256 | eab49756bf221ac2cf8f2f01655da41cf0c8a3d0de4fb63834ab79b1518640be |