I am skilled in some programming languages (Object Pascal, C#, some Java), but what is the better choice to deal with complex networks (thinking in open source tools to use in simulation, graphs, etc.)?
MATLAB. Unlike CASs (Mathematica & Maple are the most popular), and unlike statistical software packages like R, SAS, etc., MATLAB is designed with modeling, computational analyses, etc., from the ground up (after all, the name comes from "matrix laboratory", so it is designed for multivariable/multivariate mathematics even without the extras it offers) and it comes with toolboxes for systems modelling, tools for dealing with complexity, etc. However, it is as far from open source as one can get. R is free, but isn't as ideal here (it's too oriented towards statistics).
For open source, there's sage (see link below). Sage was designed to create "a viable free open source alternative to Magma, Maple, Mathematica and Matlab." It incorporates other open source solutions like Numpy, Scipy, NetworkX, Ipython, etc. (see second link below).
I agree with Dr. Guzev, Mathematica is a great software for that kind of aplications, however if you have some budget limitatios you can try IPython, this python disttribution alredy have installed some scientific computing packages as well as some networks analysis packages
MATLAB. Unlike CASs (Mathematica & Maple are the most popular), and unlike statistical software packages like R, SAS, etc., MATLAB is designed with modeling, computational analyses, etc., from the ground up (after all, the name comes from "matrix laboratory", so it is designed for multivariable/multivariate mathematics even without the extras it offers) and it comes with toolboxes for systems modelling, tools for dealing with complexity, etc. However, it is as far from open source as one can get. R is free, but isn't as ideal here (it's too oriented towards statistics).
For open source, there's sage (see link below). Sage was designed to create "a viable free open source alternative to Magma, Maple, Mathematica and Matlab." It incorporates other open source solutions like Numpy, Scipy, NetworkX, Ipython, etc. (see second link below).
graphlab is based on graph-centered computation for machine learning. I would imagine that it could be used for the kind of problem you are considering.
The SNAP library from Stanford might be a good way to go if you're happy working with low-level languages - hopefully you might find a binding for java? Alternatively, R has so good nework tools.
I'll also suggest Python for scientific computing (check the links below for reasons). For complex networks there is the Python NetworkX library that may help you. If simulations will be a core part of your study though you may also consider using an ABMS platform like Netlogo or RePast.
If you're looking for free software to generate network descriptive statistics (average path length, betweenness centrality, GSCC, etc....), I would highly recommend the igraph package for C, Python, or R. It's fairly straightforward to use and can be easily integrated into disease simulation models written in those languages.
Python is used to model complex systems. If you're looking for free software to generate network descriptive statistics Python is ideal, if you want an open source platform, otherwise Matlab is more useful in complex network analysis.