凸优化第四章凸优化问题 4.5几何规划

4.5几何规划

  1. 单项式与正项式
  2. 几何规划
  3. 凸形式的几何规划
  4. 例子

单项式与正项式

函数f:R^n\rightarrow R,dom(f)=R^n_{++}定义为:f(x)=cx_1^{a-1}x_2^{a_2}\cdots x_n^{a_n},c>0,a_i \in R

函数f被称为单项式函数,或简称单项式。单项式的指数a_I可以是任意实数,但系数c非负。

单项式的和,成为正项式函数,或简称为正项式,具有下列形式:

f(x)=\sum _{k=1}^{K}c_kx_1^{a_{1k}}x_2^{a_{2k}}\cdots x_n^{a_{nk}},c_k>0

正项式对于加法、正数乘和非负的伸缩变换,以及平方运算都是封闭的,即\forall f(x),g(y)是正项式f(x)+g(y),kf(x),k> 0,f(x)^2均是正项式。

几何规划

minimize \, \, f_0(x) \\ subject \, \, to \, \,\begin{matrix} f_i(x)\leq 1 &i=1,2\cdots m \\ h_i(x)=1 &i=1,2,\cdots p \end{matrix}

具有上述形式的优化问题称为几何规划。其中f_i是正项式,h_i是单项式。

扩展:如果f(x)是正项式,h(x)是单项式,f(x)\leq h(x),可以写成f(x)/h(x)\leq 1,如果h_1(x),h_2(x)都是单项式,约束为h_1(x)=h_2(x)事,可以转为h_1(x)/h_2(x)=1

凸形式的几何规划

几何规划显然不是凸优化问题,但通过变量代换以及目标函数、约束函数的转换,可以将其转换为凸优化问题。

y_i=log(x_i) \Rightarrow x_i=e^{y_i},所以如果f(x)是单项式函数,则

f(x)=cx_1^{a_1}x_2^{a_2}x_3^{a_3}\cdots x_n^{a_n} =c(e^{y_1})^{a_1}(e^{y_2})^{a_2}\cdots (e^{y_n})^{a_n}=ce^{y_1a_1}e^{y_2a_2}\cdots e^{y_na_n}\\ =ce^{a^Ty}

b=log^c,所以c=e^b,所以上式变为:f(x)=e^{a^Ty+b}

如果f(x)是正项式函数,则

f(x)=\sum _{k=1}^{K}c_kx_1^{a_{1k}}x_2^{a_{2k}}\cdots x_n^{a_{nk}}=\sum _{k=1}^{K}e^{a_k^Ty+b_k}

所以几何规划问题转化为:

minimize \, \,\sum _{k=1}^Ke^{a_{0k}^Ty+b_{0k}} \\ subject \, \, to \, \,\begin{matrix} \sum _{k=1}^{K_i}e^{a_{ik}^Ty+b_{ik}}\leq 1 &i=1,2\cdots m \\ e^{g_i^Ty+h_i}}=1 &i=1,2,\cdots p \end{matrix}

再用对数函数对目标函数和约束函数进行转换

minimize \, \,\tilde{f_0}(x)=log \, (\sum _{k=1}^Ke^{a_{0k}^Ty+b_{0k}} )\\ subject \, \, to \, \,\begin{matrix} \tilde{f_i}(x)=log\,(\sum _{k=1}^{K_i}e^{a_{ik}^Ty+b_{ik}})\leq 1 &i=1,2\cdots m \\ g_i^Ty+h_i}=1 &i=1,2,\cdots p \end{matrix}

可知目标函数是凸函数,不等式约束函数是凸函数,等式约束函数是仿射函数故问题是凸优化问题。

例子

悬壁梁的设计

悬壁梁包含N段,每段都有段位长度和矩形截面,截面的高度为h_i宽度为w_i,一个垂直负载被施加于的右端,力为F,其材料是线性弹性的,其杨氏模量为E。

问题中带设计的变量是N段的宽度和高度,在一些约束下要求最小化梁的体积:w_1h_1+w_2h_2+\cdots w_Nh_N

约束:

  1. 每段的宽度和高度的上下界:w_{min}\leq w_i\leq w_{max},h_{min}\leq h_i\leq h_{max},i=1,2\cdots N
  2. 形状比例约束:S_{min}\leq h_i/w_i\leq S_{max}
  3. 第i段的最大压力,记为\sigma _i=6iF/(w_ih_i^2),约束:\frac{6iF}{w_ih_i^2}\leq \sigma _{max}
  4. 梁末端垂直挠度的限制,记为y_1y_1\leq y_{max}
  5. 挠度y_1可由梁上隔断的挠度和斜度,从斜度v和挠度y均为0,v_{N+1}=y_{N+1}=0开始按i=N,N-1,N-2,\cdots 1递归求得:v_i=12(i-1/2)\frac{F}{Ew_ih_i^2}+v_{i+1},y_i=6(i-1/3)\frac{F}{Ew_ih_i^2}+v_{i+1}+y_{i+1}

于是问题为:

minimize \, \, \sum _{i=1}^Nw_ih_i \\ subject \, \, to \, \,\begin{matrix} w_{min}\leq w_i \leq w_{max},i=1,2,\cdots m\\ h_{min}\leq h_i\leq h_{max},i=1,2,\cdots m \\ S_{min}\leq h_i/w_i\leq S_{max},i==1,2\cdots m \\ 6iF/(w_ih_i^2)\leq \sigma _{max},i=1,2\cdots m \\ y_1\leq y_{max} \end{matrix}

将其整理为几何规划形式:

minimize \, \, \sum _{i=1}^Nw_ih_i \\ subject \, \, to \, \,\begin{matrix} w_{min}w_i^{-1}\leq 1,w_i w_{max}^{-1}\leq 1,i=1,2,\cdots m\\ h_{min}h_i^{-1}\leq 1,h_ih_{max}^{-1}\leq 1,i=1,2,\cdots m \\ S_{min} w_i h_i^{-1}\leq 1,h_i/w_i S_{max}^{-1}\leq 1,i==1,2\cdots m \\ 6iF/(w_ih_i^2)\sigma _{max}^{-1}\leq 1,i=1,2\cdots m \\ y_1 y_{max}^{-1} \leq 1\end{matrix}

猜你喜欢

转载自blog.csdn.net/wangchy29/article/details/86647743