• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Matlab在高校線性規(guī)劃教學(xué)中的編程應(yīng)用研究

      2018-05-09 10:56何江蕓
      教育教學(xué)論壇 2018年10期
      關(guān)鍵詞:線性規(guī)劃Matlab仿真教學(xué)效果

      何江蕓

      摘要:本文探討了在高等學(xué)校線性規(guī)劃教學(xué)中引入計(jì)算機(jī)程序思想的重要性,在理論教學(xué)與軟件工具之間搭起橋梁,通過(guò)Matlab編程,不但使教師在理論教學(xué)中培養(yǎng)學(xué)生的應(yīng)用能力,而且使得學(xué)生的計(jì)算機(jī)編程能力得到了很大提高。通過(guò)巧妙的計(jì)算機(jī)程序語(yǔ)言與理論模型的結(jié)合,使學(xué)生的學(xué)習(xí)興趣及學(xué)習(xí)能力都大為提高,達(dá)到了理論數(shù)學(xué)思維與計(jì)算機(jī)應(yīng)用能力雙向豐收的教學(xué)效果。

      關(guān)鍵詞:Matlab仿真;線性規(guī)劃;編程能力;教學(xué)效果

      中圖分類號(hào):G421 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2018)10-0181-04

      一、引言

      線性規(guī)劃不但是高校理工科專業(yè)的重要課程,而且在經(jīng)管類的數(shù)據(jù)挖掘教學(xué)中占據(jù)著非常重要的位置,是數(shù)據(jù)建模的重要內(nèi)容,是企業(yè)資源計(jì)劃(Enterprise Resource Planning,ERP)的核心思想之一。最優(yōu)化的資源管理及開(kāi)發(fā)應(yīng)用是每個(gè)企業(yè)長(zhǎng)期堅(jiān)持的戰(zhàn)略任務(wù)[1-5]。

      但是在現(xiàn)行許多高等學(xué)校線性規(guī)劃實(shí)際的教學(xué)中,往往是過(guò)于偏重理論教學(xué),沒(méi)有計(jì)算機(jī)應(yīng)用及軟件編程,忽視了計(jì)算機(jī)應(yīng)用能力的培養(yǎng),這使得教學(xué)過(guò)于枯燥,只進(jìn)行理論教學(xué)會(huì)帶來(lái)三方面的問(wèn)題:

      1.重理論而不重計(jì)算機(jī)應(yīng)用能力?!皩W(xué)以致用”是教學(xué)的本質(zhì),再好的理論如果不加以應(yīng)用,這樣的理論發(fā)展往往受到限制,當(dāng)然,一些純抽象某些專業(yè)課程(如抽象代數(shù))除外。許多高校的大學(xué)生都是要培養(yǎng)學(xué)生的應(yīng)用能力,培養(yǎng)應(yīng)用型復(fù)合型人才,特別是強(qiáng)調(diào)計(jì)算機(jī)應(yīng)用能力,如果線性規(guī)劃教學(xué)只培養(yǎng)了學(xué)生的理論部分,這就欠缺了應(yīng)用能力特別是計(jì)算機(jī)應(yīng)用能力的培養(yǎng)。

      2.教學(xué)的深度受到限制。線性規(guī)劃問(wèn)題的解一般有圖解法及單純型法兩種,但圖解法對(duì)于兩個(gè)決策變量還好,三個(gè)以上就很難實(shí)施;而單純型法對(duì)于四個(gè)變量以上就將耗費(fèi)大量時(shí)間,特別對(duì)于5個(gè)變量以上就顯得無(wú)從下手。如今的企業(yè)資源復(fù)雜,往往涉及更多的約束及決策變量,如果不借助計(jì)算機(jī)求解,這就會(huì)嚴(yán)重影響教學(xué)的深度及解決實(shí)際問(wèn)題的能力。

      3.學(xué)生的學(xué)習(xí)興趣大為降低,導(dǎo)致教學(xué)效果也低。因?yàn)橹挥锌菰锏睦碚撜n堂使學(xué)生無(wú)法進(jìn)入計(jì)算機(jī)實(shí)驗(yàn)室進(jìn)行操作程面的鍛煉。課堂上沒(méi)有計(jì)算機(jī)仿真的演示,現(xiàn)代計(jì)算機(jī)軟件工具沒(méi)有在課堂上體現(xiàn),學(xué)生學(xué)習(xí)枯燥無(wú)興趣,這使得這門課程的學(xué)習(xí)效果大打折扣。

      因此,在線性規(guī)劃教學(xué)中引入計(jì)算機(jī)軟件工具不但有必要而且是現(xiàn)代教學(xué)培養(yǎng)目標(biāo)非常重要的要求,通過(guò)Matlab這種優(yōu)秀的軟件來(lái)培養(yǎng)學(xué)生的編程能力在上述三個(gè)方面都會(huì)有重要的教學(xué)改革意義。

      二、線性規(guī)劃與Matlab相關(guān)問(wèn)題

      1.線性規(guī)劃問(wèn)題。線性規(guī)劃問(wèn)題的歷史悠久、理論成熟及應(yīng)用廣泛。法國(guó)數(shù)學(xué)家J.B.J.傅里葉和C.瓦萊-普森分別于1832和1911年獨(dú)立地提出線性規(guī)劃的想法,但未引起學(xué)術(shù)界注意。1939年蘇聯(lián)數(shù)學(xué)家Л.В.康托羅維奇在《生產(chǎn)組織與計(jì)劃中的數(shù)學(xué)方法》一書(shū)中提出線性規(guī)劃問(wèn)題,也未引起重視。1947年美國(guó)數(shù)學(xué)家G.B.Dantzing提出求解線性規(guī)劃的單純形法,為這門學(xué)科奠定了算法基礎(chǔ)。1947年美國(guó)數(shù)學(xué)家J.馮諾伊曼提出對(duì)偶理論,開(kāi)創(chuàng)了線性規(guī)劃的許多新的研究領(lǐng)域,擴(kuò)大了它的應(yīng)用范圍和解題能力??低新寰S奇和庫(kù)伯曼斯(Koopmans)因?qū)Y源最優(yōu)分配理論的貢獻(xiàn)而獲1975年諾貝爾經(jīng)濟(jì)學(xué)獎(jiǎng)。上世紀(jì)60—70年代,隨著計(jì)算機(jī)的應(yīng)用,線性規(guī)劃問(wèn)題發(fā)展到了30000個(gè)約束,3000000個(gè)變量,這是理論和手工再也無(wú)法計(jì)算的。

      從1964年諾貝爾獎(jiǎng)設(shè)經(jīng)濟(jì)學(xué)獎(jiǎng)后,到1992年28年間的32名獲獎(jiǎng)?wù)咧杏?3人(40.6%)從事過(guò)與線性規(guī)劃有關(guān)的研究工作,其中比較著名的有Simon,Samullson,Leontief,Arrow,Miller等。

      如今,隨著大數(shù)據(jù)時(shí)代的來(lái)臨及企業(yè)復(fù)雜業(yè)務(wù)的開(kāi)展,線性規(guī)劃問(wèn)題解決企業(yè)資源最優(yōu)配置變得異常重要,同時(shí),為了解決復(fù)雜問(wèn)題,計(jì)算機(jī)的應(yīng)用也顯得越來(lái)越重要。

      2.Matlab問(wèn)題。Matlab是由美國(guó)MathWorks公司開(kāi)發(fā)的一款商業(yè)軟件,起初是為實(shí)現(xiàn)數(shù)學(xué)計(jì)算而設(shè)計(jì)的。20世紀(jì)70年代,美國(guó)新墨西哥大學(xué)計(jì)算機(jī)科學(xué)系主任Cleve Moler為了減輕學(xué)生編程的負(fù)擔(dān),用FORTRAN編寫了最早的Matlab。1984年由Little、Moler、Steve Bangert合作成立的MathWorks公司正式把Matlab推向市場(chǎng)。到20世紀(jì)90年代,Matlab已成為國(guó)際控制界的標(biāo)準(zhǔn)計(jì)算軟件[1-5]。

      Matlab軟件優(yōu)勢(shì)主要體現(xiàn)在編程環(huán)境、簡(jiǎn)單易用、強(qiáng)處理能力、圖形處理、模塊集合工具箱、程序接口和發(fā)布平臺(tái)、應(yīng)用軟件開(kāi)發(fā)等方面。目前已應(yīng)用到數(shù)值分析、數(shù)值和符號(hào)計(jì)算、工程與科學(xué)繪圖、控制系統(tǒng)的設(shè)計(jì)與仿真、數(shù)字圖像處理技術(shù)、數(shù)字信號(hào)處理技術(shù)、通訊系統(tǒng)設(shè)計(jì)與仿真、財(cái)務(wù)與金融工程、管理與調(diào)度優(yōu)化計(jì)算(運(yùn)籌學(xué))等領(lǐng)域。

      新版的Matlab自1984年推向市場(chǎng)以來(lái),歷經(jīng)十多年的發(fā)展和競(jìng)爭(zhēng),現(xiàn)已成為國(guó)際認(rèn)可的最優(yōu)化的科技應(yīng)用軟件。與其他高級(jí)語(yǔ)言相比,Matlab提供了一個(gè)人機(jī)交互的數(shù)學(xué)系統(tǒng)環(huán)境,可以大大節(jié)省編程時(shí)間。Matlab語(yǔ)法規(guī)則簡(jiǎn)單、容易掌握、調(diào)試方便,具有高效、簡(jiǎn)單和直觀的特性。使用者只需輸入一條命令而不用編制大量的程序即可解決許多數(shù)字問(wèn)題,正是由于Matlab的強(qiáng)大功能,受到國(guó)內(nèi)外專家學(xué)者的歡迎和重視,它已成為許多大學(xué)生研究與學(xué)習(xí)的重要工具[6-10]。

      三、線性規(guī)劃問(wèn)題的標(biāo)準(zhǔn)型及Matlab函數(shù)

      1.線性規(guī)劃問(wèn)題的標(biāo)準(zhǔn)型。利用線性規(guī)劃問(wèn)題求解的步驟一般為“確定決策變量、確定目標(biāo)函數(shù)、確定約束條件、確定非負(fù)約束、求解”五個(gè)步驟,為了求解,需要將之化為標(biāo)準(zhǔn)形式。線性規(guī)劃問(wèn)題的標(biāo)準(zhǔn)型是:

      max(min)z=■c■x■■■a■x■=b■,i=1,2,…,mx■≥0,j=1,2,…,nb■≥0,i=1,2,…,m (1)

      其中z稱為目標(biāo)函數(shù),x■(≥0,j=1,2,…,n)為決策變量。為了在教學(xué)中便于計(jì)算機(jī)求解,我們將(1)式化為:

      max(min)z=fXs,t.AX≤BX≥0,B≥0 (2)

      其中:

      f=[c■,c■,…,c■],X=[x■,x■,…,x■]',

      B=[b■,b■,…,b■]',

      A=■=(a■)■

      2.Matlab線性規(guī)劃程序。我們用linprog函數(shù)來(lái)求作為線性規(guī)劃程序。Matlab對(duì)于線性規(guī)劃問(wèn)題的求解是求最小值問(wèn)題:

      minz=fXs,t.AX≤B (3)

      使用linprog時(shí),已經(jīng)用單純型方法進(jìn)行了打包,計(jì)算機(jī)代碼簡(jiǎn)單靈活,可以針對(duì)任意多個(gè)變量進(jìn)行處理,同時(shí),教學(xué)中要注意以下幾個(gè)不同的函數(shù):

      X=linprog(f,A,B)

      X=linprog(f,A,B,aeq,beq)

      X=linprog(f,A,B,aeq,beq,LB,UB)

      X=linprog(f,A,B,aeq,beq,LB,UB,X■) (4)

      滿足Aeq·X=beq,是那些有等式的約束條件,LB,UB是決策變量X的下界與上界,X■為初值。

      因此,教學(xué)中應(yīng)根據(jù)不同的問(wèn)題使用不同的Matlab函數(shù)。一般情況下應(yīng)用X=linprog(f,A,B);當(dāng)既有不等式又有等式時(shí),用函數(shù)X=linprog(f,A,B,aeq,beq);當(dāng)不但有等式約束而且明顯給出決策變量的上下界時(shí),就用函數(shù)X=linprog(f,A,B,aeq,beq,LB,UB);既有等式約束,又有上下界約束,同時(shí)可以觀察到解的大致范圍時(shí),不妨給出一個(gè)初值而利用函數(shù)X=linprog(f,A,B,aeq,beq,LB,UB,X■)。這樣可以省下計(jì)算機(jī)大量尋找解的時(shí)間。

      同時(shí),教學(xué)中要注意的是,Matlab使用的是求解最小值的表達(dá)式(3),因此,如果是求解的最大值問(wèn)題,必須先將求解最大值用變換化為求最小值的形式,許多求解錯(cuò)誤就是沒(méi)有注意到這一點(diǎn)。

      四、Matlab求解線性規(guī)劃問(wèn)題的仿真實(shí)驗(yàn)

      例子 最大利潤(rùn)問(wèn)題

      某企業(yè)計(jì)劃生產(chǎn)Ⅰ、Ⅱ兩種產(chǎn)品。這兩種產(chǎn)品都要分別在A、B、C、D四種不同設(shè)備上加工。生產(chǎn)每件產(chǎn)品Ⅰ需占用各設(shè)備分別為2、1、4、0h,生產(chǎn)每件產(chǎn)品Ⅱ,需占用各設(shè)備分別為2、2、0、4h。已知各設(shè)備計(jì)劃期內(nèi)用于生產(chǎn)這兩種產(chǎn)品的能力分別為12、8、16、12h,又知每生產(chǎn)一件產(chǎn)品Ⅰ企業(yè)能獲得2元利潤(rùn),每生產(chǎn)一件產(chǎn)品Ⅱ企業(yè)能獲得3元利潤(rùn),問(wèn)企業(yè)應(yīng)安排生產(chǎn)兩種產(chǎn)品各多少件,使總的利潤(rùn)收入為最大。

      問(wèn)題分析:

      設(shè)分別用x■,x■分別表示Ⅰ、Ⅱ兩種產(chǎn)品在計(jì)劃期內(nèi)的產(chǎn)量,因?yàn)樵O(shè)備A在計(jì)劃期內(nèi)的可用時(shí)間為12h,不允許超,于是有:

      2x■+x■≤12

      同樣的對(duì)設(shè)備B,C,D有:

      x■+2x■≤8

      4x■≤16

      4x■≤12

      企業(yè)的目標(biāo)是在各種設(shè)備能力允許的條件下,利潤(rùn)達(dá)到最大,即有:

      maxz=2x■+3x■

      因此,這個(gè)問(wèn)題對(duì)于Matlab要化為求最小值問(wèn)題,這樣,該問(wèn)題化為:

      minz′=-z=-2x■-3x■

      約束條件是:

      2x■+x■≤12x■+2x■≤84x■+0x■≤160x■+4x■≤12 (5)

      可見(jiàn),這個(gè)問(wèn)題顯然應(yīng)該用函數(shù)X=linprog(f,A,B),這樣,其Matlab程序?yàn)椋?/p>

      f=[-2,-3];

      A=[2,2;1,2;4,0;0,4];

      B=[12,8,16,12]

      X=linprog(f,A,B);

      經(jīng)過(guò)運(yùn)行,則有:

      Optimization terminated.

      x=

      4.0000

      2.0000

      即當(dāng)X=(4 2),即當(dāng)x■=4,x■=2時(shí),總的利潤(rùn)收入為最大,最大利潤(rùn)為z=2x■+3x■=14元。

      如果在解題中沒(méi)有注意將最大值問(wèn)題化為最小值問(wèn)題而直接用如下程序:

      f=[2,3]

      A=[2,2;1,2;4,0;0,4];

      B=[12,8,16,12]

      X=linprog(f,A,B)

      則會(huì)出現(xiàn)以下錯(cuò)誤信息并得到錯(cuò)誤結(jié)果:

      Exiting:One or more of the residuals,duality gap,or total relative error has grown 100000 times greater than its minimum value so far:the dual appears to be infeasible (and the primal unbounded).,(The primal residual < TolFun=1.00e-008.)。

      x=1.0e+024*(-0.0000 -2.2587)

      意思是:一個(gè)或多個(gè)殘差、二元間隙或總相對(duì)誤差到目前為止已經(jīng)增長(zhǎng)了100000倍以上:對(duì)偶似乎是不可行的(和原始無(wú)界)。并得到了上述錯(cuò)誤結(jié)果。

      另外,如果將(5)式化為:

      2x■+x■≤12x■+2x■≤80≤x■≤40≤x■≤3 (6)

      則反而沒(méi)有l(wèi)inprog的函數(shù)可以利用。計(jì)算無(wú)法進(jìn)行下去。因此,正確的方法是根據(jù)linprog函數(shù)化為可以解出的函數(shù)模型,才會(huì)有真正的結(jié)果。

      五、結(jié)論

      線性規(guī)劃是高等學(xué)校教學(xué)中比較抽象的部分,本文論述了在高等學(xué)校線性規(guī)劃教學(xué)中引入計(jì)算機(jī)程序思想的重要性,在理論教學(xué)與軟件工具之間搭起橋梁,通過(guò)Matlab編程,不但使教師在理論教學(xué)中培養(yǎng)學(xué)生的應(yīng)用能力,而且使得學(xué)生的計(jì)算機(jī)編程能力得到了很大提高。通過(guò)巧妙的計(jì)算機(jī)程序語(yǔ)言與理論模型的結(jié)合,使學(xué)生的學(xué)習(xí)興趣及學(xué)習(xí)能力都大為提高,達(dá)到了理論數(shù)學(xué)思維與計(jì)算機(jī)應(yīng)用能力雙向豐收的教學(xué)效果。

      參考文獻(xiàn):

      [1]聶建輝.Matlab與科學(xué)計(jì)算課程教學(xué)方法改革[J].學(xué)周刊,2017,(19):5-6.

      [2]蔣玲玲.ASP和MATLAB混合編程實(shí)現(xiàn)線性規(guī)劃模型求解[J].信息與電腦:理論版,2017,(01):82-83.

      [3]袁明珠.Matlab遺傳算法工具箱在約束非線性懲罰函數(shù)中的應(yīng)用[J].軟件工程,2017,(01):37-39.

      [4]孫建英.MATLAB平臺(tái)下運(yùn)籌學(xué)模型的仿真實(shí)驗(yàn)[J].沈陽(yáng)大學(xué)學(xué)報(bào):自然科學(xué)版,2016,(04):337-339.

      [5]揭逸飛.運(yùn)用MATLAB軟件求解高中數(shù)學(xué)中的線性和非線性規(guī)劃問(wèn)題[J].科技視界,2016,(21):164.

      [6]尚飛.Matlab在線性規(guī)劃中的應(yīng)用[J].中華建設(shè),2016,(06):90-93.

      [7]張雪峰.MATLAB仿真軟件在線性代數(shù)課程中的應(yīng)用研究[J].曲阜師范大學(xué)學(xué)報(bào):自然科學(xué)版,2016,(01):42-46+50.

      [8]李林漢,韓祝華.基于matlab的《線性規(guī)劃》教學(xué)研究[J].價(jià)值工程,2015,(23):195-197.

      [9]劉森,劉琳.Matlab與Excel聯(lián)合求解堤防工程土料場(chǎng)規(guī)劃的線性規(guī)劃模型[J].黑龍江水利科技,2015,(04):1-5.

      [10]蔣春迪,張韜.表上作業(yè)法和Matlab求解土方調(diào)配方案的比較[J].價(jià)值工程,2015,(09):110-113.

      猜你喜歡
      線性規(guī)劃Matlab仿真教學(xué)效果
      新課程概率統(tǒng)計(jì)學(xué)生易混淆問(wèn)題
      線性規(guī)劃常見(jiàn)題型及解法
      常規(guī)PID控制和常規(guī)模糊控制的比較
      提高病理學(xué)教學(xué)效果的幾點(diǎn)體會(huì)
      加強(qiáng)焊接教學(xué)質(zhì)量提高焊接教學(xué)效果的探討
      抓好課的結(jié)束部分 深化體育教學(xué)效果
      柞水县| 米林县| 渭南市| 鄱阳县| 黎平县| 湖南省| 萨迦县| 交口县| 阿克陶县| 儋州市| 周宁县| 安吉县| 冷水江市| 永仁县| 雷州市| 潮安县| 宜阳县| 加查县| 定州市| 景谷| 海盐县| 阳山县| 涡阳县| 教育| 泽库县| 和平县| 洛阳市| 武乡县| 观塘区| 平塘县| 招远市| 甘南县| 棋牌| 蓬莱市| 瑞金市| 玉溪市| 和田市| 高邑县| 增城市| 吉木萨尔县| 突泉县|