Solving and Optimizing Large-Scale Nonlinear Systems

Barzilai-Borwein spectral methods for solving nonlinear system of equations, and for optimizing nonlinear objective functions subject to simple constraints. A tutorial style introduction to this package is available in a vignette on the CRAN download page or, when the package is loaded in an R session, with vignette("BB").


News

Changes in BB version 2014.10-1

o Added optional lower and upper for projectLinear when called from spg.

o Changed handling of lower and upper in spg(), BBoptim(), and multiStart() so they must be specified in those arguments and not as part of projectArgs.

o Changed the order of spg() arguments so that lower and upper are more distinct from project, and projectArgs is more closely associated with it. Corresponding changes also in BBoptim() and multiStart().

o Fixed expansion of scalar upper and lower, which did not happen in some cases.

o Allowed for the possibility that argument project in spg() could be a function as well as a character string.

o Changed sane and dfsane internal usage of do.call() to use a function rather than a character string.

o Added argument alertConvergence to spg(), sane() and dfsane() and default to issue a warning if convergence is not obtained.

o Added files in inst/slowTests.

o Reverted back to solve.QP from quadprog because of some failures in the special version added in 2014.1-1.

o Changed conditional require() in some functions to requireNamespace().

o Removed unused geval from spg() and documented that geval is equal to iter.

o Fixed NAMESPACE to import optim from stats.

o Adjusted BB vignette text regarding a dfsane() failure and revised commentary on multiStart results.

Changes in BB version 2014.1-1

o Added a special version of solve.QP and removed quadprog from Imports.

Changes in BB version 2013.11-1

o Changed quadprog from Depends to Imports.

Changes in BB version 2013.5-1

o Removed contact email addresses from BB-package.Rd (which were outdated) and other information in that file that duplicated the DESCRIPTION file.

Changes in BB version 2013.4-1

o Further adjustment to DESCRIPTION and moved LICENSE to LICENSE.note file, after discussions about appropriate place for statements, and added additional clarification of various roles.

o Changed checkGrad default in spg skip the check if, based on the first function evaluation, it is estimated to take more than ten seconds.

Changes in BB version 2012.12-1

o Added ByteCompile: yes in DESCRIPTION file.

Changes in BB version 2012.8-1

o Added a control argument named checkGrad' to the functionsspg' and `BBoptim'. This defaults to TRUE, which means that the user-specified gradient will be checked against numerical gradient. It should be set to FALSE for high-dimensional problems, after ensuring that the analytic gradient is correctly specified.

Changes in BB version 2012.3-1

o fixed use of break in a non-loop context in sane and dfsane.

Changes in BB version 2011.12-1

o Set trace=TRUE as default in BBoptim.

o Included project and projectArgs as arguments in multiStart.

Changes in BB version 2011.11-1

o updated maintainer email address.

o Relaxed the tolerance of tests/multiStartHDP because of variance in the results on different platforms.

Changes in BB version 2011.8-1

o Fixed passing of user specified noimp from BBsolve to dfsane. The default value of noimp in BBsolve is now 100, as in dfsane, as had been documented (but was actually min(100, 5*cpars[2])).

Changes in BB version 2011.2-1

o Added an additional stopping criterion. Now, the iterations are stopped when function value does not change by more than `ftol' between successive iterations. Default is ftol = 1.e-14. Some tolerances in tests/ needed to be slightly relaxed.

Changes in BB version 2010.7-1

o Added function projectLinear, and adjusted spg arguments to facilitate this by adding projectArgs. Arguments lower and upper for spg provide a simplified way to specify these elements of the projectArgs list for box constraints. Also, the value of the spg argument project must now be indicated as a character string.

o Corresponding changes for projectArgs were made to BBoptim.

o Added projection examples.

o Added fix to spg for some cases when the best value does not get properly returned.

o Added fix to BBoptim to indicate error in case were all calls to spg failed (but were caught by try and ignored).

o Fix sign of printed value (trace=TRUE) on initial iteration of spg maximization problem.

Changes in BB version 2010.5-1

o Changed BBsolve to avoid using Nelder-Mead in one dimensional problems (because the warning message is confusing).

o Adjusted test tolerances for 64 bit Windows platform.

Changes in BB version 2010.4-1

o Added argument quiet=FALSE to several functions, to be able to suppress warnings and some output.

