Реализован полноценный алгоритм подбора любимых номеров. Используемый алгоритм подбирает набор учитывая стоимость дополнительных платных номеров.
Следует заметить, что используемый алгоритм для достижения максимально точного результата производит большое количество вычислений и его выполнение может занять продолжительное время. Вот основные шаги алгоритма:
- выбираются все претенденты на звание любимого номера;
- исключаются все претенденты, для которых стоимость услуг равна нулю;
- для каждого претендента расчитывается выгода - разница в стоимости между детализацией без любимых номеров и детализацией с единственным претендентом в качестве любимого номера;
- исключаются все претенденты, для которых нет положительной выгоды;
- формируется список любимых номеров: по очереди добавляются в список претенденты, начиная с претендента, имеющего максимальную выгоду;
- формирование списка любимых номеров заканчивается если добавление очередного претендента вызывает отрицательную выгоду.
Не трудно заметить, что вычислительные затраты напрямую зависят от количества претендентов на звание любимого номера. Для того чтобы контролировать количество и качественный состав претендентов введено понятие "Предпочитаемые любимые номера". При включенной опции "Только предпочитаемые любимые номера" алгоритм расчёта берёт список претендентов из списка предпочитаемых любимых номеров, что позволяет значительно снизить вычислительные затраты и предоставить результат удовлетворяющий качественным составом.
При использовании опции "Фиксированные любимые номера" список любимых номеров комплектуется их набора предпочитаемых любимых номеров. При этом не производится расчётов стоимости. Этот способ предназначен для ручного определения набора любимых номеров.
Комментариев нет:
Отправить комментарий