Optimize finite differences computation within Knitro
Integrated in the Artelys Knitro development team, the intern will review the state of the art on finite differences estimation while proposing and testing innovative approaches to improve its performance.

why join artelys?

Artelys is a highly technical company, specialized in optimization, modeling and quantitative decision support. Thanks to their very strong background in quantitative mathematics (optimization, statistics, machine learning), Artelys consultants and experts design and deploy software solutions and consulting services in many industries: energy, logistics, transportation, communications, finance, defense, etc.

Artelys especially develops the nonlinear optimization solver Artelys Knitro: a state-of-the-art, high-performance solver for nonlinear and black box optimization.

When solving black box optimization problems, one often resorts to finite differences in order to evaluate gradients. Very often, the most expensive part in solving a nonlinear optimization problem is the numerous function evaluations necessary for gradients evaluation by finite differences. Hence, in order to enhance performances, it is critical to reduce the number of function evaluations. This can be done by improving algorithms so that they converge in less iterations, but also, performing finite differences may require less evaluations than the number of variables when the problem is sparse. This enhancement relies on careful analysis and partitioning of the Jacobian pattern, as explained in (Gebremedhin, Manne, & Pothen, 2005). Especially, a graph coloring problem is defined by the Jacobian sparsity pattern and then solved so that multiple partial derivatives can be evaluated at once.

The aim of the proposed internship is to review the existing (combinatorial) optimization techniques for optimizing finite differences computation, experiment with these techniques and implement them within Artelys Knitro.


Integrated in the Artelys Knitro development team, the intern will review the state of the art on finite differences estimation. The intern will propose an approach in order to enhance current existing evaluation mechanisms and will evaluate this approach and its performances by prototyping and benchmarking it.

The intern will also review state of the art on solving graph coloring problems and propose techniques to solve the graph coloring problem with the best possible balance between the cost for solving this problem and the benefits obtained by sparing additional function evaluations.


Currently pursuing a master’s degree in mathematics, operations research or combinatorial optimization, the candidate will have very strong background in combinatorial optimization and proven capabilities to implement optimization algorithms in high- and low-level languages (ie Python and C).

The candidate will be fluent in English, curious and willing to integrate in a highly skilled optimization team.

Fluency in French and proven skills and experience in C, Python or Julia, nonlinear optimization and constraints programming will be highly appreciated but are not mandatory.




The internship will be located in the main Artelys offices, in Paris, and last 6 months. A job offer might be proposed subsequently to a successful internship.


Gebremedhin, A. H., Manne, F., & Pothen, A. (2005). What Color Is Your Jacobian? Graph Coloring for Computing Derivatives. SIAM review, 47(4), 629-705.


This is your dream job? Apply now!


© ARTELYS • All rights reserved • Legal mentions

Pin It on Pinterest

Share This