Biconvex optimization

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Biconvex optimization is a generalization of convex optimization where the objective function and the constraint set can be biconvex. There are methods that can find the global optimum of these problems.[1][2]

A set BX×Y is called a biconvex set on X×Y if for every fixed yY, By={xX:(x,y)B} is a convex set in X and for every fixed xX, Bx={yY:(x,y)B} is a convex set in Y.

A function f(x,y):B is called a biconvex function if fixing x, fx(y)=f(x,y) is convex over Y and fixing y, fy(x)=f(x,y) is convex over X.

A common practice for solving a biconvex problem (which does not guarantee global optimality of the solution) is alternatively updating x,y by fixing one of them and solving the corresponding convex optimization problem.[1]

The generalization to functions of more than two arguments is called a block multi-convex function. A function f(x1,,xK) is block multi-convex iff it is convex with respect to each of the individual arguments while holding all others fixed.[3]

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).