|
经典的方法是使用梯度优化,这需要对梯度进行分析或数值计算。相反,我们使用无梯度自适应策略执行最大化。下面是这种自适应网格方法的简单示例。假设我们得到一个由无风险资产和风险资产组成的投资组合。我们用{Ap}0表示≤p≤p自适应网格序列,用{Δp}0表示≤p≤p序列作为自适应网格大小,使得δp+1=δp/2。我们将初始自适应网格定义为A=A,将初始控制网格大小定义为δ=δ。假设最优控制^α已在空间A=Adisc上估计。然后,更新后的自适应网格定义为A={α- δ/2,α,α+δ/2},最优控制的更新估计由α=arg maxa给出∈A^Φ(A)。迭代地,自适应网格将是Ap={αp-1.- δ/2p,^αp-/1,^αp-1+δ/2p}。对于每个重新定义的自适应网格,控制的每个维度中最多有两个新点。这种层次结构保证在算法中执行有限数量的操作。下面是我们的自适应网格策略示例,从Adisc的δ=1/4控制网格开始:Ad=a={0,0.2500,0.5000,0.7500,1}假设^α=arg maxa∈A^Φ(A)=0.5000,那么A={0.3750,0.5000,0.6250}假设A=arg maxa∈A^Φ(A)=0.3750,那么A={0.3125,0.3750,0.4375}假设^α=arg maxa∈A^Φ(A)=0.3125,那么A={0.28125,0.3125,0.34375}假设^α=arg maxa∈A^Φ(A)=0.3125,然后A={0.296875,0.3125,0.32815}。。。最后^α*:= arg最大值∈AP^Φ(a)可以看出,只有五次迭代才能达到高于1/100的控制网格精度,每次迭代最多只需要两个额外的评估点。这种自适应网格方法可以描述为对函数的局部最大值进行修正的多元对分搜索。
|