孫俊玲
(1.武漢大學 計算機學院,湖北 武漢 430072;2.河南財政稅務高等??茖W校 信息工程系,河南 鄭州 451464)
作為一個特殊的人群,運動員比常人所消耗的能量物質多,需要得到更多、更全面的營養(yǎng)才能滿足運動的需要,所以更應注意食物的合理搭配.運動員營養(yǎng)膳食決策模型屬于一個典型的多目標優(yōu)化問題.從1920年由Von Neumann建立數學基礎以來,博弈理論在研究解決經濟和數學領域的多目標問題方面已經有許多貢獻.博弈理論引進了博弈和優(yōu)化問題相關局中人的概念,在博弈理論多目標設計中,每個涉及到的局中人有他自己的目標.在博弈期間,局中人試圖改進它的目標直到系統(tǒng)達到均衡狀態(tài).
博弈論是運籌學的一個重要分支,它所研究的典型問題是兩個或兩個以上的參加者(稱為局中人)在某種競爭性或對抗性的場合下各自做出決策,使自己的一方盡可能得到最有利的結果.所謂博弈就是一組規(guī)則,它規(guī)定了整個博弈自始至終所應遵循的各項章程,包括局中人、策略、選定策略后的結局等等.兩個局中人的策略和函數可以表示為支付矩陣,通常用一個列表來表示.如果博弈中局中人甲得到的支付值就是局中人乙失去的
進化博弈理論的主要貢獻就是進化穩(wěn)定戰(zhàn)略(ESS)的概念.ESS是由著名生物學家Maynard Smith提出的,它的含義就是,進化所選擇的戰(zhàn)略,不僅執(zhí)行時趨于改進的方向,而且也趨向于穩(wěn)定狀態(tài).ESS是Nash均衡[1]的精華.作為替代,Maynard Smith顯示,通過達爾文進化選擇過程 ,可以達到博弈理論上的均衡.
科學合理膳食是取得優(yōu)異成績的基礎,在比賽和訓練中,運動員的體力消耗很大,如果沒有足夠的營養(yǎng)補充,身體機能就會下降,影響訓練效果和比賽成績.充足的熱量能夠增強身體抵抗力,滿足機體的需要;合理的加餐可以保證身體的健康和精力的充沛;由于其在爆發(fā)力、耐力、協(xié)調性等諸方面各有不同,不同項目的運動員有各自的需求和側重.
人體需要的營養(yǎng)主要有:蛋白質、脂肪、維生素、無機鹽和水.在營養(yǎng)學中,能量的熱量單位常采用kJ為單位來計算.
優(yōu)秀運動員的每日總熱能供給標準[2-3]有5級:
(1)8 372~11 721 kJ/d(均值10 046 kJ/d).
(2)9 209~13 395 kJ/d(均值11 302 kJ/d).
(3)11 302~17 581 kJ/d(均值14 651 kJ/d).
(4)15 488~19 674 kJ/d(均值17 581 kJ/d).
(5)≥19 674 kJ/d(按19 674 kJ/d).
具體的項目劃分參考表1.有減體重和控體重等要求的運動員不采用此標準.
在運動員的營養(yǎng)膳食配餐時,食物的碳水化合物、蛋白質、脂肪的比例適當是非常重要的.其中,蛋白質營養(yǎng)素對于機體的修復有很大幫助;碳水化合物是運動員膳食的主要組成成分,可以有效地發(fā)揮運動員的最佳運動能力;脂肪由于在氧化時氧的利用率較低的緣故,不能滿足高強度運動的需要.根據三大營養(yǎng)素的各自特點,優(yōu)秀運動員每日三大熱能營養(yǎng)素的供熱比例標準為:
式中,Ld(s)為傳遞函數,T0為時間常數。根文獻[9]中的評價公式,試驗不同的低通濾波器的濾波效果,濾波時間常數為18時結果較為滿意,所得到的濾波效果如圖6所示。圖中,低頻部分中分配給電池承擔的負載功率仍然有較高的功率需求,而此時高頻部分負載功率并不大,所以在濾波器后又設計了模糊控制器來進一步處理低頻部分。
脂肪提供熱能的比例應該占總熱能的25%~30%(游泳和冰上項目可以增加到35%).
碳水化合物提供的熱能的比例占總熱能的50%~60%,其中耐力項目可以適當增加到65%或70%.
蛋白質提供熱能的比例占總熱能的12%~15%,其中優(yōu)質蛋白不能低于30%(少年運動員可以適當增加蛋白質的攝入,以滿足發(fā)育生長的需要).
為了保證上、下午的訓練,要合理安排一日三餐的熱能供給.為保證上午的訓練課的質量,運動員的早餐應該提供25%左右的熱能,且各種營養(yǎng)素齊全和均衡.午餐熱能應占35%~40%,這將有利于下午的訓練課.由于運動員晚上主要是休息,晚餐的熱能比例不要超過30%.訓練中的加餐的總量所占的比例很?。▋H占5%~10%),但對于保證訓練質量也是至關重要的.
表1 優(yōu)秀運動員的一日熱能供給標準
每個種群相當于對局者,且種群個體的適應值作為博弈的獎賞被估算.這個獎賞來自于另一個對立種群的對局者.根據博弈模型,可以實現基于博弈模型的進化算法[4].貫穿博弈始終,每個對局者都試圖最優(yōu)化它們自己的目標.在進化種群中,所有個體被賦予一個適應值,適應值的大小是根據其在博弈中獲勝的比率來決定.下面描述為了搜索MOP的ESS而設計的共同進化算法[5-6].
為了設計基于博弈模型的共同進化算法,需要先產生一個隨機的種群.種群中每個個體都被賦予一個適應值.在博弈過程中,第1個種群的每個個體和剩余種群的其他個體進行博弈.其適應值分別由公式(1)和(2)計算.在剩余種群的其他個體依次執(zhí)行同樣操作.利用變異、交叉等操作,獨立地產生種群的下一代個體.
下面列出了基于博弈模型的共同進化算法的步驟:
步驟1:隨機產生兩個種群.
步驟2:主要種群的第1個個體與另一個種群的每個個體進行博弈,計算出它的適應值.按同樣方式,也可以計算出第2個種群的對應個體的適應值.
步驟4:按照第2步和第3步的處理過程,對于第2個種群的所有個體執(zhí)行同樣操作.
式(1)~(3)中:xi和yj分別表示第1個種群和第2個種群的個體.圖1中,fa(yj),fa(xi),fb(yj)和fb(xi)是xi或yj分別對于fa(x),fb(x)的值.在公式(3)中,fa_max(x)和fb_max(x)指出fa(x),fb(x)對于給定變量的最大值.
步驟5:使用公式(1)和(2),確定的Fitness(xi)和Fitness(yj),計算對應的適應值,獨立地產生出每個種群的下一代個體.
步驟6:終止條件不滿足的話,則重復執(zhí)行第2和第3步.
圖1 計算收益值的目標函數
一個超多目標優(yōu)化問題,目標集合ρ={ρ1,ρ2,ρ3,…,ρn},決策變量集合X={x1,x2,x3,…,xk,…,xm}.假設目標對ρ1,ρ2之間存在沖突關系.超多目標優(yōu)化問題ρ分為2個子問題,即問題a:ρa={ρ1,ρ3,…,ρn},Xa={x1,x2,x3,…,xm};問題b:ρb={ρ2,ρ3,…,ρn},Xb={x1,…,xm}.
假設2個子種群Popa和Popb,分別來表示問題a和問題b.各種群可以選擇先進的多目標技術優(yōu)化.通過對基于博弈模型共同進化算法的一些改進,結合常用的多目標技術可以設計求解上述問題的算法.
在種群中所有個體都被賦予一個適應值.在博弈中,第1個種群的每個個體與剩余種群的其他個體進行博弈,適應值由(1)和(2)計算.在剩余種群的其他個體用相同的方式依次執(zhí)行同樣操作.使用這個適應值以及交叉、變異操作,獨立地來產生每個種群的下一代個體.
改進的博弈模型共同進化降維算法描述如下:
假設一個超多目標優(yōu)化問題,目標集合ρ={ρ1,ρ2,ρ3,…,ρn},決策變量集合X={x1,x2,x3,…,xk,…,xm}.假設目標對ρ1,ρ2,它們之間存在完全協(xié)調關系,則根據協(xié)調關系的定義,可以刪除其中的1個目標,且不會影響它的優(yōu)化結果,這樣可以自動達到降維的目的.如果目標對ρ1,ρ2之間互相獨立,則可以轉化成2個獨立的n-1維的優(yōu)化問題.即:子問題1的目標集合為{ρ1,ρ3,…,ρn},決策變量集合為{x1,x2,…,xk,…,xm}和子問題2目標集合為{ρ2,ρ3,…,ρn},決策變量集合也為{x1,x2,…,xk,…,xm};可以各自獨立優(yōu)化子問題1和子問題2,最后合并其各自的優(yōu)化結果得到完整問題的最優(yōu)解.如果ρ1,ρ2之間存在沖突關系,則可以劃分多目標優(yōu)化問題為2個(n-1)維子問題,即問題a:ρa={ρ1,ρ3,…,ρn},Xa=X={x1,…,xm};問題b:ρb={ρ2,ρ3,…,ρn},Xb=X={x1,…,xm}.它們共同進化,各自實現ρa和ρb的目標.采用改進的基于博弈模型的共同進化算法如下:
步驟1:設Popa(t)為子種群1,Popb(t)為子種群2,它們分別代表問題a和問題b;生成初始種群Popa(t),Popb(t),t=0;其中t為進化代數.
步驟2:計算種群1(即子問題a)的每個個體的目標值.但ρ1的目標值采用(4)式來計算.種群1的個體與另一個種群的每個個體進行博弈,計算反饋的獎賞值和.
對于每個個體的目標向量采用NSGA-II方法的進行分層的非支配排序,對于同層的非支配集合,計算它的支配度,按支配度來分類.這樣可以得到各個個體目標向量的排序,根據排序同時結合密度估計策略計算Popb(t)每個個體的適應值.
計算它的適應值級別.第2個種群的對立個體的適應值按同樣方式依次被計算.
步驟3:對于第2個種群的所有個體按照第2步類似方法執(zhí)行.
計算種群2(即子問題b)的每個個體的目標值.但子問題b的ρ2的目標值采用(5)式來計算.種群2的個體與另一個種群的每個個體進行博弈,計算ρ2目標反饋的獎賞值和.
采用NSGA-II算法,對每個個體的目標向量進行分層非支配排序,對于同層的非支配集合,計算它的支配度,按支配度來分類.這樣可以獲得個體的目標向量排序,根據排序結果結合密度估計策略計算Popa(t)中每個個體的適應值.
步驟4:對于第2個種群的所有個體同樣執(zhí)行第2步和第3步的處理過程.
式(4)和(5)中:xai和xbi分別表示第1個種群和第2個種群的個體,分別是種群1中個體k的ρ2目標值和種群2中個體i的ρ1目標值;ρ1amax和ρ2bmax指出對于種群1給定個體和種群2的給定個體在目標ρ2中的最大值.其他符號的含義類似.
步驟5:如果滿足的算法終止條件,則轉步驟7;否則轉步驟6.
步驟6:對于子種群1:Popa(t)和子種群2:Popb(t),根據已經被計算出的適應值,可以分別執(zhí)行選擇、雜交、變異等遺傳操作,最后產生出下一代種群Pop(t+l);t=t+l,轉步驟2.
步驟7:輸出結果,算法終止.
使用博弈模型共同進化的降維技術來解決運動員營養(yǎng)配餐設計優(yōu)化問題[7],就是在給定的運動員標準的情況下,在配餐中搜索發(fā)現各類食物及其量的Pareo最優(yōu)解集,尋找目標函數空間中的目標函數的Pareo最優(yōu)邊界.作者以乒乓球運動員作為配餐對象,其中運動員的基本情況為:性別女,年齡20歲,體重60 kg,身高160 cm,中度勞動強度.該配餐的目標確定為:能量、蛋白質、脂肪、鈉.配餐方案及營養(yǎng)評估如表2、表3所示.
從表2和表3可以看出,將博弈模型共同進化的降維技術應用于運動員配餐系統(tǒng)提高了配餐求解效果,在4目標問題求解時,能夠較好地滿足配餐目標需求,各個目標的誤差率都小于10%.配餐方案符合專家建議的飲食要求,效果理想.
表2 乒乓球運動員配餐方案
表3 乒乓球運動員配餐方案營養(yǎng)評估
對運動員營養(yǎng)配餐設計中的多目標優(yōu)化模型進行了研究,提出了改進的博弈模型共同進化降維技術,并且應用到運動員營養(yǎng)配餐設計中,該方法在應用于運動員配餐中獲得了較好的效果,尤其在目標多于3個的情況下,運用該算法對多個配餐方案進行了分析,優(yōu)化結果驗證了算法的有效性和合理性.
[1] 陳冬.基于群智能及博弈策略的多目標優(yōu)化算法研究[D].長沙:湖南大學,2010.
[2]鮑蕾.運動員的營養(yǎng)膳食[EB/OL].[2013-02-03].http://www.51yys.com/articles/Show Article.asp?ArticleID=89,2007.
[3] 劉海玲.飲食營養(yǎng)與健康[M].北京:化學工業(yè)出版社,2005.
[4] 張慧.空間結構種群中基于博弈模型的合作進化的研究[D].蘭州:蘭州大學,2012.
[5] 張蕾,王高平.共同進化遺傳算法在臨床營養(yǎng)決策中的應用[J].計算機應用,2007,27(6):193-194.
[6] 周盛強,向錦武.進化合作博弈在飛機總體優(yōu)化中的應用[C]//第二屆中國航空學會青年科技論壇文集.北京:航空工業(yè)出版社,2006.
[7] Cui L,Wang G P.Clustering problem based on ant colony algorithm and it’s application in dietary nutrition decision supporting system.[C]//Proceedings of the 2008 IEEE Congress on ITME,USA,JEEE Computer Society Press,2008:512-515.