9.8. ロギング
OptaPlanner の時間割プロジェクトを完了後にロギング情報を使用すると、ConstraintProvider
で制約が微調整しやすくなります。info
ログファイルでスコア計算の速度を確認して、制約に加えた変更の影響を評価します。デバッグモードでアプリケーションを実行して、アプリケーションが行う手順をすべて表示するか、追跡ログを使用して全手順および動きをロギングします。
手順
- 時間割アプリケーションを一定の時間 (例: 5 分) 実行します。
以下の例のように、
log
ファイルのスコア計算の速度を確認します。... Solving ended: ..., score calculation speed (29455/sec), ...
-
制約を変更して、同じ時間、プランニングアプリケーションを実行し、
log
ファイルに記録されているスコア計算速度を確認します。 アプリケーションをデバッグモードで実行して、アプリケーションの全実行ステップをログに記録します。
-
コマンドラインからデバッグモードを実行するには、
-D
システムプロパティーを使用します。 デバッグモードを永続的に有効にするには、以下の行を
application.properties
ファイルに追加します。quarkus.log.category."org.optaplanner".level=debug
以下の例では、デバッグモードでの
log
ファイルの出力を表示します。... Solving started: time spent (67), best score (-20init/0hard/0soft), environment mode (REPRODUCIBLE), random (JDK with seed 0). ... CH step (0), time spent (128), score (-18init/0hard/0soft), selected move count (15), picked move ([Math(101) {null -> Room A}, Math(101) {null -> MONDAY 08:30}]). ... CH step (1), time spent (145), score (-16init/0hard/0soft), selected move count (15), picked move ([Physics(102) {null -> Room A}, Physics(102) {null -> MONDAY 09:30}]). ...
-
コマンドラインからデバッグモードを実行するには、
-
trace
ロギングを使用して、全手順、および手順ごとの全動きを表示します。