./rcw-prob-gen
BACKGROUND:
This generator of Mixed Integer Programs in .lp format was produced for research 
into the Red-Cockaded Woodpecker (RCW) conservation problem. The RCW is federally 
listed as an endangered species and can only inhabit land patches that 
are purchased and maintained as reserves (patches are grouped into parcels
for purchase). Like many species, RCW dispersion can be predicted using various 
simulation models influenced by geographic landscape.  The MIPs provided encode
the problem of choosing the set of land parcels to purchase under some budget
that maximize the number of land patches inhabited by RCW across some number N of
stochastic samples.  This generator was produced as a result of research done by:

[1] D. Sheldon, B. Dilkina, A. Elmachtoub, R. Finseth, A. Sabharwal, J. Conrad, 
C. P. Gomes, D. Shmoys, W. Allen, O. Amundsen, and B. Vaughan. Maximizing spread 
of cascades using network design. In UAI-2010: 26th Conference on Uncertainty in 
Artificial Intelligence, pp. 517–526, Catalina Island, Avalon, CA, July 2010.

[2] K. Ahmadizadeh, B. Dilkina, C. P. Gomes, and A. Sabharwal. An empirical study of 
optimization for maximizing diffusion in networks. In CP-2010: 16th Intl. Conf. on 
Principles and Practice of Constraint Programming, St Andrews, Scotland, Sept. 2010. 

The bibtex for these papers is at the end of this readme.  Please cite them when using 
this generator in your own work.    

USING THE UTILITY:
Type make to build the utility.  Type "./rcw-prob-gen --help" for options.  The directory maps contains sample data that can be used to generate instances.

The directory geninstances contains a set of 10 shell scripts that generate a set of 
benchmark MIPs for one of the sample maps provided in the maps directory (see [2] and 
http://www.cs.cornell.edu/~kiyan/rcw/generator.htm for details on how these maps were 
generated).  Each map consists of 411 land patches grouped into 146 parcels.  Each MIP
generated consists of N=10 random samples, produced over a time horizon of 40 years.  
For each random map, M=20 samples of N=10 scenarios are taken at 9 increasing budget
levels.  The total number of MIP instances given if all scripts are run is thus:

(10 randomized maps) * (M=20 samples of N=10 scenarios) * (NB=9 budget levels) =
1800 MIP instances.  

Each MIP has 146 binary variables (corresponding to the 146 land parcels) and 
(411 land patches * 40 years * N=10 samples) = 164,400 continuous variables.  

The 9 budget levels are 4,6,8,10,12,14,16,18,20% of the total cost of all parcels
(i.e. from very constrained to less constrained).  Grouped by budget level, the MIP
instances should have similar runtime.  

REFERENCES:  
@inproceedings{sheldon-etal10:rcw,
  title={Maximizing Spread of Cascades Using Network Design},
  author={Sheldon, Daniel and Dilkina, Bistra and Elmachtoub, Adam and Finseth, Ryan and Sabharwal, 	
  Ashish and Conrad, Jon and Gomes, Carla P. and Shmoys, David and Allen, Will and Amundsen, Ole and 
  Vaughan, Buck},
  booktitle={UAI-2010: 26th Conference on Uncertainty in Artificial Intelligence},
  address={Catalina Island, Avalon, CA},
  month=jul,
  year=2010,
  pages={517-526}
}

@inproceedings{adgs10:rcw,
  author={Ahmadizadeh, Kiyan and Dilkina, Bistra and Gomes, Carla P. and Sabharwal, Ashish},
  title={An Empirical Study of Optimization for Maximizing Diffusion in Networks},
  booktitle={CP-2010: 16th Intl. Conf. on Principles and Practice of Constraint Programming},
  address={St Andrews, Scotland},
  month=sep,
  year=2010
}
