Optimization Letters

, Volume 7, Issue 5, pp 967–984 | Cite as

A Python/C library for bound-constrained global optimization with continuous GRASP

  • R. M. A. Silva
  • M. G. C. Resende
  • P. M. Pardalos
  • M. J. Hirsch
Original Paper


This paper describes \({\texttt{libcgrpp}}\) , a GNU-style dynamic shared Python/C library of the continuous greedy randomized adaptive search procedure (C-GRASP) for bound constrained global optimization. C-GRASP is an extension of the GRASP metaheuristic (Feo and Resende, 1989) and has been used to solve unstable and nondifferentiable problems, as well as hard global optimization problems, such as chemical equilibrium systems and robot kinematics applications (Hirsch et al. in Optim lett 1:201–212, 2007). After a brief introduction to C-GRASP, we show how to download, install, configure, and use the library through an illustrative example.


GRASP Continuous GRASP Global optimization Multimodal functions Continuous optimization Heuristic Stochastic algorithm Stochastic local search Nonlinear programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ackley D.H.: A Connectionist Machine for Genetic Hillclimbing. Kluwer, Boston (1987)CrossRefGoogle Scholar
  2. 2.
    Bäck T.: Evolutionary Algorithms in Theory and Practice. Oxford University Press, New York (1996)zbMATHGoogle Scholar
  3. 3.
    Calcote J.: Autotools: A practitioner’s guide to GNU Autoconf, Automake, and Libtool. No Starch Press, San Francisco (2010)Google Scholar
  4. 4.
    Hirsch M.J., Meneses C.N., Pardalos P.M., Resende M.G.C.: Global optimization by continuous grasp. Optim. Lett. 1, 201–212 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Hirsch M.J., Pardalos P.M., Resende M.G.C.: Speeding up continuous GRASP. J. Oper. Res. 205, 507–521 (2010)zbMATHCrossRefGoogle Scholar
  6. 6.
    Hirsch, M.J.: GRASP-based heuristics for continuous global optimization problems. PhD thesis, University of Florida, Gainesville (2006)Google Scholar
  7. 7.
    Matsumoto M., Nishimura T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8(1), 3–30 (1998)zbMATHCrossRefGoogle Scholar
  8. 8.
    McGuire P.: Getting Started with Pyparsing. O’Reilly Media, Sebastopol (2007)Google Scholar
  9. 9.
    SimCList. Accessed 12 July 2011 (2011)
  10. 10.
    SymPy. Accessed 11 July 2011 (2011)
  11. 11.
    van Rossum, G., Drake F.L. Jr. (eds.): Extending and embedding Python, Release 2.7. Python Software Foundation, Wolfeboro Falls (2010a)Google Scholar
  12. 12.
    van Rossum, G., Drake F.L. Jr. (eds.): Python/C API Reference Manual, Release 2.7. Python Software Foundation, Wolfeboro Falls (2010b)Google Scholar
  13. 13.
    van Rossum, G., Drake F.L. Jr. (eds.): The Python Library Reference, Release 2.7. Python Software Foundation, Wolfeboro Falls (2010c)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • R. M. A. Silva
    • 1
  • M. G. C. Resende
    • 2
  • P. M. Pardalos
    • 3
  • M. J. Hirsch
    • 4
  1. 1.Centro de Informática (CIn)Federal University of PernambucoRecifeBrazil
  2. 2.Algorithms and Optimization Research DepartmentAT&T Labs ResearchFlorham ParkUSA
  3. 3.Department of Industrial and Systems EngineeringUniversity of FloridaGainesvilleUSA
  4. 4.Raytheon CompanyIntelligence and Information SystemsAnnapolis JunctionUSA

Personalised recommendations