亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Matlab和Lingo的線性規(guī)劃問(wèn)題求解過(guò)程對(duì)比分析

        2019-08-07 02:02:36義欣
        科技視界 2019年17期
        關(guān)鍵詞:數(shù)學(xué)建模

        義欣

        【摘 要】在日常生活中,為了取得最大化的利益,經(jīng)常會(huì)需要利用現(xiàn)有的資源條件進(jìn)行科學(xué)適當(dāng)?shù)陌才?,這就離不開(kāi)數(shù)學(xué)規(guī)劃,即從基礎(chǔ)的應(yīng)用數(shù)學(xué)角度進(jìn)行分析問(wèn)題,依據(jù)數(shù)字來(lái)判斷最佳方案。其中最重要的就是數(shù)學(xué)建模,是屬優(yōu)化管理模型的一種,最為常見(jiàn)的就是利用線性規(guī)劃的手段進(jìn)行構(gòu)建,而Matlab和Lingo同作為可用于數(shù)值計(jì)算分析的軟件,在進(jìn)行線性規(guī)劃問(wèn)題求解時(shí)都有著重要的應(yīng)用。本文主要就線性規(guī)劃與非線性規(guī)劃問(wèn)題進(jìn)行分析討論,并利用Matlab和Lingo進(jìn)行求解,分析兩款軟件的計(jì)算過(guò)程,并做出總結(jié)。

        【關(guān)鍵詞】數(shù)學(xué)建模;非線性規(guī)劃;Matlab;Lingo

        中圖分類號(hào): G642;O141.4-4 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2019)17-0094-003

        DOI:10.19694/j.cnki.issn2095-2457.2019.17.045

        Analysis and Comparison of Solving Process of Linear Programming Based on Matlab and Lingo

        YI Xin

        (Northeastern University at Qinhuangdao, Qinhuangdao Hebei 066004, China)

        【Abstract】In daily life, in order to maximize the benefits, often need to use the existing resource conditions for scientific and appropriate arrangements, which is inseparable from mathematical programming, namely from the basic applied mathematics perspective to analyze the problem, according to the number to judge the best plan.Among them, the most important one is mathematical modeling, which is a kind of optimal management model. The most common one is to construct by means of linear programming. Matlab and Lingo, both of which can be used for numerical calculation and analysis, have important applications in solving linear programming problems.This paper mainly analyzes and discusses the problems of linear programming and nonlinear programming, and USES Matlab and Lingo to solve them, analyzes the calculation process of the two software, and makes a summary.

        【Key words】Mathematical modeling; Nonlinear programming; Matlab; Lingo

        1 緒論

        對(duì)于普通的數(shù)學(xué)規(guī)劃問(wèn)題,其基本理論已經(jīng)較為完善,可以使用多種手段進(jìn)行最佳方案的求解,其中利用計(jì)算機(jī)進(jìn)行則最為簡(jiǎn)便,在保證準(zhǔn)確率的同時(shí),可以將人力解放出來(lái),而Matlab和Lingo作為用于數(shù)學(xué)分析計(jì)算的專業(yè)軟件,在進(jìn)行線性規(guī)劃問(wèn)題求解時(shí),都極為簡(jiǎn)潔方便,在現(xiàn)代社會(huì)已經(jīng)都被廣泛用于工程建設(shè)、金融預(yù)算、智慧城市、信號(hào)處理、教育等等領(lǐng)域[1-2],就線性規(guī)劃問(wèn)題,將進(jìn)行詳細(xì)的分析比。

        1.1 線性規(guī)劃問(wèn)題

        線性規(guī)劃問(wèn)題是目標(biāo)函數(shù)和約束條件均為線性函數(shù)的問(wèn)題,利用線性規(guī)劃可以解決很多問(wèn)題。如:在不違反一定資源限制下,組織安排生產(chǎn),獲得最好的經(jīng)濟(jì)效益(產(chǎn)量最多、利潤(rùn)最大、效用最高);也可以在滿足一定需求條件下,進(jìn)行合理配置,使成本最小。同時(shí)還可以在任務(wù)或目標(biāo)確定后,統(tǒng)籌兼顧,合理安排,用最少的資源(如資金、設(shè)備、原材料、人工、時(shí)間等)去完成任務(wù)[3]。

        1.2 結(jié)構(gòu)安排

        本文主要研究是對(duì)兩款軟件Matlab和Lingo就線性規(guī)劃問(wèn)題求解過(guò)程進(jìn)行分析對(duì)比,結(jié)構(gòu)安排如下:

        第一部分為緒論,主要包括線性規(guī)劃問(wèn)題簡(jiǎn)介,應(yīng)用計(jì)算機(jī)軟件進(jìn)行處理的優(yōu)勢(shì)和應(yīng)用。

        第二部分為利用Matlab和Lingo進(jìn)行求解的分析對(duì)比。

        第三部分為結(jié)論,就此次使用Matlab和Lingo解決線性規(guī)劃問(wèn)題的進(jìn)行總結(jié),以及對(duì)兩款軟件應(yīng)用優(yōu)勢(shì)領(lǐng)域進(jìn)行延伸分析。

        2 線性規(guī)劃問(wèn)題求解

        一般的線性規(guī)劃問(wèn)題標(biāo)準(zhǔn)式為:

        max(min)f=cTX

        s.t.AX≤baeqX≤beqlb≤X≤ub

        線性規(guī)劃關(guān)于解可能存在四種情況:

        (1)無(wú)解,即不存在滿足條件的解;

        (2)有唯一解,即在眾多的可行解中有唯一的最優(yōu)解;

        (3)無(wú)窮解,即在可行解中的無(wú)窮解都可以作為最優(yōu)解;

        (4)有解,有可行解,但由于值無(wú)界所以沒(méi)有最優(yōu)解。

        一般的求解思路是先求一個(gè)可行解,然后檢驗(yàn),如若不是,則用迭代的方法找到更優(yōu)解,反復(fù)有限次迭代,直至找到最優(yōu)解或者判定無(wú)解[4]。

        2.1 求線性規(guī)劃最小最優(yōu)解

        例如求

        minf=5x1+9x2-3x3+8x4-7x5;

        s.t.-5x1-4x2-6x3-x5≥-6-2x1+3x2-x3+x4-3x5≤70≤xi≤21

        2.1.1 基于Matlab求線性規(guī)劃最優(yōu)解

        在Matlab中求線性規(guī)劃問(wèn)題,可直接調(diào)用linprog函數(shù),其原理即為簡(jiǎn)單的迭代檢驗(yàn),偽代碼格式如下:

        [x,fval]=linprog(f,A,b,aeq,beq,lb,ub)

        [x,fval]=linprog(f,A,b,aeq,beq,lb,ub,x0)

        A:約束條件矩陣b:目標(biāo)函數(shù)的系數(shù)向量c:約束條件最右邊的數(shù)值向量

        lb、ub:解向量的下、上界 ?x0:初始解向量

        可在Matlab中輸入代碼:

        >>f=[5 9 -3 8 -7];

        >>A=[-2 3 -1 1 -3;5 4 6 0 1];

        >>b=[7 6];

        >>lb=[0 0 0 0 0];

        >>ub=[21 21 21 21 21];

        >>[x,fval]=linprog(f , A, b, [ ], [ ], lb, ub)

        Optimization terminated.

        則會(huì)輸出結(jié)果為:

        x=0.0000

        0.0000

        0.0000

        0.0000

        6.0000

        fval==-42.0000

        即在該規(guī)劃問(wèn)題上x(chóng)1=x2=x3=x4=0,x5=6時(shí)符合取值要求,且取最小值-42.

        2.1.2 基于Lingo求線性規(guī)劃最優(yōu)解

        Lingo的原理也是迭代取值檢驗(yàn)法,在Lingo軟件中需要先輸入一個(gè)模型[5],以MIN開(kāi)始,按線性規(guī)劃問(wèn)題的自然形式輸入即可,在模型窗口輸入以下代碼:

        min=5*x1+9*x2-3*x3+8*x4-7*x5;

        5*x1+4*x2+6*x3+x5<=6;

        -2*x1+3*x2-x3-x4-3*x5<=7;

        @bnd(0,x,21);

        代碼中:@bnd指的是x的取值范圍。

        點(diǎn)擊Solve即可得到代碼運(yùn)行結(jié)果如圖1。

        其中很明顯看到當(dāng)x1=x2=x3=x4=0,x5=6時(shí)可以取得最優(yōu)值-42,同時(shí)可以看到一些其它的變量值,得到總變量為6,非線性變量為0,也可以看到松弛或盈余量等等[5]。

        2.2 求線性規(guī)劃最大最優(yōu)解

        例如:max f=3x1+3x2

        2.2.1 基于Matlab求線性規(guī)劃最優(yōu)解

        在Matlab中沒(méi)有求最大值函數(shù),因此需要先將目標(biāo)轉(zhuǎn)化為最小值問(wèn)題:

        然后進(jìn)行轉(zhuǎn)換即可。

        Matlab中代碼設(shè)計(jì)如下:

        >>f=[-3,-7];

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

        >>b=[7,6,17];

        >>lb=[0,0];

        >>[x,fval]=linprog(f, A, b,[ ],[ ], lb)

        Optimization terminated.

        可得到x=5.0000 ? ? ?fval=-57.0000

        6.0000

        可以發(fā)現(xiàn)x1和x2取值都符合要求,即maxf=fval*(-1),則maxf=57.0000。

        2.2.2 基于Lingo求線性規(guī)劃最優(yōu)解

        在Lingo中先輸入模型,然后以max輸入即可,在模型窗口中設(shè)計(jì)的代碼如下:

        max=3*x1+7*x2;

        x1<=7;

        x2<=6;

        x1+2*x2<=17;

        其代碼運(yùn)行結(jié)果如圖2。

        可以得到最優(yōu)解值結(jié)果當(dāng)x1=5;x2=6時(shí)取得最優(yōu)值(最大值)為57。

        在圖中其中可以得到總變量為2,非線性變量為0,還有經(jīng)過(guò)迭代后松弛或盈余的量。

        3 結(jié)論

        通過(guò)以上的基于兩種軟件的求最優(yōu)值的過(guò)程對(duì)比可以得出,不管是使用Matlab還是Lingo,兩種方法一樣,但求解的程序形式有著較大的差異。

        Matlab中,需要用到數(shù)組(矩陣)的知識(shí)點(diǎn),所以可能需要前期的學(xué)習(xí)過(guò)程作為鋪墊。同時(shí),也可以明顯知道,Matlab中的程序接口是已經(jīng)寫(xiě)好的,即linprog的使用格式是固定的,就線性規(guī)劃而言,在日常生活中,需要使用的整數(shù)性的線性規(guī)劃時(shí)就會(huì)受到一定的限制,一般的情況下,整數(shù)情況可能較少,所以關(guān)于小數(shù)化整數(shù)的過(guò)程需要自己進(jìn)行編譯,因此,這一過(guò)程可能對(duì)初學(xué)者很不友善,受到一定的制約。但Matlab在進(jìn)行規(guī)模龐大的變量運(yùn)算時(shí)具有很大的優(yōu)勢(shì),在非線性規(guī)劃時(shí)較為方便,同時(shí)它在數(shù)據(jù)可視化方面也有很大應(yīng)用,也支持其他的如C、JAVA等語(yǔ)言。

        相比較而言,利用Lingo進(jìn)行線性規(guī)劃整體使用體驗(yàn)較為流暢,中間不涉及其他的知識(shí)框架,可以直接按照原始的書(shū)寫(xiě)習(xí)慣進(jìn)行,符合大部分人的習(xí)慣,較為容易掌握,實(shí)用性比較強(qiáng),且在使用中可以與excel表格進(jìn)行對(duì)接調(diào)用,但整個(gè)框架較為嚴(yán)格,大于等于與大于以及小于等于與小于等價(jià),忽略掉了邊界的影響,同時(shí)在程序中每個(gè)變量、約束條件都要輸入,由此當(dāng)變量很多是就會(huì)造成一定難度。

        拿本文的規(guī)劃問(wèn)題求解的過(guò)程來(lái)說(shuō),Matlab需要將最大值的求解轉(zhuǎn)變?yōu)樽钚≈抵笤偾蠼?,而Lingo則不需要,可以直接求,這一方面Lingo比Matlab方便且易懂。

        綜上所述,Matlab在各自領(lǐng)域都有一定優(yōu)勢(shì),對(duì)于初學(xué)者而言,比較推崇使用Lingo進(jìn)行線性規(guī)劃,而入門后,關(guān)于各種問(wèn)題的求解Matlab是更好選擇。

        【參考文獻(xiàn)】

        [1]燕浩.淺談高中數(shù)學(xué)線性規(guī)劃問(wèn)題的軟件實(shí)現(xiàn)——以Lingo環(huán)境下多決策變量為例[J].數(shù)學(xué)學(xué)習(xí)與研究:教研版, 2015(23):143-144.

        [2]盛仲飆.基于Matlab的線性規(guī)劃問(wèn)題求解[J].計(jì)算機(jī)與數(shù)字工程,2012,40(10).

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

        [4]龍松.大學(xué)數(shù)學(xué)MATLAB應(yīng)用教程[M].武漢:武漢大學(xué)出版社,2014.7.

        [5]吳拿達(dá).基于Lingo軟件的“線性規(guī)劃”應(yīng)用性教學(xué)[J]. 科教文匯,2017(32).

        猜你喜歡
        數(shù)學(xué)建模
        概率論和數(shù)理統(tǒng)計(jì)的數(shù)學(xué)建模研究
        基于常微分方程的數(shù)學(xué)建模問(wèn)題的求解
        數(shù)學(xué)建模競(jìng)賽促進(jìn)大學(xué)生數(shù)學(xué)素養(yǎng)和自主學(xué)習(xí)能力的提高
        東方教育(2016年16期)2016-11-25 01:07:56
        高職院校將數(shù)學(xué)建模思想融入高等數(shù)學(xué)教學(xué)必要性研究
        應(yīng)用型人才培養(yǎng)模式下數(shù)學(xué)建模課程教學(xué)改革
        數(shù)學(xué)建模過(guò)程中的模型優(yōu)化算法
        在數(shù)學(xué)建模中培養(yǎng)學(xué)生的提問(wèn)能力
        考試周刊(2016年84期)2016-11-11 22:54:07
        數(shù)學(xué)建模中創(chuàng)造性思維的培養(yǎng)
        考試周刊(2016年84期)2016-11-11 22:46:15
        談數(shù)學(xué)建模時(shí)的問(wèn)題分析步驟
        考試周刊(2016年85期)2016-11-11 01:06:38
        樹(shù)立建模意識(shí) 培養(yǎng)學(xué)生創(chuàng)新思維
        中文字幕一区二区三区久久网| 国产区女主播在线观看| 在线观看国产激情视频| 日本视频在线观看一区二区| 男人的精品天堂一区二区在线观看| 亚洲女同恋中文一区二区| 少妇被搞高潮在线免费观看| 久久99免费精品国产| 国产韩国一区二区三区| 黄片国产一区二区三区| 国产日本精品一二三四区| 亚洲日韩精品无码专区网址| 在线观看免费人成视频| 99久久久精品免费观看国产| 亚洲国产精品久久久久秋霞影院| 超碰97资源站| 波多野结衣免费一区视频| 乱子伦av无码中文字幕| 2020最新国产激情| 99视频偷拍视频一区二区三区| 亚洲天堂一二三四区在线| 美女视频在线观看一区二区三区| 久久精品国产亚洲av一| 国产自拍精品在线免费观看| 亚洲天堂精品成人影院| 中文字幕人妻丝袜成熟乱| 777精品出轨人妻国产| 日韩一区国产二区欧美三区 | 污污污污污污污网站污| 中文文精品字幕一区二区| 亚洲精品成AV无在线观看| 日本精品免费一区二区三区| АⅤ天堂中文在线网| 亚洲一区丝袜美腿在线观看| 日韩精品一二区在线视频| 久久伊人精品中文字幕有| 国产精品高清视亚洲乱码| 综合色就爱涩涩涩综合婷婷| 亚欧色一区w666天堂| 国产精品久久久久久52avav| 99热精品国产三级在线观看|