Campaign | partitions | partition[n] | Optimize | AlgorithmTuning
これらの構成プロパティーは、最適化のチューニングに使用できる設定を定義します。
MaxAlternativesPerCustomerEvaluated
説明
顧客の最適な選択肢を見つけるために、推奨トランザクションの組み合わせ、つまり選択肢を Contact Optimization でテストする最大回数。
例えば、以下が真である場合:
*
*
*
この場合、試行される選択肢は、以下のようになります。
*
*
*
*
*
テストする選択肢の数は大きくなる可能性があるので、この値によって、1 人の顧客に対して消費するコア・アルゴリズムの処理量を制限します。制限に達すると、Contact Optimization は PCT 内の次の顧客に移ります。
デフォルト値
1000
CustomerSampleSize
説明
最適化する顧客数が CustomerSampleSize より多い場合、Contact Optimization は、各グループが CustomerSampleSize を超えないようにして顧客をグループ分けします。 その後、Contact Optimization は、それぞれのサンプル・グループを別々に最適化します。 カスタム・キャパシティー・ルールのようなグループをまたがるルールは、変わらず適用されます。 この数値を大きくすると、最適性は向上しますがパフォーマンスは低下する可能性があります。
最も適した CustomerSampleSize は、顧客数と等しい数値です。 ただし、大量のデータを処理すると、非常に時間がかかる可能性があります。 Contact Optimization で一度に処理できるように顧客をいくつかの小さいグループに分けることで、最適性の低下を最小限に抑えつつパフォーマンスを上げることができます。
デフォルト値
1000
有効な値
正整数
CustomerRandomSeed
説明
ランダム・シードは、Contact OptimizationCustomerSampleSize によって定義されたサンプル・グループにデータを設定する前に、Contact Optimization でレコードのランダムな選択に使用される開始点を表します。 顧客数が CustomerSampleSize より少ない場合、このプロパティーは最適化に影響しません。
現在のランダム・サンプルでは非常に偏った結果が生成されると思う場合、ランダム・シードを変更することができます。
デフォルト値
1928374656
有効な値
正整数
MaxIterationsPerCustomerSample
説明
1 つの顧客グループに対して Contact Optimization が処理を反復する最大回数。 Contact Optimization は、最適性に達するか、または反復回数が MaxIterationsPerCustomerSample と等しくなるまで、顧客グループを処理します。
MaxIterationsPerCustomerSample の設定変更の効果を観察するには、セッション・ログで以下の情報を検索します。
*
*
*
*
デフォルト値
1000
有効な値
正整数
MaxCustomerSampleProcessingThreads
説明
Contact Optimization が最適化アルゴリズムの処理に使用するスレッドの最大数。 一般的に、MaxCustomerSampleProcessingThreads を高く設定するほど、パフォーマンスを改善できる可能性があります。 ただし、パフォーマンスの向上は、使用する最適化ルールのタイプや数、ハードウェアなどのいくつかの要因によって制限されます。 Contact Optimization 実装環境のチューニングの詳細については、 IBM® 営業担当員にお問い合わせください
デフォルト値
1
有効な値
正整数
ProcessingThreadQueueSize
説明
PCT から顧客サンプルを読み取るために、Contact Optimization が使用できるスレッド数。 このスレッド数を増やすと、 Contact Optimization セッションのパフォーマンスが改善される可能性があります。 Contact Optimization 実装環境のチューニングの詳細については、 IBM® 営業担当員にお問い合わせください
デフォルト値
1
有効な値
正整数
PostProcessingThreadQueueSize
説明
顧客サンプルを OCT のステージング・テーブルに書き込むために、Contact Optimization が使用できるスレッド数。このスレッド数を増やすと、Contact Optimization セッションのパフォーマンスが改善される可能性があります。 Contact Optimization 実装環境のチューニングの詳細については、 IBM® 営業担当員にお問い合わせください
デフォルト値
1
有効な値
正整数
EnableMultithreading
説明
true の場合、Contact Optimization は、最適化アルゴリズムを処理するときにマルチスレッドを使おうとします。 スレッド数は、MaxCustomerSampleProcessingThreadsProcessingThreadQueueSize、および PostProcessingThreadQueueSize 構成プロパティーで構成できます。 false の場合、Contact Optimization は、最適化アルゴリズムを処理するときに単一スレッドを使用します。
デフォルト値
True
有効な値
true | false
EnableBufferingHistoryTransactions
説明
true の場合、Contact Optimization は、 Contact Optimization セッションの実行中に読み取るファイルにコンタクト履歴トランザクションを書き込みます。 false の場合、Contact Optimization は、 Campaign システム・テーブルの UA_ContactHistory テーブルから 読み取ります。
false の場合、Contact Optimization は、 Contact Optimization セッションの間中、 UA_ContactHistory テーブルに対して読み取りロックを掛けます。 データベース・ロード・ユーティリティーを使用している場合、このロックが原因でテーブルへの書き込み試行が失敗する可能性があります。 true の場合、Contact Optimization がテーブルに対して読み取りロックを作成するのは、ファイルに照会を書き込むためにかかる時間のみになります。
デフォルト値
false
有効な値
True | False
MinImprovementPercent
説明
この構成プロパティーを使用すると、最適化率が指定されたレベルに到達した時点で、顧客のグループの処理を停止できます。 MinImprovmentPercent プロパティーには、反復処理を続けるスコアの改善率 (単位はパーセンテージ) を設定します。 デフォルトはゼロで、反復できる回数に制限はないことを意味します。
デフォルト値
0.0
UseFutureContacts
説明
最適化ルールのいずれにおいても期間を使用しない場合、Contact Optimization でコンタクト履歴テーブルを照会しないようにして、パフォーマンスを改善できます。 この動作は、UseFutureContacts 構成プロパティーを使用して制御できます。
UseFutureContacts を false に設定し、かつ Contact Optimization セッションの最適化ルールで期間が使用されていない場合、Contact Optimization はコンタクト履歴テーブルを照会しません。 この設定により、Contact Optimization セッションの実行に必要な時間が改善されます。 ただし、Contact Optimization セッションで期間が使用されていると、コンタクト履歴テーブルは照会されます。
今後の潜在的コンタクトをコンタクト履歴に記録している場合は、UseFutureContacts を true に設定する必要があります。 例えば、次の週に特定の顧客に特別なプロモーションに関する E メール・コミュニケーションを送信することが分かっている場合は、それらのコンタクトをあらかじめプレースホルダーとしてコンタクト履歴テーブルに入れておくことができます。 この場合、UseFutureContacts を true に設定して、Contact Optimization が必ずコンタクト履歴テーブルを照会するようにします。
デフォルト値
False
有効な値
True | False
ContinueOnGenerationLoopError
説明
False に設定すると、以下の理由で顧客のセットを処理できなかった場合に Contact OptimizationContact Optimization セッションを停止します。
*
*
Contact Optimization は、この条件を以下のエラーとともにログに記録します。
生成ループで除去できなかったスラック変数と余剰変数がある
True に設定すると、 Contact Optimization は、生成ループ・エラーをトリガーしたセット内のすべての顧客をスキップします。 その後、Contact Optimization は引き続き Contact Optimization セッション内の次の顧客セットの処理を続行します。 Optimize|logging|enableBailoutLogging プロパティーも TRUE に設定されている場合、スキップした顧客は Contact Optimization インストール・ディレクトリー内の partition/partition[n]/logs ディレクトリーの unprocessables_10-digit-session-ID.csv に記録されます。 生成ループ・エラーが原因でスキップされた顧客には、SkippedOnGenerationLoopError という理由が付けられます。
生成ループ・エラーを回避する方法について詳しくは、 「Contact Optimization トラブルシューティング・ガイド」を参照してください。
デフォルト値
False
有効な値
True | False