You can subscribe to this list here.
2003 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}
(2) 
_{Nov}

_{Dec}


2004 
_{Jan}
(1) 
_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}
(1) 
_{Jul}
(1) 
_{Aug}

_{Sep}
(1) 
_{Oct}

_{Nov}

_{Dec}
(2) 
2005 
_{Jan}

_{Feb}
(1) 
_{Mar}
(5) 
_{Apr}
(1) 
_{May}

_{Jun}
(12) 
_{Jul}
(6) 
_{Aug}
(7) 
_{Sep}
(2) 
_{Oct}

_{Nov}
(1) 
_{Dec}

2006 
_{Jan}
(4) 
_{Feb}
(3) 
_{Mar}
(2) 
_{Apr}
(3) 
_{May}
(6) 
_{Jun}
(2) 
_{Jul}
(3) 
_{Aug}
(12) 
_{Sep}
(6) 
_{Oct}
(3) 
_{Nov}
(12) 
_{Dec}

2007 
_{Jan}
(6) 
_{Feb}

_{Mar}
(6) 
_{Apr}
(8) 
_{May}
(2) 
_{Jun}
(8) 
_{Jul}
(2) 
_{Aug}
(3) 
_{Sep}
(7) 
_{Oct}
(3) 
_{Nov}

_{Dec}
(1) 
2008 
_{Jan}
(11) 
_{Feb}
(4) 
_{Mar}
(8) 
_{Apr}
(3) 
_{May}
(4) 
_{Jun}
(1) 
_{Jul}

_{Aug}
(3) 
_{Sep}
(1) 
_{Oct}
(4) 
_{Nov}
(5) 
_{Dec}
(5) 
2009 
_{Jan}
(3) 
_{Feb}
(12) 
_{Mar}
(14) 
_{Apr}
(9) 
_{May}
(8) 
_{Jun}
(1) 
_{Jul}
(4) 
_{Aug}
(10) 
_{Sep}

_{Oct}
(10) 
_{Nov}

_{Dec}
(4) 
2010 
_{Jan}
(9) 
_{Feb}
(16) 
_{Mar}
(14) 
_{Apr}
(19) 
_{May}
(1) 
_{Jun}
(3) 
_{Jul}
(17) 
_{Aug}
(9) 
_{Sep}
(4) 
_{Oct}
(4) 
_{Nov}
(11) 
_{Dec}
(8) 
2011 
_{Jan}
(10) 
_{Feb}
(11) 
_{Mar}
(10) 
_{Apr}
(14) 
_{May}
(6) 
_{Jun}
(8) 
_{Jul}
(9) 
_{Aug}
(11) 
_{Sep}
(13) 
_{Oct}
(7) 
_{Nov}
(9) 
_{Dec}
(1) 
2012 
_{Jan}
(5) 
_{Feb}
(14) 
_{Mar}
(4) 
_{Apr}
(25) 
_{May}
(18) 
_{Jun}
(18) 
_{Jul}
(3) 
_{Aug}
(6) 
_{Sep}
(3) 
_{Oct}
(16) 
_{Nov}
(5) 
_{Dec}
(12) 
2013 
_{Jan}
(1) 
_{Feb}
(6) 
_{Mar}
(14) 
_{Apr}
(34) 
_{May}
(9) 
_{Jun}
(3) 
_{Jul}
(8) 
_{Aug}

_{Sep}
(10) 
_{Oct}
(11) 
_{Nov}
(11) 
_{Dec}
(15) 
2014 
_{Jan}
(2) 
_{Feb}
(6) 
_{Mar}
(11) 
_{Apr}
(12) 
_{May}
(6) 
_{Jun}
(7) 
_{Jul}

_{Aug}
(4) 
_{Sep}
(1) 
_{Oct}
(1) 
_{Nov}
(5) 
_{Dec}
(6) 
2015 
_{Jan}
(15) 
_{Feb}
(4) 
_{Mar}
(7) 
_{Apr}
(8) 
_{May}
(1) 
_{Jun}
(18) 
_{Jul}
(27) 
_{Aug}
(13) 
_{Sep}
(4) 
_{Oct}
(8) 
_{Nov}
(7) 
_{Dec}
(6) 
2016 
_{Jan}
(4) 
_{Feb}
(5) 
_{Mar}

_{Apr}
(15) 
_{May}
(5) 
_{Jun}
(4) 
_{Jul}
(1) 
_{Aug}
(1) 
_{Sep}
(7) 
_{Oct}
(2) 
_{Nov}
(4) 
_{Dec}
(2) 
2017 
_{Jan}
(7) 
_{Feb}
(1) 
_{Mar}
(17) 
_{Apr}
(2) 
_{May}
(1) 
_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

From: Michał Urban <michalurban@op...>  20170528 19:07:31

ello I've created graph using JGraphT library g = new ListenableUndirectedWeightedGraph <String, MyEdge>(MyEdge.class); graphAdapter = new JGraphXAdapter<String, MyEdge>(g); layout = new mxOrganicLayout(graphAdapter); layout.execute(graphAdapter.getDefaultParent()); mxGraphComponent component = new mxGraphComponent(graphAdapter); component.setPreferredSize(new Dimension(dim.width  50, dim.height  200)); add(component); and I want to add dynamically a new vertex after pushing the button @Override public void actionPerformed(ActionEvent e) { String a="1"; String b="2"; g.addVertex(a); g.addVertex(b); g.addEdge(a,b); } public static class MyEdge extends DefaultWeightedEdge { //weight @Override public String toString() { return String.valueOf(getWeight()); } } how can I refresh the view? 
From: dmichail <dimitrios.michail@gm...>  20170410 10:53:53

Hi, some matching algorithms in bipartite graphs perform computation for every vertex in the left partition. Thus, what you are observing is reasonable. Swapping the two partitions is a common optimization trick. Feel free to submit a pullrequest if you observe a significant performance gain. Best, Dimitrios  View this message in context: http://jgraphtusers.107614.n3.nabble.com/JGraphTmatchingoptimizationstp4025147p4025148.html Sent from the jgraphtusers mailing list archive at Nabble.com. 
From: Ben Horner <ben.k.horner@gm...>  20170407 22:43:36

