<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Graph of Convex Sets | Alexandre Amice</title><link>https://alexandreamice.github.io/tags/graph-of-convex-sets/</link><atom:link href="https://alexandreamice.github.io/tags/graph-of-convex-sets/index.xml" rel="self" type="application/rss+xml"/><description>Graph of Convex Sets</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 26 Apr 2026 00:00:00 +0000</lastBuildDate><image><url>https://alexandreamice.github.io/media/icon_hu_12f30033bf7ec525.png</url><title>Graph of Convex Sets</title><link>https://alexandreamice.github.io/tags/graph-of-convex-sets/</link></image><item><title>VEGA: Decomposition Solver for Graphs of Convex Sets</title><link>https://alexandreamice.github.io/project/vega-gcs/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://alexandreamice.github.io/project/vega-gcs/</guid><description>&lt;h1 id="motivation"&gt;Motivation&lt;/h1&gt;
&lt;p&gt;Graph of Convex Sets (GCS) is a powerful modeling framework for planning problems that combine discrete choices with continuous decisions.
A path through the graph selects a sequence of convex regions or modes, while the optimization variables choose continuous states inside those regions.&lt;/p&gt;
&lt;p&gt;This makes GCS a natural fit for robotics problems such as motion planning through convex regions, manipulation with contact modes, and mixed discrete-continuous task planning. The challenge is scale. A centralized relaxation can become very large, and the graph structure that made the model natural is no longer fully exploited by a generic conic solve.&lt;/p&gt;
&lt;h1 id="contribution"&gt;Contribution&lt;/h1&gt;
&lt;p&gt;VEGA is a decomposition solver for GCS programs written in C++. Instead of solving the full conic relaxation as one monolithic program, the method splits the problem into the pieces already present in the model: a local program at each vertex, a local program at each edge, and a global graph optimization update.&lt;/p&gt;
&lt;p&gt;At each iteration, these subproblems can be solved in parallel and then driven toward consensus. This creates a solver architecture that matches the original modeling structure and can scale to very large problems.&lt;/p&gt;
&lt;p&gt;In addition to VEGA, we provide a benchmark of GCS instances from the literature and distribute these instances as &lt;code&gt;GcsBench&lt;/code&gt;. We provide new C++ and Python based infrastructure in &lt;code&gt;GcsCpp&lt;/code&gt; for modelling, serializing, and deserializing instances so that other researchers can contribute their own instances to the benchmark. We also provide bridges to transform &lt;code&gt;Drake's&lt;/code&gt; GraphOfConvexSets objects and &lt;code&gt;gcsopt&lt;/code&gt; models to the standardized &lt;code&gt;GcsCpp&lt;/code&gt; instances.&lt;/p&gt;
&lt;p&gt;The benchmark set includes maze navigation, helicopter flight, shelf planning, bimanual manipulation, semidefinite pushing, and contact-graph instances. These programs take anywhere from less than a second to tens of minutes to solve with general-purpose convex solvers. The contact-graph instances are too large to be solved in a reasonable time by general-purpose methods.&lt;/p&gt;
&lt;h1 id="results"&gt;Results&lt;/h1&gt;
&lt;p&gt;VEGA is designed to solve GCS instances where the convex relaxation is too large to solve using a general-purpose, centralized solver.&lt;/p&gt;
&lt;p&gt;It is the only solver in the benchmark capable of solving any of the contact-graph instances.
On problems where centralized solvers do succeed, VEGA is typically slower as the additional overhead of coordinating the local solvers outweighs any benefits from using the decomposition-based method.&lt;/p&gt;</description></item></channel></rss>