addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1light-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Mathias Brandewinder's Bumblebee: an Artificial Bee Colony algorithm in F#

Sometime in 2010, after years of C# development, I discovered F#, and found programming in a functional style both tricky and fun. Inspired by an article on Artificial Bee Colony algorithms, an optimization algorithm that mimics the intelligent foraging behaviour of honey bee swarms, I decided as a learning project to convert it from C# into an F# library, Bumblebee, which is available open-source at http://bumblebee.codeplex.com. In this talk, I want to do 4 things:
1) cover the basics of Artificial Bee Colony algorithms, and illustrate what problems it can help solve,
2) solve a problem together with Bumblebee, and use it as a F# primer,
3) open the hood and discuss some of the design aspects (making the API both F# and C# friendly, using the Task Parallel Library for parallelism, using OO and functional styles together, unit testing...)
4) share my learning experience transitioning from a C#-mindset to thinking F#.

This talk should be particularly relevant for C# developers who are F#-curious. Knowing F# beforehand is not required, but a certain comfort with functional concepts, like LINQ in C#, will definitely help.

I have been writing software in C# for 8+ years, and loving every minute of it, except maybe for a few release days. I enjoy arguing about code and how to make it better, and get very excited when discussing TDD or F#. My other professional interests are applied math and probability. If you want to know more about me, you can check out my blog at http://www.clear-lines.com/blog/ or follow me on Twitter as @brandewinder.

Join or login to comment.

  • Ted N.

    How do we get in?

    February 21, 2013

  • Ted N.

    Looking forward to seeing it.

    February 14, 2013

  • A former member
    A former member

    Darn; I thought that said Tuesday night.

    February 14, 2013

14 went

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy