Distance of a point to a finite union of polyhedra

270 Views Asked by At

Given a point $p \in \mathbb{R}^d$ and a finite union of (possibly overlapping) polyhedra $$ S = \left\{ x \in \mathbb{R}^d :\bigvee_{i=1}^m \bigwedge_{j=1}^n a_{ij} x \leq b_i \right\} = \left\{ x \in \mathbb{R}^d :\bigvee_{i=1}^m A_i x \leq b_i \right\} = \bigcup_{i=1}^m \left\{ x \in \mathbb{R}^d : A_i x \leq b_i \right\}$$ where $a_{ij}$ is a vector, how can the distance of $p$ to the possibly non-convex set $S$ be computed? If $p \notin S$, the distance is the length of the shortest ray from $p$ to the boundary of $S$. If $p \in S$, the distance is the length of the shortest ray from $p$ to the boundary of $S$ where the ray may not leave $S$. Which algorithms are known to compute this distance? Are there implementations?

1

There are 1 best solutions below

7
On

This is a Quadratic Programming (QP) problem. "QP is a special type of mathematical optimization problem — specifically, the problem of optimizing (minimizing or maximizing) a quadratic function of several variables subject to linear constraints on these variables. It is a particular type of nonlinear programming".