Campaign | partitions | partition[n] | Optimize | AlgorithmTuning
这些配置属性定义可用来调整优化的设置。
MaxAlternativesPerCustomerEvaluated
描述
Contact Optimization 测试所建议事务或备用解决方案的组合以找到客户的最佳备用解决方案的最大次数。
例如,如果发生下列情况:
*
*
*
那么尝试的备用解决方案可能如下所示:
*
*
*
*
*
由于要测试的备用解决方案数可能很大,因此,此值将在 Contact Optimization 移至 PCT 中的下一个客户之前对核心算法用于客户的工作量进行限制。
缺省值
1000
CustomerSampleSize
描述
如果优化的客户数大于 CustomerSampleSize,那么 Contact Optimization 会将客户划分为不大于 CustomerSampleSize 的组。Contact Optimization 随后会单独对每个样本组进行优化。仍然符合跨多个组的规则(例如“定制容量”规则)。增大此数字可能会提高最佳性,但会影响性能。
最佳的 CustomerSampleSize 等于客户数。但是,处理大型数据集可能要用相当长的时间。通过将客户划分为较小的组以便 Contact Optimization 一次性处理,可以提高性能,且优化程度损失较小。
缺省值
1000
有效值
正整数
CustomerRandomSeed
描述
随机种子表示 Contact Optimization 用来随机选择记录的起始点,然后 Contact Optimization 填充由 CustomerSampleSize 定义的样本组。如果您具有的客户数少于 CustomerSampleSize,那么此属性对优化没有影响。
如果您认为当前随机样本产生偏差严重的结果,那么您可能要更改随机种子。
缺省值
1928374656
有效值
正整数
MaxIterationsPerCustomerSample
描述
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 会在处理优化算法时尝试使用多个线程。可以使用 MaxCustomerSampleProcessingThreadsProcessingThreadQueueSizePostProcessingThreadQueueSize 配置属性来配置线程数。如果为 false,那么 Contact Optimization 会在处理优化算法时使用单个线程。
缺省值
True
有效值
True | false
EnableMaxCapacityConsumption
描述
如果为 true,那么 Contact Optimization 会使用高级算法来尝试满足 “跨客户”规则(“最小/最大商品数容量”规则和“定制容量”规则)中的最大约束集。但是,如果使用了高级算法,那么会话运行时间可能会增加(取决于向会话提供的数据)。
缺省值
False
有效值
True | False
EnableBufferingHistoryTransactions
描述
如果为 true,那么 Contact Optimization 会将联系历史记录事务写入要在 Contact Optimization 会话运行期间读取的文件。如果为 false,那么 Contact Optimization 会从 Campaign 系统表中的 UA_ContactHistory 表读取。
如果为 false,那么 Contact Optimization 会在 UA_ContactHistory 表上创建读取锁定,锁定时间长度为 Contact Optimization 会话的长度。如果您正在使用数据库装入实用程序,那么此锁定可能会导致尝试写入表失败。如果为 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。例如,如果您知道要在下周将有关特殊促销的电子邮件通信发送至某些客户,那么这些联系可能已采用占位符的形式存在于联系历史记录表中。在此情况下,请将 UseFutureContacts 设置为 true,并且 Contact Optimization 会始终查询联系历史记录表。
缺省值
False
有效值
True | False
ContinueOnGenerationLoopError
描述
如果设置为 FalseContact 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,那么跳过的客户将记录到 unprocessables_10-digit-session-ID.csv 中(Contact Optimization 安装目录中的 partition/partition[n]/logs 目录中)。由于发生生成循环错误而跳过的客户具备原因 SkippedOnGenerationLoopError
有关如何避免生成循环错误的详细信息,请参阅 Contact Optimization Troubleshooting Guide
缺省值
False
有效值
True | False