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.
A set B ⊂ X × Y is called a biconvex set on X × Y if for every fixed y ∈ Y , B y = { x ∈ X : ( x , y ) ∈ B } is a convex set in X and for every fixed x ∈ X , B x = { y ∈ Y : ( x , y ) ∈ B } is a convex set in Y .
A function f ( x , y ) : B → R is called a biconvex function if fixing x , f x ( y ) = f ( x , y ) is convex over Y and fixing y , f y ( 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.