演算法建設
㈠ (轉)物流優化演算法處理流程及演算法服務平台建設
轉自:吉勍Personal
http://www.jiqingip.com/page9001?article_id=94
演算法處理流程
物流方向的大多數業務演算法處理流程基本是按照模型建立、演算法開發、演算法測試流程進行,具體步驟如下:
模型建立
大多數優化問題都能構建成線性規劃、非線性規劃或混合整數規劃等數學模型。這些模型需要根據實際業務確定,模型主要包含以下因素:
1) 優化目標
2) 決策變數
3) 約束條件
演算法開發
模型的求解可根據實際的業務情況(問題復雜程度、數據規模、計算時效要求)等採用合適的精確演算法和近似的最優化演算法進行求解。
模型精確計算
模型精確求解有一些商業和開源的求解器,如下:Gurobi、Cplex、SCIP、OR-Tools、Glpk等,可以根據實際情況選擇合適的求解器。
最優化演算法計算
最優化演算法也有很多,比如變鄰域搜索演算法、自適應大鄰域搜索演算法、禁忌搜索演算法、模擬退火演算法、遺傳演算法、蟻群優化演算法、粒子群優化演算法、人工魚群演算法、人工蜂群演算法等,可以根據適用情況選擇。
業務相關開放項目計算
解物流領域的某些項目可以利用一些開放性的項目來求解,如求解車輛路徑問題的jsprit、求解排程類問題的optaplanner等,這類問題在模型建立好之後可以調用這些開放性項目來求解。
演算法測試
生產數據測試
物流方向的項目基本都是優化類型的項目,每個項目對應的業務環節一直在運行,涉及到的優化問題或者是業務系統簡單處理,或者人為計算,對於演算法有效性的檢測可以把這部分生產數據獨立抽離出來,經過優化演算法計算之後跟原有系統數據進行相關的對比,來評價演算法的優化效果。
模擬測試
物流的優化不像互聯網應用可以採用流量灰度的方式進行直接的驗證,並且物流系統的鏈路非常長,單點的改變可能引起上下游的變化。在決策優化的過程中需要同時使用優化求解及模擬技術來驗證或提供決策依據。模擬測試驗證大致需要以下過程:
1) 定義模擬模型確定績效指標體系
2) 輸入演算法結果數據到模擬模型進行模擬計算
3) 根據模擬模型的模擬結果計算績效指標,以反饋演算法的優化效果。
演算法服務平台建設
實際業務中的很多應用場景都可以抽象成同一類演算法問題。演算法在解決不同應用場景業務問題時,相關模型、處理流程及計算方法也都大致相同,因此可以對這類問題的演算法,按照其處理流程從業務中剝離出來,封裝好演算法的輸入、輸出及計算邏輯,構建統一的演算法服務平台。
VRP演算法服務
比較經典的VRP問題就會應用到很多業務場景,即時配、大件配送、冷鏈配送、門店補貨等。這些業務場景對於大型零售商來說是比較常見的,因此構建可靈活配置的VRP演算法服務平台,可達成一次構建,多場景應用的效果。
排班演算法服務
排班問題也是一樣,無論是生產線工人排班、司機排班、客服排班還是門店工作人員排班,這些都是排班問題應用的業務場景。通過構建可靈活配置的排班演算法服務平台,可解決多個業務場景的排班問題。
裝箱演算法服務
裝箱問題也有著豐富的應用場景,無論是商品配送的車輛裝箱、運輸網路的車型推薦及包裝作業的包材推薦都是裝箱問題的業務場景。構建靈活的裝箱演算法服務平台,可通過配置有效的解決各業務場景的裝箱問題。
運籌規劃演算法服務
無論是上面提到的一些演算法服務還是其他組合優化問題,都可以構建成運籌優化問題來解決。大家熟知的google or-tools就是組合優化問題的工具包。我們也可以根據自身的業務特點構建適合業務場景的運籌規劃演算法服務,底層可以調用不同的求解器,可以是商業求解器,如gurobi、cplex等,也可以是開源求解器,如scip、glpk等;也可以是一些最優化演算法,如鄰域搜索等。
㈡ 如何用演算法構建標簽
與企業業務關聯最緊密的客戶標簽往往是帶有預測性的,比如,某客戶的營銷價值,該客戶對產品的心理價位預期。這些標簽的提取需要在模型的基礎上更進一步,利用更復雜的演算法組合計算得出。
比如航司需要區分客戶屬性,判斷出是否為商務旅客,就可以利用邏輯回歸、K-均值聚類、支持向量機、神經網路等機器學習演算法,計算其為商務旅客的概率。如邏輯回歸演算法,可以選取「是否VIP」、「是否團隊購票」、「是否商務艙」、「訂座——出行日期差是否小於N天」、「出行是否周末」,「近一年內出行次數是否大於N次」、「出行城市是否大於N座」等變數。最終得出該客戶是否為商務旅客的預測標簽。
同樣的,企業希望預測預測某客戶對某商品的購買概率,如果沒有足夠的行為數據或歷史交易數據支持(如瀏覽該商品超過N秒,近期購買過該產品),則需要利用協同過濾等演算法進行計算,結合歷史購買記錄中的相同屬性商品、類似特徵人群的購買記錄等數據參數,計算出該客戶是否會購買商品的預測標簽。創略科技是國內首個CDP客戶數據平台,在標簽基礎數據整合、標簽管理、客戶畫像上有著突出的表現。
㈢ RSA演算法建立的理論基礎是()
RSA演算法建立的理論基礎是大數分解和素數檢測 。
RSA是1977年由羅納德·李維斯特、阿迪·薩莫爾和倫納德·阿德曼一起提出的。當時他們三人都在麻省理工學院工作。RSA就是他們三人姓氏開頭字母拼在一起組成的。
RSA公開密鑰密碼體制是一種使用不同的加密密鑰與解密密鑰,「由已知加密密鑰推導出解密密鑰在計算上是不可行的」密碼體制。
(3)演算法建設擴展閱讀:
在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然解密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK。
正是基於這種理論,1978年出現了著名的RSA演算法,它通常是先生成一對RSA密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在網路伺服器中注冊。
為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時,常採用傳統加密方法與公開密鑰加密方法相結合的方式。