• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    數學建模中優(yōu)化問題的計算機解法

    2014-01-12 08:59張建生
    商品與質量·消費研究 2014年9期
    關鍵詞:數學建模

    張建生

    【摘 要】優(yōu)化問題是數學建模中最常見的問題,本文全面系統(tǒng)的闡述各種類型優(yōu)化問題的MATLAB解法,包括無約束優(yōu)化問題、有約束優(yōu)化問題、線性優(yōu)化問題、二次優(yōu)化問題等。

    【關鍵詞】數學建模;優(yōu)化問題;計算機求解;MATLAB語言

    最優(yōu)化問題就是求最大(?。┲祮栴},是數學建模中最常見的問題,幾乎每個建模問題都離不開優(yōu)化。數學建模是用來解決實際問題,而在現實生產生活中,每個人、每個單位都希望自己所從事的事情能達到最化化。數學建模中的優(yōu)化問題主要有四種類型,即無約束的優(yōu)化問題、有約束的優(yōu)化問題、線性優(yōu)化(規(guī)劃)問題和二次化化(規(guī)劃)問題。

    一、無約束最優(yōu)化(fminunc)

    命令 利用函數fminunc求無約束函數最小值

    函數 fminunc

    格式 :

    x = fminunc(fun,x0) %返回給定初始點x0的最小函數值點

    x = fminunc(fun,x0,options) % options為指定優(yōu)化參數

    [x,fval] = fminunc(…) %fval最優(yōu)點x處的函數值

    [x,fval,exitflag] = fminunc(…) % exitflag為終止迭代的條件,與上同。

    [x,fval,exitflag,output] = fminunc(…) %output為輸出優(yōu)化信息

    二、有約束的最優(yōu)化(fmincon)

    有約束的多元函數的最優(yōu)化的標準形式為:

    min f(x)

    s.t C(x)<=0

    Ceq(x)=0

    A*x<=b

    Aeq*x=beq

    lb<=x<=ub

    其中:x、b、beq、lb、ub是向量,A、Aeq為矩陣,C(x)、Ceq(x)是返回向量的函數,f(x)為目標函數,f(x)、C(x)、Ceq(x)可以是非線性函數。函數 fmincon

    格式:

    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,fval] = fmincon(…)

    [x,fval,exitflag] = fmincon(…)

    [x,fval,exitflag,output] = fmincon(…)

    [x,fval,exitflag,output,lambda] = fmincon(…)

    [x,fval,exitflag,output,lambda,grad] = fmincon(…)

    參數說明:fun為目標函數,它可用前面的方法定義;

    x0為初始值;

    A、b滿足線性不等式約束 ,若沒有不等式約束,則取A=[ ],b=[ ];

    B、Aeq、beq滿足等式約束 ,若沒有,則取Aeq=[ ],beq=[ ];

    C、lb、ub滿足 ,若沒有界,可設lb=[ ],ub=[ ];

    D、nonlcon的作用是通過接受的向量x來計算非線性不等約束 和等式約束 分別在x處的估計C和Ceq,通過指定函數柄來使用,

    如: x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,@mycon)

    先建立非線性約束函數,并保存為mycon.m:function [C,Ceq] = mycon(x)

    C = … % 計算x處的非線性不等約束 的函數值。

    Ceq = … % 計算x處的非線性等式約束 的函數值。

    lambda是Lagrange乘子,它體現哪一個約束有效。

    output輸出優(yōu)化信息;

    grad表示目標函數在x處的梯度;

    hessian表示目標函數在x處的Hessiab值。

    三、線性規(guī)劃問題(linprog)

    min f(x) x屬于R

    s.t: A*x<=b;

    Aeq*x=beq;

    lb<=x<=ub;

    其中f、x、b、beq、lb、ub為向量,A、Aeq為矩陣。

    函數 linprog

    格式:

    x = linprog(f,A,b) %求min f s.t 線性規(guī)劃的最優(yōu)解。

    x = linprog(f,A,b,Aeq,beq) %不等式約束 ,若沒有不等式約束 ,則A=[ ],b=[ ]。

    x = linprog(f,A,b,Aeq,beq,lb,ub)%指定x的范圍 ,若沒有等式約束 ,則Aeq=[ ],beq=[ ]

    x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %設置初值x0

    x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options為指定的優(yōu)化參數

    [x,fval] = linprog(…) % 返回目標函數最優(yōu)值,即fval= f

    [x,lambda,exitflag] = linprog(…) % lambda為解x的Lagrange乘子。

    [x, lambda,fval,exitflag] = linprog(…) % exitflag為終止迭代的錯誤條件。

    說明:若exitflag>0表示函數收斂于解x,exitflag=0表示超過函數估值或迭代的最大數字,exitflag<0表示函數不收斂于解x。

    四、二次規(guī)劃(quadprog)

    標準型為:

    Min Z= XTHX+cTX

    s.t. AX<=b

    VLB≤X≤VUB

    用MATLAB軟件求解,其輸入格式如下:

    1.x=quadprog(H,C,A,b);

    2.x=quadprog(H,C,A,b,Aeq,beq);

    3.x=quadprog(H,C,A,b,Aeq,beq,VLB,VUB);

    4.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0);

    5.x=quadprog(H,C,A,b, Aeq,beq ,VLB,VUB,X0,options);

    6.[x,fval]=quaprog(...);

    7.[x,fval,exitflag]=quaprog(...);

    8.[x,fval,exitflag,output]=quaprog(...);

    參考文獻:

    [1]孫祥、徐流美、吳清. MATLAB7.0基礎教程. 清華大學出版社. 2005年

    [2] 林雪松、周婧、林德新. MATLAB7.0應用集錦. 機械工業(yè)出版社. 2006年

    [3]邱李華. MATLAB7及工程問題解決方案. 機械工業(yè)出版社. 2006年

    猜你喜歡
    數學建模
    數學建模課程教學現狀分析及對策研究
    基于常微分方程的數學建模問題的求解
    高職院校將數學建模思想融入高等數學教學必要性研究
    數學建模過程中的模型優(yōu)化算法
    在數學建模中培養(yǎng)學生的提問能力
    數學建模中創(chuàng)造性思維的培養(yǎng)
    談數學建模時的問題分析步驟
    樹立建模意識 培養(yǎng)學生創(chuàng)新思維
    最小二乘法基本思想及其應用
    建模思想在數學教學中的滲透研究
    连江县| 哈尔滨市| 旬阳县| 定襄县| 东源县| 松江区| 壶关县| 磴口县| 成安县| 徐汇区| 汨罗市| 泗水县| 麻阳| 南阳市| 宿州市| 马龙县| 岳西县| 长顺县| 柯坪县| 方城县| 中宁县| 浙江省| 兴安县| 朝阳区| 无锡市| 太康县| 巴中市| 南投县| 镇江市| 桐柏县| 望奎县| 临颍县| 黔江区| 澄江县| 沙湾县| 丰台区| 开平市| 新建县| 新邵县| 安阳市| 尤溪县|