Entries by Ash Nelson

The Trajectory of a Vehicle Routing

I recently wanted to view an animation of a vehicle routing optimisation algorithm I have been working on. The algorithm uses a two phase optimisation approach. The first phase is a construction heuristic. The second phase is guided local search meta heuristic. The algorithms primary focus is to produce a visually attractive solution. Visually attractive […]


I recently needed to organise and filter a heap of data from a new client. I didn’t want to deal with the overhead of a full-blown database and decided to try sqlite3. As it turns out, it was really easy to work with since the bindings are included with Python2.6. All I needed to do […]

The Mighty Middle Click

I recently discovered a nice set of shortcuts that use the middle mouse button click: • In Firefox or Internet Explorer, middle-clicking on a link will open that link in a new tab. • In Firefox or Internet Explorer, middle-clicking on a tab will close that tab. This also works to close files in Visual […]

XSLT vs Python/LXML

I recently had to adapt some old XLST which read in an XML document and did some transformations to turn it into CSV data. For those who don’t know what XSLT is (consider yourself lucky!), it is a declarative, XML-based transformation language usually used for transforming a source XML into destination XML. Now the XSLT […]

Using Simpy and Python

I recently completed a discrete-event simulation model using SimPy. This was my first foray into Python programming and the first time I used a non-graphical discrete-event simulation package (most of my previous experience was using Witness). The model tracks the utilisation of wagons on trains. Key constraints include availability of staff, availability of a path […]

Lightweight Geocoding

At Biarri we’re always on the look out for inexpensive, light tools that we can integrate with and pass on the value to our Workbench customers. We’ve been hunting for quite a while but haven’t yet found a good free Geocoder that is suitable for possibly intensive commercial use (and preferably worldwide!). Geocoders turn addresses […]

Designing Distribution Networks for Utilities

Many utilities face the problem of designing distribution networks.  These networks need to reach all (or nearly all) households to distribute (or collect) the commodity supplied by the utility.  This may be electricity, gas, water, data (cable or optical fibre) or sewerage. Typically these distribution networks are built as a subset of some underlying network. […]

Generating KML Thematic Maps

The Biarri workbench now has a tool for showing the frequency of an event per postcode. The colourised map (funkier name Choropleth map) is generated as KML from postcode regions that are stored in a postgis database. This just requires a little bit of sql and python: dict_cur.execute(“select p.gid, p.poa_2006, ST_AsKML(the_geom) as \ polygon, frequency, […]

Biarri’s first Open Source contribution

Today Biarri open sourced its first code. We’ve used Google Code hosting with an MIT License to open source a small program called osm2mif that converts Open Street Map data (OSM) to MapInfo Interchange Format (MID/MIF). From the Google Code project homepage for osm2mif: Converts an Open Street Map file (.OSM) to mid/mif output, creating […]

Using Open Street Map data for Australia

I’ve been using Open Street Map (OSM) data for Australia for generating matrices of travel times and distances that are suitable for input to truck routing optimisation problems. OSM is a world-wide map data set that anyone can edit and is impressively comprehensive. Some of the resources I’ve used are www.osmaustralia.org, which does a regular […]