Cas d'utilisation pouvant avoir un impact négatif sur les performances
Cette section répertorie différents cas d'utilisation qui peuvent avoir un impact négatif sur les performances de Contact Optimization.
Listes d'offres dynamiques avec des règles utilisant des versions d'offre
Si vous utilisez des listes d'offres dynamiques qui utilisent des versions d'offre, des requêtes supplémentaires sont utilisées dans la section IO-intensive data setup (configuration des données gourmandes en ressources d'E-S). Lorsque le nombre d'offres des listes est élevé et que le nombre d'attributs par offre est important, le temps nécessaire à l'exécution de ces requêtes peut être long.
Nombre maximal d'itérations par échantillon client élevé
Le nombre maximal d'itérations à utiliser pour chaque échantillon client peut être configuré à l'aide de la propriété Optimize|AlgorithmTuning|MaxIterationsPerCustomerSample. Vérifiez les paramètres avancés de niveau session et les propriétés de configuration.
En fonction des règles et des données, cette limite peut ne pas être atteinte par un échantillon client. Des valeurs élevées garantissent le niveau maximal d'optimalité des résultats, mais souvent, un nombre plus important d'itérations n'apporte pas une amélioration suffisante en terme d'optimalité pour justifier la dégradation des performances. En règle générale, cinq itérations produisent un niveau acceptable d'optimalité et il est rare de voir plus d'une douzaine d'itérations même si cela s'avère nécessaire.
Pour analyser le comportement des itérations d'échantillon client, recherchez la chaîne Iteration: dans le journal de Contact Optimization. Cette entrée de journal est suivie par un nombre indiquant de quelle itération il s'agit. Chaque bloc commence à l'itération 1 et ce nombre est incrémenté. Cela aide à voir ce qui se passe si vous obtenez un comptage pour chaque numéro d'itération dans le journal et si vous utilisez les résultats pour construire un histogramme.
Nombre élevé de clients impossibles à traiter
Un nombre élevé de clients impossibles à traiter constitue un autre facteur important pour les performances. Si la valeur de la propriété Optimize|AlgorithmTuning|MaxAlternativesPerCustomerEvaluated est élevée (supérieure à 100), cela a un impact négatif important sur le temps de traitement chaque fois qu'une client ne peut pas être traité.
Lorsque de nombreux clients ne pouvant pas être traités, recherchez des erreurs de logique dans les règles ou les données. Cependant, il est possible, surtout avec des nombres élevés de transactions proposées par client, que le temps nécessaire pour obtenir des solutions par client soit important. Si tel est le cas, il est peut-être préférable de réduire la valeur du paramètre MaxAlternativesPerCustomerEvaluated en acceptant plus de clients impossibles à traiter comme compromis pour améliorer les performances.
Dans Contact Optimization version 7.5.3 ou suivante, la journalisation est plus détaillée pour afficher les nombres minimum, maximum et moyen d'alternatives évaluées pour chaque échantillon client.
Appels de sous-routine de résolution
Si certaines combinaisons de règles par client sont utilisées, une dégradation importante des performances peut être constatée dans certains cas. Cela peut se produire lorsqu'il existe au moins une règle de transaction de nombre minimum ou maximum dans laquelle la contrainte de minimum est différente de zéro, combinée à une ou plusieurs règles de package.
*
Outre l'existence de ces deux règles, leurs portées doivent se chevaucher pour que les deux règles s'appliquent aux mêmes transactions proposées. En outre, les scores doivent être tels que la solution préférée pour une règle de package consiste à faire passer la règle "Min/Max" en dessous de son minimum. Si toutes ces conditions sont satisfaites, l'algorithme principal ne peut pas rechercher les résultats optimaux de manière efficace et doit utiliser un moteur de résolution plus lent. Vous savez que cette condition a lieu si vous voyez ce message dans le journal serveur : Solver subroutine parameters :
Si vous constatez des problèmes de performance avec l'utilisation de règles "Jamais A avec B", le meilleur moyen d'améliorer les performances consiste à effectuer une mise à niveau vers Contact Optimization version 7.5.3 ou suivante.
Nombre de cas élevé dans lesquels les scores sont les mêmes
S'il existe de nombreux cas où les scores sont les mêmes, la prise de décision dans LRE peut être parfois inefficace. Vous voyez que c'est le cas si cette chaîne s'affiche dans le journal serveur : Additional alternative generated:
Pour éviter cette situation, essayez d'affecter des scores plus variés aux transactions proposées.