A Java Library of Graph Algorithms and Optimization (Discrete Mathematics and Its Applications)