2015-09-22 94 views
1

我有一個課程應該分配給特定房間的場景。opta規劃師課程課程指定課程特定房間

例,

課程是Java編程,教師姓名:詹姆斯,房間:ROOM1,LAB1,ROOM2。

我想把這門課程分配給實驗室,因爲課程是一門編程。我可以提供實驗室作爲教室。如何限制,這個課程應該進入一個特定的房間(實驗室)

回答

0

建議:向房間添加一個類型字段(或類型列表)並創建一個評分約束來懲罰每個需要實驗室的課程沒有被分配到一個。當然,在課程中添加所需的房間類型。

+0

您好,先生,我是OptaPlanner的新手。請你詳細說明一下,或者可以寫一段代碼,這對我有很大的幫助。 – user1424130

+0

該文檔可能會幫助您(http://docs.jboss.org/optaplanner/release/latest/optaplanner-docs/html_single/index.html),專門用於分數計算:http://docs.jboss.org/ optaplanner/release/latest/optaplanner-docs/html_single/index.html#cloudBalancingScoreConfiguration – oskopek

+0

我已經在Course Class中添加了一個ctype實例變量,其中包含Setter和getter方法 和Room類中的rtype。 下面的規則已經被添加,但仍無法限制 例如輸入: 課程: 數學T1 2 1 100℃ 科學T1 1 1 80升 法語T2 1 1 20℃ CPRO T2 5 10 20升 房間: 實驗室\t 90L的 類\t 110℃ 規則 「labAssigntoItCourse」 當 $當然:場($ CTYPE:CTYPE) $室:間($舍入類型:舍入類型) $結果:藝典三重奏se($ room.getRtype()== $ course.getCtype()) then scoreHolder.addHardConstraintMatch(kcontext,100); 結束 – user1424130

0

我做到了,它工作得很好。

rule "..." 
    when 
     $room : Room($roomType : getRoomType()) 
     $course : Course($courseType : getCourseType()) 
     Lecture(room==$room ,course==$course , $roomType!=$courseType) 
    then scoreHolder.addHardConstraintMatch(kcontext, -10); 
end