Jason Schoeters


I currently work as an Optimisation Specialist within the Software Team of DeepForm, a Cambridge-based start-up.
My work includes algorithm design and software tools for automated manufacturing workflows, combining physical simulation, neural networks, and active learning techniques.

As a former academic, I maintain an interest in theoretical computer science, particularly in graph theory and complexity theory.
Below is a video from 2025 of me introducing some temporal graph theory and parameterised complexity.

For more information, feel free to browse around or contact me via jason.schoeters.cs@gmail.com.

PS: I am proud to see that my website has been visited by people (and bots) from almost all over the world.
It’s great to know my work is attracting attention from so many places!


This website's visitor density over the year 2025 (1639 people total), through Google Analytics.


Experience

Below are my (industry and academic) positions since obtaining my PhD.

Optimisation Specialist

I focus on automating and improving the design and manufacturing of formed metal components, e.g. car parts and beverage cans. This is done by combining several techniques and tools, including Bayesian optimisation (BOTorch), physics-based simulators (AutoForm, Abaqus), computer-assisted design (FreeCAD, SolidWorks), and mesh-based graph neural networks (Siemens Altair, Google Deepmind).

2025 - Ongoing

Visiting Research Fellow

Invited by Takeaki Uno, we studied enumeration of spanning structures in temporal graphs. I learned about several new techniques for efficient enumeration, including reverse search and proximity search, and we were able to apply these in order to establish many positive results for open questions of previous work.

2025

Research Associate

With Andrea Marino, we studied temporal graph problems and also created a link between Distributed Ledger Technology (DLT, or commonly referred to as blockchains) and temporal graphs. The former includes cycle detection and avoidance, and the latter includes modelisation and structural analysis.

2024 - 2025

Research associate

With Peter Bossaerts, we aimed to better understand the correlations and/or differences between human brains and computers artificial intelligence when faced with complex problems. One goal was to find and characterize problems where humans have the advantage, such as when intuition, context, and/or pattern recognition plays a key role.

2023 - 2024

Postdoctoral research fellow

With Eric Sanlaville, we have mainly studied connected components in temporal graphs, presenting numerous temporal extensions and corresponding structural and algorithmic results, which were either novel or which completed related work. A secondary subject considered dense spanners in temporal graphs, for which we obtained preliminary results.

2021 - 2022

Research and teaching assistant

A year mainly filled with teaching. I tied up some loose ends from my PhD and started new projects by myself or with new people. I also took some time to broaden my horizons and even obtaining results in other domains, including learning about probability theory with Luis Fredes and bioinformatics with Clément Larue.

2020 - 2021

Portfolio

This section focusses on my programming skills, by showcasing some of my coding projects.
I mostly code in Java and Python, but I have used many other languages and tools, including C++, Julia, Rust, R, SQL, Bash, and Git, Docker, Numpy, Pytorch, BoTorch, etc.

Monte Carlo estimation, Quadtree approximation, and exact computation
of overlapping canopied areas

C. Larue, J. Schoeters

Java program computing canopied areas covered by given buffer zone
Available on Github here
Visualization using JBotSim of the Monte Carlo method shown here, and of the Quadtree method shown here

2023

Automatic analysis of big DNA genotyping data

C. Larue, J. Schoeters

Java program analyzing Excel DNA data files for potential mismatches of parent/child associations
Available on Github here

2022

Vector TSP Benchmarking

J. Schoeters

Java project showcasing our algorithms and benchmarks on random instances of Vector TSP (see our Vector TSP paper)
Available on Github here

2021

Mobility models inducing temporal graph properties

A. Casteigts, J. Schoeters

Java library using JBotSim for inducing temporal graph properties in the underlying communication of mobile ad hoc networks
Available on Github here

2021

Education

Here is everything related to my education, including diplomas, internships, and qualifications.

French qualification for associate professor

2023

Visiting PhD student

Simon Fraser University, Vancouver, Canada

Subjects: Gossiping, influence diffusion, temporal spanners
at school of computing science, invited by Joseph G. Peters.

Winter 2020

PhD of theoretical computer science

Subject: Contributions to temporal graph theory and mobility-related problems [pdf]
at LaBRI, supervised by Arnaud Casteigts.

2017 - 2020

Master of theoretical computer science

Internship: VectorTSP
at LaBRI, supervised by Arnaud Casteigts.

2015 - 2017

Bachelor of computer science

Internship: Image processing, network theory and graphical art
at LaBRI, supervised by Guy Melançon.

2012 - 2015

Research

This section is divided into Publications, Talks, and Students.

Publications

All my scientific papers and the international conferences and international journals they were peer reviewed and published by.

Temporal Spanner Enumeration

A. Conte, K. Kurita, V. Limouzy, A. Marino, G. Punzi, J. Schoeters, T. Uno

