Здравствуйте, Other Sam, Вы писали:
OS>Вообще, опсосы специально вносят сложность OS>в определение реальной стоимости их услуг.
Это уж точно ....
OS>Я думаю будет слишком сложно найти аналитическое решение данной задачи, OS>точнее его придется искать снова и снова каждый раз при смене тарифных OS>планов, доп. услуг и всяческих акций.
Да правильно. Обновлять информацию по планам придется постоянно.
Я может не совсем точно описал задачу, но задача состоит не в нахождении лучшего плана вообще
(такой вряд ли будет), а нахождение лучшего при заданном уровне расходов услуг.
Т.е. представляя каждый план в виде кусочно-непрерывной функции, я могу вычислить его стоимость для заданных входных данных (уровня потребления), а потом отобрать минимальный.
Но такой план может быть не оптимальным, если попытаться учесть пакеты, а вариантов план+пакеты будет очень много.
Вот такая комбинаторная задача и представляет для меня основную трудность. Надеялся, что кто-то сможет ее описать математически...
OS>Разумеется OS>каждый раз при смене тарифных планов придется переписывать алгоритм OS>вычисления (тот, что задан на "языке" мат. пакета).
Вот этого и не хочется, хотелось описать алгоритм один раз и получать результат независимо от изменения планов. Для этого, конечно, нужно учесть в алгоритме все возможные варианты тарификации планов и пакетов, для чего сначала спроектировать адекватную модель данных для хранения плана.
OS>Второй подход — запустить "эмулятор биллинга" и скоримить ему OS>вымышленные звонки во всех комбинациях тарифных планов, доп. услуг и OS>каких-нибудь бонусов. Фактически перебор. При этом "эмулятор биллинга" OS>придется писать самому, и дописывать его по мере изменения условий у OS>опсосов.
Скорее всего будет комбинация двух подходов (через биллинг получаем стоимость плана, а дальше аналитически подбираем пакеты к нему для удешевления).
Напрашивается алгоритм оптимизации типа спуска по координатам или метод ветвей и границ, но пока что я в этом плаваю...
Была также мысль сделать нейронную сеть (вход — уровень потребления услуг, выход — тарифный план), но это будет примерное решение, а я думаю, что реально получить точное...