New publication

The research paper “Markov decision processes to model livestock systems” have been published as a chapter in Handbook of Operations Research in Agriculture and the Agri-Food Industry. The paper gives a review of the increasing amount of papers using MDPs to model livestock farming systems and provide an overview over the recent advances within this branch of research. Moreover, theory and algorithms for solving both ordinary and hierarchical MDPs are given and possible software for solving MDPs are considered.

Animation of wind using Shiny

I have played a bit with Shiny the last days. Let us try to create an shiny web application which show a map and add a layer with wind directions and wind speed. First we need weather data for a given latitude and longitude. We will use the API from to retrieve data. Your will need an API key for using the service. We define functions to retrieve the data

Distance matrix calculations in R

Many models in Operations Research needs a distance matrix between nodes in a network. If the distance matrix is based on road distances it can be found using R. Let us try to compute the distances between a set for zip codes in Denmark. First we load all zip codes for Jutland in Denmark:

Publishing R markdown to WordPress

In some cases it may be useful to write a WordPress post in R Markdown and afterwards publish it to my blog. This can be done using the RWordPress package. First we setup a link to my blog: if (!require(‘RWordPress’)) install.packages(‘RWordPress’, repos = ‘’, type = ‘source’) library(RWordPress) options(WordPressLogin = c(<your username> = ‘<your password>’), WordPressURL = ‘’) Next the post is written in a Rmd file and afterwards published to WordPress: id<-knit2wp(‘RWordPress_post.Rmd’, title = ‘Publishing R markdown to WordPress’, categories = c(‘R’), publish=F ) Now the post with id is a draft on my blog and I can have a look at it before publishing it. If I want to update the post I do: knit2wp(‘RWordPress_post.Rmd’, title = ‘Publishing R markdown to WordPress’, postid=id, action=’editPost’, categories = c(‘R’), publish = F ) To highlight the above code I use the WP Code Highlight.js plugin. If you use other syntax highlight […]

Migrating from svn (R-forge) to git (GitHub)

I recent migrated my R package mdp from my R-forge svn repo to GitHub. Do the following: Create an empty folder mdp and open a shell and import the svn to git (I only imported the pkg sub-folder svn+ssh:// git svn clone svn+ssh:// . # import the svn git branch -a # info, should show a git-svn remote branch git svn info # show svn details (also URL) Now add your local repo to GitHub. First, create an empty GitHub repo and next run from the shell: git remote add origin git push -u origin master The first line tells Git that your local repo has a remote version on GitHub, and calls it “origin”. The second line pushes all your current work to that repo. Now you have a local Git repo and 2 remote repos (one at GitHub and one at R-forge). You want to use GitHub as […]

Using RStudio together with Git and GitHub on Windows

I have started to use Git and GitHub together with RStudio. Git is a distributed version control system which is very useful when doing reproducible research. It is a good way to handle programming/coding. Moreover, Git (via GitHub) allows groups of people to work on the same documents (often code) at the same time, and without stepping on each other’s toes. RStudio is an excellent integrated development environment built specifically for R.

How to install a fully working LaTeX environment

This post is a guide on how to install the computer typesetting system LaTeX and the corresponding programs for editing and creating LaTeX documents, and converting them to Portable Document Format (pdf) on Windows. You will need to install the following software in the following order A LaTeX engine. A free engine under Windows is MikTeX (containing a lot of other useful stuff). Just install the basic installer, which will download the packages you need automatically. A LaTeX editor. I recommend the free editor TeXStudio which is very powerful. Download and install the latest version. If you want another spellchecker language (e.g. Danish), have a look at this page. Even though that TeXStudio have a built-in pdf viewer. I also suggest to install SumatraPDF. Happy typing 🙂

Markov decision theory

During the this semester I am teaching the course “Markov decision theory” at the Department of Mathematics. The course presents the algorithmic aspects of Markov decision theory and illustrates the wide applicability of this theory to a variety of realistic problems. First, the course consider the Poisson process followed by Renewal/Reward Processes. Next we study the theory of Markov chains. Then follows a thorough presentation of the theory of Markov Decision Processes, including some applications. Finally, further applications are discussed based on reports made by the students. A course plan is given here.

Ranking paths in stochastic time-dependent networks

The research paper “Ranking paths in stochastic time-dependent networks” have been accepted for publication in European Journal of Operational Research. In this paper we address optimal routing problems in networks where travel times are both stochastic and time-dependent. In these networks, the best route choice is not necessarily a path, but rather a time-adaptive strategy that assigns successors to nodes as a function of time. Nevertheless, in some particular cases an origin-destination path must be chosen a priori, since time-adaptive choices are not allowed. Unfortunately, finding the a priori shortest path is an NP-hard problem. We propose a solution method for the a priori shortest path problem, and we show that it can be easily extended to the ranking of the first K shortest paths. Our method exploits the solution of the time-adaptive routing problem as a relaxation of the a priori problem. Computational results are presented showing that, under […]