梁 邦,喻 飛,唐 博,吳泓潤
1(閩南師范大學 計算機學院,漳州 363000)
2(閩南師范大學 物理與信息工程學院,漳州 363000)
過去的30 年,房地產(chǎn)行業(yè)高速發(fā)展,房屋室內設計需求也隨之遞增. 傳統(tǒng)的室內設計是在房屋交付之后,由設計師根據(jù)戶型結構確定設計圖開始的. 設計師事先了解用戶需求,在固定結構設計基礎上進行平面圖繪制,最終將設計平面圖方案提供給用戶挑選. 在平面圖設計過程中,用戶無法參與其中,因此,設計師無法根據(jù)用戶的需求進行平面設計及時調整. 在精裝修房屋交付中,這種問題表現(xiàn)更加突出,由于房屋室內設計甚至戶型設計無法滿足用戶的個性化需求,房屋交付后業(yè)主重新規(guī)劃設計裝修的情況比比皆是,造成了社會資源的極大浪費. 近年來,國家要求房地產(chǎn)開發(fā)商提高精裝修房屋交付比例. 住建部印發(fā)的《建筑業(yè)發(fā)展“十三五”規(guī)劃》中明令要求,截止到2020 年新開工全裝修成品住宅面積達到30%,這類問題愈發(fā)嚴重.
在房屋設計的早期,特別是室內平面圖設計階段,引入用戶的個性化需求很有必要. 然而,絕大多數(shù)用戶缺少專業(yè)領域知識,他們無法準確描述自己的偏好或描繪出喜歡設計樣式,只能用相對口語化、模糊、情緒化的語言來形容,例如“大氣”“溫馨”“西式”等過于抽象的詞語. 最終,往往會出現(xiàn)這樣的情形: 設計師耗費大量精力設計出好幾套方案,但并不能符合用戶的要求,而用戶又說不出哪里不滿意. 因此,在室內平面圖的設計過程中讓用戶及時參與是解決該問題的關鍵.
室內平面設計可以看成是空間布局問題,屬于典型的優(yōu)化問題. 早先的文獻成果可分為兩大研究領域:空間調度和場地布局規(guī)劃,Thabet 等人[1]開發(fā)SCaRC(空間約束和資源約束)調度系統(tǒng),量化工作空間參數(shù),定義和合并調度過程中的工作空間可用性. Li 等人[2]用遺傳算法將施工現(xiàn)場級設施布局問題轉化為將預定設施分配到預定地點的問題,Jang 等人[3]用遺傳算法在前者基礎上改進,整合了空間調度和場地布局規(guī)劃兩個因素. 然而,傳統(tǒng)的空間調度和場地規(guī)劃不適用于現(xiàn)代房屋空間布局,原因在于室內設計不光涉及到房間大小或位置排列,還包含了采光、朝向、房間鄰接度等居住舒適度問題和中國傳統(tǒng)文化中獨有的風水因素,很難從既定的公式、數(shù)據(jù)中得到結果,既耗時又效率低下.
為了解決這類問題,我們設計了一種房屋平面圖生成算法,將交互式遺傳算法(interactive genetic algorithm,IGA)用于生成空間布局圖,讓用戶參與其中并對其進行評價,形成一種人機協(xié)同工作方式. 算法負責生成布局圖,用戶負責評價,評價的參數(shù)反饋到算法中,再次生成下一代更優(yōu)的布局圖,最終生成用戶滿意的圖紙. 規(guī)避了傳統(tǒng)演化算法缺少主觀手段的局限性的同時又充分發(fā)揮用戶的主觀能動性,幫助設計師找到符合用戶偏好、直觀的模型,作為討論的藍本,提高工作效率.
布局設計(layout design)問題即對特定對象合理排布與擺放的研究. 現(xiàn)代行業(yè)與工程中存在大量布局設計類問題,如海運碼頭的集裝箱擺放裝運問題[4],倉庫的設備材料流動問題[5]與車間調度問題[6],建筑行業(yè)的建筑布局設計問題等. 布局設計具有強烈的需求與龐大的市場空間,對其布局設計問題的研究具有廣泛而深刻的現(xiàn)實意義. 絕大多數(shù)布局設計問題都與空間密不可分,如一維空間的分割問題,二維空間的室內平面圖設計,三維空間的駕駛艙布局問題[7,8],因此空間布局問題占布局設計中的主要部分.
室內空間布局(indoor spatial layout)是室內設計中主要涉及的問題,也是布局設計中重要的研究方向,相較于其他類型的布局問題,室內空間布局更具研究價值和前景. 室內設計[9]、虛擬現(xiàn)實[10]、電腦游戲[11]等領域中已廣泛應用室內空間布局中的相關知識. 其中在建筑領域內,室內空間布局包含布局平面設計(空間分割)及場景優(yōu)化布局(家居裝飾),傳統(tǒng)的室內設計往往都是由設計師事先與用戶溝通,初步了解用戶需求之后,提供類型模板供用戶選擇,多以反復試錯為主.因此涉及到以下問題: (1)用戶缺少相關的專業(yè)知識,無法術語化表達自己的需求,與設計師間的溝通存在障礙; (2)設計師需收集、設計大量模板供用戶選擇,并在之后的過程中反復試錯,造成時間與資源的浪費;(3)設計工作過于依賴人工,往往造成大量人力資源的消耗.
在早期的研究中,對于住宅建筑的室內平面設計,提出大量約束性研究方法[12–14]. Mirahmadi 等人[15]設計了一種演化系統(tǒng),根據(jù)給定的約束條件生成多組配置,并根據(jù)評價指標對其優(yōu)先級進行排序之后,找到室內布局中的最佳配置. Rosser 等人[16]提出了一種半自動建模系統(tǒng),用于將建筑平面圖與實時地圖數(shù)據(jù)集成以生成建筑模型. 除此之外,專家系統(tǒng)(expert system)[17]實現(xiàn)平面布局圖也是研究熱點. Río-Cidoncha 等人[18]整合人工智能思想和專家系統(tǒng)設計出一類布局設計模型.Kwon 等人[19]通過將建筑設計知識與相關設計規(guī)范封裝入專家系統(tǒng)中,通過參考和推導基于給定BIM 空間信息和現(xiàn)有知識的空間布局,結合專家系統(tǒng)比較空間布局方案,確定不同可達性條件下的最佳選擇.
然而,由于組合問題的復雜性,傳統(tǒng)的約束方法與演化算法無法完全匹配布局問題中的約束條件與評價指標,例如房間鄰接舒適度、不同室內風格、風水布局等無法公式化的因素,并且從整體上用戶可以輕易地評價生成的平面圖是否滿足預期,但很難著手局部特征的優(yōu)化. 而IGA 中的用戶評價模式中,用戶的主觀評價取代復雜的數(shù)據(jù)評價,使缺少專業(yè)知識的普通人也能代入設計師的視角,相較于他人,用戶更能清楚自身所需,簡化復雜性的同時提高設計效率.
雖然室內設計的風格會隨著時尚潮流或者社會風氣而改變,但設計師在設計布局時所做的工作并沒有太大的變化. 他們根據(jù)業(yè)主的要求收集材料,現(xiàn)場勘察,并設計出相應的草圖,就定好的草圖方案與甲方協(xié)商進行分析整改,最后制成最終效果圖和施工圖. 近些年隨著計算機領域的發(fā)展和普及,越來越多的設計軟件逐漸應用到人們的日常生活工作當中. 著名的計算機設計軟件AutoCAD、3DsMAX 和Archicad 可以很好地應用于室內設計輔助系統(tǒng),大大減少工作量.
然而,上述輔助設計系統(tǒng)給設計行業(yè)提供了很大的便利,但他們都只是單向操作的工具,缺少用戶與設計師溝通交流的平臺,用戶參與程度有限,并且使用這些工具需要專業(yè)的設計基礎和軟件使用知識,非專業(yè)人士很難掌握,在使用過程中有一定局限性
20 世紀70 年代,Holland[20]提出了遺傳算法(genetic algorithm,GA),該算法根據(jù)達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程,模擬自然界生物優(yōu)勝劣汰的機制得出更優(yōu)解. 并已應用于許多優(yōu)化和分類問題[21,22].
算法的步驟如下:
步驟1. 初始化種群,設置個體數(shù)量和每個個體中染色體的編碼;
步驟2. 設置一個適應度函數(shù),計算每個個體的適應值(評分);
步驟3. 根據(jù)適應值兩兩配對繁殖出下一代;
步驟4. 交叉和變異;
步驟5. 回到步驟2,直到得出滿意的結果.
兩個染色體相互匹配按特定方式交換其部分基因,從而形成兩個全新的子類個體,子類繼承雙親的特征.除此之外,設置一個突變概率,來讓種群能夠進化出更好的特征. 隨著一代又一代的發(fā)展,種群中的每個個體都進化獲得更高的適應性.
交互式遺傳算法(IGA)與遺傳算法基本相同,但是把其中的適應值由適應度函數(shù)確定改為由用戶主觀確定. 因此,算法可以與用戶“互動”,適應值也不再是由一串機械化的數(shù)據(jù)決定,可以在進化過程中感知用戶的喜好. 于是,IGA 可以解決一般算法不能解決的問題,如設計和藝術等偏主觀類行業(yè)[23,24]. 圖1 比較了遺傳算法和IGA 算法的過程.
圖1 演化過程
房屋室內設計一般需要考慮4 個因素: (1)面積:不同的房間具有不同的功能,里面的家具和裝飾也隨之變換,那么相應也就會有不同面積要求,就算是同一類房間,按照使用人數(shù)來參考也會有兩個不同面積的要求,例如主臥室和副臥室; (2)長寬比: 每個房間都需要合適的長寬比,通常是為了方便人員的流通和不同形狀家具的擺放; (3)位置: 針對每個房間的不同功能,其在空間上的位置分配也尤為重要,某些粗略的布局,例如廚房與衛(wèi)生間相鄰,臥室靠近大門等,不光會降低房間功能的使用體驗,還會影響到用戶的睡眠質量;(4)風水因素: 風水文化在中國可有上千年的歷史流傳,是宇宙觀在傳統(tǒng)思維范式下的一種表現(xiàn)形式,從古就有道家“天人合一”“道法自然”等思想,一個好的風水布局能夠幫助改善人們的疲憊情緒、生活氛圍,對生活、事業(yè)、學業(yè)都有一定的幫助.
可以將房屋室內布局當成多目標優(yōu)化問題來解決[25].因此需要如上述所示考慮不同目標函數(shù)間的相對重要性. 在傳統(tǒng)的多目標加權法中,每個目標函數(shù)被乘上一個自定義的權重后整合起來作為一個目標,轉化成單目標優(yōu)化算法求最優(yōu)解[26]. 在室內設計問題中,目標權重值作為決策者的一種主觀偏好信息,一般很難預先設定. 運用遺傳算法可以得到一組無偏好Pareto 最優(yōu)解,決策者再根據(jù)自己的偏好選擇,但要在這眾多可行解中挑選出合適的結果,無疑會加劇決策者的疲勞感并且效果大打折扣,且設計、藝術類行業(yè)中適應值很難用具體函數(shù)確定,本文采用交互式遺傳算法,其中的“人機交互”模式可以在較復雜的情況下,讓用戶的主觀選擇替換復雜的適應值函數(shù),演化得到用戶滿意的個體,逐步搜索獲得滿足要求的解. 除此之外,為解決種群規(guī)模小造成的遺傳漂變問題,結合聚類算法將每代種群進行聚類分組,保持種群多樣性的同時不增加用戶分配適應值的負擔.
房屋平面布局圖是指房屋的整體框架以及內部的空間分布情況,通常在基于外圍整體框架固定不變的情況下進行室內設計. 家庭在不同的發(fā)展階段時,成員構成及居住功能呈階段性的特點[27]. 據(jù)研究所得,現(xiàn)購房者家庭成員人數(shù)及空間需求如表1 所示. 戶型圖根據(jù)房屋結構設計呈現(xiàn)出多種形態(tài)[28],可分為一居室、二居室、三居室、多居室等. 表2 給出不同類型的代表性框架示意圖.
表1 家庭不同階段空間需求
表2 模型框架
遺傳算法中染色體的編碼形式有很多[29,30],本文采用二進制編碼形式,分布空間的參數(shù)以基于字符集{0,1}構成的染色體位串為表現(xiàn)形式. 以表2 中④號框圖為例,在外部整體框架不變的情況下,將平面圖分為7 個部分: 房間β1–β6和各房間分布位置,種群的染色體由所有變量的編碼排列所構成(如圖2),A-F分別對應6 個房間,G表示其位置排列,圖3 詳解了基因對應個體的過程. 房間生成、排列時比例需滿足一定的約束關系,但這種關系絕非特定,只能按照設計風格、房間類型與用戶要求來確定,本文算法得出的僅為初步設計藍本圖,為用戶和設計師提供一種討論的可能性,因此參數(shù)與實際可能略有誤差. 表3 給出了各編碼位置對應的顯性表示、取值區(qū)間與參考依據(jù),HL和HW分別表示房屋總平面圖的橫、縱向距.
表3 模型參數(shù)設置
圖2 染色體編碼
圖3 編碼詳解
算法1. 改進的交互式遺傳算法(1)隨機產(chǎn)生初始種群,種群數(shù)量pop_size;(2)對種群進行循環(huán)篩選,選出不符合要求的重新隨機賦值;(3)對種群進行評估:用戶在交互界面上給每個個體進行打分,得到各自的適應值fi; 總適應值為;(4)產(chǎn)生新的種群:采用輪盤賭方法,循環(huán)pop_size 次,依次選擇個體加入新的種群中,方法如下:1)計算個體被選擇的概率為pi=fi/F;qi=i∑j=1 F=pop_size∑j=1 fj 2)計算個體的累積概率;3)生成一組位于區(qū)間[0,1]中的隨機浮點數(shù)r;r 5)重復第4)步,直至結果不再變化;(6)對新種群應用重組算子——雜交:用戶在系統(tǒng)開始前給定一個雜交概率pc,循環(huán)pop_size 次,每次生成一個區(qū)間[0,1]中的隨機浮點數(shù)c,若則進入下一次循環(huán),否則生成一個區(qū)間[0,pop_size[i]]的隨機數(shù)point,將染色體分為前后兩部分,對i 與i+1 染色體的這兩部分進行雜交,生成兩個新的染色體;(7)變異:c>pc另存在一個用戶給定的變異概率pm,對種群中個體的每個基因進行遍歷,隨即生成一個區(qū)間[0,1]的隨機數(shù)r,若則變異該基因,即從0 到1 或反之,否則繼續(xù)遍歷;如若用戶已發(fā)現(xiàn)有滿足其偏好的個體存在,則終止算法操作; 否則跳至步驟(3).r>pm 用戶交互界面如圖4 所示,設計過程中,首先用戶選擇“家具風格”項,目標參數(shù)是用戶對室內設計風格的評價,例如“簡約”“歐式”等. 之后用戶按照意愿自行修改雜交概率(默認0.65)與變異概率(默認0.05)數(shù)值. 系統(tǒng)將按照收到的參數(shù)信息不斷演化最終得到符合用戶主觀偏好的平面圖. 圖4 交互界面 人機交互模式的核心在于確定個體適應值. 傳統(tǒng)的遺傳算法缺少交互思想,適應值由適應值函數(shù)確定,不適用于設計、藝術等主觀行業(yè). 而在本系統(tǒng)中,考慮到不同用戶的偏好標準各不相同,且室內設計中的風水等因素無法簡單地用函數(shù)體現(xiàn),因此由用戶評分的形式給出適應值. 系統(tǒng)根據(jù)收到的參數(shù)信息演化出種群,用戶對種群個體打分確定適應值,進行下一代的演化. 此外,系統(tǒng)在每一代演化之后進行自我調節(jié),比較父代與子代的適應值,如果適應值提高,則保留子代個體; 如果降低,就保留父代拋棄子代. 從而保證演化之后的每代種群適應值的提高,直到得到滿足用戶偏好的個體,提高了算法的有效性. 為了使用戶在選擇時減輕疲勞感的同時增加個體的多樣性,對于實驗參數(shù),設置種群大小為12,選擇概率0.65,設置0.05 的變異概率使基因不局限于某一范圍之內,Kmeans 方法中k設置為4,選擇策略采用輪盤賭算法. 為快速驗證算法可行性,假定用戶最終滿意解為如圖5 所示的平面圖,即O(o1,o2,···,oD)演化個體與該滿意解之間的距離作為適應值函數(shù)代替用戶評價. 圖5 實驗模板 演化個體X(x1,x2,···,xn)與目標特征向量的歐氏距離可以幫助用戶參與模擬評價,距離計算公式表示為: 與此同時,為了解決輪盤賭選擇中概率為負的問題,修改適應值計算公式: 同時,為了驗證聚類方法對于算法改進的有效性,對比了原始遺傳算法與改進算法在“簡約”風格下對搜索空間尋找目標值的曲線收斂變化情況(圖6). 為獲取更為準確的對比結果,模擬實驗中設置迭代次數(shù)t=120 次. 在t∈[0,20]時兩種算法無明顯差別,當t時加入了聚類方法的算法體現(xiàn)出更快的收斂速度與更小的差距. 圖6 模擬評價結果 交互式算法中,除了參數(shù)對收斂性的影響之外,用戶的主觀選擇也起到關鍵的作用,收斂性測試的目的是研究在演化過程中用戶的主觀選擇是如何影響收斂性的,同時為了提高算法的有效性,對K-means 聚類法中的k值分別取3、4、5 進行對比實驗. 設計、藝術行業(yè)偏向主觀的特性,很難對收斂性進行定量的描述,因此我們采用打分機制,將分數(shù)轉換為種群個體的適應值. 測試分別選擇“簡約”和“歐式”兩種目標風格,10 名用戶使用本系統(tǒng)對每代種群個體打分,并求出平均分,分數(shù)越高則表明算法收斂性越強. 圖7 顯示了隨著用戶的主觀選擇與k的不同取值,分數(shù)(收斂性)變化的情況. 由圖可知,當?shù)螖?shù)t∈[0,12]時k的取值對于結果的影響并不明顯,當t>12時,k取4 會呈現(xiàn)出更強的收斂性,同時我們了解到用戶不同的主觀需求會對IGA 的收斂性產(chǎn)生重要影響,不同的風格選擇也會對用戶的主觀判斷產(chǎn)生影響,繼而影響算法的收斂性. 本測試中相較于“簡約”,“歐式”一詞有著更復雜的含義和思索,用戶不易判斷,因此“簡約”風格有更高的收斂性. 圖7 收斂性測試 人們的主觀審美會隨著時間的推移而改變,那么這些過于主觀的測試結果偏差可能會比較大. 本文采用Sheffe 的二點檢驗(pair-test)[31]. 該測試確定一個標準,通過將演化得到的模型與該標準相對比,得出用戶對實驗結果滿意程度的調查. 首先,我們從整個搜索空間中隨機選擇了500 個樣本模型分成5 等份,并選出了5 名用戶,每人得到100 個樣本模型,要求他們根據(jù)“簡約”“歐式”兩種家居風格,對這100 個模型進行打分(0–5),最后根據(jù)平均得分,各求得10 個“簡約”和“歐式”個體模型,作為下一步測試的參考標準. 接下來我們要求10 名用戶使用本系統(tǒng)尋找風格為“簡約”“歐式”的目標個體,演化代數(shù)限定為20,用戶從最后一代種群中選出他們認為最好的個體,與之前制定的標準進行對比,并對這些個體進行打分(0–5). 最后,經(jīng)過統(tǒng)計分析,圖8 顯示了92%和97%的可靠性下用戶的滿意程度. 平均而言,用戶對得到的“簡約”目標評分為4.69,對“歐式”目標評分為3.78,可以看到用戶對測評的滿意程度很高. 同時相比于“歐式”風格目標,“簡約”風格目標擁有更高的滿意度和更窄的置信區(qū)間. 因此可以認為,將IGA 應用到非專業(yè)人士的室內設計輔助系統(tǒng)中是很有前景的. 圖8 滿意度均值 本文使用交互式遺傳實現(xiàn)了室內布局平面圖的生成,引入K-means 聚類算法對新生成的種群進行聚類劃分,防止了因種群過小而產(chǎn)生的遺傳漂變問題,在合理的迭代次數(shù)內獲得滿意解. 然而,算法執(zhí)行過程中由于用戶參與交互,算法迭代次數(shù)、種群范圍不宜過大,這限制了搜索空間的廣度,否則會造成用戶疲勞感加劇和審美疲勞,從而影響最終結果. 因此,如在后續(xù)研究中加入篩選機制,從每代種群中選取代表性解呈現(xiàn)給用戶,將減輕用戶評價疲勞. 如何在減緩用戶疲勞度和擴大搜索空間中維持平衡將是后續(xù)研究中需要進一步探討的難點.2.5 交互界面設計
3 實驗結果與分析
3.1 參數(shù)設置
3.2 模擬環(huán)境下實驗
3.3 收斂性測試
3.4 主觀測試
4 結論與展望