optimization

Mutability, scope, and separation of concerns in library code

It has been about a year since I joined the Zuse Institute to work on optimization methods and computation. One of the key projects of the first half of 2021 has been on building up FrankWolfe.jl, a framework for nonlinear optimization in Julia using Frank-Wolfe methods. You can find a paper introducing the package here. This was an opportunity to experiment with different design choices for efficient, scalable, and flexible optimization tools while keeping the code simple to read and close to the algorithms.

Sets, chains and rules - part II

Differentiating set projections.

Sets, chains and rules - part I

The Pandora box from simple set membership.

Experiments on communicating vessels, constrained optimization and manifolds

Constrained optimization on a fundamental engineering problem

Differentiating the discrete: Automatic Differentiation meets Integer Optimization

What can automated gradient computations bring to mathematical optimizers, what does it take to compute?

Bridges as an extended dispatch system

Compiling mathematical optimization problems in a multiple-dispatch context.

A take on Benders decomposition in JuMP

Cracking Benders decomposition, one cut at a time.

Variables are not values: types and expressions in mathematical optimization

Some digging in representations for optimization modelling

Picking different names with integer optimization

Making social events easier as a graph problem.

Multiple dispatch - an example for mathematical optimizers

Leveraging one of Julia central features for clearer formulation of an optimization problem.