几何规划
本小节描述的几何规划问题在自然形式中并不是凸的,但是可以通过变量变换,以及目标函数和约束函数的变换转化成凸优化问题。
单项式和正项式
定义函数 f:Rn→R,domf=R++n,则单项式定义为
f(x)=cx1a1x2a2⋯xnan其中 c>0,ai∈R。这里的单项式和过去在中学里学习的单项式的概念其实是类似的,只是定义更加严格,要确保其函数值为正。
有了单项式的定义,我们就可以定义多项式了。由于我们的单项式都是正的,多项式在这里被称为正项式
f(x)=k=1∑Kckx1a1kx2a2k⋯xnank这个正项式有 K 个项,其中 ck>0。
单项式对数乘和除都是封闭的,正项式对加法、数乘和非负的伸缩变换都是封闭的。正项式和单项式相乘,结果仍然是一个正项式;类似地,正项式除以单项式,结果仍然是一个正项式。这些和我们在中学里学到的完全一样。
几何规划
几何规划(Geometric Program, GP)是定义在单项式和正项式上的优化问题,如下
minimizesubject tof0(x)fi(x)⩽1,i=1,⋯,mhi(x)=1,i=1,⋯,p其中 f0,⋯,fm 都是正项式,h1,⋯,hp 都是单项式。几何规划问题的定义域是 D=R++n,约束 x≻0 是隐式的。
几何规划的推广
如果几何规划问题的不等式约束是 f(x)⩽h(x),我们可以在不等式两边同除以 h(x),得到
h(x)f(x)⩽1根据上述性质,不等号左边的函数仍然是一个正项式,仍然满足几何规划问题的定义。
类似地,如果几何规划问题的等式约束是 h1(x)=h2(x),我们同样也可以在等式两边同除以 h2(x),得到
h2(x)h1(x)=1根据上述性质,不等号左边的函数仍然是一个单项式,仍然满足几何规划问题的定义。
下面是一个例子:
maximizesubject toyx2⩽x⩽3x2+z3y⩽yyx=z2使用上述推广,原问题可以化为标准的几何规划形式
minimizesubject tox−1y2x−1⩽131x⩽1x2y−1/2+3y1/2z−1⩽1xy−1z−2=1凸形式的几何规划
一般来说,几何规划问题不是凸优化问题,但是可以通过变量变换以及目标函数和约束函数的变换将之转化为凸优化问题。
我们定义新的变量 yi=logxi,则 xi=eyi。于是,目标函数可化为
f(x)=k=1∑Kckx1a1kx2a2k⋯xnank=k=1∑Kckea1ky1ea2ky2⋯eankyn=k=1∑Keak⊤y+bk其中,ak=(a1k,⋯,ank),bk=logck。于是,原问题可化为
minimizesubject tok=1∑K0ea0k⊤y+b0kk=1∑Keaik⊤y+bik⩽1,i=1,⋯,megi⊤y+hi=1,i=1,⋯,p现在我们通过取对数的方法来变换目标函数和约束函数,得到
minimizesubject tof~0(y)=log(k=1∑K0ea0k⊤y+b0k)f~i(y)=log(k=1∑Keaik⊤y+bik)⩽1,i=1,⋯,mh~i(y)=gi⊤y+hi=1,i=1,⋯,p其中 f~i 是凸的,h~i 是仿射的,因此上面的问题是凸优化问题,并且称之为凸形式的几何规划。
如果正项式的目标函数和约束函数都只有一个项,则凸形式的几何规划就退化为(一般的)线性规划。因此,我们可以认为几何规划是线性规划的一个推广。