#includedoubledv[2];doublexl[2];〃目標(biāo)函數(shù)doublefunc(doub">
混合法求極值程序C語言

混合法求極值程序C語言

ID:44550073

大?。?5.78 KB

頁數(shù):3頁

時(shí)間:2019-10-23

混合法求極值程序C語言_第1頁
混合法求極值程序C語言_第2頁
混合法求極值程序C語言_第3頁
資源描述:

《混合法求極值程序C語言》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、優(yōu)化設(shè)計(jì)作業(yè)混合懲罰函數(shù)法求極值輪機(jī)研李凱2011129026混合懲罰函數(shù)法求極值程序#include#includedoubledv[2];doublexl[2];〃目標(biāo)函數(shù)doublefunc(doublexl,doublex2){return((x1-2)*(x1-2)+(x2-l)*(x2-1));}〃約束條件doublehj(doublexl,doublex2){return(xl?2*x2+l);1doublegi(doublexl,doublex2){doubleg=0.25*x1*x1+x

2、2*x2?1;if(g<0)return0;elsereturng;}〃懲罰函數(shù)doublefun(doublexl,doublex2,doubler){doublef=func(xl,x2);doubleh=hj(xl,x2);doubleg二gi(xl,x2);return(f+r/g+(g*g+h*h)/r);}〃單純形法求最優(yōu)解voidF(doublexl,doublex2,doubledv[2],doubler){doublex[7][2];doublemax,min,t,xh[2],xe[2],f[6],fe,fh,fl;in

3、ti,l,m,n,k=0;x[0][0]=xl;x[0][l]=x2;x[l][0]=2.5;x[l][l]=3;x⑵roi=3;x[2][l]=2.5;do{for(i=0;iv=2;i++)f[i]=fun(x[i][01,x[i][l],r);/*****判斷好點(diǎn)、壞點(diǎn)*****/max=min=f[0];m=n=0;for(i=0;i<=2;i++){if(f[i]>max){max=f[i];m=i;}if(f[i]

4、hlO],xh[1J,r);xe[0]=x[n][0];xefl]=x[n][ll;fe=fun(xe[0],xe[l],r);/*****求中心點(diǎn)、反射點(diǎn)*****/for(i=0;i<2;i++)x[3][i]=0.5*(x[0][i]+x[l][i]+x[2][i]-xh[i]x[4][i]=x[3][i]+l*(x[3][i]-xh[i]);}f[3]=fun(x[3][0],x⑶[l],r);f[4]=fun(x[4]lO],x[4]Ll],r);xh[0]=x[4J[0];xh[1]=xl4][1];x⑹[0]=x[3][0

5、]+0.5*(xh[0]-x[3][0]);/*****判斷除好點(diǎn)、壞點(diǎn)以外的點(diǎn)]*****/for(l=0;l<=2;l++)if(l!=m&&l!=n)break;fl=fun(x[l][0],x[l][l],r);嚴(yán)***宣分類判斷*****/if(f[4]>fe)/*****反射點(diǎn)函數(shù)值比好點(diǎn)差*****/if(f[4]>fl)/*****反射點(diǎn)函數(shù)值比除壞點(diǎn)以外的點(diǎn)都差****勺{if(f[4J>=fh)/*****反射點(diǎn)函數(shù)值比壞點(diǎn)還差,反射失敗*****/x[6][l]=x[3][l]+0.5*(xh[l]-x[3][l]

6、);f[6]=fun(x[6][0],x[6][l],r);if(f[6]>fh)for(i=0;i<=2;i++){x[i][0]=0.5*(x[i][0]+xe[0]);x[i][l]=0.5*(x[i][l]+xe[l]);elsex[m][0]=x[6][0];x[m][l]=x⑹[1];x[6][0]=x[3][0]+0.5*(xh[0]-x[3][0]);else/*****反射點(diǎn)比除壞點(diǎn)以x[6][l]=x⑶[l]+0.5*(xh[l]-x[3][l]);外的點(diǎn)好*****/if(fl6]>fh)/*****收縮失敗,縮小

7、邊長(zhǎng)*****/for(i=0;i<=2;i++)*****/f[6]=fun(x[6][0],x[6][l],r);{x[m][0]=x[4][0J;x[m][l]=x[4][l];}else/*****反射點(diǎn)比好點(diǎn)還好{X⑸[0]=x⑶[0]+2*(x[4][0]?x[3][0]);x[i][0]=0.5*(x[i][0J+xe[0]);x[i][l]=0.5*(x[i][l]+xe[l]);}else/*****收縮成功,形成新的單純矩陣*****/x[m][0]=x[6][0];x[m][l]=x[6][l];/*****反射點(diǎn)

8、僅比最x⑸[l]=x⑶⑴+2*(x[4][l]-x[3][l]);f[5]=fun(x[5][0],x[5][l],r);if(f[5]>fe){x[m][0]=x[4][0];x[m][l]

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。