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 |