Hello there, I just found some interesting performance characteristics of the matching algorithms. The tests are not complete, put it appears that the implementations (possibly the algorithms themselves?) are sensitive to which partition is passed first. I think pretty good performance gains can be had by passing the smallest partition first, and this check could be incorporated into the algorithms (constructors), so you'd get the advantage regardless of which order you pass the partitions. I can supply my test code, and/or the timing data if you like. I thought I would first ask, to see if this is known already, and expected. Thanks, Ben 
From: Cherie Pun <cherie.cy.pun@gm...>  20170331 10:21:01

Hi, I am really sorry to spam you but I just want to say it worked after I cleared my dependency cache. Thanks for your time! Kind regards, Cherie From: Cherie Pun <cherie.cy.pun@...> Date: Friday, 31 March 2017 at 10:11 To: <jgraphtusers@...> Subject: Running demos Hi, Sorry for this stupid question. I have cloned the repository from Github (checked out to the 1.0.1 version) and I would like to run the demo. I tried running it in intellij and it’s giving me error: “package org.jgrapht.ext.GmlParser does not exist” When I run “java –jar jgraphdemo1.0.1jar” in the demo folder, it gave me the following error. “Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: org/jgrapht/Graph at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: org.jgrapht.Graph at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more “ I am guessing it’s something small that I am missing but it would be great if someone can give me some guidance on this, thanks! Kind regards, Cherie 
From: Cherie Pun <cherie.cy.pun@gm...>  20170331 09:11:30

Hi, Sorry for this stupid question. I have cloned the repository from Github (checked out to the 1.0.1 version) and I would like to run the demo. I tried running it in intellij and it’s giving me error: “package org.jgrapht.ext.GmlParser does not exist” When I run “java –jar jgraphdemo1.0.1jar” in the demo folder, it gave me the following error. “Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: org/jgrapht/Graph at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: org.jgrapht.Graph at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more “ I am guessing it’s something small that I am missing but it would be great if someone can give me some guidance on this, thanks! Kind regards, Cherie 
From: Frank Gevaerts <frank.gevaerts@fk...>  20170329 21:58:39

