999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于R語言的管理運籌學教學實驗設計

2020-02-02 03:55:01李光
高教學刊 2020年3期

李光

摘? 要:管理運籌學是經濟管理類專業一門重要的專業基礎課,實驗教學在管理運籌學教學中處于重要的地位。R語言是一個通用的開源數據處理平臺,在管理運籌學實驗教學中具有突出的優勢。文章探討了R語言在管理運籌學中網絡規劃部分的教學實驗設計。論文介紹了實驗中R語言的安裝和應用特點,舉例說明了用igraph包求解了管理運籌學教學中典型的最短路問題,展示了R語言的優點及其用于管理運籌學實驗教學的可行性。

關鍵詞:R語言;網絡規劃;最短路

中圖分類號:G642 文獻標志碼:A? ? ? ? ?文章編號:2096-000X(2020)03-0095-04

Abstract: Management operations research is an important professional basic course for economic management majors. Experimental teaching plays an important role in the management of operational research. R language is a general-purpose open source data processing platform, which has outstanding advantages in the management of operational research experiments. This paper explores the teaching experiment design of the R language in the network planning part of management operations research. The paper introduces the role of the igraph package for network analysis in R language and the usage and meaning of each parameter. The igraph package is used to solve the typical shortest path problem in management operations research teaching. The advantages of R language and its feasibility in managing operational research experiment are demonstrated.

Keywords: R language; network programming; shortest path

管理運籌學是經濟管理類專業一門重要的專業基礎課。運籌學強調根據實際問題構建數學模型,通過對模型的求解,為決策者進行決策提供科學依據。運籌學方法涉及到大量的數學運算和數據處理,必須借助計算機工具才能加深學生對運籌學模型的理解,并在實踐中得到應用。在運籌學教學中,不僅要讓學生理解運籌學模型的原理,還要讓學生掌握必要的計算機工具輔助模型的求解。目前運籌學實驗教學中普遍存在重理論輕應用、實驗教學內容單一、實驗環節課時少等問題[1],這些問題產生的核心就是缺乏合適的實驗軟件。在目前的運籌學實驗教學中,應用較多的計算機軟件有excel[2]、lingo[3]、matlab[4]等,但這些軟件尚存在實驗費用高、求解問題規模受限制、教學與實際應用脫節等不足之處。而R語言是一個通用的開源數據處理平臺,不需支付任何費用。借助package包的擴展,R語言可以處理幾乎所有的量化分析和數據處理問題。R語言既具有強大的數據處理能力,又具有豐富的圖形展示能力,在國內外教學科研中得到了越來越廣泛的應用,非常適合運籌學實驗教學的需要,是運籌學實驗教學的理想工具[5]。

一、R語言簡介及其用于運籌學實驗教學的優點

(一)R語言簡介

R語言是一套完整的數據處理、計算和制圖軟件系統。R語言是由Auckland大學的Robert Gentleman和Ross Ihaka及其他志愿人員于上世紀80年代開發的一個自由軟件,現在的版本是3.6.1版,由“R開發核心團隊”負責開發[6]。與其說R是一種統計軟件,還不如說R是一種數學計算的環境。R的思想是:它可以提供一些集成的統計工具,但更大量的是它提供各種數學計算、統計計算的函數,從而使使用者能靈活機動的進行數據分析,甚至創造出符合需要的新的統計計算方法。R語言的使用,很大程度上是借助各種各樣的包(package)的輔助,從某種程度上講,包就是針對R的插件,不同的插件滿足不同的需求,截至2019年7月10日,CRAN已經收錄了各類包14510個。如igraph包[7]是一個用來進行網絡分析以及對其進行可視化的包,目前的版本是1.2.2。用igraph包可以求解圖與網絡規劃中常見的最短路和最大流問題,本文以圖與網絡分析實驗為例說明R語言進行運籌學教學實驗的主要步驟。

(二)R語言用于運籌學實驗教學的優點

相較于其他的運籌學教學軟件,R語言具有十分明顯的優點。

