The $k$-means problem in its common form can be stated as follows:
Given a data set $\mathcal{X}=x_1, ..., x_n$ consisting of $d$-dimensional vectors find a set $C = c_1,...,c_k$ of $d$-dimensional centroids such that the summed square distance between the vectors and their nearest centroid is minimized, i.e. $C$ should minimize the following function:
$$\phi=\sum_{x\in\mathcal{X}} \underset{c\in C}{min} \|c-x\|^{2} $$ Since the $k$-means problem is known to be NP-complete, for practical problems one has to settle for approximative methods like the $k$-means algorithm which converges to a local minimum. Using "careful" seeding methods like k-means++ the quality of the obtained local minima often becomes better than with random initialization but may still be far from the global optimum.
Are there any known (not exponentially expensive) methods which deliver better solutions than the k-means/k-means++ algorithm?