This page lists my open-source projects with links to code, docs, and releases. Questions? Open an issue on GitHub or email me.

AugmentedMixing.jl

AugmentedMixing.jl is a Julia package that implements the Augmented Mixing Method, an algorithm for computing high-accuracy primal–dual solutions to large-scale semidefinite programs (SDPs).

It is based on the following preprint:

Daniel Brosch, Jan Schwiddessen, Angelika Wiegele.
The Augmented Mixing Method: Computing High-Accuracy Primal-Dual Solutions to Large-Scale SDPs via Column Updates.
Preprint, (2025).
arXiv


SDP-S3VM

SDP-S3VM provides an exact SDP-based algorithm for semi-supervised support vector machines (S3VMs).

It is based on the following paper:

Veronica Piccialli, Jan Schwiddessen, Antonio M. Sudoso.
Optimization meets machine learning: an exact algorithm for semi-supervised support vector machines.
Mathematical Programming, Series B, (2024).
SpringerLink · DOI · arXiv


s3vm-mixing-c

s3vm-mixing-c is a parallel C implementation of a mixing-method variant solving the basic SDP relaxation of semi-supervised support vector machine (S3VM) models, including variable bound computations.

It is research code that will be discussed in my upcoming PhD thesis.


SRFLP-BB

SRFLP-BB is a C implementation of a parallel branch-and-bound (B&B) solver for the single-row facility layout problem (SRFLP) using semidefinite programming bounds.

The solver is exact and always finds the optimal solution when terminating. Moreover, the branch-and-bound implementation is parallelized using POSIX Threads.

Check out my master’s thesis PDF for details about the single-row facility layout problem and its semidefinite programming relaxations.


mastermind-solver

mastermind-solver implements an artificial intelligence (AI) engine for playing the board game Mastermind. It is fully parallelized using OpenMP and you can choose between two engine modes: optimizing the average case or the worst case.