o Added a test of spg for the case when optimum values are supplied as initial values (thanks to John Nash).

o Fixed a bug in spg when optimum values are supplied as initial values.

o Standardized NEWS format for new function news().

Changes in BB version 2009.9-1

o Added BBvignetteJSS of JSS paper, and small related changes, including license to GPL-2 or greater.

o Relaxed multiStartHDP.R test for CRAN Mac testing platform.

o Added Fleishman example to the vignette tutorial.

Changes in BB version 2009.06-2

o Added try() wrapper in BBoptim and BBsolve calls from multiStart().

Changes in BB version 2009.06-1

o Added function multiStart to start BBoptim or BBsolve from multiple initial points.

o Added BBoptim wrapper function. The wrapper functions BBoptim and BBsolve are the preferred user interface.

o Added checks in sane() and dfsane() for an objective function returning a non-vector result.

o Added a check to spg() that a user supplied gradient gives a result close to grad from numDeriv (which means numDeriv is now required).

o Added check in spg() for an objective function returning a non-scalar result, with an automatic fix if the result is length 1.

o In nlsolve demo nsim was reduced from 100 to 20 and in nlmin demo the optim examples were commented out because of testing time constraints on CRAN.

o Added BBsolve wrapper function.

o Minor documentation fixes found by the new parser in R-devel.

Changes in BB version 2008.11-1

o "eps" decreased to 1.e-10 (from 1.e-08) in sane, to be consistent with "eps" for dfsane.

o Nelder-Mead start option for poor starting values in sane and dfsane.

o Steplength for first iteration was re-scaled in sane and dfsane.

o Retard scheme is introduced close to solution in sane and dfsane.

o A new stopping criterion "noimp" is introduced (flag=4 in sane, flag=3 in dfsane).

o "optim" can be invoked using "L-BFGS-B" when "sane" is unsuccessful (type = 4 or 5) by setting BFGS of the control list in the sane arguments.

o "optim" can be invoked using "L-BFGS-B" when "dfsane" is unsuccessful (type = 2 or 5) by setting BFGS of the control list in the dfsane arguments.

o "pbest" and "normF.best are now returned from sane and dfsane.

Changes in BB version 2008.8-1

o fixed bug in sane and spg (previously fixed in dfsane) when tol is already ok initially and while loop is skipped, so flag in result is not set. Also added a warning message when this happens.

Changes in BB version 2008.7-1

o fixed bug in dfsane when tol is already ok initially and while loop is skipped, so flag in result is not set.

Changes in BB version 2008.5-1

o fixed a references that was inaccurate and added web links to others.

o fixed bug when maximizing a function with analytic gradient supplied, and add a test of this.

o changed the title (as appears on CRAN) to be more descriptive.

Changes in BB version 2008.4-1

o first release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("BB")

2019.10-1 by Paul Gilbert, 9 months ago


http://www.jhsph.edu/agingandhealth/People/Faculty_personal_pages/Varadhan.html


Browse source code at https://github.com/cran/BB


Authors: Ravi Varadhan [aut, cph, trl] , Paul Gilbert [aut, cre] , Marcos Raydan [ctb] (with co-authors , wrote original algorithms in fortran. These provided some guidance for implementing R code in the BB package.) , JM Martinez [ctb] (with co-authors , wrote original algorithms in fortran. These provided some guidance for implementing R code in the BB package.) , EG Birgin [ctb] (with co-authors , wrote original algorithms in fortran. These provided some guidance for implementing R code in the BB package.) , W LaCruz [ctb] (with co-authors , wrote original algorithms in fortran. These provided some guidance for implementing R code in the BB package.)


Documentation:   PDF Manual  


Task views: Numerical Mathematics, Optimization and Mathematical Programming


GPL-3 license


Imports stats, quadprog

Suggests setRNG, survival, Hmisc, numDeriv


Imported by BinOrdNonNor, CatDyn, DSBayes, LifeHist, SPAS, SimCorrMix, SimMultiCorrData, aftgee, antitrust, coxrt, ktsolve, mixAR, mlt, orsk, pcts, pim, reReg, spef.

Depended on by BinNonNor, GNE, LIHNPSD, NPCD, PoisBinNonNor, PoisBinOrdNonNor, PoisNonNor, RobPer, bunching, mederrRank, mvord.

Suggested by QuasiSeq, ROI.plugin.optimx, optimx, simsurv.


See at CRAN