Hubbry Logo
Ellipsoid methodEllipsoid methodMain
Open search
Ellipsoid method
Community hub
Ellipsoid method
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Ellipsoid method
Ellipsoid method
from Wikipedia
Example of graph.

In mathematical optimization, the ellipsoid method is an iterative method for minimizing convex functions over convex sets. The ellipsoid method generates a sequence of ellipsoids whose volume uniformly decreases at every step, thus enclosing a minimizer of a convex function.

When specialized to solving feasible linear optimization problems with rational data, the ellipsoid method is an algorithm which finds an optimal solution in a number of steps that is polynomial in the input size.

History

[edit]

The ellipsoid method has a long history. As an iterative method, a preliminary version was introduced by Naum Z. Shor. In 1972, an approximation algorithm for real convex minimization was studied by Arkadi Nemirovski and David B. Yudin (Judin).

As an algorithm for solving linear programming problems with rational data, the ellipsoid algorithm was studied by Leonid Khachiyan; Khachiyan's achievement was to prove the polynomial-time solvability of linear programs. This was a notable step from a theoretical perspective: The standard algorithm for solving linear problems at the time was the simplex algorithm, which has a run time that typically is linear in the size of the problem, but for which examples exist for which it is exponential in the size of the problem. As such, having an algorithm that is guaranteed to be polynomial for all cases was a theoretical breakthrough.

Khachiyan's work showed, for the first time, that there can be algorithms for solving linear programs whose runtime can be proven to be polynomial. In practice, however, the algorithm is fairly slow and of little practical interest, though it provided inspiration for later work that turned out to be of much greater practical use. Specifically, Karmarkar's algorithm, an interior-point method, is much faster than the ellipsoid method in practice. Karmarkar's algorithm is also faster in the worst case.

The ellipsoidal algorithm allows complexity theorists to achieve (worst-case) bounds that depend on the dimension of the problem and on the size of the data, but not on the number of rows, so it remained important in combinatorial optimization theory for many years.[1][2][3][4] Only in the 21st century have interior-point algorithms with similar complexity properties appeared.[citation needed]

Description

[edit]

A convex minimization problem consists of the following ingredients.

  • A convex function to be minimized over the vector (containing n variables);
  • Convex inequality constraints of the form , where the functions are convex; these constraints define a convex set .
  • Linear equality constraints of the form .

We are also given an initial ellipsoid defined as

containing a minimizer , where and is the center of .

Finally, we require the existence of a separation oracle for the convex set . Given a point , the oracle should return one of two answers:[5]

  • "The point is in ", or -
  • "The point is not in , and moreover, here is a hyperplane that separates from ", that is, a vector such that for all .

The output of the ellipsoid method is either:

  • Any point in the polytope (i.e., any feasible point), or -
  • A proof that is empty.

Inequality-constrained minimization of a function that is zero everywhere corresponds to the problem of simply identifying any feasible point. It turns out that any linear programming problem can be reduced to a linear feasibility problem (i.e. minimize the zero function subject to some linear inequality and equality constraints). One way to do this is by combining the primal and dual linear programs together into one program, and adding the additional (linear) constraint that the value of the primal solution is no worse than the value of the dual solution.[6]: 84  Another way is to treat the objective of the linear program as an additional constraint, and use binary search to find the optimum value.[6]: 7–8 

Unconstrained minimization

[edit]

At the k-th iteration of the algorithm, we have a point at the center of an ellipsoid

We query the cutting-plane oracle to obtain a vector such that

We therefore conclude that

We set to be the ellipsoid of minimal volume containing the half-ellipsoid described above and compute . The update is given by

where

The stopping criterion is given by the property that

Sample sequence of iterates

Inequality-constrained minimization

[edit]

