好在徐洋總歸還記得自己的本職工作,驚愕之余并沒有繼續追問下去,而是在看過常浩南的尋優思路之后很快投入到了并行計算程序的開發之中。
由于參數化建模、樣本點選取和克里金代理模型的建立工作在此之前就已經完成,因此留給常浩南和徐洋兩人現場完成的工作量并不多。
盡管如此,二人還是花了差不多十個小時的功夫才徹底完成尋優程序的開發和檢查。
畢竟除了三段式機翼本身的五個自變量尋優之外,常浩南還增加了一個流動偏轉器,給自己額外上了些難度。
“呼——”
在最后檢查一遍代碼確認無誤之后,徐洋按下鍵,把計算任務提交了上去,然后靠在椅背上,長長地呼出了一口氣。
接下來就是等著結果出來,然后再根據情況決定是否需要對流動偏轉器的設計參數單獨進行一次尋優計算了。
“你們這里的食堂…晚上還營業么?”常浩南看著窗外已經升到半空中的月亮有些遲疑地問道。
從上午高強度工作到現在,他也實在是有些餓了。
“大食堂已經關門了,不過么,我可以請你去吃小灶。”徐洋抬起手腕看了一眼時間,然后回答道。
“首先是第一種,你已經看出了其中的一些要害,但并不是全部,加快解的評估和進一步提高尋優性能,我還基于空閑時間增量矩陣設計了一種基于快速組合啟發方法的局部搜索策略…”
而對面的徐洋似乎仍然在消化剛才從常浩南那里聽到的內容,因此只是有些愣愣地點了點頭,半晌之后才有些感慨地說道:
“差分進化算法本意是為求解連續優化問題而設計的,而且是一種無約束優化算法,但你面對的是一個有約束條件的組合優化問題。”
最后二人一直聊到了小食堂的工作人員開始打掃衛生準備下班,常浩南也沒能完全講清楚,只好表示下次一定。
他只是單純不知道1996年時候的智能算法發展到了哪個地步而已。
一段時間之后,常浩南、徐洋和楊霞三個人圍坐在計算技術研究所小食堂的一張桌子周圍,旁邊的大電扇嗚嗚地朝這邊吹著風,在炎炎夏日的夜晚勉強帶來了幾分涼爽。
“但看過整個計算程序和說明之后我才發現,你實際上是從根本上拓展了差分進化算法的理論基礎,能說說你的想法么?”
“當然,我們所至少有一半的人都是夜貓子,小食堂到了半夜的時候人滿為患。”
與此同時楊霞也微微點了點頭,表示如果只是理論范疇的討論并不會涉密,況且計算技術研究所本身也是個涉密單位。
徐洋把筷子放在碗口,玩味地看著常浩南:
“我…”
“我必須得承認,今天上午的時候,我還是太看輕你了,以為你只是拓展了差分進化算法的應用范圍。”
“看來我畢業之后選擇回國果然是正確的啊…”
實際上哪怕沒有這檔子事,他也準備回去把差分進化算法的相關內容認真整理一下。
常浩南沒有馬上回答,而是看了一眼旁邊的楊霞。
“至于另外兩種,我只能看懂一個大概,甚至我敢說,就算把你的計算程序和設計說明給我老師去看,他也沒辦法在短時間內完全理解。”
“但你的思路卻完全不同,是從算法本身的角度出發,優化,或者說是設計了三種新的差分優化算法。”
“所以我今天一直在思考,如果是我來面對這個問題,應該會怎么做。”
徐洋說著把自己的發髻散開,然后慢條斯理地整理著頭發:
對面的徐洋自然也看出了常浩南猶豫的原因。
“沒想到我在國外上學這幾年的功夫,國內同行不僅理論水平追上了世界一流水平,在技術應用這方面更是走在了他們前面,堪稱遙遙領先!”
盡管系統只會提供跟項目直接相關的知識,但常浩南本人又不完全是個小白,完全可以舉一反三,通過自己的學習能力加深理解。
天地良心,常浩南剛剛絕對沒有對方認為的那兩層意思。
“伱放心,規矩我懂,我只會問跟算法理論有關的東西,不涉及你的具體項目。”
但食堂這種地方畢竟人多眼雜,他一時間拿不準能不能討論問題。
“這件事情在飯桌上解釋確實不太方便,簡單地說,我對差分進化算法的優化是分成三個階段進行的,分別對應三類不同的工程應用場景。”
“最后我的答案是會采用基于連續本質上定義的“減”和“加”來實現差異向量的計算,不過這種思路雖然勉強可行,但缺少針對組合優化問題特征的運算方法,必須引入修復操作才能保證進化過程中的候選解的可行性。”
“你們這還有小灶?”
跟之前在京杭大學講流體力學模擬的時候不同,這個差分進化算法的理論常浩南自己原本并不了解,而是通過系統剛剛學會的,并且也僅限于機翼優化過程中所用到的那三種,因此雖然進行應用不成問題,但要想深入淺出地講出來確實還有些難度。
“至于第二種算法,則是為提高PDE種群的多樣性,避免不必要的重復搜索,以及跳出局部極值,將禁忌搜索與基于排列的離散差分進化算法相結合…”
既然中科院讓徐洋來協助自己做計算,那后者的保密級別肯定是沒有問題的。
“另外,你今天也就是遇上我,換個人看見你那一條注釋都沒有的代碼,估計要直接背過氣去。”
離開辦公區的徐洋換上了一身中袖的碎花襯衫,此時正一邊用筷子攪拌著面前碗里的炸醬面一邊向常浩南問道:
“怎么樣,我的夸獎你滿不滿意?”
常浩南順手把一瓣剝好的蒜拌進面里,然后繼續解釋道:
“總之這些東西很難在短時間內說清楚,你如果感興趣的話,等我回招待所之后,可以給寫一份關于差分算法優化的說明文件給你。”
“正好我也有些關于差分進化算法的問題想要請教你。”
“今天我大概理解了第一種,是基于位置,而非傳統的基于數值的加減法運算,在交叉階段,引入了基于排列的交叉操作,避免破壞形成的好的結構塊,保證了解的快速收斂。”
“你作為差分進化算法的開發者之一,應該知道它主要釆用候選解間的差異來產生新的個體,所以在全局搜索速度和全局搜索能力方面有巨大優勢,我的尋優過程涉及多個自變量,想到這個辦法應該很正常吧?”
看著思維逐漸開始迪化的徐洋,常浩南思索片刻,最后還是決定…
確定沒有問題之后,常浩南才終于開了口:
聽到這個回答之后的徐洋抬起頭用有些怪異的眼神看了一眼常浩南,過了一會才又一次開口道:
隨她去吧。
她并沒有給常浩南再插話回答的時間,而是直接繼續說了下去:
“你這是想要考驗我的理論功底,還是單純想聽我夸你一遍?”