Hi Joris, It turns out that the number of odd vertices is fairly small for my dataset, so I can actually just bruteforce it most of the time and find some heuristics for the one of two cases where the number is too large. Having a nonoptimal solution for just a few cases is acceptable. I did manage to add that to your code, so we're happy for now. Frank On Tue, Mar 28, 2017 at 12:46:59PM 0400, J Kinable wrote: > Hi Frank, > > It turns out there's a flaw in the CPP implementation for *undirected* > graphs. > To solve the Chinese Postman Problem (CPP) for *undirected* graphs, it is > necessary to compute a min cost perfect matching in a complete graph. > Currently, JGraphT doesn't have such an algorithm. Initially I tried to get > away with this by duplicating all the nodes in the complete graph and > solving a min cost perfect matching on the resulting bipartite graph; this > works for most, but, as you found out, not for all cases :(. > > The CPP implementation for *directed* graphs works fine and is unaffected > by this issue. > > To solve the aforementioned Matching problem, ideally we implement this > paper: > Kolmogorov, V. Blossom V: a new implementation of a minimum cost perfect > matching algorithm. Math. Prog. Comp. (2009) 1: 43. > doi:10.1007/s1253200900028 > To the best of my knowledge, this is the fastest implementation at the > moment. > > I'm not aware of any simpleandquicktoimplement algorithms for the min > cost perfect matching problem in complete graphs, so it might take some > time before we have a suitable implementation to solve this issue. Until > then, the CPP implementation cannot be merged into JgraphT's master branch. > On the bright side: the commentedout code at the bottom of > ChinesePostman.java already fixes the flaw (it just requires a matching > algorithm). > > Obviously, this is not going to help you out in the short run, so here are > 2 possible alternative solutions you could use: > > 1. The CPP code for directed graphs works fine so you could use that. > > 2. At the bottom of ChinesePostman.java > <https://github.com/jgrapht/jgrapht/pull/385/files#diff17a47bf2dc488441cb3b7a7f7e2ff318>; > there > is commentedout code: this would be the correct implementation for the > *undirected* version of the algorithm. You could use that code. Problem: > this code needs a solver for the Min cost perfect matching problem in > complete graphs. You would have to provide a solver for this yourself, as > such a solver is currently not present in JGraphT. Here you have 3 options: > > a. use a matching solver from some alternative open/closed source project. > > b. implement a solver using an Integer Programming solver (assuming you > have access to such a solver, this would be easy, as implementing the > matching problem as a Mixed Integer Programming Problem is straightforward). > c. implement a heuristic to solve the matching problem (this is rather > suboptimal, since you may obviously loose the optimal solution) > > > Btw, thanks for exposing this flaw! > > > br, > > > Joris Kinable > > On Mon, Mar 27, 2017 at 6:21 PM, J Kinable <j.kinable@...> wrote: > > > I'm afraid you've encountered a bug... :( As long as the graph is strongly > > connected (which is the case for your graph), then it must be possible to > > find a feasible tour. For this Hshaped graph, I would expect a tour which > > passes each edge exactly twice. > > Thanks for reporting; I'll look into it. > > > > Joris Kinable > > > > On Mon, Mar 27, 2017 at 12:21 PM, Frank Gevaerts <frank.gevaerts@...> > > wrote: > > > >> Thank you, this is very helpful. I have tried this on our dataset, and it > >> works for most of our dataset. > >> One case I'm not entirely sure of is a Hshaped graph: > >> > >> Graph<Integer, DefaultWeightedEdge> g=new > >> SimpleWeightedGraph<>(DefaultWeightedEdge.class); > >> Graphs.addAllVertices(g, Arrays.asList(1, 2, 3, 4, 5, 6)); > >> Graphs.addEdge(g, 1, 2, 1); > >> Graphs.addEdge(g, 2, 3, 1); > >> Graphs.addEdge(g, 3, 4, 1); > >> Graphs.addEdge(g, 2, 5, 1); > >> Graphs.addEdge(g, 3, 6, 1); > >> > >> Trying to get the CPP path for that gives me > >> java.lang.IllegalArgumentException: Graph is not Eulerian > >> > >> I'm not entirely sure if this case is expected to work though. > >> > >> Frank > >> > >> ` > >> On Sun, Mar 26, 2017 at 04:36:41PM 0400, J Kinable wrote: > >> > I've opened a pull request for the Chinese Postman Problem: > >> > https://github.com/jgrapht/jgrapht/pull/385 > >> > The implementation supports both directed and undirected graphs. I > >> realized > >> > why I didn't finish the implementation initially: ideally the algorithm > >> > requires a fast algorithm for Max Weight matchings in complete graphs, > >> but > >> > currently JgraphT doesn't have such implementation. As a tradeoff I > >> used a > >> > slower bipartite matching algorithm. > >> > > >> > The code is fully functional and tested, but its final inclusion in > >> JGraphT > >> > will obviously depend on the review process. Feel free to fork my github > >> > branch or wait until the implementation makes its way to Jgrapht's > >> master > >> > branch. > >> > > >> > > >> > br, > >> > > >> > Joris Kinable > >> > > >> > On Wed, Mar 22, 2017 at 3:40 PM, J Kinable <j.kinable@...> wrote: > >> > > >> > > Hi Frank, > >> > > > >> > > Currently JGraphT doesn't have algorithms for the Chinese Postman > >> Problem > >> > > (CPP). > >> > > > >> > > 1. Solving the CPP for mixed graphs is NPhard. As far as I know, the > >> best > >> > > performing methods to solve the CPP for mixed graphs use Integer > >> Linear > >> > > Program Solvers. This is however hard to do in JGraphT since the best > >> > > performing solvers (Cplex/Gurobi) are commercial and don't have a > >> common > >> > > interface. Similar issues appear for open source solvers. I'm not > >> aware of > >> > > any open source graph libraries that provide an implementation for the > >> > > Mixed CPP. > >> > > > >> > > 2. On the other hand, the CPP for undirected graphs is much easier. At > >> > > some point in the past I was working on an implementation for > >> JGraphT. I > >> > > can see whether I can finish it somewhere this week (that is, if I > >> can find > >> > > on which computer I stored it :) ). > >> > > > >> > > br, > >> > > > >> > > Joris Kinable > >> > > > >> > > On Wed, Mar 22, 2017 at 1:10 PM, Frank Gevaerts < > >> frank.gevaerts@...> > >> > > wrote: > >> > > > >> > >> Hi, > >> > >> > >> > >> I'm looking for a library that can solve the Chinese Postman Problem > >> (i.e. > >> > >> finding a (ideally shortest) route that uses all edges in a graph), > >> either > >> > >> for undirected graphs, or for mixed graphs. Can JGraphT handle this, > >> or > >> > >> does > >> > >> anyone know a different library I can use? > >> > >> > >> > >> My searches only seem to turn up academic papers but no usable code. > >> > >> > >> > >> Frank > >> > >> > >> > >>  > >> > >> Frank Gevaerts frank.gevaerts@... > >> > >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ > >> > >> Schampbergstraat 32 Tel: ++32(0)1121 > >> 49 11 > >> > >> B3511 KURINGENHASSELT Fax: ++32(0)1122 > >> 04 19 > >> > >> > >> > >>  > >> > >>  > >> > >> Check out the vibrant tech community on one of the world's most > >> > >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot > >> > >> _______________________________________________ > >> > >> jgraphtusers mailing list > >> > >> jgraphtusers@... > >> > >> https://lists.sourceforge.net/lists/listinfo/jgraphtusers > >> > >> > >> > > > >> > > > >> > >>  > >> Frank Gevaerts frank.gevaerts@... > >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ > >> Schampbergstraat 32 Tel: ++32(0)1121 49 11 > >> B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 > >> > > > >  Frank Gevaerts frank.gevaerts@... fks bvba  Formal and Knowledge Systems http://www.fks.be/ Schampbergstraat 32 Tel: ++32(0)1121 49 11 B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 
From: J Kinable <j.kinable@gm...>  20170328 16:47:27

Hi Frank, It turns out there's a flaw in the CPP implementation for *undirected* graphs. To solve the Chinese Postman Problem (CPP) for *undirected* graphs, it is necessary to compute a min cost perfect matching in a complete graph. Currently, JGraphT doesn't have such an algorithm. Initially I tried to get away with this by duplicating all the nodes in the complete graph and solving a min cost perfect matching on the resulting bipartite graph; this works for most, but, as you found out, not for all cases :(. The CPP implementation for *directed* graphs works fine and is unaffected by this issue. To solve the aforementioned Matching problem, ideally we implement this paper: Kolmogorov, V. Blossom V: a new implementation of a minimum cost perfect matching algorithm. Math. Prog. Comp. (2009) 1: 43. doi:10.1007/s1253200900028 To the best of my knowledge, this is the fastest implementation at the moment. I'm not aware of any simpleandquicktoimplement algorithms for the min cost perfect matching problem in complete graphs, so it might take some time before we have a suitable implementation to solve this issue. Until then, the CPP implementation cannot be merged into JgraphT's master branch. On the bright side: the commentedout code at the bottom of ChinesePostman.java already fixes the flaw (it just requires a matching algorithm). Obviously, this is not going to help you out in the short run, so here are 2 possible alternative solutions you could use: 1. The CPP code for directed graphs works fine so you could use that. 2. At the bottom of ChinesePostman.java <https://github.com/jgrapht/jgrapht/pull/385/files#diff17a47bf2dc488441cb3b7a7f7e2ff318>; there is commentedout code: this would be the correct implementation for the *undirected* version of the algorithm. You could use that code. Problem: this code needs a solver for the Min cost perfect matching problem in complete graphs. You would have to provide a solver for this yourself, as such a solver is currently not present in JGraphT. Here you have 3 options: a. use a matching solver from some alternative open/closed source project. b. implement a solver using an Integer Programming solver (assuming you have access to such a solver, this would be easy, as implementing the matching problem as a Mixed Integer Programming Problem is straightforward). c. implement a heuristic to solve the matching problem (this is rather suboptimal, since you may obviously loose the optimal solution) Btw, thanks for exposing this flaw! br, Joris Kinable On Mon, Mar 27, 2017 at 6:21 PM, J Kinable <j.kinable@...> wrote: > I'm afraid you've encountered a bug... :( As long as the graph is strongly > connected (which is the case for your graph), then it must be possible to > find a feasible tour. For this Hshaped graph, I would expect a tour which > passes each edge exactly twice. > Thanks for reporting; I'll look into it. > > Joris Kinable > > On Mon, Mar 27, 2017 at 12:21 PM, Frank Gevaerts <frank.gevaerts@...> > wrote: > >> Thank you, this is very helpful. I have tried this on our dataset, and it >> works for most of our dataset. >> One case I'm not entirely sure of is a Hshaped graph: >> >> Graph<Integer, DefaultWeightedEdge> g=new >> SimpleWeightedGraph<>(DefaultWeightedEdge.class); >> Graphs.addAllVertices(g, Arrays.asList(1, 2, 3, 4, 5, 6)); >> Graphs.addEdge(g, 1, 2, 1); >> Graphs.addEdge(g, 2, 3, 1); >> Graphs.addEdge(g, 3, 4, 1); >> Graphs.addEdge(g, 2, 5, 1); >> Graphs.addEdge(g, 3, 6, 1); >> >> Trying to get the CPP path for that gives me >> java.lang.IllegalArgumentException: Graph is not Eulerian >> >> I'm not entirely sure if this case is expected to work though. >> >> Frank >> >> ` >> On Sun, Mar 26, 2017 at 04:36:41PM 0400, J Kinable wrote: >> > I've opened a pull request for the Chinese Postman Problem: >> > https://github.com/jgrapht/jgrapht/pull/385 >> > The implementation supports both directed and undirected graphs. I >> realized >> > why I didn't finish the implementation initially: ideally the algorithm >> > requires a fast algorithm for Max Weight matchings in complete graphs, >> but >> > currently JgraphT doesn't have such implementation. As a tradeoff I >> used a >> > slower bipartite matching algorithm. >> > >> > The code is fully functional and tested, but its final inclusion in >> JGraphT >> > will obviously depend on the review process. Feel free to fork my github >> > branch or wait until the implementation makes its way to Jgrapht's >> master >> > branch. >> > >> > >> > br, >> > >> > Joris Kinable >> > >> > On Wed, Mar 22, 2017 at 3:40 PM, J Kinable <j.kinable@...> wrote: >> > >> > > Hi Frank, >> > > >> > > Currently JGraphT doesn't have algorithms for the Chinese Postman >> Problem >> > > (CPP). >> > > >> > > 1. Solving the CPP for mixed graphs is NPhard. As far as I know, the >> best >> > > performing methods to solve the CPP for mixed graphs use Integer >> Linear >> > > Program Solvers. This is however hard to do in JGraphT since the best >> > > performing solvers (Cplex/Gurobi) are commercial and don't have a >> common >> > > interface. Similar issues appear for open source solvers. I'm not >> aware of >> > > any open source graph libraries that provide an implementation for the >> > > Mixed CPP. >> > > >> > > 2. On the other hand, the CPP for undirected graphs is much easier. At >> > > some point in the past I was working on an implementation for >> JGraphT. I >> > > can see whether I can finish it somewhere this week (that is, if I >> can find >> > > on which computer I stored it :) ). >> > > >> > > br, >> > > >> > > Joris Kinable >> > > >> > > On Wed, Mar 22, 2017 at 1:10 PM, Frank Gevaerts < >> frank.gevaerts@...> >> > > wrote: >> > > >> > >> Hi, >> > >> >> > >> I'm looking for a library that can solve the Chinese Postman Problem >> (i.e. >> > >> finding a (ideally shortest) route that uses all edges in a graph), >> either >> > >> for undirected graphs, or for mixed graphs. Can JGraphT handle this, >> or >> > >> does >> > >> anyone know a different library I can use? >> > >> >> > >> My searches only seem to turn up academic papers but no usable code. >> > >> >> > >> Frank >> > >> >> > >>  >> > >> Frank Gevaerts frank.gevaerts@... >> > >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ >> > >> Schampbergstraat 32 Tel: ++32(0)1121 >> 49 11 >> > >> B3511 KURINGENHASSELT Fax: ++32(0)1122 >> 04 19 >> > >> >> > >>  >> > >>  >> > >> Check out the vibrant tech community on one of the world's most >> > >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> > >> _______________________________________________ >> > >> jgraphtusers mailing list >> > >> jgraphtusers@... >> > >> https://lists.sourceforge.net/lists/listinfo/jgraphtusers >> > >> >> > > >> > > >> >>  >> Frank Gevaerts frank.gevaerts@... >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ >> Schampbergstraat 32 Tel: ++32(0)1121 49 11 >> B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 >> > > 
From: J Kinable <j.kinable@gm...>  20170327 22:22:12

