Вы находитесь на странице: 1из 3

Appendix D

Net2Plan

D.1 Net2Plan
Net2Plan is an open-source and free to use Java-based software, developed by Pablo Pavón
Mariño and (up to version 0.3.1) José Luis Izquierdo Zaragoza, and licensed under the GNU
Lesser General Public License (LGPL). Net2Plan has its origins in September 2011, as a
resource for network optimization courses at Technical University of Cartagena. Since then, it
spread to other Universities, and has been applied in a number of works in the academia and
industry. Installing instructions, documentation (including video tutorials), research publica-
tions, and teaching materials can be accessed via the website

www.net2plan.com

Specific instructions to more easily access the book materials are available at:

www.net2plan.com/ocn-book

Net2Plan was designed with the aim to overcome the barriers imposed by existing network
planning tools in two forms: (i) users are not limited to execute non-disclosed built-in algo-
rithms, but also can integrate their own algorithms, applicable to any network instance, as Java
classes implementing particular interfaces, and (ii) Net2Plan defines a network representation,
the so-called network plan, based on abstract concepts such as nodes, links, traffic demands,
routes, protection segments, shared-risk groups, and network layers.
Network instances can have an arbitrary number of layers, arranged in arbitrary forms.
Technology-specific information can be introduced via user-defined attributes attached
to nodes, links, routes, layers, and so on in the network plan. The combination of a
technology-agnostic substrate and technology-related attributes provides the required flexibil-
ity to model any network technology within Net2Plan, an added value from a didactic point
of view. In this respect, current Net2Plan version provides specific libraries to ease the design
of IP, wireless and optical networks.

Optimization of Computer Networks – Modeling and Algorithms: A Hands-On Approach,


First Edition. Pablo Pavón Mariño.
© 2016 John Wiley & Sons, Ltd. Published 2016 by John Wiley & Sons, Ltd.
Companion Website: www.wiley.com/go/PavonMarinoSol16
360 Appendix D: Net2Plan

Net2Plan provides both a graphical user interface (GUI) and a command-line interface
(CLI). In either mode, Net2Plan includes four tools:

• Offline network design: Targeted to execute offline planning algorithms, that receive a net-
work design as an input and modify it in any form (e.g., optimize the routing, the capacities,
topology, etc.). Network design algorithms in Part I and heuristic algorithms in Chapter
11 of this book are implemented in this form. Algorithms based on constrained optimiza-
tion formulations (e.g., ILPs or convex formulations) use the open-source freeware Java
Optimization Modeler (JOM)
www.net2plan.com/jom
developed by the author to interface from Java to a number of external solvers such as
GPLK, CPLEX or IPOPT, that produce a numerical solution. The modeling syntax of JOM
is human-readable, and capable of handling arrays of decision variables and constraints of
arbitrary dimensions, facilitating the definition and solving of complex models directly from
Java in a few lines of code.
• Online simulation: Permits building simulations of online algorithms that code how the
network reacts to different events generated by built-in or user-developed event generation
modules. For instance, it can be used to evaluate network recovery schemes that react to
failures and repairs or dynamic provisioning algorithms that allocate resources reacting to
time-varying traffic demands. The distributed algorithms presented in Part II of the book are
implemented as online algorithms, where nodes asynchronously iterate to adapt to network
conditions.
• Automatic report generation: Net2Plan permits the generation of built-in or user-defined
reports, from any network design.
• Traffic matrix generation: Net2Plan assists users in the process of generating and normal-
izing traffic matrices.

We remark that every algorithm and report in Net2Plan can be either built-in or user-made.
For a full description of Net2Plan functionalities, and how to program algorithms in Net2Plan,
please refer to Net2Plan documentation (including video tutorials) on the website.

D.2 On the Role of Net2Plan in this Book


Net2Plan enables the hands-on approach in network optimization targeted in this book:

• The book materials indexed repository in www.net2plan.com/ocn-book includes all


the examples of models and algorithms in book Part I and Part II, suitable for Net2Plan
v0.4.0 or later. No Java programming skills are needed to use these algorithms, repeating the
tests found throughout the book or extending them to other network instances. The variety
of built-in reports and performance metrics computed by Net2Plan can help the reader to
further enrich the evaluation of the network designs.
• In addition, standard Java programming skills permit the reader to develop their own algo-
rithms, apply the techniques described, and then test the produced methods in Net2Plan.
This is actually the final goal of the book and how Net2Plan is being already used in sev-
eral network optimization courses. For this, algorithms in the repository can be used as
Appendix D: Net2Plan 361

templates or new algorithms can be created from scratch. Net2Plan includes various useful
libraries for developing network algorithms, easing tasks like the manipulation of candidate
path lists, conversion between different routing types (destination-based and flow-based
routing), computation of incidence and adjacency matrices, multiple variants of shortest
path algorithms, computation of performance metrics, generation and normalization of traf-
fic matrices, or efficient algorithms for solving the simple projections or regularization
examples in the book. Technology-related libraries are included to ease the development
of algorithms for IP, wireless and optical networks.

The reader is encouraged to access

www.net2plan.com/ocn-book

and follow the instructions there to use the full Net2Plan resources, and get hands-on with
optimization of computer networks!

Вам также может понравиться