-
大小: 4KB文件類型: .zip金幣: 2下載: 0 次發(fā)布日期: 2021-06-17
- 語(yǔ)言: Matlab
- 標(biāo)簽:
資源簡(jiǎn)介
M代碼的罰函數(shù)程序,包括DFP法以及進(jìn)退法確定搜索區(qū)間。

代碼片段和文件信息
function?opt=DFP()
%
%?DFP算法求無(wú)約束優(yōu)化問(wèn)題的最小值
%
global?x?p?k?H?t
H=eye(2);?????????????????????????????????????????????%初始矩陣H0=E
eps=1e-4;????????????????????????????????????????????%控制誤差
g=dfun(x);
k=0;??????????????????????????????????????????????????%迭代次數(shù)
while?1
????p=-1*H*g;
????sch=f_search2();
????syms?t;
????[leftright]=jintuifa(scht);
????t_min=fminbnd(@f_searchleftright);????????????????????%進(jìn)行一維搜索求t的最小值
????temp_x=x;
????x=x+t_min*p;
????temp_g=g;
????g=dfun(x);
%???norm(g)
????if?norm(g) ????????opt=x;?????????????????????????????????????????%求得最優(yōu)值opt
????????break;
????end
????s=x-temp_x;
????y=g-temp_g;
????H=H-(1/(y‘*H*y))*(H*y*y‘*H)+(1/(y‘*s))*(s*s‘);?????%對(duì)H進(jìn)行修正
????k=k+1;
end
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-01-20?18:03??punish\
?????文件?????????845??2013-03-12?03:58??punish\DFP.m
?????文件?????????106??2013-03-10?23:33??punish\dfun.m
?????文件??????????95??2013-03-11?01:44??punish\equal_limit.m
?????文件?????????210??2013-03-11?17:27??punish\fun.m
?????文件?????????103??2013-03-11?17:16??punish\f_search.m
?????文件?????????111??2013-03-12?03:54??punish\f_search2.m
?????文件?????????156??2013-03-11?01:36??punish\grad.m
?????文件?????????867??2013-03-12?03:54??punish\jintuifa.m
?????文件?????????257??2013-03-11?01:42??punish\main_pun.m
?????文件?????????169??2013-03-10?21:58??punish\punish.m
?????文件?????????148??2013-03-11?01:42??punish\unequal_limit.m
評(píng)論
共有 條評(píng)論