逗游網(wǎng):值得大家信賴的游戲下載站!
發(fā)布時間:2020-08-25 10:26 來源:bilibili 作者:hypermania
模擬經(jīng)營沙盒建造游戲異星工廠目前已經(jīng)推出1.0正式版,游戲中玩家可以使用模擬退火算法優(yōu)化工廠,下面給大家分享一個模擬退火算法使用攻略
網(wǎng)格設計
網(wǎng)格設計在異星工廠與現(xiàn)實中的工廠中都有應用。芯片設計中也有網(wǎng)格設計。問題在于“如何放置網(wǎng)格內(nèi)的不同組件才能獲得工廠/芯片的最優(yōu)化設計?”
模擬退火
網(wǎng)格設計問題是一個NP-Hard問題。在[本文所述的]這種情況下,找到最優(yōu)解所需要的時間將以 200! 單位時間而計。就算單位計算時間只有一納秒,所需的總時間也已超過宇宙年齡。事實上,這個數(shù)足足有370位長。
模擬退火是解決這類問題的一個好的替代方法。它雖然不能找到最優(yōu)解,但它能找到足夠好的解。
模擬退火是一種隨機搜索算法,它能概率性地跳出局部最優(yōu)解,用一個損失函數(shù)來“度量”一個解的品質(zhì),并隨機地找到與它相臨的更好的解,直到它無法找到更好的解為止。
損失函數(shù)
[模擬退火]算法本身并不復雜;它純粹是一個幫助我們[找解]的工具。我們需要解決的問題在于如何設計損失函數(shù)。利用損失函數(shù),我們可以決定有哪些東西需要優(yōu)化。這是個困難而有趣的問題,就像試圖用一張小被單完整的蓋住自己一樣。要是遮住臉,腳就會漏出來。
對于這個[本文所述的]問題,我選擇的優(yōu)化目標如下:
物流機器人的總飛行距離:組裝機與化工廠的位置是離散的。假設物流箱的位置和組裝機的位置一樣,我們通過交換兩個組裝機的位置就可以知道一種布局是否比另一種更能減少物流機器人的飛行距離。損失函數(shù)利用配方信息和組裝機的位置信息來確定物流機器人的運動距離以及物流機器人需求的多寡。
直連*:實驗表明,在特定條件下,儲物箱-機械臂鏈條的設計模式比機器人和傳送帶都更高效。在可能的情況下我們會取消掉機器人的使用,轉而使用橫向(1鏈條)或豎向(3鏈條)的直連設計。
管道使用:這個設計用的管道很多,我們不希望太浪費。
共享物流箱:輸出速度較低的組裝機應當共用物流箱以減少物流機器人的浪費。單個機器人可以運輸4塊材料,但[假如物流箱內(nèi)的材料不夠]機器人也可能只運輸1或2塊材料。
注:作者這里說的直連具體指的是用“機械臂-箱子-機械臂”組合將一個單元格內(nèi)的產(chǎn)物作為原料送到相鄰的單元格內(nèi)的設計模式。更一般地說,直連指的是一個組裝機的產(chǎn)物不經(jīng)過傳送帶或機器人直接作為原料送到另一個組裝機中的設計模式。由于減少了中間的物流消耗,直連可以提高UPS。
實驗結果
經(jīng)過反復的嘗試和等待我獲得了不錯的結果。新的布局將機器人用量降低了37%,將電力使用降低了35%并將物流網(wǎng)絡的UPS改善了16%。
由于由于機器人總功率正比于機器人行進距離,電力消耗在這個設計中是不可忽視的要素。機器人的速度則并不影響總功率。將UPS改善16%或許聽起來不是很厲害,但這16%的優(yōu)化并非人力可為。
結論
成功!結果如圖所示。
未經(jīng)優(yōu)化的設計:機器人速度級別為18,平均機器人用量為505
優(yōu)化后的設計:平均機器人用量為368,效率提升了37%
上一篇: 槍火重生新手武器推薦
下一篇: spiritfarer釣魚全收集指南