2016 Optimization Days

HEC Montréal, Québec, Canada, 2 — 4 May 2016

Schedule Authors My Schedule

WA5 Optimization Software

May 4, 2016 10:30 AM – 12:10 PM

Location: Marie-Husny

Chaired by Dominique Orban

3 Presentations

  • 10:30 AM - 10:55 AM

    Implementation of a Python environment for derivative-free optimization

    • Dominique Orban, GERAD - Polytechnique Montréal
    • Dounia Lakhmiri, presenter, GERAD

    We present and discuss the design of the DFO.py Python environment for unconstrained derivative-free optimization. DFO.py currently features several methods, including our implementation of UOBYQA and a simplified version of the Mesh-Adaptive Direct Search. The focus is on flexibility and the ability to customize the solution process.

  • 10:55 AM - 11:20 AM

    A workflow for designing optimization methods in the Julia language

    • Abel Siqueira, presenter, Federal University of Paraná - Brazil
    • Dominique Orban, GERAD - Polytechnique Montréal

    In this presentation, we introduce a Julia interface to the CUTEst environment, and demonstrate its usage. We outline a workflow for implementing optimization methods, focusing on quickly creating a working implementation with automated testing, and then improving the code. We use the CUTEst interface for Julia through the development process.

  • 11:20 AM - 11:45 AM

    An Object-Oriented Environment for Large-Scale Optimization

    • Dominique Orban, GERAD - Polytechnique Montréal
    • Sylvain Arreckx, presenter, GERAD - Polytechnique Montréal

    NLP.py is a programming environment to model continuous optimization problems and to design computational methods in the high-level and powerful Python language with performance-critical parts implemented in Cython, a low-level superset of Python that compiles to machine code.
    NLP.py is accompanied by an extensive set of building blocks to solve the linear algebra and subproblems typically encountered in the solution of large-scale convex and nonconvex problems, including direct and iterative method for linear systems, linesearch methods, trust-region subproblems, and bound-constrained subproblems.
    NLP.py supports several sparse matrix packages, including our own novel Cysparse library.
    NLP.py features turnkey algorithms for problems with specific structure along with tools to assess performance.
    The extensible nature of NLP.py combines with the might and ubiquity of Python to make it a powerful development and analysis environment for optimization researchers and practitioners.