今天想寫一篇部落格記錄一下自己參加華為軟挑的過程,估計會在接下來乙個月陸續更新。題目其實幾天前就看過了,**也寫了兩天,不過報名還是今天的事。
今年的題目相對還是比較好理解的,而且方向也很明確——用機器學習方法訓練資料,隨後用裝箱問題的思路解決。由於自己缺少機器學習的基礎,因此第一步暫時採用了將訓練資料按周分段的方法。先統計每週內各虛擬機器的申請數目,對於異常資料(如大於平均值50%以上的值)作截斷處理。隨後對每週的資料按照一定係數相乘,最後求和,以**下一周的結果。
得到**結果後,問題轉化成了裝箱問題。目前的思路和官方給的一致,即盡可能地往乙個伺服器中裝,裝不下就再開乙個伺服器。在此基礎上稍微做了一點改進:先將虛擬機器按照cpu/mem的大小進行排序,隨後按照排序結果分別從兩端開始放入伺服器中,具體的偽**和官方給的一致:
對於**出來的每個虛擬機器
從物理伺服器集合h選擇首次能滿足需求的物理伺服器
如果:放置到該台物理伺服器
物理伺服器做資源扣減
否則:開啟一台新的物理伺服器
虛擬機器放置到新的物理服務上並作資源扣減
更新所用物理伺服器集合
更新剩餘虛擬機器集合
將檔案壓縮打包上傳之後顯示值得了45分,還有乙個case超時了,估計下週還得再作較大改進。不過欣慰的是總算跑出了乙個結果。 華為軟體精英挑戰賽總結
我們的成員分工 1 負責除錯 糾錯和上傳 2 負責查詢演算法思路 3 負責查詢演算法並且寫 框架 步驟 1 通過各個同學的專長進行分工,如上所示,確定一有思路就開小組會議討論。2 3號同學在網上查詢到乙個最基本的直連程式,該程式有錯誤,需要修改。3 1號同學同過3號同學給的直連 進行除錯和改錯,與此...
華為軟體精英挑戰賽總結
賽題連線 總體來看,是乙個np hard問題。我們隊的解題思路是 1 隨機選取伺服器的位置,用遺傳演算法尋優,那麼遺傳演算法中的判斷運算元就是第二步 2 在伺服器位置固定的情況下,利用最小費用最大流演算法計算總費用。該演算法思路詳見 其中求帶負權有向圖最短路,用到了fpga演算法,其實就是b ell...
2019華為軟體精英挑戰賽總結
華為軟挑切切實實的做了兩周,說實話這也是第一次打這種 比賽,最終的成績略顯遺憾,西北賽區的58名,因為今年沒有64強這一說法,所以沒有任何獎勵,希望明年有再來一次的決心勇氣,畢竟竹籃打水一場空太讓人不爽了。成績附圖如下,第58名 我是起名廢團隊 今年的賽題首先讓人窒息的就是長達29頁的題目,光是讀題...