2nd International ICST Conference on Simulation Tools and Techniques

Research Article

NLPToolbox: An Open-Source Nonlinear Programming Tool

Download517 downloads
  • @INPROCEEDINGS{10.4108/ICST.SIMUTOOLS2009.5649,
        author={Diego Lages and Adilson Xavier and Nelson Maculan},
        title={NLPToolbox: An Open-Source Nonlinear Programming Tool},
        proceedings={2nd International ICST Conference on Simulation Tools and Techniques},
        publisher={ICST},
        proceedings_a={SIMUTOOLS},
        year={2010},
        month={5},
        keywords={Optimization Open-Source Unconstrained Optimization: Quasi-Newton Methods Conjugate Gradient Constrained Optimization: Penalty Methods},
        doi={10.4108/ICST.SIMUTOOLS2009.5649}
    }
    
  • Diego Lages
    Adilson Xavier
    Nelson Maculan
    Year: 2010
    NLPToolbox: An Open-Source Nonlinear Programming Tool
    SIMUTOOLS
    ICST
    DOI: 10.4108/ICST.SIMUTOOLS2009.5649
Diego Lages1,*, Adilson Xavier1,*, Nelson Maculan1,*
  • 1: COPPE – Systems Engineering, Federal University of Rio de Janeiro, Rio de Janeiro / RJ.
*Contact email: lages@cos.ufrj.br, adilson@cos.ufrj.br, maculan@cos.ufrj.br

Abstract

Nonlinear programming problems (NLP) solvers require some level of flexibility. This flexibility must be supported on the method choice, on the parameters specification and on the problem modelling. Few of the tools currently available can address this level of flexibility. This paper presents an open-source, complete and easy tool, named NLPToolbox, to achieve this purpose. Given its open-source characteritics, it offers the opportunity to study nonlinear programming in an iterative way: by showing how the methods works and allowing all kinds of specifications: methods and parameters. Altough being a work continually in progress, it is already usable. It is currently used in teaching nonlinear programming and solving some kinds of NLP problems, like clustering and Support Vector Machine classification. Its future lies on the optimization of the tool itself, improving the precision of the numeric algorithms and integrating new methods.