Conference version submitted

2025+

Abstract: A spanner of a temporal graph is a subset of edges that preserves connectivity over time between vertices. A minimal spanner is one in which no additional edges can be removed without breaking this connectivity. Our focus is on enumerating minimal spanners for a given temporal graph. We explore several variations of this problem based on the type of connectivity that must be maintained, ranging from one-to-all connectivity to one-to-all-to-one, many-to-all, and finally all-to-all connectivity. We establish that these problems become progressively harder: (i) We present a polynomial-delay enumeration algorithm for one-to-all connectivity; (ii) We prove DL-hardness for both one-to-all-to-one and many-to-all connectivity, even in the restricted case of two-to-all; (iii) Finally, for all-to-all connectivity, we show that enumeration cannot be performed in output-polynomial time unless P = NP.

Edge Coverings of Temporal Vertices and Temporal Matchings

L. Cioni, R. Dondi, A. Marino, J. Schoeters, A. Silva

Conference version submitted

2025+

Abstract: Temporal graphs are a special class of graphs for which a temporal aspect is added to edges, that is, each edge possesses a set of times at which it is available. Many classical problems on graphs can be translated to temporal graphs, and the results may differ significantly. In this paper, we define the Temporal Edge Cover and Temporal Matching problems, and show that they are NP-complete even when fixing the lifetime or when the underlying graph is a tree. We then describe two Fixed-Parameter Tractable algorithms, with parameters lifetime and treewidth, that solve the two problems. We also find lower bounds for the approximation of the two problems and give two approximation algorithms which match these bounds. Finally, despite the similar flavour and results of the two problems, we show that, unlike in static graphs, these two problems are fundamentally unrelated.

Temporal Cycle Detection and Acyclic Temporization

J. Araujo, D. de Andrade, A. Ibiapina, A. Marino, J. Schoeters, A. Silva

Conference version submitted

2025+

[Arxiv PDF]

Abstract: In directed graphs, a cycle can be seen as a structure that allows its vertices to loop back to themselves, or as a structure that allows pairs of vertices to reach each other through distinct paths. We extend these concepts to temporal graph theory, resulting in multiple interesting definitions of a "temporal cycle". For each of these, we consider the problems of Cycle Detection and Acyclic Temporization. For the former, we are given an input temporal digraph, and we want to decide whether it contains a temporal cycle. Regarding the latter, for a given input (static) digraph, we want to time the arcs such that no temporal cycle exists in the resulting temporal digraph. We're also interested in Acyclic Temporization where we bound the lifetime of the resulting temporal digraph. Multiple results are presented, including polynomial and fixed-parameter tractable search algorithms, polynomial-time reductions from 3-SAT and Not All Equal 3-SAT, and temporizations resulting from arbitrary vertex orderings which cover (almost) all cases.

On inefficiently connecting temporal networks

E. Christiann, E. Sanlaville, J. Schoeters

Journal version TBD

2024+

3rd Symposium on Algorithmic Foundations of Dynamic Networks (SAND)

2024

[Arxiv PDF]

Abstract: A temporal graph can be represented by a graph with an edge labelling, such that an edge is present in the network if and only if the edge is assigned the corresponding time label. A journey is a labelled path in a temporal graph such that labels on successive edges of the path are increasing, and if all vertices admit journeys to all other vertices, the temporal graph is temporally connected. A temporal spanner is a sublabelling of the temporal graph such that temporal connectivity is maintained. The study of temporal spanners has raised interest since the early 2000's. Essentially two types of studies have been conducted: the positive side where families of temporal graphs are shown to (deterministically or stochastically) admit sparse temporal spanners, and the negative side where constructions of temporal graphs with no sparse spanners are of importance. Often such studies considered temporal graphs with happy or simple labellings, which associate exactly one label per edge. In this paper, we focus on the negative side and consider proper labellings, where multiple labels per edge are allowed. More precisely, we aim to construct dense temporally connected graphs such that all labels are necessary for temporal connectivity. Our contributions are multiple: we present the first labellings maximizing a local density measure; exact or asymptotically tight results for basic graph families, which are then extended to larger graph families; an extension of an efficient temporal graph labelling generator; and overall denser labellings than previous work even when restricted to happy labellings.

Temporally connected components

S. Balev, E. Sanlaville, J. Schoeters

Theoretical Computer Science (TCS)

2024

[HAL PDF]

Abstract: We discuss a variety of extensions of connected components in temporal graphs, focusing on extensions using connectivity over time through temporal paths (or journeys). Starting with components induced by temporal sources or sinks, we build up to components induced by multiple sources or sinks, and eventually components where all vertices are sources and sinks, i.e. temporally connected components. The cases of bounded components (i.e. defined on time windows), and open or closed components, are also considered. Our contributions mainly include structural results on the number of components, and algorithmic and complexity results of corresponding decision problems. Several new NP-completeness proofs are provided while exploring the boundaries between easy and difficult problems.

