[R] Optimization and Linear Programming in R

Chris.Wilcox at csiro.au Chris.Wilcox at csiro.au
Fri Jun 26 09:23:51 CEST 2009


Dear List,

My student and I are looking for an optimizer for a nonlinear optimization problem we are working on.  The problem we are working on is to try to pick a set of islands on which to eradicate rats for seabird conservation.  We have about 50 islands, each of which has some subset of 17 seabird species.  Rats are present on all islands, and will cause the seabirds to go extinct unless they are removed.  Removing rats on islands costs different amounts depending on which island is chosen.  The decision problem is to pick the set of islands which will save the "most" seabird species within a given budget.  Here we use a nonlinear function to calculate the objective.  The function is the proportion of individuals of each species saved divided by the total number of birds, times the log of the same number, summed up across all of the islands that are chosen to be in the set that is saved.

We have a single constraint, which is a budget in our case.  The contribution to this constraint is the product of the cost of each island times the decision vector.  Our decision variable is a binary vector (1 for removing rats from an island, 0 for not removing them).  The objective function is as I have explained above.

We are looking for a solver that can deal with this nonlinear integer programming problem.  We looked at a number of packages on the CRAN Task View: Optimization and Mathematical Programming, however, we have not been able to locate one that will suit our purposes.  The essential features are we need to be able to write a nonlinear function for the objective (hopefully a self contained one as we need to include some data in it), we need to be able to use a binary decision (or parameter) vector, and we need to be able to use a constraint.  Any suggestions as to packages or other software that will work for our problem would be much appreciated.

Thanks,

Chris Wilcox and Greg Thonier




More information about the R-help mailing list