Computational Management Science

, Volume 13, Issue 3, pp 371–391 | Cite as

Accelerating viability kernel computation with CUDA architecture: application to bycatch fishery management

  • Antoine Brias
  • Jean-Denis Mathias
  • Guillaume Deffuant
Original Paper


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.


Viability kernel Dynamic programming CUDA GPU  Fishery management 

Mathematics Subject Classification

90B50-management decision making, including multiple objectives  90C39-dynamic programming 



This work was supported by grants from Irstea and Region Auvergne. This support is gratefully acknowledged.


  1. 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 CrossRefGoogle Scholar
  2. 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–93Google Scholar
  3. 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 CrossRefGoogle Scholar
  4. 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.
  5. 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 CrossRefGoogle Scholar
  6. 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 CrossRefGoogle Scholar
  7. 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–428Google Scholar
  8. 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 CrossRefGoogle Scholar
  9. 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 CrossRefGoogle Scholar
  10. 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.
  11. Djeridane B, Lygeros J (2008) Approximate viability using quasi-random samples and a neural network classifier. Int Fed Autom Control 2:14342–14347Google Scholar
  12. Donoho DL (2000) High-dimensional data analysis: the curses and blessings of dimensionality. In: Math challenges of the 21st century, pp 1–32Google Scholar
  13. 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 CrossRefGoogle Scholar
  14. 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 CrossRefGoogle Scholar
  15. 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.
  16. Ekerhovd NA, Steinshamm SI (2014) Optimization in the ‘pelagic complex’: a multi-species competition model of north east Atlantic fisheries. ICES J Mar SciGoogle Scholar
  17. 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 CrossRefGoogle Scholar
  18. 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
  19. 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 CrossRefGoogle Scholar
  20. 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.
  21. 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–2029Google Scholar
  22. 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.
  23. 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
  24. 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–32Google Scholar
  25. Rice J, Daan N, Gislason H, Pope J (2013) Does functional redundancy stabilized fish communities. ICES J Mar Sci 70(4):734–742CrossRefGoogle Scholar
  26. 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 CrossRefGoogle Scholar
  27. 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/ CrossRefGoogle Scholar
  28. Saint-Pierre P (1990) Approximation of the viability kernel. Appl Math Optim 29(2):1–22Google Scholar
  29. 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 CrossRefGoogle Scholar
  30. 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.

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.Irstea, UR LISC Laboratoire d’Ingénierie des Systèmes ComplexesAubièreFrance

Personalised recommendations