王愛英,陳 鵬,吳雨婷,王立雄,于 娟
(天津大學(xué) 天津市建筑物理環(huán)境與生態(tài)技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津 300072)
照明設(shè)計優(yōu)化涉及光源和燈具優(yōu)化[1]、節(jié)能優(yōu)化[2]、視覺舒適度要求的照明質(zhì)量優(yōu)化[3]、以及健康照明與智能照明大趨勢下的光譜與控制優(yōu)化[4, 5]等多個范疇,各優(yōu)化之間關(guān)聯(lián),需要統(tǒng)籌優(yōu)化。傳統(tǒng)的照明設(shè)計優(yōu)化是在DIALux等模擬平臺上反復(fù)比選模擬方案,缺點(diǎn)是費(fèi)時費(fèi)力。研究者已經(jīng)提出了用層次分析法[6]實(shí)現(xiàn)綜合評估、用最優(yōu)化方法[7]提高比選速度等方法,致力于擴(kuò)展優(yōu)化范圍、提高優(yōu)化效率。
Costa等[8]提出,建筑光環(huán)境優(yōu)化屬于難以確定函數(shù)表達(dá)式的“黑盒”問題。傳統(tǒng)的梯度優(yōu)化方法不適合解決“黑盒”優(yōu)化,啟發(fā)式算法則較易解決。啟發(fā)式算法模擬自然界和社會中發(fā)生的各種優(yōu)化現(xiàn)象,自20世紀(jì)70年代以來已經(jīng)在許多工程領(lǐng)域得到成功應(yīng)用[9]。建筑領(lǐng)域中,啟發(fā)式算法在鋼結(jié)構(gòu)優(yōu)化[10]、建筑性能優(yōu)化[11]、建筑布局優(yōu)化[12]等方面表現(xiàn)出很好的潛力。將啟發(fā)式算法引入照明設(shè)計優(yōu)化,對實(shí)現(xiàn)智能優(yōu)化,提高照明設(shè)計的效率和質(zhì)量,改善建筑光環(huán)境有重要意義。
啟發(fā)式算法將優(yōu)化問題中無限的解決方案抽象成巨大的有限可行解空間,利用問題擁有的啟發(fā)信息來引導(dǎo)最優(yōu)解的搜索過程,使得結(jié)果在迭代中逐步導(dǎo)向更符合預(yù)設(shè)目標(biāo)的方向,達(dá)到減少搜索范圍、降低問題復(fù)雜度的目的,常見的啟發(fā)式算法見表1。這些方法適用于解決非凸的函數(shù)優(yōu)化問題,能應(yīng)對設(shè)計實(shí)踐中的復(fù)雜情況,為設(shè)計優(yōu)化的智能化、自動化提供了基礎(chǔ)。
表1 常見的啟發(fā)式算法[13-19]
設(shè)計優(yōu)化可以概括為調(diào)整設(shè)計方案的部分設(shè)計要素(如建筑的空間布局、材料選擇等),以實(shí)現(xiàn)優(yōu)化目標(biāo)(高工效、低能耗等)的過程。對設(shè)計優(yōu)化來說,啟發(fā)式算法的基本框架如圖1所示:
“決策變量”指設(shè)計方案中待調(diào)整的要素,往往是多個維度的要素組合;
“目標(biāo)函數(shù)”描述優(yōu)化目標(biāo),是評價決策變量組合優(yōu)劣的一個或多個函數(shù);
“約束條件”是決策變量及其對應(yīng)的設(shè)計方案必須滿足的先決條件;
“評估”機(jī)制根據(jù)目標(biāo)函數(shù)和約束條件對決策變量進(jìn)行綜合評價;
“更新”機(jī)制對決策變量進(jìn)行改動,使其向更優(yōu)方向演化;
“編碼”和“解碼”機(jī)制將非參數(shù)的設(shè)計要素轉(zhuǎn)化為可被評估和更新機(jī)制處理的形式。
啟發(fā)式算法還依種類有不同的控制參數(shù),用來調(diào)整評估、更新等機(jī)制,設(shè)定終止條件(優(yōu)化結(jié)束的條件,可以是目標(biāo)函數(shù)值達(dá)到的范圍、算法迭代次數(shù)等)。
啟發(fā)式算法應(yīng)用于照明設(shè)計優(yōu)化首先要根據(jù)設(shè)計要求建立優(yōu)化的數(shù)學(xué)模型,模型的特點(diǎn)包括決策變量是定距、定序還是定類;目標(biāo)函數(shù)是一個、幾個還是多個;是連續(xù)優(yōu)化問題還是組合優(yōu)化問題;搜索是精細(xì)的局部搜索還是廣泛的全局搜索等。根據(jù)不同的啟發(fā)式算法中多種多樣的編碼、解碼、更新和評估機(jī)制來選擇最佳算法解決問題?,F(xiàn)有的照明優(yōu)化研究為數(shù)學(xué)模型建立和算法選擇提供了參考。
圖1 啟發(fā)式算法的基本框架Fig.1 The basic framework of heuristic algorithms
根據(jù)設(shè)計要求和數(shù)學(xué)模型的特點(diǎn),可以將啟發(fā)式算法解決的照明設(shè)計優(yōu)化問題分為兩大類:逆設(shè)計和多目標(biāo)優(yōu)化。
照明逆設(shè)計是根據(jù)空間形態(tài)和空間中的光分布要求(照度、均勻度、亮度等指標(biāo))創(chuàng)建光源布置方案的過程。逆設(shè)計在照明設(shè)計領(lǐng)域的應(yīng)用最早可以追溯到1993年Schoeneman等[20]的研究:建立光源數(shù)量、位置和配光不變的虛擬空間,用戶手動繪制出參照光分布,程序以約束最小二乘法擬合出各個光源提供的光通量。該研究還指出,參照光分布條件下,對光源位置和強(qiáng)度的逆設(shè)計是非線性約束優(yōu)化問題。表2例舉了啟發(fā)式算法解決的照明逆設(shè)計問題。應(yīng)用啟發(fā)式算法使非線性約束優(yōu)化問題的計算難度大大降低,可調(diào)優(yōu)的參數(shù)范圍大大增加。
表2 啟發(fā)式算法解決的照明逆設(shè)計問題舉例
當(dāng)設(shè)計需要優(yōu)化的目標(biāo)較多且有目標(biāo)存在矛盾時,就不宜采用逆設(shè)計策略。這類問題往往需要多個目標(biāo)間的均衡和取舍,選出若干較合理的方案,即多目標(biāo)優(yōu)化。多目標(biāo)優(yōu)化算法可以分為經(jīng)典方法和Pareto排序方法兩大類:基于經(jīng)典方法的多目標(biāo)優(yōu)化通過一些適配方法將多個目標(biāo)整合成單一的目標(biāo)函數(shù),算法運(yùn)行一次產(chǎn)生一個優(yōu)化結(jié)果;基于Pareto排序方法的多目標(biāo)優(yōu)化則對各個目標(biāo)進(jìn)行綜合排序,運(yùn)行一次可得到一組在各個目標(biāo)間偏重不同的結(jié)果,即Pareto前沿解。基于經(jīng)典方法的多目標(biāo)優(yōu)化中可以嵌入多種多樣的啟發(fā)式算法(表3),基于Pareto排序方法的多目標(biāo)優(yōu)化問題NSGA-II算法占絕對優(yōu)勢(表4)。
逆設(shè)計往往需要一組給定的參照值。能夠確定存在完全符合參照值要求的方案時,可設(shè)約束也可不設(shè)約束。如果求目標(biāo)的最低值(也可理解為參照值設(shè)為0),則要根據(jù)實(shí)際情況設(shè)置約束條件以保證生成有意義的方案。這時,生成的最優(yōu)解往往會分布在約束條件限定出的邊界上,比較考驗(yàn)算法的全局搜索能力。
表3 基于經(jīng)典方法解決的照明多目標(biāo)優(yōu)化問題舉例
表4 基于Pareto排序方法解決的照明多目標(biāo)優(yōu)化問題舉例(算法均為NSGA-II)
經(jīng)典方法可以解決目標(biāo)有矛盾或無矛盾的多目標(biāo)優(yōu)化問題。目標(biāo)有矛盾時,在目標(biāo)函數(shù)設(shè)計中要注意使各個目標(biāo)同向。例如高照度和低眩光是一對相反的目標(biāo),但算法解決的是最小化問題,就要對照度值求倒數(shù)或求相反數(shù),這樣,照度變高或眩光變低才都會使目標(biāo)函數(shù)減小。還要用歸一化等方法將各目標(biāo)的變化范圍統(tǒng)一,保證所有目標(biāo)都能得到優(yōu)化,再在歸一化的數(shù)值基礎(chǔ)上確定各目標(biāo)的權(quán)重值。理論上經(jīng)典方法的最優(yōu)解可以收斂到穩(wěn)定的范圍內(nèi),優(yōu)化程度與算法的局部搜索能力有關(guān)。
以Pareto排序方法解決多目標(biāo)優(yōu)化時,優(yōu)化目標(biāo)間應(yīng)當(dāng)存在矛盾,即決策變量使得一個目標(biāo)變優(yōu)時可能使另一個目標(biāo)變劣,如均勻度和能耗,或2種偏好不同的人群的舒適度。若部分子目標(biāo)間沒有矛盾,則應(yīng)參考經(jīng)典方法,將這些子目標(biāo)整合成一個目標(biāo)。存在矛盾的目標(biāo)一般不需要做歸一化處理。理論上得到的最優(yōu)解集是真實(shí)Pareto前沿解的子集,因此該方法具有不確定性。以方案的優(yōu)化程度為重時,可以選擇經(jīng)典方法,以方案的多樣性為重時,可以選擇Pareto排序方法。此外,NSGA-II解決的存在矛盾的目標(biāo)數(shù)量一般不超過3個,過多可能導(dǎo)致方案的優(yōu)化程度下降。
確定優(yōu)化問題類型之后,需要選擇平臺實(shí)施優(yōu)化。上述研究多基于MATLAB平臺進(jìn)行,但該平臺與照明設(shè)計實(shí)踐相去甚遠(yuǎn);而實(shí)踐應(yīng)用的照明設(shè)計軟件如DIALux、ReLux等均不支持利用啟發(fā)式算法實(shí)現(xiàn)設(shè)計優(yōu)化。因此,需要探索新的照明設(shè)計優(yōu)化平臺。因?yàn)檎彰餍Чc空間形態(tài)、表面材料關(guān)系密切,要實(shí)現(xiàn)全面的照明設(shè)計優(yōu)化,除了照明光源信息(通過導(dǎo)入IES文件獲取),還需要建筑空間信息,所以建筑設(shè)計軟件是更有前景的優(yōu)化實(shí)施平臺。研究[40]證明不存在能夠解決所有優(yōu)化問題的通用算法,因此需要針對照明問題的特點(diǎn)選取算法,對應(yīng)要求實(shí)施平臺具備基于啟發(fā)式算法基本原理的可擴(kuò)展框架,提供編碼、解碼、評估和更新機(jī)制的模塊,用戶自行“組裝”出合適的算法。雖然最理想的實(shí)施平臺是能夠通過自帶的模擬工具完成所有的目標(biāo)函數(shù)評估,但目前更多情況下需要和外部模擬工具聯(lián)動,且需要設(shè)計師或研究者自行編程,這就要求實(shí)施平臺為二次開發(fā)提供豐富的接口和簡潔的調(diào)用方式,并做到能用腳本語言等易懂易學(xué)的語言讀取模型信息,支持?jǐn)?shù)據(jù)的導(dǎo)入導(dǎo)出。
綜上,能夠?qū)嵤┱彰鲀?yōu)化的設(shè)計軟件平臺需具備2大前提條件:1)建筑照明全信息集成;2)啟發(fā)式算法可擴(kuò)展或二次開發(fā)友好。目前,能夠滿足上述要求的建筑設(shè)計軟件有Rhino+Grasshopper、Revit+Dynamo、Blender。
近年來Rhino因其強(qiáng)大的造型能力受到建筑師青睞,基于該平臺的可視化編程插件Grasshopper使啟發(fā)式算法應(yīng)用于設(shè)計優(yōu)化的難度大大降低。
信息集成方面,Grasshopper可以通過安裝插件和建筑環(huán)境模擬軟件實(shí)現(xiàn)信息數(shù)據(jù)共享,例如通過Geco[41]插件將模型導(dǎo)入Ecotect,或通過Ladybug、Honeybee系列插件[42]調(diào)用Radiance做采光和照明分析。
算法方面,Galapagos[43]是Grasshopper內(nèi)置模塊,可以實(shí)現(xiàn)遺傳算法、退火算法等單目標(biāo)優(yōu)化算法;Octopus[44]是一款第三方插件,目前支持多目標(biāo)優(yōu)化算法SPEA2、分類算法SVM(支持向量機(jī))、人工神經(jīng)網(wǎng)絡(luò)等,并支持在進(jìn)化過程中由用戶參與更新?;谶@些工具可以在Grasshopper中搭建優(yōu)化框架。陳航[45]使用Ladybug和Honeybee建立建筑性能模擬平臺,以O(shè)ctopus進(jìn)行優(yōu)化,得到了以低能耗、高舒適度為目標(biāo)的窗口設(shè)計方式。Chang等[46]利用Galapagos優(yōu)化建筑形態(tài)參數(shù)和開窗參數(shù),以實(shí)現(xiàn)高照度和低能耗。
信息集成方面,Revit是BIM核心建模軟件,支持建筑、結(jié)構(gòu)、電氣、照明等多專業(yè)的協(xié)同設(shè)計。Dynamo是一款開源的可視化編程軟件,以插件形式存在于Revit中,能以模塊化的形式調(diào)用大部分的Revit API,獲得模型中多專業(yè)的參數(shù)信息。
算法方面,目前Dynamo并未內(nèi)置啟發(fā)式算法,但已經(jīng)有許多研究者提供了第三方算法庫:Rahmani等[47]開發(fā)了NSGA-II算法庫Optimo,允許用戶用Dynamo節(jié)點(diǎn)自定義目標(biāo)函數(shù),且目標(biāo)函數(shù)節(jié)點(diǎn)可以和Revit實(shí)時交互,實(shí)用性較強(qiáng),已經(jīng)有設(shè)計師用Optimo在聲學(xué)、采光等領(lǐng)域做出了成功的優(yōu)化設(shè)計實(shí)踐;曹寧[48]編寫了多目標(biāo)粒子群算法庫MOPSO,以辦公室為例,以能耗和均勻度為目標(biāo),優(yōu)化了位置不變燈具的光通量;胡啟陽[49]編寫了線性規(guī)劃算法庫,以冬季和夏季得熱量為目標(biāo)對空間和窗戶形態(tài)進(jìn)行了多目標(biāo)優(yōu)化,證明了算法的可行性。
信息集成方面,借助第三方插件,Blender支持IFC格式的BIM模型導(dǎo)入,還可以完成一些照明分析工作,但功能還需完善。
算法方面,Blender的優(yōu)勢是自帶標(biāo)準(zhǔn)的Python 3解釋器,因此可以在腳本中調(diào)用NumPy、SciPy等科學(xué)計算庫,還可以用Python對模型進(jìn)行互動操作。Plebe等基于Blender做了大量的多目標(biāo)遺傳算法應(yīng)用于照明優(yōu)化的研究[37, 50]。但Blender內(nèi)的算法要基于腳本實(shí)現(xiàn),要求使用者有一定的編程能力。
綜上,對比信息集成、算法豐富性(可擴(kuò)展)、非程序人員(設(shè)計人員)的二次開發(fā)友好性(表5),同時針對照明專業(yè)計算準(zhǔn)確度需要獲取完整的建筑照明信息的考慮,以及多專業(yè)協(xié)同設(shè)計以提升工作效率的未來趨勢,Revit+Dynamo是更適合執(zhí)行啟發(fā)式算法主導(dǎo)的照明設(shè)計優(yōu)化的實(shí)施平臺。當(dāng)然,Revit+Dynamo平臺仍然需要從算法種類、設(shè)計優(yōu)化的深度、適應(yīng)度函數(shù)的易用性、算法運(yùn)行的設(shè)計者參與程度等層面改進(jìn)。
表5 啟發(fā)式算法應(yīng)用于照明設(shè)計優(yōu)化的實(shí)施平臺對比
雖然Revit+Dynamo平臺有實(shí)現(xiàn)啟發(fā)式算法的優(yōu)勢,但還未達(dá)到完全滿意。一項(xiàng)針對建筑在讀生和建筑師的調(diào)查顯示[51],設(shè)計領(lǐng)域僅有6.6%人士將Dynamo作為最常用的設(shè)計平臺。這和Dynamo平臺提供的優(yōu)化工具尚不完善有一定關(guān)系。該調(diào)查還表明,優(yōu)化過程上,54.3%的受訪者希望能參與算法中所有參數(shù)的調(diào)整,90.7%的受訪者希望能使自己的主觀選擇影響優(yōu)化進(jìn)程;優(yōu)化結(jié)果上,82.2%的受訪者希望算法給出一組優(yōu)化結(jié)果而不是一個;運(yùn)行時間上,65%以上的受訪者希望能夠在1 h內(nèi)完成優(yōu)化。而現(xiàn)有的照明優(yōu)化研究還不能滿足上述所有要求,需要結(jié)合照明優(yōu)化問題的特點(diǎn)對啟發(fā)式算法的編碼、解碼、評估和更新機(jī)制做出改進(jìn)?;诖私Y(jié)論與實(shí)施平臺現(xiàn)狀,以及建筑領(lǐng)域中其他專業(yè)學(xué)者對啟發(fā)式算法的研究成果,提出啟發(fā)式算法在照明設(shè)計領(lǐng)域的改進(jìn)方向。
研究[52]顯示,解決建筑環(huán)境的優(yōu)化問題,遺傳算法并不總是最優(yōu)選擇,粒子群算法、退火算法等也各具優(yōu)勢。因此:
1)逆設(shè)計方面??梢詢?yōu)先將退火算法、差分進(jìn)化算法等主流啟發(fā)式算法引入Dynamo平臺。人工魚群算法、布谷鳥搜索算法等新的啟發(fā)式算法在快速得到可行解、隨機(jī)尋優(yōu)能力方面具有優(yōu)勢,也可以在算法通過對照明優(yōu)化問題的測試后加入Dynamo算法庫。
2)多目標(biāo)優(yōu)化方面??梢钥紤]開發(fā)NSGA-III、MOEA/D等算法插件來解決目標(biāo)數(shù)目在3個以上的優(yōu)化問題,有研究表明這幾種算法可以在保證向更優(yōu)方向演進(jìn)的前提下獲得具有多樣性的Pareto前沿解[53]。
相比采光和節(jié)能優(yōu)化,照明設(shè)計優(yōu)化還不夠充分和深入,原因有:精確的照明模擬耗時過長,有些優(yōu)化甚至需要幾小時到幾天;光源布置、材料選擇等非參數(shù)的照明設(shè)計要素需要合理的編碼方式;照明規(guī)范的強(qiáng)制性照明指標(biāo)使得約束條件設(shè)置過多,可能導(dǎo)致算法無法找到最優(yōu)解,等等。
1)針對照明模擬的時長和精度問題。相比高配置硬件或云端執(zhí)行照明計算等手段,從算法本身做出改進(jìn)來減少計算耗時是更直接高效的方式??梢愿倪M(jìn)算法結(jié)構(gòu)來提高計算效率,比如將粒子群算法、人工魚群算法等群智能優(yōu)化算法并行化,就能夠以增加計算機(jī)CPU占用率的方式減少計算時間;還可以簡化目標(biāo)函數(shù),比如在不需要高精度計算光分布的初步設(shè)計階段,利用光通轉(zhuǎn)移理論將空間簡化為三面模型[54]來近似計算照明指標(biāo)。
2)針對編碼和解碼問題。照明設(shè)計優(yōu)化的編碼難點(diǎn)主要體現(xiàn)在光源布置的編碼表達(dá)上。有研究允許光源位置任意的布局方式,但在實(shí)際工程中,受安裝載體和空間使用限制,任意布局并不合理。可以依據(jù)設(shè)計方案先設(shè)定光源的布置規(guī)則,提取描述規(guī)則的控制參數(shù)作為決策變量,控制參數(shù)應(yīng)具有:a)唯一性,算法運(yùn)行中可能產(chǎn)生的每一組決策變量都和有效的設(shè)計方案一一對應(yīng);b)連續(xù)性,相似的設(shè)計方案編碼后的形式也應(yīng)相近。例如,對矩形房間內(nèi)的網(wǎng)格布燈方式來說,設(shè)定控制參數(shù)為安裝高度、橫向間距、縱向間距、距墻距離,即可生成豐富合理的布燈方案。
3)針對約束條件過多導(dǎo)致優(yōu)化困難的問題。在設(shè)定合理的約束范圍限值基礎(chǔ)上,可采用啟發(fā)式算法的“內(nèi)點(diǎn)法”對約束條件進(jìn)行分析,使得更新得到的新決策變量落在約束條件范圍內(nèi)。內(nèi)點(diǎn)法屬于約束優(yōu)化算法,通過引入效用函數(shù)的方法將約束優(yōu)化問題轉(zhuǎn)換成無約束問題,再利用優(yōu)化迭代過程不斷地更新效用函數(shù),當(dāng)?shù)c(diǎn)靠近邊界時,目標(biāo)函數(shù)陡然增大,阻止迭代點(diǎn)穿越邊界,以使算法收斂。
對應(yīng)于Revit+Dynamo作為照明設(shè)計優(yōu)化優(yōu)選實(shí)施平臺的結(jié)論,以及上述滿意度調(diào)查和算法深化要求,需要編寫以下插件,保證啟發(fā)式算法與實(shí)施平臺的深度融合:
1)變量范圍生成器,根據(jù)設(shè)計基礎(chǔ)條件和約束條件估算決策變量的初始范圍;
2)約束條件求解器,根據(jù)設(shè)計目標(biāo)和照明規(guī)范判定算法生成的決策變量是否有效;
3)目標(biāo)函數(shù)求解器,支持“黑盒”式優(yōu)化,即通過非數(shù)學(xué)函數(shù)的形式求出目標(biāo)函數(shù)值;
4)偏好選擇工具,支持將主觀評價函數(shù),即反映用戶主觀偏好的函數(shù)加入啟發(fā)式算法的評估和更新過程;
5)算法求解器,提供可供用戶自由選擇的啟發(fā)式算法庫,支持根據(jù)算法類型輸入不同控制參數(shù);
6)編碼和解碼器,集成在每個模塊之內(nèi),根據(jù)不同啟發(fā)式算法結(jié)構(gòu)在每次迭代的更新之前執(zhí)行編碼過程,評估之前執(zhí)行解碼過程。
插件間關(guān)系如圖2所示。
圖2 基于Revit+Dynamo的照明設(shè)計優(yōu)化插件框架Fig.2 Framework of lighting design optimization plug-in based on Revit+Dynamo
在照明領(lǐng)域,啟發(fā)式算法用以解決逆設(shè)計問題和多目標(biāo)優(yōu)化問題,優(yōu)化目標(biāo)包括根據(jù)參照光分布生成照明方案、提升工效和舒適度、減少能耗等多個方面,常見的啟發(fā)式算法都得到了應(yīng)用?,F(xiàn)有的設(shè)計平臺中最適合實(shí)施啟發(fā)式算法照明設(shè)計優(yōu)化的是Revit+Dynamo。
啟發(fā)式算法應(yīng)用于照明設(shè)計優(yōu)化的改進(jìn)方向包括:
1)擴(kuò)展算法種類;
2)結(jié)合照明設(shè)計的特點(diǎn),從設(shè)定算法結(jié)構(gòu)、以參數(shù)化方式實(shí)現(xiàn)算法的編碼和解碼、引入效用函數(shù)設(shè)置約束條件保證算法收斂3個角度深化算法;
3)編寫插件時將用戶主觀偏好加入算法評估和更新過程。
應(yīng)此需求,在Dynamo中開發(fā)相應(yīng)插件,旨在使建筑照明設(shè)計優(yōu)化更加高效、精準(zhǔn),推動設(shè)計優(yōu)化的智能化、自動化。