ALGORITHMS

This page collects all the codes for the algorithms I coauthored

REARRANGEMENT ALGORITHM (RA)

The Rearrangement Algorithm (RA) is an algorithm which has been originally introduced to compute numerically sharp lower and upper bounds on the distribution of a function of a number of dependent random variables having fixed marginal distributions. Over the last decade it has been developed further mainly to compute model uncertainty bounds for the VaR/ES of high-dimensional portfolios.

References, state-of-the-art, packages and sample codes for the various applications of the RA are collected at https://sites.google.com/site/rearrangementalgorithm/home

MINCOVTARGET ALGORITHM

The MinCovTarget algorithm provides fast no-envy solutions to the problem of the Fair Allocation of Indivisible Items, also in large dimensions. It is based on the following two references:

Cornilly, D., Puccetti, G., Rüschendorf, L., and S. Vanduffel (2022). Fair allocation of indivisible goods with minimum inequality or minimum envy PAPER  SSRN  CODE

Puccetti, G., Rüschendorf, L., and S. Vanduffel (2024). MinCovTarget: A New Standard for Fair Allocation SSRN  CODE

ITERATED SWAPPING ALGORITHM (ISA)

The Iterated Swapping Algorithm (ISA) is an algorithm for the computation of Wasserstein barycenters. It is based on the following reference:

Puccetti, G., Rüschendorf, L., and S. Vanduffel (2020). On the computation of Wasserstein barycenters PAPER  SSRN  CODE

CUSTOMIZED BLOCK SWAPPING ALGORITHM (CUST BSA)

The Customized Block Swapping Algorithm is an algorithm for the synchronization problem with multiple instances, an extension of the classical Assembly Line Crew Scheduling problem (ALCS) which considers uncertain labour times. It is based on the following reference:

Cornilly, D., Puccetti, G., Rüschendorf, L., and S. Vanduffel (2022).  On a synchronization problem with multiple instances.  SSRN  PAPER  CODE

SWAPPING ALGORITHM

The Swapping Algorithm is an algorithm to approximate the optimal expected inner product of two vectors with given marginals. It is based on the following reference:

Puccetti, G. (2017). An algorithm to approximate the optimal expected product of two vectors with given marginals.  PAPER  SSRN  send an e-mail for the C++ code

AEP ALGORITHM

The AEP algorithm numerically calculates the distribution function and the Value-at-Risk of the sum of a number of d positive random variables, when the joint distribution H of the vector (X1,...,Xd) is given. For any detail on the theory underlying AEP we refer to the paper

Arbenz, P., Embrechts, P., and G. Puccetti (2011). The AEP algorithm for the fast computation of the distribution of the sum of dependent random variables  PAPER (OPEN ACCESS)  CODE

A new Python library including an implementation of the AEP algorithm has been provided in 

Pittarello, G., Luini, E. and Marchione, M.M. (2024). GEMAct: a Python package for non-life (re)insurance modeling  PAPER  CODE