Google Summer of Code Proposal: GRuVeR: A General Ruby library for solving Routing Vehicle Problem

Wednesday, April 16, 2008
This year is the last that I'm going to be a student, at least a bachelor one, since i've already completed (almost) my thesis and pretty soon I will be saying bye-bye to my University. I haven't really had the chance to participate in Google Summer of Code partially because I had never really heard of it (in time) and also because I didn't believe that I was able to contribute something really good (lack of confidence here :) ). But this year and after messing around with others' people code (heh) and some of my own (including my thesis) and with the help/ideas given by some friends I did finally sent a proposal.

The main concept is to implement a library for solving Vehicle Routing Problems in Ruby. How is this going to happen? The ground basis will be the beautiful Charlie library, written by Sander Land, which makes it really easy to write programs with Genetic Algorithms built in and really fast (in terms of time required to write the code :D). James also pointed out Gecode/R which is frontend to Gecode and uses another technique, Constraint Programming and I'm trying to think if and how this can also be used (a discussion can be found on the Gecode/R mailing list). I'm not going to get into details here; if anyone is interested a part of the proposal can be found in the Ruby mailing list and the full version is available as pdf here. Feel free to send in any thoughts :).

I'm really waiting for the ranking results and I reeeeeally hope that it will get accepted even though it's a really specific and targeted project when compared with others like contributing to the alternative VMs, refactoring RDoc (although version 2 is out) and such. The good thing with implementing this, is that it will produce some really nice benchmarks between the different VMs and also create some feedback with suggestions/patches/fixes (here are some examples from this Monday's experiments I was doing). Regardless though of whether or not it gets accepted, I believe that I will finally write this thing cause after a chat I had with Sander, which by the way is my potential mentor to the project, he also seems interested in this and willing to help.

So, stay tuned for updates on this - later this day I'm going to post some benchmark results between almost all current Ruby VMs (Ruby 1.8, Ruby 1.9, JRuby 1.1 and Rubinius)* after running some example code I wrote for the Traveling Salesman Problem.

* I'm missing the C# implementation of Ruby here but I thought that it won't be able to run on my Mac so I didn't bother to try it. If I'm wrong please let me know and I will also set it up right away!

P.S.: Do you have a better name in mind for the project??? I'm not sure I like "GRuVeR". Wouldn't something like "delivery" sound better?

4 comments:

  • 阿童木

    Although not anybody feels the rolex replica admiration to arise automated watch winder on their automated watch, those that are advantageous to acquire one archetype of these top craftsmanship, apprenticed copy accessories are accurate by the replica rolex chrism for the crop in watch accent architecture and utility. Ranging anywhere from a brace of hundred to lots of money, watch winders will not be a article item, nor aphotic beer advised to be. Automated watch winders accomplish the attention principals of the babyish watch itself, and bout it forth with the exact replica watches weighting and timing to alpha the abiding motion accepted to wind the watch after alfresco options for power.

  • Abel Ahar

    I was impressed with this blog, although the material is simple but the results are extraordinary

    cara menggugurkan kandungan
    obat aborsi
    kalkulator kehamilan

  • alat bantu sex

    By reading this article many benefits that we can learn. thank you for sharing your insights to us all

  • replicahorlogesnederland

    Dit is een zeer uniek Tag Heuer Monaco Mikrograph replica horloges nederland. In de eerste plaats is het groot en vierkant en omvangrijk en zwaar en ziet eruit als geen ander replica Tag Monaco die er zijn. Het
    replica horloges tag heuer heeft in principe een blik van zijn eigen en het gevoel op de pols is ook heel uniek in vergelijking met elke replica horloges. Het is een zwaardere horloge en ik denk dat het moet niet lichter zijn als we alleen zijn te oordelen naar de looks.

    Ik denk dat het feit dat het een volledig roestvrij stalen
    replica horloges omega advertenties aan deze "op steroïden" look. Het zou in ieder geval kleiner verschijnen als het geval is zwart en op een zwarte replica horloges rolex lederen band zou zijn. Ik had een van deze voor en ik denk dat dit is wat ik zie hier door het vergelijken van de twee.

  • Post a Comment