1. 通過package包的擴展,R語言可以處理幾乎所有的量化分析和數據處理問題。因為運籌學的教學內容十分龐雜,涉及到數學運算的多個領域,以往的教學實驗要么只能解決部分模型的實驗,要么需要涉及多個軟件才能解決不同領域的運籌學模型的求解,增加了實驗的教學難度和學生的學習難度。R語言的任務視角把R語言能夠解決的數據處理問題分為40個大的任務領域,運籌學是R語言能夠處理的任務領域之一,有上百個package包用于各種各樣的運籌優化問題的處理;借助package包的擴展,運籌學教學中的所有實驗內容都可以在R語言平臺上實現。學生在整個實驗過程中,只需掌握R語言一種軟件處理平臺即可,大大降低了實驗教學的難度和學生學習的難度。

2. R語言可以實現教學和實際應用的自然過渡。運籌學模型的求解涉及到大量的數據處理,而在實際應用中,運籌學模型的參數和計算量更是面臨著數量級的增長。以往的運籌學教學軟件數據處理能力較弱,可以滿足一般教學的需要,但在面對大數據量的實際問題時往往計算能力不足,如lingo教學演示版有300個變量、150個約束條件的規模限制,很難滿足實際工作中動輒數千個變量的計算需求。如果要在實際應用中讓運籌學模型發揮作用,學生必須重新學習掌握其他的數據處理軟件,造成教學和實踐的脫節。R語言具有非常強大的數據處理能力,不僅在科研及教學中廣泛應用,也是一種普遍應用的數據挖掘工具。把R語言用于運籌學實驗教學,可以實現教學和實際應用的自然過渡。

3. R語言的實驗成本低。運用商業化教學軟件來搭建運籌學的實驗環境需要支付不菲的費用,也制約了學生在非實驗室環境對軟件的使用。如很多學校采用excel做為運籌學實驗教學的軟件,excel可以方便的與word、PowerPoint等辦公軟件銜接,操作也非常簡便,可以提高學生的學習積極性。但在我國知識產權保護越來越嚴格的環境下,如果采用excel來搭建運籌學教學的實驗環境,即使有教育系統的優惠,也仍然是一筆不小的費用支出。而其他軟件如lingo和matlab即使是單機版軟件也動輒數萬元,甚至數十萬元,更是大多數高校和學生無法承擔的實驗成本。R語言是免費開源的軟件,核心模塊的安裝對硬件要求非常低,構建實驗環境不需要支付任何費用。同時學生可以在自己的計算機上安裝R語言軟件,隨時使用軟件,降低了學生的學習成本。

4. R語言具有豐富的圖形展示功能。運籌學不僅涉及到大量的數據處理,網絡規劃部分還涉及較多的圖形分析的內容。如果沒有直觀的圖形展示,學生理解和掌握相關內容的難度較大。以往的運籌學教學軟件往往不具備強大的圖形分析和展示能力,給網絡規劃部分的實驗教學造成一定的困難,有些院校甚至不涉及這部分的實驗教學。R語言不僅具有強大的數據處理能力,其圖形展示能力也非常強大。R語言很好的實現了數據處理和圖形展示能力的統一,在網絡規劃部分的實驗教學中具有突出的優勢。

二、構建實驗環境

R語言是一款免費開源的軟件,可以通過網絡下載R語言軟件包進行安裝,在windows下啟動R,R的顯示窗口叫R控制臺,如圖1所示。

R可以在兩種模式下運行:交互模式和批處理模式。常用的是交互模式。在這種模式下,用戶每鍵入一條命令,R就會顯示運行的結果,然后用戶再鍵入新的命令,如此反復進行操作。批處理模式將R要做的工作按一定的規則和順序編寫為腳本,R會一次性處理全部或部分語句腳本,在腳本中,#后面的內容為注釋,不參與語句的實際運算。本實驗中關于R語言的基本操作部分用交互模式,圖與網絡的實驗部分用批處理模式。

使用R語言進行運籌學實驗首先要安裝相應的package包,package的安裝可以下載package然后本地安裝,也可以通過網絡安裝。強烈推薦使用網絡安裝模式,因為每個package的運行可能涉及到其他包做輔助支撐,而這些支撐性的package在網絡環境下可以自動全部安裝,用本地安裝方式很容易忽略某些支撐包的安裝。網絡安裝package非常簡單,如本文舉例用到的igraph包的安裝,只要在R控制臺中輸入命令install.packages(“igraph”)即可,接下來R會要求用戶選擇安裝連接的網絡的站點,選擇網絡站點,R會自動完成整個包的安裝。如果安裝過程中提示安裝錯誤,可將殺毒軟件或防火墻關閉后重新操作。

