List of Software Tools and Packages Used in Network Topology Design, Monitoring, Visualisation and Optimisation in Industry and Academia
Name | Free/Paid | Purpose/Used For |
---|---|---|
Net2Plan | Free | Network design, planning, and simulation for various network types, including optical networks. |
TOTEM | Free | Traffic Engineering, network design, and failure recovery in IP and optical networks. |
OTS (Optical Toolset) | Free | Simulation of WDM (Wavelength Division Multiplexing) optical networks, design, and planning. |
SNAP (Simple Network Architecture Pictograph) | Free | Network visualization and representation with a focus on ease of use and simplicity. |
OPNET | Paid | Network modeling and simulation for various network types, including optical networks. |
VPItransmissionMaker | Paid | Advanced simulation and design tool for optical communications systems and networks. |
OptSim | Paid | Design and optimization of optical communication systems. |
WANDL/IP/MPLSView | Paid | Network design, planning, management, and traffic engineering for IP, MPLS, and optical networks. |
NS-3 (Network Simulator 3) | Free | General network simulation. Modules can be built for optical network research. |
MATLAB (with specific toolboxes) | Paid | Customizable platform for mathematical modeling and optimization. Often used for creating custom algorithms for optical network problems. |
OMNeT++ | Free (with a paid variant for commercial use) | Discrete event simulation for modeling communication networks, including optical. |
DEAP (Distributed Evolutionary Algorithms in Python) | Free | Evolutionary algorithm framework in Python, including support for Genetic Algorithms and Particle Swarm Optimization. |
Opt4J | Free | A modular Java framework for metaheuristic optimization, supporting GA, PSO, and more. |
OR-Tools | Free | Google's optimization tools that can be applied to various heuristic problems. |
ECJ (Evolutionary Computation in Java) | Free | A comprehensive evolutionary computation research system; supports GAs, PSO, and other algorithms. |
JMetal | Free | Multi-objective optimization with metaheuristics; offers GA, PSO, Tabu Search, etc. |
GAlib (Genetic Algorithm Library) | Free | C++ library for GA applications. |
Fast Artificial Neural Network Library (FANN) | Free | Although primarily for neural networks, it can be combined with metaheuristics like PSO for training and optimization. |
Simulated Annealing Library (SALib) | Free | C++ implementation of Simulated Annealing. |
OpenMETA | Free | Platform for systems design, including metaheuristic optimization. |
CPLEX | Both (Free for academics, Paid for commercial) | Linear and Integer Linear Programming, Non-linear Programming. |
Gurobi | Both (Free for academics, Paid for commercial) | Linear Programming, Non-linear Programming, Integer Linear Programming. |
GLPK (GNU Linear Programming Kit) | Free | Linear Programming, Integer Linear Programming. |
SCIP | Both (Free for academic non-commercial use, Paid for commercial) | Integer Programming, constraint programming, branch and bound. |
LINDO/LINGO | Paid | Linear, Non-linear, and Integer Programming. |
COBYLA (Constrained Optimization BY Linear Approximations) | Free | Non-linear programming. |
CLP (Coin-or linear programming) | Free | Linear programming solver part of the COIN-OR project. |
CBC (Coin-or branch and cut) | Free | Integer Linear Programming solver that uses branch and cut, part of the COIN-OR project. |
BONMIN (Basic Open-source Nonlinear Mixed INteger programming) | Free | Solves mixed integer nonlinear programming problems. |
MOSEK | Paid | Linear, Non-linear, and Integer Linear Programming. Also supports convex optimization problems. |
APMonitor | Both (Free for students and academic use, Paid for commercial) | Modeling language for optimization and used for linear and non-linear programming. |
Xpress | Both (Free for academic use, Paid for commercial) | ILP, MILP, and a range of optimization problems. |
MiniZinc | Free | High-level modeling language for MILP, constraint programming, and other problems. |
CPLEX Python API | Both (Free for academics, Paid for commercial) | Python interface for ILP, MILP, and other optimization problems using CPLEX. |
Gurobi Python API | Both (Free for academics, Paid for commercial) | Python interface for ILP, MILP, and other optimization problems using Gurobi. |
PuLP | Free | Python Linear Programming API. Can interface with various solvers like CBC, GLPK, CPLEX, and Gurobi. |
PySCIPOpt | Free | Python interface for the SCIP optimization suite, covering ILP, MILP, and more. |
OR-Tools (from Google) | Free | Python-based optimization software that supports MILP and constraint programming. |
GLPK via CVXOPT | Free | Python bindings to GLPK for ILP and MILP through the CVXOPT interface. |
MIP (Python package) | Free | Python tools for modeling and solving mixed integer linear programs. |
Pyomo | Free | Python-based, open-source optimization modeling language for ILP, MILP, and more. |
SimAnneal | Free | Python-based library for Simulated Annealing. |
PySwarm | Free | Python-based Particle Swarm Optimization library. |
Optuna | Free | Python library for optimization using various heuristics including simulated annealing. |
JMetalPy | Free | Python version of JMetal, covering many metaheuristics, including GA, PSO, ACO, and more. |
GAft | Free | Genetic algorithm framework in Python. |
Pebl | Free | Python library that includes tabu search among other methods. |
MetaPy | Free | Python library offering various metaheuristic algorithms. |
ACO-Py | Free | A simple Python implementation of Ant Colony Optimization. |
Inspyred | Free | A Python library for creating evolutionary computations, including GAs, PSO, and many others. |
Hydra | Free | A multi-headed optimization framework in Python that includes PSO, GA, and more. |
WAND | Free | Optical network monitoring and analysis. Provides functionalities for performance monitoring and fault localization in optical networks. |
SolarWinds Network Performance Monitor (NPM) | Paid | Comprehensive network performance monitoring tool that supports optical network components. |
PRTG Network Monitor | Freemium | Monitors optical networks and provides insights on bandwidth usage, network performance, and potential faults. |
ONMS (Open Network Management System) | Free | A network management application platform specifically for managing telecommunication networks, including optical ones. |
PathSolutions | Paid | Offers solutions for monitoring the entire network path, including optical networks. |
Anue Systems | Paid | Provides network monitoring solutions and service assurance for optical networks. |
Teledyne LeCroy | Paid | Offers tools for protocol analysis and traffic generation, suitable for optical networks. |
Cacti | Free | An open-source, web-based network monitoring and graphing tool designed as a front-end application for the data logging tool called RRDtool. Suitable for optical networks. |
Optical PMD (Python Module) | Free | Python package for monitoring and managing optical network elements using the SNMP protocol. |
Optical Network Simulator (ONS) | Free | While primarily a simulator, can provide insights useful for monitoring by emulating various optical network scenarios. |
Name | Type/Language | Access | Primary Purpose |
---|---|---|---|
GNpy | Python | Free | Optical route planning & optimization |
pypho | Python | Unknown | Optical fiber transmission simulation |
Pyofss | Python | Free | Optical fibre system simulation |
Mininet-Optical Prototype | Python | Free | Optical network simulation with SDN control plane |
OptiCommPy | Python | Free | Optical communications systems simulation |
ofiber | Python | Free | Light propagation through optical fibers |
pyNLO | Python | Free | Nonlinear optics modeling |
DTSGUI | Python | Free | Fiber-Optic Distributed Temperature Sensing Data visualization and processing |
SuPyMode | Python | Free | Fiber couplers design & optimization |
GNLSE | Python | Free | Nonlinear Light Propagation In Optical Fibers |
NFDMLab | Python | Free | Simulating Nonlinear Frequency Division Multiplexing |
pyfocs | Python | Free | Processing Fiber Optic Distributed Sensing (FODS) data |
Understanding Optics with Python | Python | Fees | Python code supporting material for the book |
Optics simulations with Python | Python | Unknown | Optics simulations |
PyRPL | Python | Free | Control of phase-only spatial light modulators |
POCAL | Python | Free | Optical coating analysis & design |
Design of FIber Gratings | Python | Unknown | Design & Optimization of Long Period Fiber Grating Devices |
AOTools | Python | Free | Adaptive optics modelling & analysis |
Holographic Imaging | Python | Unknown | Numerical reconstruction of holograms |
FIINS | Python | Unknown | Simulator for a Far-infrared Double Fourier Interferometer in Space |
Dynamic Measurements | Python | Unknown | Dynamic scheduling assistant for atmospheric measurements |
pyLLE | Python | Free | Microcomb simulations |
ptyLab | Python | Unknown | Inverse modeling toolbox for ptychography |
OpenFilters | Python | Free | Design, optimization, and synthesis of optical filters |
qp-SLM | Python | Free | Holography suite for spatial light modulators |
Opti-MSFA | Python | Free | Design & optimization of multispectral filter arrays |
TMM-Fast | Python | Free | Transfer matrix computation for multilayer thin-film optimization |
OTF Gym | Python | Free | RL Environment of Layered Optical Thin Film Inverse Design |
Benchmarking optical tools | Python | Unknown | Benchmarking schlieren against interferometric measurement |
MetaOptics | Python | Free | Designing metasurface optical element GDSII layouts |
Teaching Optics | Python | Unknown | Teaching photonic integrated circuits with Jupyter notebooks |
PyMieSim | Python | Free | Far-field Mie scattering simulations |
Tomosipo | Python | Free | 3D tomography for complex scanning geometries |
OptiSystem | GUI | Fees | Optical link planning, testing, & simulation |
VPIphotonics Design Suite | GUI | Fees | Photonic circuit & system design |
RSoft Design Group | GUI | Fees | Photonic component & system design |
PVTrace | Python | Free | Optical system analysis & lens simulations |
meep | Python/C++ | Free | Electromagnetic simulations using FDTD method |
Lumerical | GUI with Python API | Fees | Photonic simulation tools with automation |
OMNeT++ | C++ | Free | Modular, component-based network simulation |
ns-3 | C++/Python | Free | General-purpose network simulator |
MATLAB and Simulink | GUI with MATLAB Language | Fees | Optical communication systems & photonics simulations |
rwa-wdm-sim | Python | Free | Simulator for RWA problem in WDM transparent networks |
Arrow | Julia | Free | Simulator for RWA over WDM-based all-optical networks |
Req2Route | Python | Free | AI-Based Routing Paradigm for Multi-Domain Optical Networks |
Efficient-ML | Python | Free | Identification of attacks and anomalies in optical networks using dimensionality reduction |
Bow | Python | Free | Bayesian Optimization System for Wavelength Reconfiguration |
Traffic Generator | C++/Python | Free | Traffic generator in optical networks using Poisson Distribution |
CEONS | Java | Free | Visualization tool for elastic optical networks |
SNDlib | Java | Free | Test library for Survivable fixed telecommunication Network Design |