I'm afraid you've encountered a bug... :( As long as the graph is strongly connected (which is the case for your graph), then it must be possible to find a feasible tour. For this Hshaped graph, I would expect a tour which passes each edge exactly twice. Thanks for reporting; I'll look into it. Joris Kinable On Mon, Mar 27, 2017 at 12:21 PM, Frank Gevaerts <frank.gevaerts@...> wrote: > Thank you, this is very helpful. I have tried this on our dataset, and it > works for most of our dataset. > One case I'm not entirely sure of is a Hshaped graph: > > Graph<Integer, DefaultWeightedEdge> g=new > SimpleWeightedGraph<>(DefaultWeightedEdge.class); > Graphs.addAllVertices(g, Arrays.asList(1, 2, 3, 4, 5, 6)); > Graphs.addEdge(g, 1, 2, 1); > Graphs.addEdge(g, 2, 3, 1); > Graphs.addEdge(g, 3, 4, 1); > Graphs.addEdge(g, 2, 5, 1); > Graphs.addEdge(g, 3, 6, 1); > > Trying to get the CPP path for that gives me java.lang.IllegalArgumentException: > Graph is not Eulerian > > I'm not entirely sure if this case is expected to work though. > > Frank > > ` > On Sun, Mar 26, 2017 at 04:36:41PM 0400, J Kinable wrote: > > I've opened a pull request for the Chinese Postman Problem: > > https://github.com/jgrapht/jgrapht/pull/385 > > The implementation supports both directed and undirected graphs. I > realized > > why I didn't finish the implementation initially: ideally the algorithm > > requires a fast algorithm for Max Weight matchings in complete graphs, > but > > currently JgraphT doesn't have such implementation. As a tradeoff I > used a > > slower bipartite matching algorithm. > > > > The code is fully functional and tested, but its final inclusion in > JGraphT > > will obviously depend on the review process. Feel free to fork my github > > branch or wait until the implementation makes its way to Jgrapht's master > > branch. > > > > > > br, > > > > Joris Kinable > > > > On Wed, Mar 22, 2017 at 3:40 PM, J Kinable <j.kinable@...> wrote: > > > > > Hi Frank, > > > > > > Currently JGraphT doesn't have algorithms for the Chinese Postman > Problem > > > (CPP). > > > > > > 1. Solving the CPP for mixed graphs is NPhard. As far as I know, the > best > > > performing methods to solve the CPP for mixed graphs use Integer Linear > > > Program Solvers. This is however hard to do in JGraphT since the best > > > performing solvers (Cplex/Gurobi) are commercial and don't have a > common > > > interface. Similar issues appear for open source solvers. I'm not > aware of > > > any open source graph libraries that provide an implementation for the > > > Mixed CPP. > > > > > > 2. On the other hand, the CPP for undirected graphs is much easier. At > > > some point in the past I was working on an implementation for JGraphT. > I > > > can see whether I can finish it somewhere this week (that is, if I can > find > > > on which computer I stored it :) ). > > > > > > br, > > > > > > Joris Kinable > > > > > > On Wed, Mar 22, 2017 at 1:10 PM, Frank Gevaerts <frank.gevaerts@... > > > > > wrote: > > > > > >> Hi, > > >> > > >> I'm looking for a library that can solve the Chinese Postman Problem > (i.e. > > >> finding a (ideally shortest) route that uses all edges in a graph), > either > > >> for undirected graphs, or for mixed graphs. Can JGraphT handle this, > or > > >> does > > >> anyone know a different library I can use? > > >> > > >> My searches only seem to turn up academic papers but no usable code. > > >> > > >> Frank > > >> > > >>  > > >> Frank Gevaerts frank.gevaerts@... > > >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ > > >> Schampbergstraat 32 Tel: ++32(0)1121 > 49 11 > > >> B3511 KURINGENHASSELT Fax: ++32(0)1122 > 04 19 > > >> > > >>  > > >>  > > >> Check out the vibrant tech community on one of the world's most > > >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > >> _______________________________________________ > > >> jgraphtusers mailing list > > >> jgraphtusers@... > > >> https://lists.sourceforge.net/lists/listinfo/jgraphtusers > > >> > > > > > > > >  > Frank Gevaerts frank.gevaerts@... > fks bvba  Formal and Knowledge Systems http://www.fks.be/ > Schampbergstraat 32 Tel: ++32(0)1121 49 11 > B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 > 
From: Szabolcs Besenyei <besza.elte@gm...>  20170327 17:15:34

Hi, In your case the HierholzerEulerianCycle#isEulerian(g) method returns `false` since your graph contains odd degree vertices, thus HierholzerEulerianCycle#getEulerianCycle(g) throws an IllegalArgumentException. Üdvözlettel, Besenyei Szabolcs 20170327 18:21 GMT+02:00 Frank Gevaerts <frank.gevaerts@...>: > Thank you, this is very helpful. I have tried this on our dataset, and it > works for most of our dataset. > One case I'm not entirely sure of is a Hshaped graph: > > Graph<Integer, DefaultWeightedEdge> g=new > SimpleWeightedGraph<>(DefaultWeightedEdge.class); > Graphs.addAllVertices(g, Arrays.asList(1, 2, 3, 4, 5, 6)); > Graphs.addEdge(g, 1, 2, 1); > Graphs.addEdge(g, 2, 3, 1); > Graphs.addEdge(g, 3, 4, 1); > Graphs.addEdge(g, 2, 5, 1); > Graphs.addEdge(g, 3, 6, 1); > > Trying to get the CPP path for that gives me java.lang.IllegalArgumentException: > Graph is not Eulerian > > I'm not entirely sure if this case is expected to work though. > > Frank > > ` > On Sun, Mar 26, 2017 at 04:36:41PM 0400, J Kinable wrote: > > I've opened a pull request for the Chinese Postman Problem: > > https://github.com/jgrapht/jgrapht/pull/385 > > The implementation supports both directed and undirected graphs. I > realized > > why I didn't finish the implementation initially: ideally the algorithm > > requires a fast algorithm for Max Weight matchings in complete graphs, > but > > currently JgraphT doesn't have such implementation. As a tradeoff I > used a > > slower bipartite matching algorithm. > > > > The code is fully functional and tested, but its final inclusion in > JGraphT > > will obviously depend on the review process. Feel free to fork my github > > branch or wait until the implementation makes its way to Jgrapht's master > > branch. > > > > > > br, > > > > Joris Kinable > > > > On Wed, Mar 22, 2017 at 3:40 PM, J Kinable <j.kinable@...> wrote: > > > > > Hi Frank, > > > > > > Currently JGraphT doesn't have algorithms for the Chinese Postman > Problem > > > (CPP). > > > > > > 1. Solving the CPP for mixed graphs is NPhard. As far as I know, the > best > > > performing methods to solve the CPP for mixed graphs use Integer Linear > > > Program Solvers. This is however hard to do in JGraphT since the best > > > performing solvers (Cplex/Gurobi) are commercial and don't have a > common > > > interface. Similar issues appear for open source solvers. I'm not > aware of > > > any open source graph libraries that provide an implementation for the > > > Mixed CPP. > > > > > > 2. On the other hand, the CPP for undirected graphs is much easier. At > > > some point in the past I was working on an implementation for JGraphT. > I > > > can see whether I can finish it somewhere this week (that is, if I can > find > > > on which computer I stored it :) ). > > > > > > br, > > > > > > Joris Kinable > > > > > > On Wed, Mar 22, 2017 at 1:10 PM, Frank Gevaerts <frank.gevaerts@... > > > > > wrote: > > > > > >> Hi, > > >> > > >> I'm looking for a library that can solve the Chinese Postman Problem > (i.e. > > >> finding a (ideally shortest) route that uses all edges in a graph), > either > > >> for undirected graphs, or for mixed graphs. Can JGraphT handle this, > or > > >> does > > >> anyone know a different library I can use? > > >> > > >> My searches only seem to turn up academic papers but no usable code. > > >> > > >> Frank > > >> > > >>  > > >> Frank Gevaerts frank.gevaerts@... > > >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ > > >> Schampbergstraat 32 Tel: ++32(0)1121 > 49 11 > > >> B3511 KURINGENHASSELT Fax: ++32(0)1122 > 04 19 > > >> > > >>  > > >>  > > >> Check out the vibrant tech community on one of the world's most > > >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > >> _______________________________________________ > > >> jgraphtusers mailing list > > >> jgraphtusers@... > > >> https://lists.sourceforge.net/lists/listinfo/jgraphtusers > > >> > > > > > > > >  > Frank Gevaerts frank.gevaerts@... > fks bvba  Formal and Knowledge Systems http://www.fks.be/ > Schampbergstraat 32 Tel: ++32(0)1121 49 11 > B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 > >  >  > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > jgraphtusers mailing list > jgraphtusers@... > https://lists.sourceforge.net/lists/listinfo/jgraphtusers > 
From: Frank Gevaerts <frank.gevaerts@fk...>  20170327 16:21:32

Thank you, this is very helpful. I have tried this on our dataset, and it works for most of our dataset. One case I'm not entirely sure of is a Hshaped graph: Graph<Integer, DefaultWeightedEdge> g=new SimpleWeightedGraph<>(DefaultWeightedEdge.class); Graphs.addAllVertices(g, Arrays.asList(1, 2, 3, 4, 5, 6)); Graphs.addEdge(g, 1, 2, 1); Graphs.addEdge(g, 2, 3, 1); Graphs.addEdge(g, 3, 4, 1); Graphs.addEdge(g, 2, 5, 1); Graphs.addEdge(g, 3, 6, 1); Trying to get the CPP path for that gives me java.lang.IllegalArgumentException: Graph is not Eulerian I'm not entirely sure if this case is expected to work though. Frank ` On Sun, Mar 26, 2017 at 04:36:41PM 0400, J Kinable wrote: > I've opened a pull request for the Chinese Postman Problem: > https://github.com/jgrapht/jgrapht/pull/385 > The implementation supports both directed and undirected graphs. I realized > why I didn't finish the implementation initially: ideally the algorithm > requires a fast algorithm for Max Weight matchings in complete graphs, but > currently JgraphT doesn't have such implementation. As a tradeoff I used a > slower bipartite matching algorithm. > > The code is fully functional and tested, but its final inclusion in JGraphT > will obviously depend on the review process. Feel free to fork my github > branch or wait until the implementation makes its way to Jgrapht's master > branch. > > > br, > > Joris Kinable > > On Wed, Mar 22, 2017 at 3:40 PM, J Kinable <j.kinable@...> wrote: > > > Hi Frank, > > > > Currently JGraphT doesn't have algorithms for the Chinese Postman Problem > > (CPP). > > > > 1. Solving the CPP for mixed graphs is NPhard. As far as I know, the best > > performing methods to solve the CPP for mixed graphs use Integer Linear > > Program Solvers. This is however hard to do in JGraphT since the best > > performing solvers (Cplex/Gurobi) are commercial and don't have a common > > interface. Similar issues appear for open source solvers. I'm not aware of > > any open source graph libraries that provide an implementation for the > > Mixed CPP. > > > > 2. On the other hand, the CPP for undirected graphs is much easier. At > > some point in the past I was working on an implementation for JGraphT. I > > can see whether I can finish it somewhere this week (that is, if I can find > > on which computer I stored it :) ). > > > > br, > > > > Joris Kinable > > > > On Wed, Mar 22, 2017 at 1:10 PM, Frank Gevaerts <frank.gevaerts@...> > > wrote: > > > >> Hi, > >> > >> I'm looking for a library that can solve the Chinese Postman Problem (i.e. > >> finding a (ideally shortest) route that uses all edges in a graph), either > >> for undirected graphs, or for mixed graphs. Can JGraphT handle this, or > >> does > >> anyone know a different library I can use? > >> > >> My searches only seem to turn up academic papers but no usable code. > >> > >> Frank > >> > >>  > >> Frank Gevaerts frank.gevaerts@... > >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ > >> Schampbergstraat 32 Tel: ++32(0)1121 49 11 > >> B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 > >> > >>  > >>  > >> Check out the vibrant tech community on one of the world's most > >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot > >> _______________________________________________ > >> jgraphtusers mailing list > >> jgraphtusers@... > >> https://lists.sourceforge.net/lists/listinfo/jgraphtusers > >> > > > >  Frank Gevaerts frank.gevaerts@... fks bvba  Formal and Knowledge Systems http://www.fks.be/ Schampbergstraat 32 Tel: ++32(0)1121 49 11 B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 
From: J Kinable <j.kinable@gm...>  20170326 20:37:11

I've opened a pull request for the Chinese Postman Problem: https://github.com/jgrapht/jgrapht/pull/385 The implementation supports both directed and undirected graphs. I realized why I didn't finish the implementation initially: ideally the algorithm requires a fast algorithm for Max Weight matchings in complete graphs, but currently JgraphT doesn't have such implementation. As a tradeoff I used a slower bipartite matching algorithm. The code is fully functional and tested, but its final inclusion in JGraphT will obviously depend on the review process. Feel free to fork my github branch or wait until the implementation makes its way to Jgrapht's master branch. br, Joris Kinable On Wed, Mar 22, 2017 at 3:40 PM, J Kinable <j.kinable@...> wrote: > Hi Frank, > > Currently JGraphT doesn't have algorithms for the Chinese Postman Problem > (CPP). > > 1. Solving the CPP for mixed graphs is NPhard. As far as I know, the best > performing methods to solve the CPP for mixed graphs use Integer Linear > Program Solvers. This is however hard to do in JGraphT since the best > performing solvers (Cplex/Gurobi) are commercial and don't have a common > interface. Similar issues appear for open source solvers. I'm not aware of > any open source graph libraries that provide an implementation for the > Mixed CPP. > > 2. On the other hand, the CPP for undirected graphs is much easier. At > some point in the past I was working on an implementation for JGraphT. I > can see whether I can finish it somewhere this week (that is, if I can find > on which computer I stored it :) ). > > br, > > Joris Kinable > > On Wed, Mar 22, 2017 at 1:10 PM, Frank Gevaerts <frank.gevaerts@...> > wrote: > >> Hi, >> >> I'm looking for a library that can solve the Chinese Postman Problem (i.e. >> finding a (ideally shortest) route that uses all edges in a graph), either >> for undirected graphs, or for mixed graphs. Can JGraphT handle this, or >> does >> anyone know a different library I can use? >> >> My searches only seem to turn up academic papers but no usable code. >> >> Frank >> >>  >> Frank Gevaerts frank.gevaerts@... >> fks bvba  Formal and Knowledge Systems http://www.fks.be/ >> Schampbergstraat 32 Tel: ++32(0)1121 49 11 >> B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 >> >>  >>  >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> jgraphtusers mailing list >> jgraphtusers@... >> https://lists.sourceforge.net/lists/listinfo/jgraphtusers >> > > 
From: Frank Gevaerts <frank.gevaerts@fk...>  20170322 17:27:00

Hi, I'm looking for a library that can solve the Chinese Postman Problem (i.e. finding a (ideally shortest) route that uses all edges in a graph), either for undirected graphs, or for mixed graphs. Can JGraphT handle this, or does anyone know a different library I can use? My searches only seem to turn up academic papers but no usable code. Frank  Frank Gevaerts frank.gevaerts@... fks bvba  Formal and Knowledge Systems http://www.fks.be/ Schampbergstraat 32 Tel: ++32(0)1121 49 11 B3511 KURINGENHASSELT Fax: ++32(0)1122 04 19 
From: J Kinable <j.kinable@gm...>  20170313 18:26:03

Sure, feel free to do so. It may be a nice way to get comfortable with Github and the code submission system. Have a look at this first: https://github.com/jgrapht/jgrapht/wiki/ContributorGuidelines Joris On Mon, Mar 13, 2017 at 2:07 PM, apoorv <apoorvmishra101092@...> wrote: > Hi, I wanted to mention that I am relatively new to opensource. I see the > opportunity to use lambda expressions in a few classes for example, in > GraphMLDemo.java. Should I make a pull request to do that? > > > > >  > View this message in context: http://jgraphtusers.107614. > n3.nabble.com/Lambdaexpressionsinjgraphttp4025133p4025136.html > Sent from the jgraphtusers mailing list archive at Nabble.com. > >  >  > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > jgraphtusers mailing list > jgraphtusers@... > https://lists.sourceforge.net/lists/listinfo/jgraphtusers > 
From: apoorv <apoorvmishra101092@gm...>  20170313 18:07:36

Hi, I wanted to mention that I am relatively new to opensource. I see the opportunity to use lambda expressions in a few classes for example, in GraphMLDemo.java. Should I make a pull request to do that?  View this message in context: http://jgraphtusers.107614.n3.nabble.com/Lambdaexpressionsinjgraphttp4025133p4025136.html Sent from the jgraphtusers mailing list archive at Nabble.com. 
From: apoorv <apoorvmishra101092@gm...>  20170313 18:02:35

Thanks, will do so  View this message in context: http://jgraphtusers.107614.n3.nabble.com/Lambdaexpressionsinjgraphttp4025133p4025135.html Sent from the jgraphtusers mailing list archive at Nabble.com. 
From: J Kinable <j.kinable@gm...>  20170313 17:53:34

In various places we are already using Lambda expressions. We've reworked numerous classes since we upgraded from java 7 to java 8, but inevitably there may some older pieces of code left. If you see any opportunities to improve the quality of the code or to improve the performance of an algorithm, feel free to submit a code contribution. br, Joris Kinable On Sun, Mar 12, 2017 at 3:31 PM, apoorv <apoorvmishra101092@...> wrote: > Does jgrapht dev team have any plans for using lambda expressions in place > of > anonymous classes? > > > >  > View this message in context: http://jgraphtusers.107614. > n3.nabble.com/Lambdaexpressionsinjgraphttp4025133.html > Sent from the jgraphtusers mailing list archive at Nabble.com. > >  >  > Announcing the Oxford Dictionaries API! The API offers worldrenowned > dictionary content that is easy and intuitive to access. Sign up for an > account today to start using our lexical data to power your apps and > projects. Get started today and enter our developer competition. > http://sdm.link/oxford > _______________________________________________ > jgraphtusers mailing list > jgraphtusers@... > https://lists.sourceforge.net/lists/listinfo/jgraphtusers > 
From: apoorv <apoorvmishra101092@gm...>  20170312 19:31:10

Does jgrapht dev team have any plans for using lambda expressions in place of anonymous classes?  View this message in context: http://jgraphtusers.107614.n3.nabble.com/Lambdaexpressionsinjgraphttp4025133.html Sent from the jgraphtusers mailing list archive at Nabble.com. 
From: apoorv <apoorvmishra101092@gm...>  20170312 17:17:34

Hi, I read the code in IntrusiveEdge.java and DefaultEdge.java under the package org.jgrapht.graph. I found that both classes have a variable serialVersionUID declared as private static final long and contains the same value even though the class DefaultEdge is a sublass of IntrusiveEdge class. Couldn't we declare serialVersionUID to be protected in IntrusiveEdge class and remove it from the DefaultEdge class?  View this message in context: http://jgraphtusers.107614.n3.nabble.com/DoubtregardingserialVersionUIDinIntrusiveEdgejavaandDefaultEdgejavatp4025132.html Sent from the jgraphtusers mailing list archive at Nabble.com. 
From: dmichail <dimitrios.michail@gm...>  20170312 13:51:21

Hi, I opened pullrequest #376 on Github which fixes this. Consider testing it. Thanks, Dimitrios  View this message in context: http://jgraphtusers.107614.n3.nabble.com/IssuewhenimportJgraphtlibsintoAndroidStudiotp4025116p4025131.html Sent from the jgraphtusers mailing list archive at Nabble.com. 
From: John Sichi <jsichi@gm...>  20170308 21:15:59

Hey all, One of the data modeling issues we faced way back when the JGraphT project started was how to represent all the diverse critters which populate the fascinating world of graph theory: directed graphs, undirected graphs, weighted graphs, acyclic graphs, simple graphs, pseudographs, multigraphs, and on and on. The decisions we made at that time were the following: 1) rule out some of the more exotic possibilities (e.g. hypergraphs) 2) use subinterfaces to model some fundamental variations in graph structure (namely DirectedGraph, UndirectedGraph, and WeightedGraph) 3) treat the rest of the possibilities as constraints on the fundamental types, and provide a library of implementation classes to make it easy to apply and combine them This has worked out fairly well, but over the years, we've seen flaws crop up, particularly around WeightedGraph (e.g. https://github.com/jgrapht/jgrapht/issues/116), as well as a lot of duplication of class implementations due to the split between DirectedGraph and UndirectedGraph After various discussions in github, the project committers have collectively come up with a newer approach, and one of us (Dimitrios Michail) has put a big effort into belling the cat: https://github.com/jgrapht/jgrapht/pull/366 This pull request deprecates decision #2 above. Namely, we are proposing to phase out the UndirectedGraph, DirectedGraph, and WeightedGraph interfaces, unifying all of their methods into the existing Graph interface. In place of compiletime type information, we're introducing the GraphType interface as runtime type information. Hence, where before an algorithm might have required a DirectedGraph as input via method signature, it will now take a Graph, and then throw an exception if a graph of incorrect type is supplied as input. This was already the approach for the less fundamental graph aspects (e.g. when an algorithm prohibited multigraphs as input), so now it is being applied uniformly. We realize this may cause a bit of upgrade pain for existing apps which are written in terms of the subinterfaces being deprecated. But we believe it's a worthwhile tradeoff both in terms of library interface improvement and longterm library maintainability. As always, we're planning to go through the usual deprecation process to make the transition as smooth as possible for apps and dependent libraries. But before moving ahead with merging this pull request, we'd like to hear any feedback you might have on the new approach. Thanks! 
From: Hendrik LückeTieke <helt@ou...>  20170220 21:19:02

Hi, im currently evaluating if jgrapht is sufficient for my Needs. Am i right, that it does not contain any graph clustering algorithms (yet)? Are there even Interfaces for such a use case? Best, helt 
From: Szabolcs Besenyei <besza.elte@gm...>  20170130 13:55:11

Hi, https://github.com/jgrapht/jgrapht/blob/master/jgraphtdemo/src/main/java/org/jgrapht/demo/GraphMLDemo.java Is this what you had in mind? Regards, Üdvözlettel, Besenyei Szabolcs 20170130 6:16 GMT+01:00 st chakra <stchakra@...>: > Hello, > > I want to create a weighted directed graph, using jgrapht from a xml file > as input. I read in the documentation that jgrapht offers this feature but > i am in need of an example to learn how to implement it. Can you please > help with an example? > > Your help will be greatly appreciated. > > Thanks, > Shreya > > > >  >  > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > jgraphtusers mailing list > jgraphtusers@... > https://lists.sourceforge.net/lists/listinfo/jgraphtusers > > 
From: st chakra <stchakra@gm...>  20170130 05:17:04

Hello, I want to create a weighted directed graph, using jgrapht from a xml file as input. I read in the documentation that jgrapht offers this feature but i am in need of an example to learn how to implement it. Can you please help with an example? Your help will be greatly appreciated. Thanks, Shreya 
From: Dimitrios Michail <dimitrios.michail@gm...>  20170120 12:07:00

Hi all, to accompany our latest release 1.0.1 we have compiled a list of features/enhancements for the library, that we may work in the near future. https://github.com/jgrapht/jgrapht/wiki/TODOs We hope that by compiling such a list (a) more people will contribute to the development of the library, and (b) it will be easier for someone new to the codebase to get involved. The list is by no means exhaustive, feel free to enhance functionality in some other area and submit a pullrequest. Regards, Dimitrios Michail 
From: J Kinable <j.kinable@gm...>  20170117 00:43:21

Hi all, To start the new year right, we have released JGraphT version 1.0.1! Thanks to all your contributions, this new release has many new features, enhancements, qualityoflife improvements and bugfixes. For a full list of changes, refer to https://github.com/jgrapht/jgrapht/blob/master/HISTORY.md. Again, JGraphT wouldn't exist without your help, so continue submitting those nice code contributions! cheers, Joris Kinable 