Convex duality contracts for production-grade mathematical optimization

Deploying mathematical optimization in autonomous production systems requires precise contracts for objects returned by an optimization solver. Unfortunately, conventions on dual solution and infeasibility certificates (rays) vary widely across solvers and classes of problems. This paper presents the theoretical framework used by MathOpt (a domain-specific language developed and used at Google) to unify these notions. … Read more

MOSDEX: A New Standard for Data Exchange with Optimization Solvers

This paper offers a new standard, called MOSDEX (Mathematical Optimization Solver Data EXchange), for managing the interaction of data with solvers for mathematical optimization. The rationale for this standard is to take advantage of modern software tools that can efficiently handle very large datasets that have become the norm for data analytics in the past … Read more

BilevelJuMP.jl: Modeling and Solving Bilevel Optimization in Julia

In this paper we present BilevelJuMP, a new Julia package to support bilevel optimization within the JuMP framework. The package is a Julia library that enables the user to describe both upper and lower-level optimization problems using the JuMP algebraic syntax. Due to the generality and flexibility our library inherits from JuMP’s syntax, our package … Read more

RSOME in Python: An Open-Source Package for Robust Stochastic Optimization Made Easy

We develop a Python package called RSOME for modeling a wide spectrum of robust and distributionally robust optimization problems. RSOME serves as a modeling platform for formulating various optimization problems subject to distributional ambiguity in a highly readable and mathematically intuitive manner. Compared with the MATLAB version, RSOME in Python is more versatile and well … Read more

Maintenance Optimization of Wagons Mix

This work proposes to create a tool for support for cost reduction in wagon maintenance through the distribution of the annual plan in workshops. The distribution depends on the type of wagon, the scope of the maintenance service that each workshop serves, and the capacity that is supported by the workshops. This plan is a … Read more

MathOptInterface: a data structure for mathematical optimization problems

JuMP is an open-source algebraic modeling language in the Julia language. In this work, we discuss a complete re-write of JuMP based on a novel abstract data structure, which we call \textit{MathOptInterface}, for representing instances of mathematical optimization problems. MathOptInterface is significantly more general than existing data structures in the literature, encompassing, for example, a … Read more

A Generic Exact Solver for Vehicle Routing and Related Problems

Major advances were recently obtained in the exact solution of Vehicle Routing Problems (VRPs). Sophisticated Branch-Cut-and-Price (BCP) algorithms for some of the most classical VRP variants now solve many instances with up to a few hundreds of customers. However, adapting and reimplementing those successful algorithms for other variants can be a very demanding task. This … Read more

Detection and Transformation of Second-Order Cone Programming Problems in a General-Purpose Algebraic Modeling Language

Diverse forms of nonlinear optimization problems can be recast to the special form of second-order cone problems (SOCPs), permitting a wider variety of highly effective solvers to be applied. Popular solvers assume, however, that the necessary transformations to required canonical forms have already been identified and carried out. We describe a general approach to the … Read more

Largest Small n-Polygons: Numerical Results and Conjectured Optima

LSP(n), the largest small polygon with n vertices, is defined as the polygon of unit diameter that has maximal area A(n). Finding the configuration LSP(n) and the corresponding A(n) for even values n >= 6 is a long-standing challenge that leads to an interesting class of nonlinear optimization problems. We present numerical solution estimates for … Read more

Sensitivity Analysis for Nonlinear Programming in CasADi

We present an extension of the CasADi numerical optimization framework that allows arbitrary order NLP sensitivities to be calculated automatically and efficiently. The approach, which can be used together with any NLP solver available in CasADi, is based on a sparse QR factorization and an implementation of a primal-dual active set method. The whole toolchain … Read more