黃曉峰,楊麗明,*,蔡夢萍,俞建午,李小兵
(1.浙江大學(xué)控制科學(xué)與工程學(xué)系,浙江杭州310027; 2.浙江致中和實業(yè)有限公司,浙江杭州310020)
白酒勾兌是白酒生產(chǎn)工藝中的一個重要的環(huán)節(jié),對于穩(wěn)定和提高白酒質(zhì)量以及提高名優(yōu)酒比率均有明顯的作用[1]。但是傳統(tǒng)的基于人工品嘗方法的白酒勾兌技術(shù)還存在著不少的弱點,其經(jīng)勾兌后的口感具有個體差異,并受很多主客觀因素影響,且理化指標(biāo)根本不能通過品嘗準(zhǔn)確控制等。隨著科技的迅猛發(fā)展,現(xiàn)代計算機技術(shù)被廣泛地應(yīng)用于白酒生產(chǎn)的各個方面,特別是白酒勾兌工藝上[2]。計算機勾兌技術(shù)就是應(yīng)用一定的計算方法,根據(jù)原度酒及調(diào)味酒各微量成分的含量,按統(tǒng)一的特定標(biāo)準(zhǔn)(標(biāo)樣酒),計算出各原度酒及調(diào)味酒的比例,這一過程稱為成品酒的配方設(shè)計[3]。彭奎等[4]應(yīng)用線性規(guī)劃單純形算法對實際勾兌模型進(jìn)行優(yōu)化,以保證在基礎(chǔ)酒質(zhì)量的前提下得到最經(jīng)濟的勾兌用量比例。李家明[5]提出了模糊數(shù)學(xué)與線性規(guī)劃相結(jié)合的方法,應(yīng)用于蒸餾酒勾兌工藝中。黃漢英等[6]在計算機優(yōu)化白酒勾兌軟件中引進(jìn)線性規(guī)劃、目標(biāo)規(guī)劃,以此設(shè)計出一個滿足約束條件(口感最佳、各種微量成分平衡協(xié)調(diào))的最低成本配方。上述算法中大多數(shù)采用了線性規(guī)劃目或標(biāo)規(guī)劃算法。線性規(guī)劃算法把成品酒(標(biāo)樣酒)的配方設(shè)計問題視為線性規(guī)劃的優(yōu)化問題,并以滿足一定質(zhì)量標(biāo)準(zhǔn)下的最低成本配方為目標(biāo)函數(shù),以配方中各原度酒(基礎(chǔ)酒)的用量作為線性約束條件。但線性規(guī)劃存在一定的局限性,由于其約束條件為系統(tǒng)約束(“硬約束”),缺乏彈性,約束條件之間容易相互矛盾,易導(dǎo)致線性規(guī)劃無解;并且單單以一個最低成本配方為目標(biāo),其優(yōu)化目標(biāo)單一,也容易陷入局部無解。目標(biāo)規(guī)劃算法能夠很好地解決線性規(guī)劃優(yōu)化目標(biāo)單一、且易局部無解的缺點,且具有可根據(jù)優(yōu)先因子的設(shè)置得到多目標(biāo)要求的高質(zhì)量配方的優(yōu)點,但是算法中“優(yōu)先因子”難以確定,只能依靠勾兌專家的實際勾兌經(jīng)驗,需要經(jīng)過多次人工調(diào)整和整定“優(yōu)先因子”才有可能求得最理想的配方,在實際操作中很難實現(xiàn)。本文對目標(biāo)規(guī)劃算法進(jìn)行改進(jìn)和優(yōu)化,利用神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)強大的自學(xué)習(xí)和自適應(yīng)能力,根據(jù)歷史的輸入輸出數(shù)據(jù),對目標(biāo)規(guī)劃算法中的“優(yōu)先因子”進(jìn)行訓(xùn)練,從而輸出一組最優(yōu)的“優(yōu)先因子”,代入勾兌配方模型,進(jìn)而求得最佳的配方解。
目標(biāo)規(guī)劃是由線性規(guī)劃演變而來的,由查恩斯(A.Charnes)和庫珀(W.W.Cooper)在1961年首先提出[7],是解決多目標(biāo)優(yōu)化問題最有效的方法之一。目標(biāo)規(guī)劃法的優(yōu)點在于將復(fù)雜的問題簡化成一個單目標(biāo)的線性規(guī)劃問題,這類模型并不是去考慮對各個目標(biāo)進(jìn)行極小化或極大化,而是希望在約束條件的限制下,每一目標(biāo)盡可能地接近于事先給定的目的值[8]。
目標(biāo)規(guī)劃的這一特性與勾兌工藝的特點相符合,可以有效地應(yīng)用于成品酒的配方計算。目標(biāo)規(guī)劃把成品酒中所有理化指標(biāo)的約束條件均處理為目標(biāo),并給每個目標(biāo)賦予一個“優(yōu)先因子”權(quán)值來設(shè)置約束條件的重要性程度,并根據(jù)目標(biāo)重要性程度的不同對所有的目標(biāo)分別進(jìn)行優(yōu)化,盡量滿足要求[9]。
因此,依據(jù)白酒勾兌工藝和目標(biāo)規(guī)劃算法得到白酒勾兌的多目標(biāo)規(guī)劃配方模型[10],如下:
式中,pi表示每個目標(biāo)的優(yōu)先因子,d、d分別表示對應(yīng)于第i個目標(biāo)值的正、負(fù)偏差變量;xj表示第j個決策變量;αij為各種原度酒或調(diào)味劑相應(yīng)的理化指標(biāo);βi為目標(biāo)配方中應(yīng)滿足的成品酒(標(biāo)樣酒)的各項微量成分理化指標(biāo);ωj為每種原度酒或調(diào)味劑的價格系數(shù);g為目標(biāo)配方的期望價格?;诎拙乒磧兜哪繕?biāo)規(guī)劃模型為每一目標(biāo)賦一個權(quán)系數(shù),以反映不同目標(biāo)之間的重要程度[11],把多目標(biāo)模型轉(zhuǎn)化成單一目標(biāo)的模型,但是權(quán)系數(shù)難以確定,需要經(jīng)過多次人工調(diào)整和整定才能得到最優(yōu)的權(quán)系數(shù)。在實際的生產(chǎn)操作中由于各種因素的制約,難以進(jìn)行人工整定。這也是目標(biāo)規(guī)劃算法難以普遍運用于實際勾兌過程的原因之一。
人工神經(jīng)網(wǎng)絡(luò)是指模擬人類大腦的神經(jīng)系統(tǒng)的結(jié)構(gòu)和功能,運用大量的處理部件,采用人工方式構(gòu)造的一種網(wǎng)絡(luò)系統(tǒng)[12]。它突破了傳統(tǒng)的、串行處理的數(shù)字計算機的局限,是一種非線性動力學(xué)系統(tǒng),并且具有強大的分布式存儲和并行協(xié)同處理能力。神經(jīng)網(wǎng)絡(luò)能夠根據(jù)系統(tǒng)歷史的輸入輸出記錄來辨識對象的數(shù)學(xué)模型,使得它的數(shù)學(xué)模型和實際對象具有相同的輸入輸出特性。因此,神經(jīng)網(wǎng)絡(luò)還具有很強的非線性逼近能力、高效的并行分布處理能力和自學(xué)習(xí)、自適應(yīng)能力[13]。
基于神經(jīng)網(wǎng)絡(luò)的白酒勾兌目標(biāo)規(guī)劃優(yōu)化算法為,利用人工神經(jīng)網(wǎng)絡(luò)來確定目標(biāo)規(guī)劃配方模型中最優(yōu)的權(quán)系數(shù)(優(yōu)先因子)。通過構(gòu)造出三層前向BP網(wǎng)絡(luò)結(jié)構(gòu)(如圖1所示),每種不同的成品酒獨有的理化指標(biāo)都會對應(yīng)有不同的約束條件,而不同的約束條件又會影響優(yōu)先因子選取,依據(jù)以上原則,從成品酒的理化指標(biāo)(β1,…,βi,…,βm)與“優(yōu)先因子”權(quán)系數(shù)(p1,…,pi,…,pm)的歷史數(shù)據(jù)關(guān)系中提取出訓(xùn)練樣本((β1,…,βi,…,βm);(p1,…,pi,…,pm)),對三層網(wǎng)絡(luò)結(jié)構(gòu)采用BP(Back-propagation)算法[14]進(jìn)行訓(xùn)練,使得該神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)具有自適應(yīng)和自學(xué)習(xí)的功能,并以此輸出最優(yōu)的優(yōu)先因子對。
圖1 三層前向BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)Fig.1 Structure of three-layered forward BP neural network
首先,選擇成品酒(標(biāo)樣酒)的種類,即勾兌完成后的目標(biāo)酒的品種,并確定該標(biāo)樣酒中各微量元素成分理化指標(biāo)的約束值(β1,…,βi,…,βm),然后再從酒廠的理化指標(biāo)數(shù)據(jù)庫中選擇要參與勾兌的原酒、基礎(chǔ)酒等的種類,由此可得到一個某標(biāo)樣酒的白酒勾兌配方指標(biāo)表(如表1所示),并得到該標(biāo)樣酒的基于目標(biāo)規(guī)劃算法的勾兌配方模型。
設(shè)計三層前向BP神經(jīng)網(wǎng)絡(luò),分別依據(jù)標(biāo)樣酒的微量元素成分個數(shù)和目標(biāo)規(guī)劃算法中優(yōu)先因子的分?jǐn)?shù)確定神經(jīng)網(wǎng)絡(luò)輸入層和輸出層的神經(jīng)元個數(shù)都為m個,考慮到要用BP算法來訓(xùn)練網(wǎng)絡(luò),中間層和輸出層函數(shù)均采用Sigmoid函數(shù)[15],即
再根據(jù)酒廠先前的歷史勾兌經(jīng)驗,提取出成品酒的理化指標(biāo)β向量與“優(yōu)先因子”權(quán)系數(shù)p向量之間關(guān)系,依據(jù)原則得到訓(xùn)練樣本((β1,…,βi,…,βm);(p1,…,pi,…,pm)),對三層前向BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,使其具有自適應(yīng)、自學(xué)習(xí)能力。學(xué)習(xí)完成后,得到一個的最佳的優(yōu)先因子對(p,p,…,p,…,p),代入配方模型,即可得到滿意的配方。
表1 某香型白酒勾兌配方指標(biāo)Table1 Index of a flavor liquor blending formula
針對表1,本文構(gòu)造的三層前向BP神經(jīng)網(wǎng)絡(luò)實際上是對多輸入—多輸出(MIMO)系統(tǒng)P(p1,…,pi,…,p24)=f(β1,…,βi,…,β24)的模型辨識的過程,標(biāo)樣酒中有24種微量成分,故確定神經(jīng)網(wǎng)絡(luò)的輸入層和輸出層有24個神經(jīng)元;而中間層(隱層)的神經(jīng)元個數(shù)則要依據(jù)選取的樣本數(shù)和訓(xùn)練結(jié)果而定;其輸入層、中間層和輸出層函數(shù)均采用Sigmoid函數(shù),通過實驗確定函數(shù)的參數(shù)α=0.5,β=0.5;然后根據(jù)歷史的勾兌記錄與數(shù)據(jù),從成品酒(標(biāo)樣酒)的微量成分含量與相應(yīng)優(yōu)先因子的關(guān)系中依據(jù)樣本選取規(guī)則提取出訓(xùn)練樣本運用Matlab神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行訓(xùn)練。
最終通過實驗確定中間層神經(jīng)元為34個,采用帶有動量因子α的BP反向傳播算法,得α=0.9,學(xué)習(xí)率η=0.75,迭代樣本誤差Eout=∑(pi-p)2≤10-10,大約迭代800次便可收斂,效果較好,如圖2所
圖2 仿真過程和結(jié)果Fig.2 The simulation process and result
經(jīng)過仿真運算,得到如下解:基于單純的目標(biāo)規(guī)劃算法得到的滿足約束條件的白酒勾兌配方解為(x1,x2,x3,x4)=(0.236,0.178,0.056,0.530);同時,基于神經(jīng)網(wǎng)絡(luò)的目標(biāo)規(guī)劃算法的最優(yōu)配方解為(x,x,,x)=(0.217,0.153,0.342,0.288);將上述解代入配方模型,分別得到相應(yīng)的理化指標(biāo)曲線,如表2及圖3所示。
由表2可以看出,采用基于神經(jīng)網(wǎng)絡(luò)的目標(biāo)規(guī)劃優(yōu)化算法后,每勾兌1 t白酒可降低成本57元,大大降低了勾兌的成本;而從圖3可看出,三角形虛線代表的基于神經(jīng)網(wǎng)絡(luò)目標(biāo)規(guī)劃算法得到的配方理化指標(biāo)曲線更加貼近于標(biāo)樣酒理化指標(biāo)曲線,得到的配方微量元素成分、口感等更加的平衡和符合標(biāo)樣酒。這說明了,基于神經(jīng)網(wǎng)絡(luò)目標(biāo)規(guī)劃算法得到的配方更能夠同時滿足微量元素成分平衡、口感最佳、成本最低等要求。
表2 配方結(jié)果比較Table2 Formula result comparison
圖3 理化指標(biāo)曲線對比Fig.3 Contrast of the physicochemical index curve
本文針對現(xiàn)有的基于目標(biāo)規(guī)劃算法的白酒勾兌方法難以應(yīng)用于實際的操作的缺點,利用人工神經(jīng)網(wǎng)絡(luò)方法對目標(biāo)規(guī)劃算法進(jìn)行改進(jìn),構(gòu)造出三層前向BP網(wǎng)絡(luò)對目標(biāo)規(guī)劃算法中的“優(yōu)先因子”進(jìn)行訓(xùn)練,以此得到一組最優(yōu)的“優(yōu)先因子”,代入多目標(biāo)配方模型,得到一個最優(yōu)的白酒勾兌配方解。Matlab仿真結(jié)果驗證了基于神經(jīng)網(wǎng)絡(luò)的目標(biāo)規(guī)劃算法能有效、快速的收斂,且有較高的學(xué)習(xí)率和自適應(yīng)能力,并能得到最優(yōu)的白酒勾兌配方解。因此,基于神經(jīng)網(wǎng)絡(luò)的目標(biāo)規(guī)劃算法具有較強的可行性和實用價值。
[1]李志民.基于神經(jīng)網(wǎng)絡(luò)的酒體勾兌系統(tǒng)的研究與開發(fā)[D].太原:中北大學(xué),2006:6-7.
[2]張永海.淺談計算機技術(shù)在新型白酒勾兌中的應(yīng)用[J].農(nóng)業(yè)與技術(shù),2010(5):132-133.
[3]李家明.應(yīng)用模糊數(shù)學(xué)理論創(chuàng)建蒸餾酒勾兌新方法[J].釀酒科技,2000(4):19-20.
[4]彭奎,劉念,潘建軍,等.江西章貢酒業(yè)微機勾兌網(wǎng)絡(luò)管理系統(tǒng)的開發(fā)[J].食品與發(fā)酵科技,2008(1):14-17.
[5]李家明.應(yīng)用模糊數(shù)學(xué)理論創(chuàng)建蒸餾酒勾兌新方法(續(xù))[J].釀酒科技,2000(6):17-18.
[6]黃漢英,魏明新,姚繼承.線性規(guī)劃在白酒勾兌技術(shù)中的應(yīng)用[J].華中農(nóng)業(yè)大學(xué)學(xué)報,2001(4):400-403.
[7]A Charnes,W W Cooper.Measuring the efficiency of decision making units[J].European Journal of Operational Research,1978 (2):429-444.
[8]張春梅,王海曉,菅美英.基于多目標(biāo)規(guī)劃的公交車調(diào)度方法研究[J].內(nèi)蒙古公路與運輸,2010(14):53-54.
[9]James P,Ignizio.Linear programming in single&multiple objective systems[M].上海:同濟大學(xué)出版社,1986.
[10]李慧玲,鄢烈祥,史彬.白酒勾兌的優(yōu)化模型與求解[J].武漢理工大學(xué)學(xué)報,2008(3):388-400.
[11]王宗軍.多目標(biāo)權(quán)系數(shù)賦值方法及其選擇策略[J].系統(tǒng)工程與電子技術(shù),1993(6):35-41.
[12]程玥.BP神經(jīng)網(wǎng)絡(luò)的算法改進(jìn)與應(yīng)用研究[D].重慶:重慶大學(xué),2011:12-13.
[13]JLYuan,T L Fine.Neural-Network design for small training sets of high dimension[J].IEEE Trans Neural Networks,1998 (3):266-236.
[14]David J C MacKay.A practical bayesian framework for backpropagation networks[J].Neural Computation,1992(4): 448-472.
[15]Feng Xiaoyun.The research of fuzzy pre-diction and its application in train’s automatic control[C]//Autonomous Decentralized Systems,2000 Proceedings,2000 International Workshop,2000:82286.