




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
6.3
軟件求解第一頁,編輯于星期一:十九點(diǎn)五十分。Matlab求解有約束規(guī)劃函數(shù)第二頁,編輯于星期一:十九點(diǎn)五十分。1.fmincon函數(shù)求解形如下面的有約束非線性規(guī)劃模型一般形式:第三頁,編輯于星期一:十九點(diǎn)五十分。Matlab求解有約束非線性最小化求解非線性規(guī)劃問題的Matlab函數(shù)fmincon1.約束中可以有等式約束2.可以含線性、非線性約束均可第四頁,編輯于星期一:十九點(diǎn)五十分。輸入?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,第五頁,編輯于星期一:十九點(diǎn)五十分。輸入?yún)?shù)的幾點(diǎn)說明?模型中如果沒有A,b,Aeq,beq,lb,ub的限制,則以空矩陣[]作為?參數(shù)傳入;?nonlcon:如果包含非線性等式或不等式約束,則將這些函數(shù)編寫為一個(gè)Matlab函數(shù),nonlcon就是定義這些函數(shù)的程序文件名;不等式約束c(x)<=0等式約束ceq(x)=0.如果nonlcon=‘mycon’;則myfun.m定義如下
function[c,ceq]=mycon(x)c
=
...
%
計(jì)算非線性不等式約束在點(diǎn)x處的函數(shù)值ceq
=
...
%計(jì)算機(jī)非線性等式約束在點(diǎn)x處的函數(shù)值第六頁,編輯于星期一:十九點(diǎn)五十分。對(duì)參數(shù)nonlcon的進(jìn)一步示例2個(gè)不等式約束,2個(gè)等式約束3個(gè)決策變量x1,x2,x3如果nonlcon以‘mycon1’作為參數(shù)值,則程序
mycon1.m如下第七頁,編輯于星期一:十九點(diǎn)五十分。對(duì)照約束條件編寫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第八頁,編輯于星期一:十九點(diǎn)五十分。nonlcon的高級(jí)用法允許提供非線性約束條件中函數(shù)的梯度設(shè)置方法:options
=
optimset("GradConstr",
"on")如果提供非線性約束條件中函數(shù)梯度,nonlcon的函數(shù)必須如下格式:第九頁,編輯于星期一:十九點(diǎn)五十分。參數(shù)nonlcon的函數(shù)一般格式如下function
[c,ceq,GC,GCeq]
=
mycon(x)c
=
...ceq
=
...%計(jì)算非線性不等式約束在點(diǎn)x處的函數(shù)值%計(jì)算機(jī)非線性等式約束在點(diǎn)x處的函數(shù)值if
nargout
>
2%nonlcon如果四個(gè)輸出參數(shù)%不等式約束的梯度%等式約束的梯度GC
=
...GCeq
=
...end第十頁,編輯于星期一:十九點(diǎn)五十分。輸出參數(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(...)運(yùn)用步驟:將自己的模型轉(zhuǎn)化為上面的形式寫出對(duì)應(yīng)的參數(shù)調(diào)用函數(shù)第十一頁,編輯于星期一:十九點(diǎn)五十分。fmincon應(yīng)用求解示例:請(qǐng)問:1、結(jié)合fmincon函數(shù),需要提供哪些參數(shù)第十二頁,編輯于星期一:十九點(diǎn)五十分。第一步:編寫一個(gè)M文件返回目標(biāo)函數(shù)f在點(diǎn)x處的值函數(shù)程序函數(shù)myfun.mfunction
f
=
myfun(x)f
=
-x(1)
*
x(2)
*
x(3);第十三頁,編輯于星期一:十九點(diǎn)五十分。第二步:為了調(diào)用MATLAB函數(shù),必須將模型中的約束轉(zhuǎn)化為如下形式(<=)。這是2個(gè)線性約束,形如這里:A=[-1
-2
-2;
1
2
2
];b=[0
72]’;第十四頁,編輯于星期一:十九點(diǎn)五十分。第三步:提供一個(gè)搜索起點(diǎn),然后調(diào)用相應(yīng)函數(shù),程序如下:%給一個(gè)初始搜索點(diǎn)x0
=
[10;
10;
10];[x,fval]
=
fmincon("myfun",x0,A,b)第十五頁,編輯于星期一:十九點(diǎn)五十分。主程序(整體):A=[-1-2
-2;
1
2
2
];b=[0
72]’;%給一個(gè)初始搜索點(diǎn)x0
=
[10;
10;
10];[x,fval]
=
fmincon("myfun",x0,A,b)第十六頁,編輯于星期一:十九點(diǎn)五十分。最后得到如下結(jié)果:x
=24.000012.000012.0000fval
=-3.4560e+03第十七頁,編輯于星期一:十九點(diǎn)五十分。2.非負(fù)條件下線性最小二乘lsqnonneg適合如下模型:注意:約束只有非負(fù)約束第十八頁,編輯于星期一:十九點(diǎn)五十分。語法:x
=lsqnonneg(c,d)x
=lsqnonneg(c,d,x0)x
=lsqnonneg(c,d,x0,options)第十九頁,編輯于星期一:十九點(diǎn)五十分。3.有約束線性最小二乘lsqlin適合如下模型:注意:約束有線性等式、不等式約束第二十頁,編輯于星期一:十九點(diǎn)五十分。語法: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(...)第二十一頁,編輯于星期一:十九點(diǎn)五十分。4.非線性最小二乘lsqnonlin適合模型:第二十二頁,編輯于星期一:十九點(diǎn)五十分。語法: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(...)第二十三頁,編輯于星期一:十九點(diǎn)五十分。例1:求解x,使得下式最小resnormresidual等于norm(C*x-d)^2等于C*x-d返回參數(shù)說明第二十四頁,編輯于星期一:十九點(diǎn)五十分。第一步:編寫M文件myfun.m計(jì)算向量Ffunction
F
=
myfun(x)k
=
1:10;F
=
2
+
2*k-exp(k*x(1))-exp(k*x(2));第二十五頁,編輯于星期一:十九點(diǎn)五十分。第二步:調(diào)用優(yōu)化函數(shù)lsqnonlin%給定搜索起點(diǎn)x0=[0.3
0.4];%調(diào)用求解函數(shù)[x,resnorm]
=
ls
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二手鋼架買賣合同范本
- 個(gè)體酒店股權(quán)轉(zhuǎn)讓協(xié)議書
- 安保公司加盟合同范本
- 廢除林權(quán)流轉(zhuǎn)合同范本
- 家庭農(nóng)場合伙入股協(xié)議書
- 圖文設(shè)備采購合同范本
- 休閑會(huì)所轉(zhuǎn)讓合同范本
- 景區(qū)項(xiàng)目合作投資協(xié)議書
- 婚內(nèi)終止妊娠賠償協(xié)議書
- 土方消納處置合同范本
- 小學(xué)五年級(jí)下冊(cè)體育與健康教案
- 部編版八年級(jí)下冊(cè)歷史期末100道選擇題專練
- 改進(jìn)工作作風(fēng)自查報(bào)告(11篇)
- 典型任務(wù)-無線調(diào)車燈顯設(shè)備使用講解
- 24春國家開放大學(xué)《機(jī)械CADCAM》形考任務(wù)1-3參考答案
- 2024年高校教師崗前培訓(xùn)《高等教育學(xué)》題目100道附答案(綜合題)
- 施工升降機(jī)安裝驗(yàn)收表
- RBA-6.0-培訓(xùn)教材課件
- 《客艙安全與應(yīng)急處置》-課件:滅火設(shè)備:機(jī)載滅火瓶
- 國際關(guān)系史智慧樹知到期末考試答案2024年
- 上海中考英語語法專項(xiàng)練習(xí)題集和參考答案
評(píng)論
0/150
提交評(píng)論