天软金融分析.NET函数大全 > TSL函数 > 数学函数 > 优化 > 无约束优化算法

Hooke_Jeeves_Method    

简述
H-J法求解无约束最优化问题
定义
Hooke_Jeeves_Method (X0:Array; D0:Array; DMin :Array;R:Real; CallBack:String):Array
参数
名称类型说明
X0Array一维数字数组类型
D0Array一维数字数组类型
DMinArray一维数字数组类型
RReal实数类型
CallBackString字符串类型,计算目标值的回调
返回Array数组
  • 算法

    (1)N=数组X0的长度,X0的值赋值给X,X的值赋值给Y,将D0赋值给Dt,采用字符串的方式调用TZZHCallBack函数得到函数初始值F0,并赋值给Fy;
    (2)把Y的值赋值给X,Fy赋值给Fs;
    (3)从nI=0到N-1进行循环,将X和Dt对应位置数据相加得到新的数组X,调用TZZHCallBack函数得到函数值Fx;若Fx<Fs或|Fx-Fs|<0.00001*|Fs|,Xs=X,Fs = Fx;若不满足条件,将X对应位置的数据和Dt对应位置的数据的2倍相减得到新的数组X,调用TZZHCallBack函数得到函数值Fx,若Fx<Fs或|Fx-Fs|<0.00001*|Fs|,Xs=X,Fs = Fx,否则,将X和Dt对应位置数据相加得到新的数组X;
    (4)若第(3)步最终得到的Fs <Fy,从nI=0到N-1进行循环,将Xs对应位置的数据的2倍减X0对应位置的数据得到新的数组Y,调用TZZHCallBack函数得到函数值Fy,将Xs赋值给X0,如果Fy<Fs,将Xs赋值给Y,Fs赋值给Fy;
    (5)当第(4)中的开始条件Fs <Fy不满足时,从nI=0到N-1进行循环,将Dt对应位置的数据乘0.5得到新的数组Dt,DtSum的初始值为0,若Dt对应位置的数据小于DMin对应位置的数据,DtSum加1;
    (6)以上(2)-(5)直到DtSum=N为止,返回Y;
相关