drools-planner

    0熱度

    1回答

    在Optaplanner中,有沒有一種方法可以分配多個導致相同錨點的鏈?這是optaplanner提供的功能嗎? 例如, (使用Vehicle Routing應用程序進行任務計劃)我有一位員工,一天執行20項任務。對於前10項任務,由於這些任務是遠離辦公室的任務,所以他使用了一輛汽車。然後策劃者計劃他回到辦公室,併爲接下來的10個任務騎自行車,這些任務離他的辦公室更近。 我需要幫助解決2個問題:

    0熱度

    1回答

    我嘗試修改OptaPlanner護士Roster示例。 到目前爲止,我想在drl文件中編寫一個規則,當員工每天工作超過13個小時時,該規則會作出反應。 我擴展了班級shiftType以獲得每個Shift的小時數。 初看,規則似乎工作,但當一段時間後沒有可行的解決方案時,我得到一個NullPointerException。 下面是一些相關的代碼: rule "dailyRestPeriod" wh

    0熱度

    2回答

    我有一個簡單的規則,其中,我想使用外部java函數返回整數值。我想在規則LHS中使用此返回值進行比較。 rule "testRuleBTW" when $cfd : FactsData() condition : RuleData(ageCondition != null, ageCondition.value1 != null,

    1熱度

    1回答

    如果我們將任務分配的示例分配給員工,我們根據員工的可用性和執行單個任務所需的技能(硬約束)將任務列表分配給員工列表。 現在,如果有任務且沒有員工有能力這樣做,Optaplanner仍然會將該任務分配給員工並打破硬約束。這個結果告訴我,存在一個嚴格的約束被破壞,但是仍然分配了這個任務,並且這影響了一個員工應該做的任務鏈,而不是分配一個不相關的(技能不足的)任務,不應該將系統Optaplanner)提

    0熱度

    1回答

    熟悉optaplanner我創建了一個簡單的測試項目。我只有一個解決方案和一個實體類。實體只有0到9之間的一個值。應該只有奇數,總和應該小於10(這只是我提出的一些隨機約束)。 由於分數我使用一個簡單的HardSoftScore。下面是代碼: public class TestScoreCalculator implements EasyScoreCalculator<TestSolution>{

    0熱度

    1回答

    我在結果中看到的行爲是兩個課程只能在一個時間段內(如星期一上午9點​​)都設置爲相同無論如何,儘管有嚴格的限制。我想要發生的事情是,其中一個設置爲空,以便稍後可以檢索它們並通知用戶。 是否有配置?如果不是,我該如何處理這種情況?我期望在我的應用程序中破除硬約束,但對我來說重要的是我可以通知用戶哪些課程無法安排,所以他可以自己安排(通過UI)。 這裏的是相關的硬約束規則: rule "roomOcc

    0熱度

    1回答

    當解決約束條件時使用drl文件時,可以使用insertLogical(),它只在drools的工作內存中插入事實,直到解決方案完成後LHS纔會被收回(LHS始終保持爲insertLogical())。當我們從Optaplanner的solver.solve()獲得解決方案時,我們會收到我們自己的解決方案類選項,如NurseRoster,CloudBalance。但是,我怎麼能檢索事實,直到我的解決

    2熱度

    1回答

    這是在任務計劃問題的背景下,其中任務鏈(T1,T2,T3等等)被分配給員工(錨點),例如E1。因此,規劃中的結局一般是這樣的: E1 -> T1 -> T2 -> T3 T1,T2和T3可以從任務列表中的任何。現在,我想要的是類似T1,T2,T3,T4,T5,T6 ..的列表,T3必須分配給E1。簡單來說,T3必須鏈接之間的(可能不是第一個)錨鏈E1。 Optaplanner只能選擇在鏈接的計

    1熱度

    1回答

    有一個Java API用於從Optaplanner核心ScoreDirector接口獲取IndictmentMap。但我不直接使用Optaplanner引擎,而是使用KIE服務器來解決我的計劃問題。是否有一個API來解決方案起訴? 提供基本的Optaplanner API here。

    0熱度

    1回答

    我正在使用drools進行業務級別驗證。 是否可以在工作內存中加載兩個對象並比較它們的值? 可以說我有2個對象: Object1{ String name; } Object2{ String sname; } 我可以比較的DRL文件名(Object1)與的sname(對象2)? Object1(name)==Object(name) 我試圖在DRL文件中加入這一行,但它給出了