Home » Research » Projects

Category: Projects

Information regarding scientific research projects.

Linear minimum area enclosing triangle implementation


Given an arbitrary set of points in the 2D Euclidean plane compute the enclosing triangle having the minimum area.

Minimal area enclosing triangle example
Figure 1: An example of a set of points in the 2D Euclidean plane (highlighted in green) and the corresponding minimal area enclosing triangle (highlighted in red).

Theoretical solution

Based on an elegant geometric characterization provided by Klee and Laskowski O’Rourke developed a linear algorithm for addressing the above problem; see the An optimal algorithm for finding minimal enclosing triangles paper for more details.


A detailed description of all required algorithms is provided in the Implementation of linear minimum area enclosing triangle algorithm paper and a C++ implementation of these algorithms is made freely available at https://github.com/IceRage/minimal-area-triangle.

Behaviour driven model construction in Matlab

Using the Hornberg 2005 MAPK signal transduction pathway model a Genetic Algorithm was implemented in Matlab for moving the peak (i.e. global maximum) of the ERK-PP time series as late as possible i.e. as further away in time as possible. The algorithm starts with a population of randomly initialized individuals and runs for a given number of iterations. In the end, all the individuals for which the peak of the time series of ERK-PP is reached later than a given threshold value are printed in a file “output.txt”. The source code is open source and can be adapted for other projects. You can access it from the github repository behaviour-driver. Thank you to Qian Gao for providing the set of ODEs already implemented in Matlab. They are the result of her own work and only a modified version of the model was used here. For more details regarding the original model, please contact the author.

Guide for obtaining ordinary differential equations from chemical reactions or a Petri net

During the process of familiarizing myself with the concepts of Petri nets and continuous simulations of bio-chemical networks, I wanted to discover the mechanism of deriving the set of ordinary differential equations (ODEs) corresponding to a given set of chemical reactions or the graphical representation of a Petri net. I have summarized my findings in the following guide and published it here such that other people facing the same question can get a quicker answer. Therefore, this guide is intended to be read by “beginners” and not professionals or experts.