VectorTSP: A Traveling Salesperson Problem with Racetrack-like acceleration constraints

A. Casteigts, M. Raffinot, M. Raskin, J. Schoeters

Discrete Applied Mathematics (DAM) Special Issue

2024

16th Int. Symposium on Algorithms and Experiments for Wireless Sensor Networks (ALGOSENSORS)

2020

[Arxiv PDF]

Abstract: We study a new version of the Traveling Salesperson Problem, called Vector TSP, where the traveler is subject to discrete acceleration constraints, as defined in the paper-and-pencil game Racetrack (also known as Vector Racer). In this model, the degrees of freedom at a certain point in time depends on the current velocity, and the speed is not limited. The paper introduces this problem and initiates its study, discussing also the main differences with existing versions of TSP. Not surprisingly, the problem turns out to be NP-hard. A key feature of Vector TSP is that it deals with acceleration in a discrete, combinatorial way, making the problem more amenable to algorithmic investigation. The problem involves two layers of trajectory planning: (1) the order in which cities are visited, and (2) the physical trajectory realizing such a visit, both interacting with each other. This interaction is formalized as an interactive protocol between a high-level tour algorithm and a trajectory oracle, the former calling the latter repeatedly. We present an exact implementation of the trajectory oracle, adapting the A* algorithm for paths over multiple checkpoints whose ordering is given (this algorithm being possibly of independent interest). To motivate the problem further, we perform experiments showing that the naive approach consisting of solving the instance as an Euclidean TSP first, then optimizing the trajectory of the resulting tour, is typically suboptimal and outperformed by simple (but dedicated) heuristics.

Temporal Cliques Admit Sparse Spanners

A. Casteigts, J.G. Peters, J. Schoeters

Journal of Computer Systems and Science, Elsevier (JCSS), Vol. 121, 1-17

2021

46th Int. Colloquium on Automata, Languages, and Programming (ICALP)

2019

[Arxiv PDF]

Abstract: Let G = (V,E) be an undirected graph on n vertices and λ:E→2^N a mapping that assigns to every edge a non-empty set of integer labels (discrete times when the edge is present). Such a labelled graph (G, λ) is temporally connected if a path exists with non-decreasing times from every vertex to every other vertex. In a seminal paper, Kempe, Kleinberg, and Kumar asked whether, given such a temporally connected graph, a sparse subset of edges always exists whose labels suffice to preserve temporal connectivity – a temporal spanner. Axiotis and Fotakis answered negatively by exhibiting a family of quadratically dense temporal graphs which admit no temporal spanner of subquadratic density. In this paper, we give the first positive answer as to the existence of subquadratic-sparse spanners in a dense class of temporal graphs, by showing (constructively) that if G is a complete graph, then one can always find a temporal spanner with O(n log n) edges.

Talks

All presentations and talks in seminars, open question sessions, team meetings, national conferences, international conferences and anything in between, including my PhD defense. During the COVID-19 pandemic, most of these were given online.

Temporal Cycle Detection and Acyclic Temporization

NESTID seminar, Durham, United Kingdom

November 15 2024

Learning-based classification and generation of temporal cliques

LIPNE complexity seminar, Cambridge, United Kingdom

April 12 2024

Knapsack Solution Robustness

LIPNE complexity seminar, Cambridge, United Kingdom

February 16 2024

On inefficiently connecting temporal networks

TEMPOGRAL workshop, Honfleur, France

February 7 2024

Economic networks seminar, Cambridge, United Kingdom

December 1 2023

LIPNE complexity seminar, Cambridge, United Kingdom

October 6 2023

Temporal graph satellite workshop of ICALP, Paderborn, Germany

July 10 2023

Temporal graph theory: structure and algorithmics

Microeconomics seminar, Cambridge, United Kingdom

February 10 2023

Temporally connected components

NESTID seminar, Durham, United Kingdom

May 4 2023

AlgoDist seminar, Bordeaux, France

April 24 2023

TEMPOGRAL seminar, Poitiers, France [slides]

November 24 2022
November 17 2022

Monte Carlo estimation, Quadtree approximation and exact computation of overlapping canopies

Heudiasyc CID seminar, Compiegne, France

April 12 2022

Notes on the maximum number of labels for temporal spanners

April 28 2021

Contributions to temporal graph theory and mobility-related problems

LaBRI PhD defense, Bordeaux, France [recording]

March 29, 2021

VectorTSP: A Traveling Salesperson Problem with Racetrack-like acceleration constraints

CITI CHROMA seminar, Lyon, France