At the k-th iteration of the algorithm for constrained minimization, we have a point at the center of an ellipsoid as before. We also must maintain a list of values recording the smallest objective value of feasible iterates so far. Depending on whether or not the point is feasible, we perform one of two tasks:

  • If is feasible, perform essentially the same update as in the unconstrained case, by choosing a subgradient that satisfies
  • If is infeasible and violates the j-th constraint, update the ellipsoid with a feasibility cut. Our feasibility cut may be a subgradient of which must satisfy

for all feasible z.

Performance in convex programs

[edit]

Theoretical run-time complexity guarantee

[edit]

The run-time complexity guarantee of the ellipsoid method in the real RAM model is given by the following theorem.[7]: Thm.8.3.1 

Consider a family of convex optimization problems of the form: minimize f(x) s.t. x is in G, where f is a convex function and G is a convex set (a subset of an Euclidean space Rn). Each problem p in the family is represented by a data-vector Data(p), e.g., the real-valued coefficients in matrices and vectors representing the function f and the feasible region G. The size of a problem p, Size(p), is defined as the number of elements (real numbers) in Data(p). The following assumptions are needed:

  1. G (the feasible region) is:
    • Bounded;
    • Has a non-empty interior (so there is a strictly-feasible point);
  2. Given Data(p), one can compute using poly(Size(p)) arithmetic operations:
    • An ellipsoid that contains G;
    • A lower bound 'MinVol(p)>0' of the volume G.
  3. Given Data(p) and a point x in Rn, one can compute using poly(Size(p)) arithmetic operations:
    • A separation oracle for G (that is: either assert that x is in G, or return a hyperplane separating x from G).
    • A first-order oracle for f (that is: compute the value of f(x) and a subgradient f'(x)).

Under these assumptions, the ellipsoid method is "R-polynomial". This means that there exists a polynomial Poly such that, for every problem-instance p and every approximation-ratio ε>0, the method finds a solution x satisfying :

,

using at most the following number of arithmetic operations on real numbers:

where V(p) is a data-dependent quantity. Intuitively, it means that the number of operations required for each additional digit of accuracy is polynomial in Size(p). In the case of the ellipsoid method, we have:

.

The ellipsoid method requires at most steps, and each step requires Poly(Size(p)) arithmetic operations.

Practical performance

[edit]

The ellipsoid method is used on low-dimensional problems, such as planar location problems, where it is numerically stable. Nemirovsky and BenTal[7]: Sec.8.3.3  say that it is efficient if the number of variables is at most 20-30; this is so even if there are thousands of constraints, as the number of iterations does not depend on the number of constraints. However, in problems with many variables, the ellipsoid method is very inefficient, as the number of iterations grows as O(n2).

Even on "small"-sized problems, it suffers from numerical instability and poor performance in practice [citation needed].

Theoretical importance

[edit]

The ellipsoid method is an important theoretical technique in combinatorial optimization. In computational complexity theory, the ellipsoid algorithm is attractive because its complexity depends on the number of columns and the digital size of the coefficients, but not on the number of rows.

The ellipsoid method can be used to show that many algorithmic problems on convex sets are polynomial-time equivalent.

Performance in linear programs

[edit]

Leonid Khachiyan applied the ellipsoid method to the special case of linear programming: minimize cTx s.t. Ax ≤ b, where all coefficients in A,b,c are rational numbers. He showed that linear programs can be solved in polynomial time. Here is a sketch of Khachiyan's theorem.[7]: Sec.8.4.2 

Step 1: reducing optimization to search. The theorem of linear programming duality says that we can reduce the above minimization problem to the search problem: find x,y s.t. Ax ≤ b ; ATy = c ; y ≤ 0 ; cTx=bTy. The first problem is solvable iff the second problem is solvable; in case the problem is solvable, the x-components of the solution to the second problem are an optimal solution to the first problem. Therefore, from now on, we can assume that we need to solve the following problem: find z ≥ 0 s.t. Rzr. Multiplying all rational coefficients by the common denominator, we can assume that all coefficients are integers.

Step 2: reducing search to feasibility-check. The problem find z ≥ 0 s.t. Rzr can be reduced to the binary decision problem: "is there a z ≥ 0 such that Rzr?". This can be done as follows. If the answer to the decision problem is "no", then the answer to the search problem is "None", and we are done. Otherwise, take the first inequality constraint R1zr1; replace it with an equality R1z = r1; and apply the decision problem again. If the answer is "yes", we keep the equality; if the answer is "no", it means that the inequality is redundant, and we can remove it. Then we proceed to the next inequality constraint. For each constraint, we either convert it to equality or remove it. Finally, we have only equality constraints, which can be solved by any method for solving a system of linear equations.

Step 3: the decision problem can be reduced to a different optimization problem. Define the residual function f(z) := max[(Rz)1-r1, (Rz)2-r2, (Rz)3-r3,...]. Clearly, f(z)≤0 iff Rzr. Therefore, to solve the decision problem, it is sufficient to solve the minimization problem: minz f(z). The function f is convex (it is a maximum of linear functions). Denote the minimum value by f*. Then the answer to the decision problem is "yes" iff f*≤0.

Step 4: In the optimization problem minz f(z), we can assume that z is in a box of side-length 2L, where L is the bit length of the problem data. Thus, we have a bounded convex program, that can be solved up to any accuracy ε by the ellipsoid method, in time polynomial in L.

Step 5: It can be proved that, if f*>0, then f*>2-poly(L), for some polynomial. Therefore, we can pick the accuracy ε=2-poly(L). Then, the ε-approximate solution found by the ellipsoid method will be positive, iff f*>0, iff the decision problem is unsolvable.

Variants

[edit]

The ellipsoid method has several variants, depending on what cuts exactly are used in each step.[1]: Sec. 3 

Different cuts

[edit]

In the central-cut ellipsoid method,[1]: 82, 87–94  the cuts are always through the center of the current ellipsoid. The input is a rational number ε>0, a convex body K given by a weak separation oracle, and a number R such that S(0,R) (the ball of radius R around the origin) contains K. The output is one of the following:

  • (a) A vector at a distance of at most ε from K, or --
  • (b) A positive definite matrix A and a point a such that the ellipsoid E(A,a) contains K, and the volume of E(A,a) is at most ε.

The number of steps is , the number of required accuracy digits is p := 8N, and the required accuracy of the separation oracle is d := 2p.

In the deep-cut ellipsoid method,[1]: 83  the cuts remove more than half of the ellipsoid in each step. This makes it faster to discover that K is empty. However, when K is nonempty, there are examples in which the central-cut method finds a feasible point faster. The use of deep cuts does not change the order of magnitude of the run-time.

In the shallow-cut ellipsoid method,[1]: 83, 94–101  the cuts remove less than half of the ellipsoid in each step. This variant is not very useful in practice, but it has theoretical importance: it allows to prove results that cannot be derived from other variants. The input is a rational number ε>0, a convex body K given by a shallow separation oracle, and a number R such that S(0,R) contains K. The output is a positive definite matrix A and a point a such that one of the following holds:

  • (a) The ellipsoid E(A,a) has been declared "tough" by the oracle, or -
  • (b) K is contained in E(A,a) and the volume of E(A,a) is at most ε.

The number of steps is , and the number of required accuracy digits is p := 8N.

Different ellipsoids

[edit]

There is also a distinction between the circumscribed ellipsoid and the inscribed ellipsoid methods:[8]

  • In the circumscribed ellipsoid method, each iteration finds an ellipsoid of smallest volume that contains the remaining part of the previous ellipsoid. This method was developed by Yudin and Nemirovskii.[9]
  • In the Inscribed ellipsoid method, each iteration finds an ellipsoid of largest volume that is contained the remaining part of the previous ellipsoid. This method was developed by Tarasov, Khachian and Erlikh.[10]

The methods differ in their runtime complexity (below, n is the number of variables and epsilon is the accuracy):

  • The circumscribed method requires iterations, where each iteration consists of finding a separating hyperplane and finding a new circumscribed ellipsoid. Finding a circumscribed ellipsoid requires time.
  • The inscribed method requires iterations, where each iteration consists of finding a separating hyperplane and finding a new inscribed ellipsoid. Finding an inscribed ellipsoid requires time for some small .

The relative efficiency of the methods depends on the time required for finding a separating hyperplane, which depends on the application: if the runtime is for then the circumscribed method is more efficient, but if then the inscribed method is more efficient.[8]

[edit]
  • The center-of-gravity method is a conceptually simpler method, that requires fewer steps. However, each step is computationally expensive, as it requires to compute the center of gravity of the current feasible polytope.
  • Interior point methods, too, allow solving convex optimization problems in polynomial time, but their practical performance is much better than the ellipsoid method.

Notes

[edit]

Further reading

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
The ellipsoid method is an iterative algorithm for solving problems, particularly for minimizing a over a , by maintaining and shrinking a sequence of guaranteed to contain an optimal solution until the volume reduction yields a sufficiently accurate . It operates by querying a separation at the ellipsoid's center to obtain a subgradient or separating , which cuts the ellipsoid and updates it to a smaller one enclosing the , with each iteration reducing the volume by a factor of e1/(2n+2)e^{-1/(2n+2)} in nn dimensions. The method requires O(n2log(RG/ϵ))O(n^2 \log(R G / \epsilon)) iterations to achieve an ϵ\epsilon-accurate solution, where RR is the initial ellipsoid radius, GG is the constant of the objective, assuming the optimum lies within a of radius RR and the subgradients are bounded by GG. Developed in the mid-1970s in the Soviet Union independently by Naum Z. Shor and by David B. Yudin and Arkadi S. Nemirovski for general convex programming, the ellipsoid method gained prominence when Leonid G. Khachiyan adapted it in 1979 to solve linear programs in polynomial time, marking the first such algorithm after the simplex method's worst-case exponential complexity was established. Khachiyan's version addresses linear programming feasibility directly through cutting planes, requiring O(n4log(R/r))O(n^4 \log(R / r)) arithmetic operations for an nn-variable program with constraints bounding the feasible set between balls of radii RR and rr. This breakthrough resolved a key question in computational complexity by placing linear programming in the class P, influencing subsequent developments like interior-point methods while highlighting the ellipsoid method's role in providing polynomial-time separation oracles for combinatorial problems such as maximum weight matching and matroid intersection. Despite its theoretical significance, the method is rarely used in practice due to high constant factors and slower performance compared to the simplex or interior-point algorithms on typical instances.

History

Origins and Key Developments

The ellipsoid method traces its origins to the mid-1970s in the , where it was developed by David B. Yudin and Arkadi S. Nemirovski as an iterative technique for approximating solutions to problems by enclosing the feasible set within successively smaller ellipsoids. Their work, published in 1976, laid the foundational framework for using ellipsoidal approximations to manage high-dimensional search spaces efficiently in convex extremal problems. Independently, Naum Z. Shor contributed similar ideas around the same period, further advancing subgradient-based ellipsoid updates for nonsmooth convex minimization. In 1979, Leonid G. Khachiyan, a researcher at the Computing Center of the Siberian Branch of the Academy of Sciences of the USSR in , adapted the specifically to , proving that it could solve the feasibility of systems of linear inequalities in time. This breakthrough was driven by the unresolved question in and about the polynomial-time solvability of , which had been practically addressed since 1947 by George B. Dantzig's method but lacked worst-case -time guarantees due to its potential exponential complexity on certain inputs. Khachiyan's formulation centered on iteratively shrinking an initial containing the using cutting planes, ensuring volume reduction in high dimensions while maintaining computational tractability. Khachiyan's results were first disseminated in preliminary form at the 10th International Symposium on Mathematical Programming in in 1979, marking a pivotal moment that confirmed resides in the P and dispelled lingering doubts about its tractability. The full proof appeared later that year in Doklady Akademii Nauk SSSR, establishing the ellipsoid method's role as the first explicit polynomial-time algorithm for this foundational problem. This development not only highlighted the method's theoretical elegance but also underscored its potential for broader , though practical implementations would later reveal challenges in .

Impact on Optimization Theory

The ellipsoid method marked a pivotal shift in optimization theory from reliance on practical heuristics like the simplex method, which lacked guaranteed polynomial-time performance, to a rigorous theoretical framework demonstrating that (LP) belongs to the P. By adapting earlier work on , showed in 1979 that LP could be solved in time using an ellipsoid-based , resolving a long-standing open question in and influencing the broader study of P versus NP implications. This breakthrough underscored the power of separation oracles in certifying feasibility for convex sets, providing a theoretical foundation for analyzing the solvability of optimization problems without enumerating all constraints. The method's theoretical elegance inspired subsequent developments in approximation algorithms and (SDP). In particular, it enabled proofs of polynomial-time solvability for problems whenever a polynomial-time exists, as demonstrated by Grötschel, Lovász, and Schrijver, who extended the ellipsoid framework to yield approximation guarantees for problems like the traveling salesman problem and . This oracle-based approach also laid groundwork for SDP relaxations in approximation algorithms, where the ellipsoid method theoretically solves SDPs in polynomial time, influencing high-impact results such as the 0.878-approximation for . Khachiyan, along with Yudin and Nemirovski, received the 1982 for their contributions to the ellipsoid method, while Grötschel, Lovász, and Schrijver received a separate for their work on its consequences in , recognizing its profound theoretical impact. The method's success in establishing polynomial-time solvability for LP further catalyzed research into efficient algorithms, notably paving the way for Narendra Karmarkar's 1984 , which built on this theoretical assurance to deliver a practically viable polynomial-time solver. Despite its practical limitations, the ellipsoid method's long-term legacy endures as a cornerstone for understanding polynomial-time solvability in , emphasizing the value of theoretical tools in guiding algorithmic innovation even when direct implementations falter in efficiency.

Algorithm Description

Core Mechanism and Ellipsoid Updates

The ellipsoid method operates in nn-dimensional by maintaining a sequence of ellipsoids that contain the of interest, iteratively shrinking this region until a solution is isolated. An EkE_k at iteration kk is defined as the set Ek={xRn(xxk)TAk1(xxk)1}E_k = \{ x \in \mathbb{R}^n \mid (x - x_k)^T A_k^{-1} (x - x_k) \leq 1 \}, where xkRnx_k \in \mathbb{R}^n is the center and AkA_k is a symmetric positive that determines the shape and orientation of the . This representation leverages the to describe an of the unit ball, ensuring the set is convex and bounded. The method assumes the feasible set is a convex body, drawing on properties of such sets to guarantee progress. Initialization begins with a large ellipsoid E0E_0 that contains the entire feasible set, often taken as a centered at an arbitrary point within a known bounding box for the problem. To optimize the starting volume and improve convergence, the initial ellipsoid can be chosen as the Löwner-John ellipsoid, which is the unique ellipsoid of minimal volume enclosing the convex feasible set; by John's theorem, this ellipsoid has volume at most nnn^n times that of the feasible body itself, providing a tight initial enclosure. The matrix A0A_0 is selected accordingly, such as A0=R2IA_0 = R^2 I for a of radius RR if bounds are known. At each iteration, the center xkx_k is tested against the constraints. If xkx_k lies within the feasible set, the algorithm may terminate or proceed based on the objective; otherwise, a separating hyperplane is identified via the separation oracle, providing a direction cRnc \in \mathbb{R}^n such that the half-space {xcTxcTxk}\{ x \mid c^T x \leq c^T x_k \} (passing through xkx_k) contains all feasible points. The ellipsoid is then updated to Ek+1E_{k+1}, which is contained in EkE_k intersected with this half-space. Specifically, normalize the cut direction as b=Akc/cTAkcb = A_k c / \sqrt{c^T A_k c}
Add your contribution
Related Hubs
User Avatar
No comments yet.