DroolsのNクイーンとクラウドバランサーの例を理解しようとしています。マニュアルの第3章と第4章、および2つの例のソースを詳しく調べました。
私はそれを(誤)理解しています
- 問題は、割り当てられていない状態または最適でない状態から開始する必要があります
- したがって、POJOである問題ファクトと計画エンティティをインスタンス化する必要があります
- CloudBalanceやNQueensなどのソリューションクラスは、問題の事実と計画エンティティを認識している必要があります
質問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