版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
6.3
軟件求解第一頁,編輯于星期一:十九點五十分。Matlab求解有約束規(guī)劃函數(shù)第二頁,編輯于星期一:十九點五十分。1.fmincon函數(shù)求解形如下面的有約束非線性規(guī)劃模型一般形式:第三頁,編輯于星期一:十九點五十分。Matlab求解有約束非線性最小化求解非線性規(guī)劃問題的Matlab函數(shù)fmincon1.約束中可以有等式約束2.可以含線性、非線性約束均可第四頁,編輯于星期一:十九點五十分。輸入?yún)?shù)語法:x
=
fmincon(fun,x0,A,b)x
=
fmincon(fun,x0,A,b,Aeq,beq)x
=
fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x
=
fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x
=
fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)x
=
fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options,P1,P2,第五頁,編輯于星期一:十九點五十分。輸入?yún)?shù)的幾點說明?模型中如果沒有A,b,Aeq,beq,lb,ub的限制,則以空矩陣[]作為?參數(shù)傳入;?nonlcon:如果包含非線性等式或不等式約束,則將這些函數(shù)編寫為一個Matlab函數(shù),nonlcon就是定義這些函數(shù)的程序文件名;不等式約束c(x)<=0等式約束ceq(x)=0.如果nonlcon=‘mycon’;則myfun.m定義如下
function[c,ceq]=mycon(x)c
=
...
%
計算非線性不等式約束在點x處的函數(shù)值ceq
=
...
%計算機非線性等式約束在點x處的函數(shù)值第六頁,編輯于星期一:十九點五十分。對參數(shù)nonlcon的進一步示例2個不等式約束,2個等式約束3個決策變量x1,x2,x3如果nonlcon以‘mycon1’作為參數(shù)值,則程序
mycon1.m如下第七頁,編輯于星期一:十九點五十分。對照約束條件編寫myfun1.mfunction
[c,ceq]
=
mycon1(x)c(1)
=
x(1)*x(1)+x(2)*x(2)+x(3)*x(3)-100c(2)
=
60
-
x(1)*x(1)
+
10*x(3)*x(3)ceq(1)
=
x(1)
+
x(2)*x(2)
+
x(3)
-
80ceq(2)
=
x(1)^3
+
x(2)*x(2)
+
x(3)
-
80第八頁,編輯于星期一:十九點五十分。nonlcon的高級用法允許提供非線性約束條件中函數(shù)的梯度設(shè)置方法:options
=
optimset("GradConstr",
"on")如果提供非線性約束條件中函數(shù)梯度,nonlcon的函數(shù)必須如下格式:第九頁,編輯于星期一:十九點五十分。參數(shù)nonlcon的函數(shù)一般格式如下function
[c,ceq,GC,GCeq]
=
mycon(x)c
=
...ceq
=
...%計算非線性不等式約束在點x處的函數(shù)值%計算機非線性等式約束在點x處的函數(shù)值if
nargout
>
2%nonlcon如果四個輸出參數(shù)%不等式約束的梯度%等式約束的梯度GC
=
...GCeq
=
...end第十頁,編輯于星期一:十九點五十分。輸出參數(shù)語法:[x,fval]
=
fmincon(...)[x,fval,exitflag]
=
fmincon(...)[x,fval,exitflag,output]
=
fmincon(...)[x,fval,exitflag,output,lambda]
=
fmincon(...)[x,fval,exitflag,output,lambda,grad]=fmincon(...)[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(...)運用步驟:將自己的模型轉(zhuǎn)化為上面的形式寫出對應(yīng)的參數(shù)調(diào)用函數(shù)第十一頁,編輯于星期一:十九點五十分。fmincon應(yīng)用求解示例:請問:1、結(jié)合fmincon函數(shù),需要提供哪些參數(shù)第十二頁,編輯于星期一:十九點五十分。第一步:編寫一個M文件返回目標(biāo)函數(shù)f在點x處的值函數(shù)程序函數(shù)myfun.mfunction
f
=
myfun(x)f
=
-x(1)
*
x(2)
*
x(3);第十三頁,編輯于星期一:十九點五十分。第二步:為了調(diào)用MATLAB函數(shù),必須將模型中的約束轉(zhuǎn)化為如下形式(<=)。這是2個線性約束,形如這里:A=[-1
-2
-2;
1
2
2
];b=[0
72]’;第十四頁,編輯于星期一:十九點五十分。第三步:提供一個搜索起點,然后調(diào)用相應(yīng)函數(shù),程序如下:%給一個初始搜索點x0
=
[10;
10;
10];[x,fval]
=
fmincon("myfun",x0,A,b)第十五頁,編輯于星期一:十九點五十分。主程序(整體):A=[-1-2
-2;
1
2
2
];b=[0
72]’;%給一個初始搜索點x0
=
[10;
10;
10];[x,fval]
=
fmincon("myfun",x0,A,b)第十六頁,編輯于星期一:十九點五十分。最后得到如下結(jié)果:x
=24.000012.000012.0000fval
=-3.4560e+03第十七頁,編輯于星期一:十九點五十分。2.非負(fù)條件下線性最小二乘lsqnonneg適合如下模型:注意:約束只有非負(fù)約束第十八頁,編輯于星期一:十九點五十分。語法:x
=lsqnonneg(c,d)x
=lsqnonneg(c,d,x0)x
=lsqnonneg(c,d,x0,options)第十九頁,編輯于星期一:十九點五十分。3.有約束線性最小二乘lsqlin適合如下模型:注意:約束有線性等式、不等式約束第二十頁,編輯于星期一:十九點五十分。語法:x
=
lsqlin(C,d,A,b)x
=
lsqlin(C,d,A,b,Aeq,beq)x
=
lsqlin(C,d,A,b,Aeq,beq,lb,ub)x
=
lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)x
=
lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)[x,resnorm]
=
lsqlin(...)[x,resnorm,residual]
=
lsqlin(...)[x,resnorm,residual,exitflag]
=
lsqlin(...)[x,resnorm,residual,exitflag,output]
=
lsqlin(...)[x,resnorm,residual,exitflag,output,lambda]
=
lsqlin(...)第二十一頁,編輯于星期一:十九點五十分。4.非線性最小二乘lsqnonlin適合模型:第二十二頁,編輯于星期一:十九點五十分。語法:x
=
lsqnonlin(fun,x0)x
=
lsqnonlin(fun,x0,lb,ub)x
=
lsqnonlin(fun,x0,lb,ub,options)x
=
lsqnonlin(fun,x0,options,P1,P2,
...
)[x,resnorm]
=
lsqnonlin(...)[x,resnorm,residual]
=
lsqnonlin(...)[x,resnorm,residual,exitflag]
=
lsqnonlin(...)[x,resnorm,residual,exitflag,output]
=
lsqnonlin(...)[x,resnorm,residual,exitflag,output,lambda]
=
lsqnonlin(...)[x,resnorm,residual,exitflag,output,lambda,jacobian]
=lsqnonlin(...)第二十三頁,編輯于星期一:十九點五十分。例1:求解x,使得下式最小resnormresidual等于norm(C*x-d)^2等于C*x-d返回參數(shù)說明第二十四頁,編輯于星期一:十九點五十分。第一步:編寫M文件myfun.m計算向量Ffunction
F
=
myfun(x)k
=
1:10;F
=
2
+
2*k-exp(k*x(1))-exp(k*x(2));第二十五頁,編輯于星期一:十九點五十分。第二步:調(diào)用優(yōu)化函數(shù)lsqnonlin%給定搜索起點x0=[0.3
0.4];%調(diào)用求解函數(shù)[x,resnorm]
=
ls
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飼養(yǎng)烏龜課程設(shè)計
- 預(yù)算課程設(shè)計前言
- 誦讀經(jīng)典文化課程設(shè)計
- 黃河特大橋施工課程設(shè)計
- 銀行市場營銷課程設(shè)計
- 隧道通風(fēng)與照明課程設(shè)計
- 音階琶音小組課程設(shè)計
- 音樂知識音程講解課程設(shè)計
- 齒輪架夾具設(shè)計課程設(shè)計
- 二零二五年電氣設(shè)備進出口清關(guān)合同3篇
- 廣東省惠州市2024-2025學(xué)年高一上學(xué)期期末考試英語試題(含答案)
- 醫(yī)院骨科2025年帶教計劃(2篇)
- 環(huán)境保護應(yīng)急管理制度執(zhí)行細(xì)則
- 2024-2030年中國通航飛行服務(wù)站(FSS)行業(yè)發(fā)展模式規(guī)劃分析報告
- 機械制造企業(yè)風(fēng)險分級管控手冊
- 地系梁工程施工方案
- 藏文基礎(chǔ)-教你輕輕松松學(xué)藏語(西藏大學(xué))知到智慧樹章節(jié)答案
- 2024電子商務(wù)平臺用戶隱私保護協(xié)議3篇
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 英語 含答案
- 醫(yī)學(xué)教程 常見體表腫瘤與腫塊課件
- 內(nèi)分泌系統(tǒng)異常與虛勞病關(guān)系
評論
0/150
提交評論