Robust non-gradient C subroutines for non-linear optimization

Pernille Brock, Kaj Madsen, Hans Bruun Nielsen

    Research output: Book/ReportReportResearch

    140 Downloads (Pure)


    This report presents a package of robust and easy-to-use C subroutines for solving unconstrained and constrained non-linear optimization problems, where gradient information is not required. The intention is that the routines should use the currently best algorithms available. All routines have standardized calls, and the user does not have to worry about special parameters controlling the iterations. For convenience we include an option for numerical checking of the user s implementation of the gradient. Note that another report [3] presents a collection of robust subroutines for both unconstrained and constrained optimization but requiring gradient information. The parameter lists for the subroutines in both collections are similar so it is easy to switch between the non- gradient and the gradient methods. All of the subroutine names in this report start with MI0. The corresponding names of the gradient subroutines are obtained by changing 0 to 1. The present report is a new and updated version of a previous report NI-91-04 with the title Non-gradient c Subroutines for Non- Linear Optimization, [16]. Both the previous and the present report describe a collection of subroutines, which have been translated from Fortran to C. The reason for writing the present report is that some of the C subroutines have been replaced by more e ective and robust versions translated from the original Fortran subroutines to C by the Bandler Group, see [1]. Also the test examples have been modified to some extent. For a description of the original Fortran subroutines see the report [17]. The software changes are listed in Section 1.5.
    Original languageEnglish
    Publication statusPublished - 2004


    Dive into the research topics of 'Robust non-gradient C subroutines for non-linear optimization'. Together they form a unique fingerprint.

    Cite this