国产AV播放,免费看免费看a级长片,亚洲av福利院日产,手机小说,报恩老男人小说全文免费阅读,东京热深喉无码免费看,日本性爱中文字幕在线播放,德华三级女人电影,gv腐天堂在线观看网站

谷斗動態(tài)

谷斗科技布局生態(tài),賦能制造業(yè)“全局優(yōu)化,決策未來”之力

2025
2025-09-01

對運籌優(yōu)化算法項目實際落地的一點感悟

作者:王源

運籌優(yōu)化實際落地項目流程


一個典型的運籌優(yōu)化項目通常遵循以下步驟:需求調(diào)研、算法開發(fā)、算法測試、系統(tǒng)集成和上線實施。


需求調(diào)研:在項目啟動前,必須進行詳盡的需求分析,明確客戶的業(yè)務(wù)需求及邏輯。這不僅限于技術(shù)層面,還包括商業(yè)考量,如項目的盈利能力、客戶團隊的綜合素質(zhì)、自動化與數(shù)字化水平是否支持項目實施等,以及客戶推動項目的動機等因素。


算法開發(fā):這個就是根據(jù)甲方的需求制定算法解決方案,然后去開發(fā)相應(yīng)的算法即可。當然我們這里主要指的是運籌優(yōu)化類的項目,涉及的算法主要都是運籌優(yōu)化相關(guān)的建模和算法。如果是在學校里做學術(shù)的話,那基本上我們就只在這個部分玩命折騰就可以了。


算法測試:很多時候開發(fā)完成的差不多了,我們就需要一些測試算例和測試環(huán)境來輔助我們驗證我們開發(fā)的算法是否正確,是否可以滿足用戶需求。這一步如果情況好一點的話,甲方會協(xié)助你搭建一個測試環(huán)境,如果情況差一點就只能是提取一些離線的類似Excel表格數(shù)據(jù)來自己模擬下測試環(huán)境。


系統(tǒng)集成:一般來說你開發(fā)的都只是一個算法模塊,在實際生產(chǎn)環(huán)境中這個模塊并不是一個可以單獨運行起來的東西,它一定是屬于一個軟件或者一個系統(tǒng)中的子模塊。這個時候就需要把你開發(fā)的算法模塊和現(xiàn)有的軟件和系統(tǒng)對接起來,這個就是系統(tǒng)集成主要解決的問題。


上線實施:這個部分可能會是整個項目里邊最痛苦的部分,整個軟件系統(tǒng)會真正部署到生產(chǎn)環(huán)境中去跑,那么在跑的過程中一定會遇到這樣那樣的問題,甲方也會提出這樣那樣的質(zhì)疑,當然甲方也會提出一些之前從沒有提過的需求。這些都是上線實施所需要面對的問題,這個問題并不是單純的算法問題,而是融合了商務(wù),項目管理和算法系統(tǒng)的綜合性問題。


業(yè)務(wù)邏輯和數(shù)據(jù)耦合


前面梳理了一下運籌優(yōu)化實際落地項目的流程。最近我們在項目上線實施的時候遇到了兩個頭疼的問題:


  1. 數(shù)據(jù)中隱含各種業(yè)務(wù)邏輯

  2. 算法和業(yè)務(wù)邏輯高度耦合


2.1 數(shù)據(jù)中隱含各種業(yè)務(wù)邏輯


這個混亂并不簡單的是數(shù)據(jù)缺失,例如說在數(shù)據(jù)中時間粒度不統(tǒng)一,有時候時間粒度是周,有時候是天,有時候是0.5天,而且沒有一個flag標識告訴你,到底時間粒度是什么。而是需要你通過數(shù)據(jù)內(nèi)部邏輯去推算得到。比方數(shù)據(jù)中時間范圍是一年,若我想判斷當前這個數(shù)據(jù)表格時間粒度是周,我需要檢查如果說時間索引最大沒有超過 53的(一年大約有53周)話,那我就可以據(jù)此推斷出當前時間粒度是周;若當前表格時間索引是天,那我們需要檢查當前表格中時間索引要有大于53的,同時要小于365,這就可以確定出當前時間索引是天,而不是周。


2.2 算法和業(yè)務(wù)邏輯高度耦合


如果說對于數(shù)據(jù)的問題,我們作為運籌優(yōu)化算法開發(fā)人員也無能為力的話,那么算法和業(yè)務(wù)邏輯高度耦合,這個部分則是我們可以改變的。典型的一個例子就是 我設(shè)計了一套遺傳算法來求解 Capactiy VRP 問題,如果算法人員在設(shè)計遺傳算法的時候往往是會將業(yè)務(wù)邏輯耦合入交叉算子或者變異算子中。


這樣帶來的一個嚴重的問題就是 業(yè)務(wù)邏輯是經(jīng)常發(fā)生變化的,有些業(yè)務(wù)邏輯的變化會徹底導致你的算法完全不適用了。例如一開始告訴你是 Capacity VRP問題,后來才告訴你是 Pick up deliever 的問題,那么你之前基于Capcity VRP問題設(shè)計的很多算法和代碼都需要大幅度修改。這顯然并不是算法人員所期望的。


理想狀態(tài)下算法開發(fā)人員總是希望我們在項目一開始就把需求明確下來,把要做什么問題完全明確出來,當確定下來之后就不要再變來變?nèi)チ耍珜嶋H上甲方的業(yè)務(wù)也是在不斷發(fā)展中的,即使對于甲方而言可能都沒有這個全局視角去幫助你去把所有的需求提煉出來。所以在項目實施過程中,業(yè)務(wù)邏輯和項目需求發(fā)生變化幾乎是一定會發(fā)生的,那么這個時候我們在設(shè)計算法的時候要注意將業(yè)務(wù)邏輯和算法盡量解耦,這樣的話當業(yè)務(wù)邏輯發(fā)生變化了,項目需要變化了,我們可以在算法端盡量少修改代碼,做到對變化較快的響應(yīng)。


總結(jié)


以上就是最近做運籌優(yōu)化落地項目的一點感悟,其實也算是一些教訓吧。如果是一直在學校里只是做科研的話,沒有深入到落地的第一線我也不太可能發(fā)現(xiàn)這些問題。以往總是聽別的人說運籌優(yōu)化項目落地難,各種抱怨需求變化,數(shù)據(jù)缺失等問題,真正自己身體力行之后才會對這些有更深刻的一個認識。