@(Numerical Computation)[localization,subgradient,cutting plane]
Localization and Cutting Plane Methods
Continue the discussion of non-differentiable convex optimization, this blog is about localization and cutting plane methods. Roughly speaking, this method is similar to bisection method on
Basic Idea of Cutting Plane method
Before talking about details of cutting-plane method, we need to know the goals of this algorithm. Cutting plane method used to find a point
where
Cutting plane method proceed as follow:
a. set k = 0
b. start with an initial polyhedron
c. selecting point
d. send
this hyperplane called cutting-plane.
e. if point
f. return optimal point
After review the algorithm for cutting plane method, using cutting-plane method make this algorithm similar to bisection on
One of the most important question is how to calculate the cutting-plane for convex optimization problem. This problem can be solved by subgradient. Subgradient is defined as the vector fullfil following inequality:
Cutting plane arose naturally from this definition. Following sections talk about how to calculate cutting plane for different type of problem.
Unconstrained Optimization
for unconstrained optimization problem:
at any point
so all the points satisfy
Feasibility Problem
Feasibility problem:
If all the inequality constraints are satisfied, then this problem is feasible. If not, we can find an inequality
will be the cutting plane we need.
Inequality constrained problem
process the following problem
at current point
this cutting plane is called feasibility cut. Second, all the constraints are satisfied. Then calculate the subgradient
Summary
Cutting plane can be find efficiently for unconstrained problem, feasibility problem and inequality constrained problem. But seems can not handle equality constraints easily, which does not like subgradient method. When can handle the equality constraint by projection.
Convergence Proof
For cutting plane method, the progress of optimization is evaluated by the decrement of volume. If the algorithm want to convergence, the volume of polyhedron must decreased by a factor less than 1. For bisection method, each iteration the volume will decreased by 0.5. But for cutting-plane method in
Specific Cutting-Plane and Localization Methods
According to the brief introduction of cutting-plane method, we know the critical step is to select the query point
Center of Gravity
The center of gravity of a set C defined as follow:
for volume reduction, we have
One of the most important thing about this is this volume reduction does not depend on any problem parameters, like the dimension
But the disadvantage of this algorithm is the CG is very hard to compute for a set described by a set of linear inequalities.
MVE cutting-plane method
This method called maximum volume inscribed ellipsoid. In this method, we select the
so the volume reduction factor depends on the dimension
Analytic center cutting-plane method
The analytic center cutting-plane method uses the optimal solution of following optimization problem
where the polyhedron
This problem is easy to optimize.
Ellipsoid Method
Ellipsoid method is an location algorithm, works in a similar way to cutting-plane methods but differs in some aspects. In cutting plane method, we describe our knowledge with a polyhedron, but in cutting plane method we use ellipsoid. Use ellipsoid to describe the optimization set has an memory advantage over cutting plane methods. In cutting plane methods, as the optimization proceeds, more and more constraints are added to form a smaller and smaller polyhedron. Too much linear inequality constraints will slow down the progress and occupy much more memory. But in ellipsoid method, only constant memory is needed, we only need a
where
Details about Ellipsoid method
At iteration k, we get an ellipsoid that contains the optimal point as follow:
then we get the sub-gradient at point
where
where
and
Extensions
Some improvements can enhance the performance of cutting plane method.
Dropping constraints
When using cutting plane method, the number of inequality will grow as the number of iteration increase. Performance will be affected seriously by so many inequalities. So we need to abandon the inequality that is not important to us any more. We have a lot ways to do this.
linear programming
use linear programming to check some inequality is redundant works as follow:
where we would like the check the inequality indexed by
other methods
Sometimes we just keep the constraints in a fixed number ever though this will drop some useful constraints. In this situation, we drop the inequality according to the heuristics follow
the smaller the score, the more relevant. So we can rank all the inequalities according to this score. The matrix
which cover the current polyhedron
Summary
Roughly speaking, localization and cutting plane methods is very slow yet reliable. When the objective is non-differentiable, cutting plane and ellipsoid method will works.
没有评论:
发表评论