王先傳,王 浩,陳秀明,王先超
(阜陽師范大學 計算機與信息工程學院,安徽 阜陽236037)
不斷提高高等教育的教育教學質量是人才培養(yǎng)追求的永恒“不動點”。當前,以新工科建[1-4]設為橋梁,實現(xiàn)高等教育內涵式發(fā)展的過程中,這個“不動點”的地位更加突出。在新工科背景下的工程教育要求高校應全面落實包括以學生為中心、面向產出(outcomes-based education,OBE)、持續(xù)改進(continuous quality improvement,CQI)在內的三大先進教育理念,以提升人才培養(yǎng)質量。工程教育的基本定位是培養(yǎng)學生利用深入的原理解決復雜工程問題的能力[5]。2016 年6 月我國正式加入的《華盛頓協(xié)議》、我國2015 版《工程教育認證標準》[6]和2017 年11 月修訂的《工程教育認證標準》(以下簡稱標準)均用了7 個特征來刻畫復雜工程問題[7],其中的第3 條就強調“需要通過建立合適的抽象模型才能解決,在建模過程中需要體現(xiàn)出創(chuàng)造性”??梢姅?shù)學建模能力的培養(yǎng)對解決復雜工程問題的重要性。為此,本文將探討如何培養(yǎng)計算機類專業(yè)人才的數(shù)學建模能力。
數(shù)學特別是其兩個重要分支即應用數(shù)學和運籌學,已從純粹的理論研究發(fā)展成為一種具有時代潮流的新技術——數(shù)學技術,并成為高新技術的重要組成部分[8]。已有研究表明發(fā)明專利能否成功申請與申請人的數(shù)學建模能力有著密不可分的關系。因此,數(shù)學建模不僅是產教研用的典范,更是啟迪創(chuàng)新意識、培養(yǎng)創(chuàng)新思維、錘煉創(chuàng)新能力以培養(yǎng)新工科人才的一條重要途徑。在大數(shù)據(jù)與人工智能時代,其作用和意義更加凸顯。因為數(shù)學建模不但可以鞏固和擴大學生課內所學的知識,而且能夠充分考察學生的直覺思維、抽象能力、數(shù)學語言“翻譯”能力、表達能力、溝通能力、設計能力、編程能力、使用最新科技成果的能力、團隊意識和自主學習能力,從而提升其利用深入工程原理分析和解決復雜問題的能力,等等。
Scott Page 對數(shù)學模型的功能進行總結,提出模型的7 大用途:推理(reason)、解釋(explain)、設計(design)、溝 通(communicate)、行 動(act)、預 測(predict)和探索(explore)[9]。其首字母構成了一件“紅色披風”(REDCAPE),旨在提醒我們數(shù)學模型及其思維可賦予我們強大的力量。
數(shù)學建模比賽,特別是以創(chuàng)新意識、團隊精神、重在參與、公平競爭為宗旨的全國大學生數(shù)學建模競賽,是培養(yǎng)創(chuàng)新能力的一個極好載體,其目的在于激發(fā)學生學習數(shù)學的興趣,培養(yǎng)學生綜合利用所需知識和計算機技術解決實際問題的能力。比賽過程可以培塑學生同舟共濟的團隊精神和協(xié)調組織能力。特別值得一提的是,近年來,作為全國大學生數(shù)學建模比賽的發(fā)起者,中國工業(yè)與應用數(shù)學學會牽頭整治了比賽過程中出現(xiàn)的一些弊端,如抄襲學術論文、找別人代寫論文等。這些舉措不僅保障了比賽的公平競爭,更進一步培養(yǎng)了學生的誠信意識和自律精神。
《標準》中對工程教育認證提出的12 條具體的畢業(yè)要求指標[7],其中前5 條為工程技術指標,其他為非工程技術指標。這些指標中有7 條與建模能力有較強的關系,其中工程技術指標4 條,非工程技術指標3 條。例如:
第1 條“工程知識”要求學生“能夠將數(shù)學、自然科學、工程基礎和專業(yè)知識用于解決復雜工程問題”。學生如何才能將數(shù)學用于解決復雜工程問題呢?就要求他們不但要學好數(shù)學相關課程,如高等數(shù)學、概率統(tǒng)計等,還要至少能夠對復雜工程問題進行抽象即用數(shù)學語言描述。這個描述其實就是建立相關的數(shù)學模型。只描述還遠不夠,還要運用數(shù)學解決該問題,即進行模型的求解。
第2 條“問題分析”要求學生“能夠應用數(shù)學、自然科學和工程科學的基本原理,識別、表達、并通過文獻研究分析復雜工程問題,以獲得有效結論”。其中的應用數(shù)學的基本原理表達、分析復雜工程問題以獲得有效結論就是要求學生先選擇適當?shù)某橄竽P蛯碗s工程問題形式化,即用數(shù)學語言把其“翻譯”成數(shù)學問題,從而構建抽象模型,模型求解后再將數(shù)學語言“翻譯”成自然語言,從而獲得有效結論。
第4 條“研究”要求學生“能夠基于科學原理并采用科學方法對復雜工程問題進行研究,包括設計實驗、分析與解釋數(shù)據(jù)、并通過信息綜合得到合理有效的結論”。數(shù)學建模在本質上就是培養(yǎng)學生的科研能力,在建模過程中查閱資料,分析與解釋數(shù)據(jù)是必不可缺的。模型求解后,對信息進行綜合得到合理有效結論,以便進行基于模型的工程實施,即實現(xiàn)模型的應用。
第5 條“使用現(xiàn)代工具”要求學生“能夠針對復雜工程問題,開發(fā)、選擇與使用恰當?shù)募夹g、資源、現(xiàn)代工程工具和信息技術工具,包括對復雜工程問題的預測與模擬,并能夠理解其局限性”。該條與模型求解時所要做的工作非常吻合。在模型求解時,要求學生能夠使用恰當?shù)募夹g如遺傳算法[10]、機器學習[11]、排隊論[12]、人工神經網絡[13]、元胞自動機[14]等,并使用合適的現(xiàn)代軟件如Visio、Matlab、Lingo、Python 及其常用庫編寫相關程序對模型進行模擬、求解,并對結果進行可視化,最后給出模型的優(yōu)缺點。
第9 條“個人和團隊”要求學生“能夠在多學科背景下的團隊中承擔個體、團隊成員以及負責人的角色”。數(shù)學建模所要解決的通常都是金融、交通、環(huán)境、控制、社會等不同領域的新問題。因此,在數(shù)學建模比賽有助于培養(yǎng)學生的團隊意識和責任擔當。
第10 條“溝通”要求學生“能夠就復雜工程問題與業(yè)界同行及社會公眾進行有效溝通和交流,包括撰寫報告和設計文稿、陳述發(fā)言、清晰表達或回應指令。并具備一定的國際視野,能夠在跨文化背景下進行溝通和交流”。他們3 個人組成一個隊,為了一個共同的目標,比賽過程中可能會為了做哪一道題、采用哪種方法與技術等而爭吵得面紅耳赤,但最終要做出最后決定,這樣有人就要學會了妥協(xié)與寬容。在比賽過程中不但要進行有效的溝通和交流,還要一定的形成文字材料即一篇建模論文。特別地,美國大學生數(shù)學建模比賽,其競賽試題不但具有一定的國際視野,而且用英文展示,并要求學生也要提交一篇英文數(shù)學建模論文。這些對“溝通”素質的培養(yǎng)與提升起到至關重要的作用。
第12 條“終身學習”要求學生“具有自主學習和終身學習的意識,有不斷學習和適應發(fā)展的能力”。在建模和比賽過程會遇到不同領域的復雜科學問題,他們要從網上或書籍中查閱相關資料、弄懂相關概念,并搜尋有效的原理與方法以解決問題。可見數(shù)學建模有助于培養(yǎng)學生的自主學習和終身學習意識,提升其可持續(xù)競爭力。
根據(jù)《普通高等學校本科專業(yè)目錄(2020 版)》計算機類專業(yè)有17 個[15],我校計算機與信息工程學院現(xiàn)有計算機科學與技術、數(shù)據(jù)科學與大數(shù)據(jù)技術、軟件工程、物聯(lián)網工程、信息工程、智能科學與技術6 個本科專業(yè)。其中信息工程專業(yè)不在17個計算機類專業(yè)之列。
如上所述,數(shù)學建模對學生能力培養(yǎng),特別是《標準》中對工程教育認證提出的12 條具體的畢業(yè)要求的達成具有舉足輕重的作用。按理說,應該把數(shù)學建模或數(shù)學模型課程作為計算機類專業(yè)的數(shù)學與自然科學類課程。目前,已有不少高校把數(shù)學建模納入計算機類專業(yè)的課程體系,但仍有許多高校并沒有把它列入課程體系。例如,筆者所在高校最新修訂的計算機科學與技術專業(yè)人才培養(yǎng)方案中數(shù)學與自然科學類課程如表1 所示。人才培養(yǎng)方案總學分168.5,其中數(shù)學與自然科學類課程25.5,占15.13%>15%,達到《標準》要求。同時,沒有包括數(shù)學模型課程。
究其原因,雖然數(shù)學建模課程對工程教育認證中的7 條都可以很好地支撐,但那7 條并非只能用數(shù)學模型一門課程做支撐,即可以用其他多門課程,如高等數(shù)學、數(shù)值分析、數(shù)據(jù)結構等來解決[16]。另一方面,數(shù)學模型一般由數(shù)學學院來承擔,在現(xiàn)在的績效考核下,為保障本學院教師的工作量,各學院都不樂意把自己學院可解決的課程讓其他學院來承擔,即只能因人設課。
這種做法不能使學生得到系統(tǒng)的數(shù)學建模訓練,只能零散地、片面地接受數(shù)學建模相關知識。最終傷害的還是學生,導致他們對數(shù)學建模不了解、缺乏應有的興趣,不肯參加相關的數(shù)學建模比賽。最終導致他們缺乏面對復雜問題的勇氣,這一點可從畢業(yè)論文的選題中可以看出。近年來,每年都有相當一部分同學以簡單地網站和管理系統(tǒng)設計作為畢業(yè)設計選題。2020 年畢業(yè)的336 名同學,其中248 篇為管理軟件選題,占73.8%。在這些選題主要涉及酒店管理、人事管理、購物網站、考試系統(tǒng),等等。這些選題的設計和實現(xiàn)模型基本一樣,不同選題之間的參考和借鑒程度比較嚴重,創(chuàng)新性比較低。今年筆者在評閱時遇到兩篇畢業(yè)設計,題目和內容包括實驗部分幾乎都一樣。與沒參加過數(shù)學建模比賽的同學相比,參加過數(shù)學建模比賽的同學基本都能較好地完成一篇畢業(yè)設計,不少還被評為優(yōu)秀畢設。因此,當前這種教育模式和質量監(jiān)控體系不能從整體上培養(yǎng)和提升學生的綜合素質和可持續(xù)發(fā)展能力。
雖然我校每年都組織學生參加全國大學生數(shù)學建模比賽和美國大學生數(shù)學建模比賽,但總體參數(shù)隊比較少,計算機類各專業(yè)參加比賽的學生就更少,每年3~5 個隊。雖然學校制定了相關的激勵措施,但近年來取得省一等獎越來越難。這樣賽前指導老師不肯下功夫和時間培訓學生,導致比賽過后老師和學生都感覺很累,而且還不能取得好成績,形成了惡性循環(huán)。因此,數(shù)學建模比賽的受眾面小,效果很不理想。
基于學生為中心[16-17]和OBE 教學理念[16,18]培養(yǎng)和提升學生的數(shù)學建模能力。具體做法如下。
不同的課程可以向學生滲透不同的數(shù)學建模思想。將數(shù)學建模思想融入到現(xiàn)有數(shù)學與自然科學類課程,主要可以完成“問題”到“形式化”的轉化,培養(yǎng)創(chuàng)新意識、學生抽象和推理能力;程序設計類課程主要可以完成“形式化”到“計算機化”的轉化,培養(yǎng)學生計算思維、編程能力和實踐能力。特別地,數(shù)值分析和算法類課程可進一步提升學生算法設計與分析能力。
下面以算法設計與分析課程中經典的0-1 背包問題為例,探討如何向學生有效滲透數(shù)學建模思想。0-1 背包問題是指給定若干個物品和1 個背包,每個物品的質量和價值以及背包容量均已知,對每個物品只有裝入和不裝。如何選擇物品,使裝入背包中的物品價值最大?
通過對該問題學習和解決,我們不能只使學生能夠理解和掌握動態(tài)規(guī)劃算法、回溯法和分支限界法,并能應用它們解決一些實際問題,還應通過該問題培養(yǎng)學生的模型思維和建模能力。
首先,引入變量。假設共有n 個物品,每個物品質量和價值分別為mi和vi(i=1,2,…,n),且wi>0,且vi>0,背包容量為C>0,并用xi∈{0,1}表示第i 個物品的狀態(tài),1 和0 分別表示物品裝入和不裝入背包。這一步看似很簡單,即給出每個變量的含義,而經常被忽略。
再次,模型求解。需要一個具體實例,如n=3, C=30, m={16, 15, 15}, v={45, 25, 25}。為了培養(yǎng)學生算法設計與分析能力和軟件開發(fā)能力,在向學生詳細講解動態(tài)規(guī)劃算法、回溯法和分支限界法的同時,應告訴學生還可以使用現(xiàn)有軟件Lingo 或Lindo 來解決該問題,即讓學生使用恰當?shù)默F(xiàn)代工具解決問題。用Lingo 可解得該問題的最優(yōu)解為(0,1,1),最優(yōu)值為50。即將第2 和3 個物品裝入背包時,所求價值最大,達50。
最后,模型評價。主要分析和總結不同方法求解該問題時的時間復雜度。
該例子雖然不能使學生了解所有建模方法,但可以使他們能夠了解不少關于數(shù)學建模的知識如建模步驟、相關數(shù)學概念以及Lingo 軟件的編程、使用和求解報告分析。同時,還有助于他們克服畏難情緒,培養(yǎng)其建模興趣。
在相關課程中融入數(shù)學建模思想雖然有助于培養(yǎng)學生的建模思維和建模能力,但基本上是片面的、零散的,不具有系統(tǒng)性。在新常態(tài)下,利用暑假開展建模培訓,培訓老師沒有任何報酬。為使學生能夠較好地掌握常用數(shù)學建模方法,我們強化教師奉獻精神,搞好暑期建模培訓工作。10天左右時間的培訓使他們能夠掌握數(shù)學建模常用思想、方法、原理和技術,而后要求他們組隊并把近3 年全國大學生數(shù)學建模競賽試題作為真題進行訓練。同時,邀請指導老師對其建模論文進行評閱,以達到漸漸提升其建模能力的目的。作為培訓工作的前奏,要求擬參加培訓同學首先參加中國工業(yè)與應用數(shù)學學會和中國知網聯(lián)合主辦的“數(shù)學的重要性及其應用”公益講座,使其感悟數(shù)學建模之美,提升其參與建模比賽的興趣。
為了更好地培養(yǎng)和提升計算機類各專業(yè)人才的數(shù)學建模能力,給出兩條建議:第一,建議越來越多的專業(yè)課教師將越來越多的數(shù)學建模思想融入到越來越多的課程,并宣傳數(shù)學建模比賽,以激發(fā)學生學習數(shù)學建模興趣,并全身心地投入到數(shù)學建模比賽。第二,在持續(xù)改進教學理念下,我們建議和期待相關專業(yè)負責人在下一次人才培養(yǎng)方案時將數(shù)學模型作為選修課納入某一個專業(yè)的課程體系,并進行3 年左右嘗試。如果有助于人才培養(yǎng)質量的提升,再將其作為必修課,并將其推廣至計算機類各專業(yè)。
數(shù)學之用是無用之用,才最有價值。在新工科建設背景下,提升學生數(shù)學建模能力不但使學生體會到數(shù)學“作為模型,它是一種語言,大道至簡;作為理論,它是一種財富,博大精深;作為算法,它是一種力量,改變世界”,而且可以增強學生分析和解決復雜工程問題的能力。