為了節約內存和避免函數名稱沖突,R默認不會載入每個已安裝的包。當用戶需要某個包時,只要用library()函數把該包載入到當前對話中即可。在一次會話中,包只需要載入一次。

在R中,完成所有工作的操作都稱為函數(function)。大部分函數都有如下的形式:f(argument1,argument2,…)。其中f是函數名,argument1、argument2是該函數的參數。實驗中的操作主要就是根據實際問題對這些參數進行賦值。如下面實驗中用到的創建一個數據矩陣的matrix()函數的用法。創建矩陣函數matrix(data,nrow=1,ncol=1,byrow=FALSE)

這里data是矩陣中包含的元素,其數量最多為nrow×ncol,nrow和ncol分別表示這個矩陣的行數和列數(默認值均為1),byrow的取值為TRUE或者FALSE(默認值為FALSE),它表示將data的元素是按行還是按列來填充矩陣。其它基本操作參見R語言操作手冊。

三、實驗內容

實驗的過程是首先介紹實驗中用到的函數,然后針對具體實例說明函數的運用以及解釋實驗的結果。下面以圖與網絡部分的最短路問題實驗為例,說明實驗的過程。

(一)最短路問題實驗用到的函數

首先介紹實驗中用到的R語言函數。本實驗中主要用到以下四個函數,其中前兩個用于創建并繪制網絡圖,后兩個函數用于計算網絡圖中的最短路,四個函數的功能分別描述如下:

1. add.edges()函數

作用:用于創建網絡圖,按頂點序列給出圖中的邊或弧。

2. tkplot()函數

作用:交互式圖形繪制工具。可以調整節點及邊的位置、大小、顏色等參數。

3. distances()函數

作用:計算從網絡中的節點到節點的所有最短路徑的長度。

4. shortest.paths()函數

作用:從給定節點計算一條最短路徑,是路徑本身,不是路徑的長度,一般以路徑順序經過的節點來表示。

(二)最短路問題描述

實驗涉及的最短路問題可表述如下:如圖2所示是一個單行線構成的交通網絡,每個弧旁邊的數字表示這條單行線的長度。現在從節點v_1出發,經過這個交通網到達節點v_8,求使總路程最短的線路[8]。運籌學理論課一般已講過最短路問題的dijkstra算法,學生對最短路問題的求解原理和步驟比較了解,實驗目的主要用于驗證算法的可行性和減少計算量。

(三)根據實驗問題編寫腳本

用library()函數加載igraph包,要始終注意解決特定的運籌學問題時,必須首先加載相應的package。

根據問題的數據和R語言的語法規則寫出實驗腳本。用腳本模式進行實驗的優點是便于重復實驗和對語句的修改。腳本的編寫就是把具體問題的數據做為上面四個函數的參數,分別按格式要求寫入函數的特定位置。本實驗中編寫的腳本只有6句。首先用matrix()函數創建網絡圖相關的數據矩陣,這里構建的是一個3列矩陣,前兩列表示邊所對應的起點和終點,第三列元素表示對應邊的權。然后用g=add.edges()創建名稱為g的網絡圖。接下來用tkplot(g)畫出網絡圖g,調整節點位置,與教材上的圖保持一致。最后用shortest.paths()計算并顯示從節點1到其他節點的最短路徑,distances()計算并顯示從節點1到其他節點的最短路徑的長度

(四)實驗運行及結果

編寫好實驗的腳本后,就可以進行實驗的運行。實驗運行的方法是在腳本中選中相應的語句,然后點右鍵選擇執行該語句即可。腳本的語句可以逐行代碼執行,也可以選中多行代碼同時執行。實驗中用tkplot()函數繪制出的網絡圖如圖3所示,經過對節點位置的調整,可以看到圖形與問題描述的圖形基本一致,唯一的差別是節點5和節點6之間的兩個方向相反的弧,這里是用一條雙向的弧來代表。

實驗中計算出的從節點1到其它各個節點的最短路徑用依次經過的節點來表示,如節點1到節點6的最短路徑是(1,3,2,5,6),意思是從節點1到節點6的最短路依次經過括號中的節點。distances()函數計算的從起點到各節點的最短路的長度,如節點1到節點6的最短路的長度是10。軟件計算的結果與教材中人工計算的結果完全一致。

圖與網絡規劃部分的ford算法求最短路和網絡最大流問題也可以用同樣的步驟實現。

