Jump to content

Separation oracle

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Erel Segal (talk | contribs) at 10:43, 2 November 2021 (Definition). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A separation oracle is a concept in the matematical theory of convex optimization. It is a method to describe a convex set that is given as an input to an optimization algorithm.

Definition

Let K be a convex and compact set in Rn. A strong separation oracle for K is an oracle (black box) that solves the following problem:[1]: 48 

Given a vector y in Rn, return one of the following:

  • Assert that y is in K.
  • Find a hyperplane that separates y from K: a vector c in Rn, such that for all x in K.

A strong separation oracle is completely accurate, and thus may be hard to construct. For practical reasons, a weaker version is considered, which allows for small errors in the boundary of K and the inequalities. It also considers rational numbers, which have a representation of finite length, rather than arbitrary real numbers. A weak separation oracle for K is an oracle that solves the following problem:[1]: 51 

Given a vector y in Qn, and a rational number d>0, return one of the following:

  • Assert that y is in a sphere of radius d around K (= the Euclidean distance between y and K is at most d);
  • Find a vector c in Qn, normalized such that its maximum element is 1, such that for all x in a sphere of radius d inside K (= all x with Euclidean distance at least d from the boundary of K).

References

  1. ^ a b M. Grötschel, L. Lovász, A. Schrijver: Geometric Algorithms and Combinatorial Optimization, Springer, 1988.