May 10, 2022

AlgoTel, La Rochelle, France

September 22, 2021

LITIS RI2C seminar, Le Havre, France

June 15, 2021
September 14, 2020

ALGOSENSORS (online), Pisa, Italy [recording]

September 10, 2020

Racetrack and VectorTSP

SFU theory seminar, Vancouver, Canada

March 2, 2020

Temporal Cliques admit Sparse Spanners

LITIS RI2C seminar, Le Havre, France

May 31, 2022

ROADEF, Lyon, France

February 24, 2022

LIP6 complex networks seminar (online), Paris, France

November 10, 2020

SFU discrete maths seminar, Vancouver, Canada

February 18, 2020

AlgoTel (best student paper award), Narbonne, France

June 6, 2019

Workshop CoA, Roscoff, France

April 4, 2019

LaBRI distributed algorithms and graph and optimisation joined seminar, Bordeaux, France

March 11, 2019
November 15, 2018

Students

All the students I have supervised or co-supervised.

Ahmad Raza Khan (Undergraduate IIT Kharagpur)

Project: Learning-based classification and generation of temporal cliques

2024

Esteban Christiann (L3 ENS Paris-Saclay)

Internship: Dense spanners and related problems
at LITIS, co-supervised with Eric Sanlaville

Summer 2022

Valentin Pasquale (L3 ENS Lyon)

Internship: Algorithmic analysis of the fireworks technique
at LaBRI, co-supervised with Arnaud Casteigts

Summer 2019

Teaching

Following is a list of the classes I have given, totalling approximately 350 hours.

University of Bordeaux

Mobility algorithms (2nd year Master of Networking)
Models for programming and computing (3rd year Bachelor of CS)
Techniques for algorithms and programming (3rd year Bachelor of CS)
Excel and CS basics (2nd year Bachelor of Economics and Management)
Array algorithms (1st year Bachelor of Math and CS)
CS basics (1st year Bachelor of Math and Science)
CS specialty (1st year Bachelor of Math and Science)

2020 - 2021

Mobility algorithms (2nd year Master of Networking)
Array algorithms (1st year Bachelor of Math and CS)
CS basics (1st year Bachelor of Math and Science)

2019 - 2020

Basic data structure algorithms (2nd year Bachelor of CS)
Networking (2nd year Bachelor of CS)

2018 - 2019

Basic data structure algorithms (2nd year Bachelor of CS)
Array algorithms (1st year Bachelor of Math and CS)

2017 - 2018

Bordeaux highschools

I was part of Maths à modeler in 2018, and of Math en jeans in 2019. Both aim to present some higher level maths (proper proofs, lower/upper bounds, divide and conquer, etc.) at highschools under the guise of an interesting and fun problem. For Maths à modeler, the students are generally guided along several weeks towards the solution(s) and props such as boards, tokens and tiles are often used to offer hands-on learning. Math en jeans leaves more room for the students to advance at the pace they like and in the direction they deem interesting. Both ultimately end with students presenting their findings at a seminar.


Other

This section contains any other information which may be of interest.

Reviews

Below is a collection of the national and international conferences and journals I agreed to review for.
Since leaving academia I have refused review requests, mainly due of having no time, but also because I have become increasingly uncomfortable with the current publishing model and its reliance on unpaid academic labour.

2018

Service

TEMPOGRAL: member

2024 - present

ALGOWIN: program committee member
AlgoTel: program committee member
SAND: program committee member

2024

ICALP temporal graph workshop: session chair
AlgoTel: program committee member

2023

AlgoTel: program committee member

2022

AlgoTel: graph session chair

2021

Société Informatique de France: member
AlgoTel: shadow program committee member
IWOCA: organization committee member

2020

AlgoDist seminar: co-organiser

2019 - 2021

AFoDIB: secretary and seminar head

2018 - 2021

FCT: organization committee member

2017

Summer Schools

ResCom (assistant and attendant)

2019

Events otherwise attending/attended

Free time

Climbridge at the Peak District, in the UK, 2024.

I am a founding member of bouldering and climbing club Climbridge, and was part of the Club Alpino Italiano during my year in Italy. I am a lifetime member of the Cambridge University Chess Club CUCC.
When my social battery is depleted, I like to read fantasy and science-fiction books and watch series/movies. I keep a minimal effort of tracking the books I read on StoryGraph. I occasionally try my hand at drawing as well, for which I use Krita.
I enjoy coding challenges as a productive form of entertainment, including the seasonal competition challenges on CodinGame.
I am fluent in Dutch, English, and French, and I am currently learning Farsi. I stopped using Duolingo after a 1000 days streak, resulting in a basic knowledge of Spanish and Italian.
I play guitar and ukulele at the lowest level (mainly for Baby Shark entertainment purposes).