Table of Contents
Fetching ...

MOCVXPY: a CVXPY extension for multiobjective optimization

Ludovic Salomon, Daniel Dörfler, Andreas Löhne

TL;DR

MOCVXPY presents a CVXPY-based open-source framework for convex vector optimization, enabling users to model multiobjective problems with a familiar algebraic syntax and solve them via three convergent algorithms: MONMO, MOVS, and AdEnA. The library leverages polyhedral order cones and CVXPY subproblem solvers to construct outer/inner approximations of the Pareto front, provide epsilon-accurate solutions, and support parallel computation. The paper details practical implementation choices, including subproblem reuse, vertex enumeration with cddlib, and scaled stopping criteria, and demonstrates applicability through portfolio optimization and a semidefinite-relaxed multiobjective OPF example. The work highlights the value of integrating vector optimization into standard convex modeling workflows, offering a practical, extensible tool for finance and energy applications, while outlining future enhancements such as mixed-integer convex extensions and deeper solver integrations.

Abstract

MOCVXPY is an open-source Python library for convex vector optimization. It is built on top of CVXPY, a domain-specific language for single-objective convex optimization. MOCVXPY enables practitioners to describe their convex vector optimization problem in an intuitive algebraic language, that closely follows the mathematical formulation. This work presents the main features of MOCVXPY, explains some background of the algorithms it employs to solve the optimization problems, and illustrates its functionality through examples and two real-world applications in finance and energy. MOCVXPY is available at https://github.com/salomonl/mocvxpy under the Apache 2.0 licence, with some documentation and examples.

MOCVXPY: a CVXPY extension for multiobjective optimization

TL;DR

MOCVXPY presents a CVXPY-based open-source framework for convex vector optimization, enabling users to model multiobjective problems with a familiar algebraic syntax and solve them via three convergent algorithms: MONMO, MOVS, and AdEnA. The library leverages polyhedral order cones and CVXPY subproblem solvers to construct outer/inner approximations of the Pareto front, provide epsilon-accurate solutions, and support parallel computation. The paper details practical implementation choices, including subproblem reuse, vertex enumeration with cddlib, and scaled stopping criteria, and demonstrates applicability through portfolio optimization and a semidefinite-relaxed multiobjective OPF example. The work highlights the value of integrating vector optimization into standard convex modeling workflows, offering a practical, extensible tool for finance and energy applications, while outlining future enhancements such as mixed-integer convex extensions and deeper solver integrations.

Abstract

MOCVXPY is an open-source Python library for convex vector optimization. It is built on top of CVXPY, a domain-specific language for single-objective convex optimization. MOCVXPY enables practitioners to describe their convex vector optimization problem in an intuitive algebraic language, that closely follows the mathematical formulation. This work presents the main features of MOCVXPY, explains some background of the algorithms it employs to solve the optimization problems, and illustrates its functionality through examples and two real-world applications in finance and energy. MOCVXPY is available at https://github.com/salomonl/mocvxpy under the Apache 2.0 licence, with some documentation and examples.
Paper Structure (21 sections, 1 theorem, 20 equations, 11 figures, 3 tables)

This paper contains 21 sections, 1 theorem, 20 equations, 11 figures, 3 tables.

Key Result

Proposition 2.1

(Jahn2009VectorOptimization). Let $\bm{w} \in \mathcal{C}^+ \setminus \{\bm{0}\}$. Then, every optimal solution of (ref:WS) is a weak minimizer of ref:VOP. Conversely, for each weak minimizer $\bm{x} \in \mathcal{X}$ of ref:VOP, there exists $\bm{w} \in \mathcal{C}^+ \setminus \{\bm{0}\}$ such that

Figures (11)

  • Figure 1: Illustration of the upper image of a CVOP with $\mathcal{C} = \mathbb{R}^2_+$.
  • Figure 2: Illustration of the set of (weakly) Pareto efficient solutions for a biobjective non-convex MOP. The weakly non-dominated set is the union of the non-dominated set indicated in very thick black, and another part of the objective space, drawn in blue.
  • Figure 3: An illustration of a minimal infimizer for a biobjective minimization CVOP. Here, $\mathcal{P} = f(\mathcal{X})$.
  • Figure 4: Illustration of an $\varepsilon$-infimizer, inspired by Dorfler2022. Here, $\mathcal{C} = \mathbb{R}^2_+$.
  • Figure 5: Illustration of local lower and upper bound sets for a biobjective minimization problem. The gray zone refers to the zone in the objective space dominated by the stable set $N$.
  • ...and 6 more figures

Theorems & Definitions (13)

  • Definition 2.1: Adapted from Dorfler2022
  • Definition 2.2: Adapted from Eichfelder2021b
  • Definition 2.3
  • Proposition 2.1
  • Definition 2.4: Adapted from Heyde2011
  • Remark 2.1
  • Definition 2.5: Adapted from Dorfler2022
  • Definition 2.6: Adapted from Eichfelder2023a
  • Definition 2.7: Adapted from Eichfelder2023a
  • Definition 2.8: Adapted from Eichfelder2023a
  • ...and 3 more