日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving

發(fā)布時(shí)間:2023/12/6 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  Optaplanner?7.9.0.Final之前,啟動(dòng)引擎開(kāi)始對(duì)一個(gè)Problem進(jìn)行規(guī)劃的時(shí)候,只能是單線程進(jìn)行的。也就是說(shuō),當(dāng)引擎對(duì)每一個(gè)possible solution進(jìn)行分?jǐn)?shù)計(jì)算的過(guò)程中,細(xì)化到每個(gè)步驟(Caculation),都只能排隊(duì)在同一個(gè)線程中依次計(jì)算,不管你的問(wèn)題是否存在并行計(jì)算的可能。很顯示這種運(yùn)算方式應(yīng)用于一些可并行計(jì)劃的場(chǎng)景下,是相當(dāng)不利的。就算是一些在業(yè)務(wù)邏輯上無(wú)法實(shí)現(xiàn)并行運(yùn)算的情況,若在引擎自行調(diào)用指定的算法進(jìn)行尋優(yōu)時(shí),若可以將每個(gè)Step,甚至每個(gè)Move的運(yùn)行操作,適當(dāng)?shù)胤峙涞讲煌木€程中執(zhí)行,那么在多核CPU的環(huán)境下,無(wú)疑能大大提升planning的性能,從而在規(guī)定的時(shí)間內(nèi)行到更優(yōu)的效果。畢竟對(duì)于NP-Hard/NP-Complete問(wèn)題,除了比較算法優(yōu)劣外,另一個(gè)維度對(duì)比的就是運(yùn)算量。

  ?而在7.9.0.Final版本中,發(fā)布了并行計(jì)算功能 -?Multithreaded incremental solving.?此功能只需要在配置文檔中指定對(duì)應(yīng)的并行線程數(shù)(可指定數(shù)量,也可由系統(tǒng)自行決定線程數(shù)),在啟動(dòng)Planning后,每一個(gè)Step中的各個(gè)Move即有可能被分配于不同的線程進(jìn)行計(jì)算。我在我的項(xiàng)目中啟用了此功能,試用過(guò)各種類(lèi)型的項(xiàng)目,其性能的提升基本上在30% - 150%之間。對(duì)于運(yùn)算量巨大的情況(約束多且復(fù)雜、問(wèn)題規(guī)劃大),確實(shí)能有不少的提升。

  此功能在7.12.0. Final版本中,也有所優(yōu)化,主要是針對(duì)Chained Throudth Time模式下的優(yōu)化。

?

關(guān)于并行計(jì)算功能的更新信息如下:

New and noteworthy: Engine 7.9.0.Final

Multithreaded incremental solving

OptaPlanner can now solve one dataset (without partitioning) with multiple threads to take advantage of multiple CPU cores.

Even with just a few CPU cores, it triples the score calculation speed:

Multithreaded incremental solving is easy to activate. Just add a?<moveThreadCount>?line in your solver config:

<solver><moveThreadCount>4</moveThreadCount>... </solver>

This basically donates 4 extra CPU cores to the solver. Use?AUTO?to have OptaPlanner deduce it automatically. Optionally, specify a?<threadFactoryClass>?for environments that don’t like arbitrary thread creation.

?

?

對(duì)于Optaplanner有任何疑問(wèn),可以通過(guò)郵件將問(wèn)題發(fā)到我郵件,我將及時(shí)處理。通過(guò)即時(shí)通訊工具,我確實(shí)沒(méi)辦法即時(shí)處理,導(dǎo)致無(wú)意忽略了不少信息。

12977379@qq.com?或?kentbill@gmail.com

?

?

總結(jié)

以上是生活随笔為你收集整理的Optaplanner终于支持多线程并行运行 - Multithreaded incremental solving的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。