Abstract
Computing a viability kernel consumes time and memory resources which increase exponentially with the dimension of the problem. This curse of dimensionality strongly limits the applicability of this approach, otherwise promising. We report here an attempt to tackle this problem with Graphics Processing Units (GPU). We design and implement a version of the viability kernel algorithm suitable for General Purpose GPU (GPGPU) computing using Nvidia’s architecture, CUDA (Computing Unified Device Architecture). Different parts of the algorithm are parallelized on the GPU device and we test the algorithm on a dynamical system of theoretical population growth. We study computing time gains as a function of the number of dimensions and the accuracy of the grid covering the state space. The speed factor reaches up to 20 with the GPU version compared to the Central Processing Unit (CPU) version, making the approach more applicable to problems in 4 to 7 dimensions. We use the GPU version of the algorithm to compute viability kernel of bycatch fishery management problems up to 6 dimensions.
Similar content being viewed by others
References
Andrés-Domenech P, Saint-Pierre P, Smala Fanokoa P, Zaccour G (2014) Sustainability of the dry forest in Androy: a viability analysis. Ecol Econ 104:33–49. doi:10.1016/j.ecolecon.2014.04.016
Aubin JP, Saint-Pierre P (2007) An introduction to viability theory and management of renewable resources. In: Advanced methods for decision making and risk management in sustainability science. Nova Science Publishers Inc, Hauppauge, pp 43–93
Béné C, Doyen L, Gabay D (2001) A viability analysis for a bio-economic model. Ecol Econ 36(3):385–396. doi:10.1016/S0921-8009(00)00261-5
Bernard C, Martin S (2013) Comparing the sustainability of different action policy possibilities: application to the issue of both household survival and forest preservation in the corridor of Fianarantsoa. Math Biosci 245(2):322–30. doi:10.1016/j.mbs.2013.08.002. http://www.ncbi.nlm.nih.gov/pubmed/23954403
Bokanowski O, Martin S, Munos R, Zidani H (2006) An anti-diffusive scheme for viability problems. Appl Numer Math 56(9):1147–1162. doi:10.1016/j.apnum.2006.03.004
Bonneuil N (2006) Computing the viability kernel in large state dimension. J Math Anal Appl 323(2):1444–1454. doi:10.1016/j.jmaa.2005.11.076
Cekmez U, Ozsiginan M, Technologies S, Air T, Academy F, Sahingoz OK (2013) Adapting the GA Approach to solve traveling salesman problems on CUDA architecture. In: 14th IEEE international symposium on computational intelligence and informatics, pp 423–428
Chapel L, Deffuant G, Martin S, Mullon C (2008) Defining yield policies in a viability approach. Ecol Model 212(1–2):10–15. doi:10.1016/j.ecolmodel.2007.10.007
Chapel L, Castelló X, Bernard C, Deffuant G, Eguíluz VM, Martin S, San Miguel M (2010) Viability and resilience of languages in competition. PLoS One 5(1):1–11. doi:10.1371/journal.pone.0008681
Deffuant G, Chapel L, Martin S (2007) Approximating viability kernels with support vector machines. IEEE Trans Autom Control 52(5):933–937. doi:10.1109/TAC.2007.895881. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4200855
Djeridane B, Lygeros J (2008) Approximate viability using quasi-random samples and a neural network classifier. Int Fed Autom Control 2:14342–14347
Donoho DL (2000) High-dimensional data analysis: the curses and blessings of dimensionality. In: Math challenges of the 21st century, pp 1–32
Doyen L, De Lara M (2010) Stochastic viability and dynamic programming. Syst Control Lett 59(10):629–634. doi:10.1016/j.sysconle.2010.07.008
Doyen L, Thébaud O, Béné C, Martinet V, Gourguet S, Bertignac M, Fifas S, Blanchard F (2012) A stochastic viability approach to ecosystem-based fisheries management. Ecol Econ 75:32–42. doi:10.1016/j.ecolecon.2012.01.005
Ehrlich I, Lui F (1997) The problem of population and growth: a review of the literature from Malthus to contemporary models of endogenous population and endogenous growth. J Econ Dyn Control 21(1):205–242. http://www.ncbi.nlm.nih.gov/pubmed/12292267
Ekerhovd NA, Steinshamm SI (2014) Optimization in the ‘pelagic complex’: a multi-species competition model of north east Atlantic fisheries. ICES J Mar Sci
Goldsworthy MJ (2014) A GPU-CUDA based direct simulation Monte Carlo algorithm for real gas flows. Comput Fluids 94:58–68. doi:10.1016/j.compfluid.2014.01.033
Kaynama S, Oishi M (2013) A modified Riccati transformation for decentralized computation of the viability kernel under LTI dynamics. IEEE Trans Autom Control 58(11):2878–2892. arXiv:1302.5990v1
Krawczyk JB, Pharo A, Serea OS, Sinclair S (2013) Computation of viability kernels: a case study of by-catch fisheries. Comput Manag Sci 10(4):365–396. doi:10.1007/s10287-013-0189-z
Langdon WB (2011) Debugging CUDA. In: Proceedings of the 13th annual conference companion on Genetic and evolutionary computation—GECCO ’11, p 415. doi:10.1145/2001858.2002028. http://portal.acm.org/citation.cfm?doid=2001858.2002028
Maidens JN, Kaynama S, Mitchell IM, Oishi MMK, Dumont GA (2009) Lagrangian methods for approximating the viability kernel in high-dimensional systems. Automatica (2013) 49(7):2017–2029
Mametjanov A, Lowell D, Ma CC, Norris B (2012) Autotuning stencil-based computations on GPUs. In: 2012 IEEE international conference on cluster computing, pp 266–274. doi:10.1109/CLUSTER.2012.46. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6337788
Mathias JD, Bonté B, Cordonnier T, de Morogues F (2015) Using the viability theory to assess the flexibility of forest managers under ecological intensification. Environ Manag (June). doi:10.1007/s00267-015-0555-4
Mattioli J, Artiouchine K (2003) Noyau de viabilité: une contrainte globale pour la modélisation de systèmes dynamiques. Technique et Science Informatiques, pp 19–32
Rice J, Daan N, Gislason H, Pope J (2013) Does functional redundancy stabilized fish communities. ICES J Mar Sci 70(4):734–742
Rougé C, Mathias JD, Deffuant G (2013) Extending the viability theory framework of resilience to uncertain dynamics, and application to lake eutrophication. Ecol Indic 29:420–433. doi:10.1016/j.ecolind.2012.12.032
Sabo D, Barzelay O, Weiss S, Furst M (2014) Fast evaluation of a time-domain non-linear cochlear model on GPUs. J Comput Phys 265:97–112. doi:10.1016/j.jcp.2014.01.044
Saint-Pierre P (1990) Approximation of the viability kernel. Appl Math Optim 29(2):1–22
Sicard M, Perrot N, Reuillon R, Mesmoudi S, Alvarez I, Martin S (2012) A viability approach to control food processes: application to a Camembert cheese ripening process. Food Control 23(2):312–319. doi:10.1016/j.foodcont.2011.07.007
Turriff J, Broucke ME (2009) A method to construct viability kernels for nonlinear control systems. 2009 Am Control Conf 1(1):3983–3988. doi:10.1109/ACC.2009.5160409. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5160409
Acknowledgments
This work was supported by grants from Irstea and Region Auvergne. This support is gratefully acknowledged.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Brias, A., Mathias, JD. & Deffuant, G. Accelerating viability kernel computation with CUDA architecture: application to bycatch fishery management. Comput Manag Sci 13, 371–391 (2016). https://doi.org/10.1007/s10287-015-0246-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10287-015-0246-x