Skip to main content
×
Home
    • Aa
    • Aa

CSOLNP: Numerical Optimization Engine for Solving Non-linearly Constrained Problems

  • Mahsa Zahery (a1), Hermine H. Maes (a2) and Michael C. Neale (a2)
Abstract

We introduce the optimizer CSOLNP, which is a C++ implementation of the R package RSOLNP (Ghalanos & Theussl, 2012, Rsolnp: General non-linear optimization using augmented Lagrange multiplier method. R package version, 1) alongside some improvements. CSOLNP solves non-linearly constrained optimization problems using a Sequential Quadratic Programming (SQP) algorithm. CSOLNP, NPSOL (a very popular implementation of SQP method in FORTRAN (Gill et al., 1986, User's guide for NPSOL (version 4.0): A Fortran package for nonlinear programming (No. SOL-86-2). Stanford, CA: Stanford University Systems Optimization Laboratory), and SLSQP (another SQP implementation available as part of the NLOPT collection (Johnson, 2014, The NLopt nonlinear-optimization package. Retrieved from http://ab-initio.mit.edu/nlopt)) are three optimizers available in OpenMx package. These optimizers are compared in terms of runtimes, final objective values, and memory consumption. A Monte Carlo analysis of the performance of the optimizers was performed on ordinal and continuous models with five variables and one or two factors. While the relative difference between the objective values is less than 0.5%, CSOLNP is in general faster than NPSOL and SLSQP for ordinal analysis. As for continuous data, none of the optimizers performs consistently faster than the others. In terms of memory usage, we used Valgrind's heap profiler tool, called Massif, on one-factor threshold models. CSOLNP and NPSOL consume the same amount of memory, while SLSQP uses 71 MB more memory than the other two optimizers.

Copyright
Corresponding author
address for correspondence: Mahsa Zahery, Department of Computer Science, Virginia Commonwealth University, Richmond, VA 23284, USA. E-mail: zaherym@vcu.edu
References
Hide All
BieglerL. T., GhattasO., HeinkenschlossM., & Bloemen WaandersB. (2003). Large-scale PDE-constrained optimization: An introduction. Large-Scale PDE-Constrained Optimization, 30, 313.
BokerS., NealeM., MaesH., WildeM., SpiegelM., BrickT., . . . MehtaP. (2011). OpenMx: An open source extended structural equation modeling framework. Psychometrika, 76, 306317.
GenzA. (1992). Numerical computation of multivariate normal probabilities. Journal of Computational and Graphical Statistics, 1, 141149.
GhalanosA., & TheusslS. (2012). Rsolnp: General non-linear optimization using augmented Lagrange multiplier method. R package version, 1. Retrieved from http://CRAN.R-project.org/package=Rsolnp
GillP. E., MurrayW., SaundersM. A., & WrightM. H. (1986). User's guide for NPSOL (version 4.0): A Fortran package for nonlinear programming (No. SOL-86-2). Stanford, CA: Stanford University Systems Optimization Laboratory.
JohnsonS. G. (2014). The NLopt nonlinear-optimization package. Retrieved from http://ab-initio.mit.edu/nlopt.
KarmarkarN. (1984). A new polynomial-time algorithm for linear programming. Proceedings of the Sixteenth Annual ACM Symposium on Theory of Computing, pp. 302311. New York, NY: ACM Special Interest Group on Algorithms and Computation Theory.
NealeM. C., HunterM. D., PritikinJ. N., ZaheryM., BrickT. R., KirkpatrickR. M., . . .BokerS. M. (2016). OpenMx 2.0: Extended structural equation and statistical modeling. Psychometrika, 81, 535549.
WrightS., & NocedalJ. (1999). Numerical optimization. Springer Science, 35, 6768.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Twin Research and Human Genetics
  • ISSN: 1832-4274
  • EISSN: 1839-2628
  • URL: /core/journals/twin-research-and-human-genetics
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Keywords:

Metrics

Full text views

Total number of HTML views: 2
Total number of PDF views: 21 *
Loading metrics...

Abstract views

Total abstract views: 120 *
Loading metrics...

* Views captured on Cambridge Core between 24th May 2017 - 19th October 2017. This data will be updated every 24 hours.