2012-01-19 4 views
0

N 퀸Cloud Balancer Drools의 예를 이해하려고합니다. 나는 매뉴얼의 3 장과 4 장과 두 가지 예제의 출처에 대해 탐구했다.Drools 플래너의 예를 이해하십시오. 문제 상태가 어디에서 초기화 되었습니까?

나는 (잘못)

  1. 문제는
  2. 그럼 할당되지 않은 또는 unoptimal 상태에서 시작해야한다는 것을 이해하고, POJO에있는 문제의 사실과 계획의 실체는
  3. 를 인스턴스화 할 필요가 같은 CloudBalance 또는 NQueens 같은
  4. 솔루션 클래스는 문제가 사실과 계획의 실체 알고 있어야

질문 1 : 예에서 계획 엔티티의 개체와 문제 사실 클래스는 으로 초기화됩니까?

2012 .. INFO Loaded: data/cloudbalancing/unsolved/cb-0002comp-0006proc.xml 

이 직렬화 된 형식이 솔루션 오른쪽으로 실물로 변환 공급하는 것을 의미 : 나는 구름의 균형을로드 할 때 예를 들어

, 나는이 보여?


질문 2 : 계획의 실체는 어디 처리?

해당 의견의 의미는 무엇입니까? 처음에는 어떻게 처리 되었습니까?

public Collection<? extends Object> getProblemFacts() { 
    List<Object> facts = new ArrayList<Object>(); 
    facts.addAll(columnList); 
    facts.addAll(rowList); 
    // Do not add the planning entity's (queenList) because that will be done automatically 

답변

1

Q1 : NQueensGenerator, CurriculumCourseSolutionImporter에서 만든 ... 그리고 XStream을 XML 파일에 다음 연재 기획 인스턴스. 로드 버튼은 XML에서이를 역 직렬화합니다. *SolutionImporter을 디버그하려면 가져 오기 버튼을 사용하십시오 (모든 예제에서 사용 가능하지는 않음).

Q2 : getProblemFacts()가 facts.addAll (queenList)을 수행하지 않아야 함을 의미합니다. 플래너가이 주석으로 인해 자동으로 수행합니다.

@PlanningEntityCollectionProperty 
public List<Queen> getQueenList() { 
    return queenList; 
} 
+0

오른쪽에! 나는 XStream을위한 ORM-ish 코드를 기대하고 있었다. 그리고 주석 작성자가하는 일에 더 많은 관심을 쏟기를 바랍니다. 그리고 그들 (주석 자), SolverConfig.xml의 엔티티 및 솔루션 클래스는 사물의 대용량 구성표에서 작동합니다. 나는 앞으로 더 많은 피드백을 줄 것이다. – aitchnyu

+0

@ geoffrey-de-smet, ** NQueens ** (drools-planner 5.3.0 Final) 예제를 이해하려고하지만, ** XStream ** 때문에 조금 어려워졌습니다. XStream, GUI가없는 예제들 ... – Nurlan

+0

@ Nurian 현재는 아니지만, 나는 안녕하세요 세상 8 queens main이 필요합니다. –

관련 문제