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

Abstract

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.

Keywords

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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)MATHGoogle 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)MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Hirsch M.J., Pardalos P.M., Resende M.G.C.: Speeding up continuous GRASP. J. Oper. Res. 205, 507–521 (2010)MATHCrossRefGoogle 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)MATHCrossRefGoogle Scholar
  8. 8.
    McGuire P.: Getting Started with Pyparsing. O’Reilly Media, Sebastopol (2007)Google Scholar
  9. 9.
    SimCList. http://mij.oltrelinux.com/devel/simclist/. Accessed 12 July 2011 (2011)
  10. 10.
    SymPy. http://sympy.org/. 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