I recently found a network planning tool that is publicly available through GNU public license, called Net2Plan, and I suggest anyone working on telecommunications or IT networks to give it a try. You can find a copy at net2plan.com of course.
This is the tool I always envisioned creating if I ever had the time and some programmers far more skilled than I am. These guys in Spain did a great job with it too. Drs. Pablo Pavón Mariño and José Luis Izquierdo Zaragoza approached the problem from the right direction, creating a tool that teaches as well as provides valuable results. Rather than use off the shelf tools that must be purchased, this modeling environment is “publicly-available open-source” software “published under LGPL license” which means students and users can solve problems using a a very effective tool without relying on a third party to maintain it. And because it is completely open and configurable, it is far more useful to the trained engineer, plus it requires a level of understanding of your network, problem, and solution that a COTS tool may not require. Some COTS tools are very good at leading you to a solution, but without helping you understand the problem. Net2Plan is built to assure that doesn’t have to happen.
You can configure your own optimization problems, build your own reporting engines, and even create your own models within the environment. While it is set up to be tied together with the optimization engine GLPK, you can easily tie it into your own, and it is set up to tie with others including the common CPLEX engine. The authors contributed Java Optimization Modeler (JOM) which allows Java to interface with these engines, Net2Plan included. If you are able to code well in Java, you can open existing algorithms to see how they work, and build your own versions. The authors even have a YouTube channel with a video showing how to do this. Plus, the file formats for loading and saving networks are human readable, and easy to parse into other models you may build in other software.
I installed the environment easily on a Windows 7 system, and have been testing routines since. To build your own highly capable version in your Windows system, follow these directions.
- Download and install the latest Java JDK. As of this writing, jdk-7u55 is the latest, and works nicely, though the Net2Plan websites says you can use a few generations back with success.
- Download and unpack GLPK. I used winglpk-4.54. Simply unzip it where you want to keep it, and remember the path to the glpk_4_54 file you will use for optimization (either the 32 bit, or 64 bit, operating system depending).
- Download and install Net2Plan from net2plan.com.
- Double click on the Net2Plan.jar file, or build a shortcut for where you plan to access it. Once open, Go to the File, Options tab, and then the second tab on the window that opens, which is the Solver options. Under the glpk library section, enter the full path for your GLPK instance. Click Save.
Once you have completed these steps, you should have a working version of Net2Plan complete with a link to the GLPK solver, which will work to run many of the included Algorithms for network planning analysis.
Note that some routines rely on IPOPT solver, which I have not yet installed and tested. I expect that will come soon.
There are 5 different modeling interfaces to explore, but start with an offline model so you can see how to build a model in the GUI, then test out some of the algorithms, and the reports you can generate from that model. Be sure to save your model for later, unless you used one of the many included models for testing. Once you have a good understanding of this offline modeling capability, explore the traffic matrix design capability, the resilience simulation models, the CAC simulation models, and traffic simulation models.
Having this capability readily available is a great advantage. And if you are familiar with the subject, this tool will be very easy to use, plus help you explore designs and plan your own network. I encourage you to give it a try, even if you are just curious. I think you’ll have fun and learn something too!