含特定结构非凸可行域的优化问题求解方案咨询
大家好,我现在碰到一个带非凸可行域的优化问题,想请教各位有没有合适的解决思路。问题具体如下:
$$
\begin{align}
&(\text{P1})\ \underset{\bf x}{\min} f({\bf x})={\bf x}^T{\bf x}+{\bf f}^T{\bf x}\
&\text{s.t.}\
&|\mathbf{x}-\mathbf{x}_z|_2\geq r,\ z=1,\cdots,M.\
&\mathbf{1}\leq\mathbf{x}\leq\mathbf{10},
\end{align}
$$
其中$r,M, \mathbf{x}_z(z=1,\cdots,M)$和$\mathbf{f}$都是已知常数。
我原本打算通过把可行域松弛成凸集,用逐次凸逼近(SCA)的方法来处理。具体操作是在第$i$次迭代的解$\mathbf{x}^i$处,对非凸约束做一阶泰勒展开,得到近似的凸约束:
$$|\mathbf{x}-\mathbf{x}_z|_2\geq\frac{1}{|\mathbf{xi}-\mathbf{x}_z|_2}(\mathbf{xi}-\mathbf{x}_z)^T(\mathbf{x}-\mathbf{x}_z)$$
这样原问题(P1)就转化为下面的凸优化问题(P2):
$$
\begin{align}
&(\text{P2})\ \underset{\bf x}{\min} f({\bf x})={\bf x}^T{\bf x}+{\bf f}^T{\bf x}\
&\text{s.t.}\
&\frac{1}{|\mathbf{xi}-\mathbf{x}_z|_2}(\mathbf{xi}-\mathbf{x}_z)^T(\mathbf{x}-\mathbf{x}_z)\geq r,\ z=1,\cdots,M.\
&\mathbf{1}\leq\mathbf{x}\leq\mathbf{10}.
\end{align}
$$
但现在遇到了瓶颈:虽然(P2)是凸问题,但这种近似会大幅压缩原本每个非凸约束对应的可行域范围,经常导致(P2)的可行域直接为空,迭代根本没法继续更新解。
想请教各位,针对这种有特定结构的非凸可行域,有没有更有效的处理思路?非常感谢大家的帮助!
备注:内容来源于stack exchange,提问作者Cuz Taylor

