Campaign | partitions | partition[n] | Optimize | AlgorithmTuning
これらの構成プロパティーは、最適化のチューニングに使用できる設定を定義します。
MaxAlternativesPerCustomerEvaluated
説明
顧客に最適の選択肢を見つけるために、提案されたトランザクションまたは選択肢の組み合わせを Contact Optimization でテストする最大回数。
例えば、以下が真である場合:
*
*
*
この場合、試行される選択肢は、以下のようになります。
*
*
*
*
*
テストする選択肢の数が多くなる場合があるため、この値を使用して、Contact Optimization が PCT 内の次の顧客に移動する前に、コア・アルゴリズムが 1 人の顧客に対して費やす作業量を制限します。
デフォルト値
1000
CustomerSampleSize
説明
最適化する対象の顧客の数が CustomerSampleSize を超える場合、Contact OptimizationCustomerSampleSize を超えないグループに顧客を分割します。その後、Contact Optimization は、 それぞれのサンプル・グループを別々に最適化します。 それでも、グループ間にまたがるルール、例えばカスタム・キャパシティー・ルールなどは遵守されます。この数を大きくすると、最適性は向上してもパフォーマンスを損なう場合があります。
最大限に最適な CustomerSampleSize は、顧客の数と同じです。しかし、大きなデータ集合の処理には、多大な時間を要する場合があります。Contact Optimization で一度に処理するために、顧客をより小さなグループに分割することにより、最適性の損失を最小にしてパフォーマンスを向上させることができます。
デフォルト値
1000
有効な値
正の整数
CustomerRandomSeed
説明
ランダム・シードは、Contact OptimizationCustomerSampleSize によって定義されたサンプル・グループにデータを設定する前に、Contact Optimization でレコードのランダムな選択に使用される開始点を表します。 顧客の数が CustomerSampleSize より少ない場合、このプロパティーは最適化に効果はありません。
現行のランダム・サンプルで生成される結果に大きな偏りがあると思われる場合は、ランダム・シードを変更できます。
デフォルト値
1928374656
有効な値
正の整数
MaxIterationsPerCustomerSample
説明
Contact Optimization が 1 つの顧客グループに対して処理する反復の最大数。Contact Optimization は、最適性が達成されるか、反復が MaxIterationsPerCustomerSample と同じになるまで、1 つの顧客グループを処理します。
セッション・ログ内の次の情報を検索し、MaxIterationsPerCustomerSample の設定変更の効果を観察します。
*
*
*
*
デフォルト値
1000
有効な値
正の整数
MaxCustomerSampleProcessingThreads
説明
Contact Optimization で最適化アルゴリズムの処理に使用するスレッドの最大数。一般に、MaxCustomerSampleProcessingThreads を大きく設定するほど、パフォーマンスを向上させることができます。ただし、パフォーマンスの向上は、使用する最適化ルールのタイプと数、使用するハードウェアなど、いくつかの要因によって制限されます。Contact Optimization の実装のチューニングに関する詳しい手順については、IBM® 営業担当員にお問い合わせください。
デフォルト値
1
有効な値
正の整数
ProcessingThreadQueueSize
説明
Contact Optimization で PCT から顧客サンプルを読み取るために使用できるスレッドの数。 このスレッド数を増やすと、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 OptimizationCampaign システム・テーブル内の UA_ContactHistory テーブルから読み取ります。
false の場合、Contact OptimizationContact 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 Optimization は、Contact Optimization セッションが以下の理由で顧客のセットを処理できない場合にセッションを停止します。
*
*
Contact Optimization は、以下のエラーのあるこの状態をログに記録します。
生成ループはすべての余分な変数を除去できませんでした (The generation loop was unable to eliminate all slack
and surplus variables)
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