上述實驗內容用于展示將R語言用于網絡規劃實驗教學的可行性,具體實驗中可以根據教學的內容安排學生先人工計算課后的習題,再利用實驗課驗證人工計算的結果,加深學生對教材內容的理解。

四、結束語

本文分析了R語言用于管理運籌學實驗教學的優點,描述了運用R語言進行網絡規劃教學實驗的基本過程,針對最短路問題這個網絡規劃中的基本模型,詳細描述了實驗的步驟,實驗結果與人工計算結果一致。證明了R語言用于管理運籌學實驗教學的可行性。

參考文獻:

[1]方霞,曹潔,張平鳳.運籌學課程實驗教學探討[J].高教學刊,2016(19):83-84.

[2]劉春梅.管理運籌學基礎、技術及Excel建模實踐(第二版)[M].上海:格致出版社,上海人民出版社,2016.

[3]江文奇.管理運籌學[M].電子工業出版社,2014.

[4]楊毓玲.基于MATLAB的運籌學實驗教學研究[J].科技經濟市場,2012(11):115-116.

[5]潘東東,童艷彩,陳興,等.基于R的運籌學實驗教學實踐與探討[J].統計與管理,2014(01):174-175.

[6]Team R C. R: A Language and Environment for Statistical Computing[Z]. Vienna, Austria: 2017.

[7]Csardi G, Nepusz T. The igraph software package for complex network research[J]. InterJournal, 2006, Complex Systems: 1695.

[8]吳祈宗.運籌學(第3版)[M].北京:機械工業出版社,2015.

主站蜘蛛池模板: 亚洲91在线精品| 精品1区2区3区| 久久国语对白| 欧美一区二区三区不卡免费| 91福利免费视频| 欧美成人影院亚洲综合图| 香蕉综合在线视频91| 高潮毛片无遮挡高清视频播放| 国产91精品调教在线播放| 九色综合视频网| 亚洲午夜福利精品无码| 亚洲成人在线免费| 精品免费在线视频| 久久永久视频| 波多野结衣视频一区二区 | 自慰网址在线观看| 国产打屁股免费区网站| 亚洲二区视频| 免费高清a毛片| 亚洲第一黄片大全| 狠狠五月天中文字幕| 91视频99| 丝袜国产一区| 久久久久亚洲av成人网人人软件 | 亚洲一级色| 亚洲一区二区精品无码久久久| 97精品国产高清久久久久蜜芽| 乱系列中文字幕在线视频| 国产成人高清精品免费5388| 九九这里只有精品视频| 青青操视频在线| 国产亚洲高清视频| 亚洲无码37.| 91精品国产综合久久香蕉922| 亚洲精品国产自在现线最新| 黄色在线不卡| 国产农村精品一级毛片视频| 日韩免费视频播播| 成人国产一区二区三区| 免费观看国产小粉嫩喷水| 国产高清毛片| 欧美成人亚洲综合精品欧美激情| vvvv98国产成人综合青青| 免费在线a视频| 伊伊人成亚洲综合人网7777| 国产精品刺激对白在线| 色综合天天综合| 黄色三级毛片网站| 欧美一区日韩一区中文字幕页| 在线播放真实国产乱子伦| 99国产精品一区二区| 国产成人高清亚洲一区久久| 污网站在线观看视频| 成人免费午间影院在线观看| 伊人国产无码高清视频| 日韩天堂视频| 亚洲精品国产日韩无码AV永久免费网| 欧美午夜视频在线| 国产成人久久综合一区| 欧美不卡二区| 精品无码人妻一区二区| 国产精品无码一二三视频| 国产亚洲欧美在线专区| 四虎亚洲国产成人久久精品| 米奇精品一区二区三区| 国产精品自拍合集| 2018日日摸夜夜添狠狠躁| 亚洲成a人片在线观看88| 在线观看91香蕉国产免费| 久久99精品国产麻豆宅宅| 丰满人妻中出白浆| 欧美成人精品在线| 成人av专区精品无码国产| 亚洲一区二区三区香蕉| 国产区免费| 色婷婷综合激情视频免费看| 日韩黄色大片免费看| 四虎AV麻豆| 思思热精品在线8| 色婷婷在线播放| 被公侵犯人妻少妇一区二区三区| 青青草原国产精品啪啪视频|