Я ищу алгоритм / пример / опыт планирования рекламы на радио - PullRequest
8 голосов
/ 05 июня 2010

Попытка провести небольшое исследование следующего без удачи. Думаю, я бы здесь спросил, если кто-то сталкивался с этим раньше.

Я помогаю управляемой добровольцами радиостанции с их технологическими потребностями. Одна из главных вещей - это то, что они хотели бы планировать свою рекламу программно.

Существует множество аккуратных и сложных механизмов правил для рекламы, но все, что нам нужно, это нечто довольно простое (наряду с любым опытом, о котором стоит подумать).

Я хотел бы написать что-нибудь на SQL, если возможно, чтобы иметь дело с этими сущностями. В идеале, если кто-то написал что-то подобное для других рекламных носителей (веб и т. Д.), Это было бы очень полезно.

Объекты:

  • Реклама (состоящая из категории, количества просмотров в день, даты начала, окончания или постоянной игры)
  • Категория объявления (Ресторан, Здоровье, Продовольственный магазин и т. Д.)

Чтобы упростить задачу, это будет элегантный SQL-оператор. Как добраться ...:)

Я хотел бы иметь возможность создавать плейлист в день, используя две вышеуказанные сущности, где:

  • В одной категории x не показываются две рекламы одной и той же категории.
  • (приятно иметь) рекламу можно продвигать

В настоящее время нет «рекламных мест» для заполнения. Здесь нет соображений о времени суток.

Мы ставим в очередь объявления на день и просматриваем их между песнями / шоу и т. Д. Мы знаем, сколько в час нужно заполнить и т. Д.

Есть мысли / идеи / ссылки / примеры? Я буду продолжать искать и, надеюсь, что-то натолкнуться, вместо того, чтобы изучать это долго.

Ответы [ 2 ]

1 голос
/ 05 июня 2010

Очень интересный вопрос, СМО. Прямо сейчас это выглядит как проблема программирования с ограничениями, потому что вы не ищете оптимальное решение, а просто такое, которое удовлетворяет всем указанным ограничениям. В ответ на те, кто хотел закрыть вопрос, я бы сказал, что им нужно немного проверить программирование ограничений. Это намного ближе к стековому потоку, чем любые сайты исследования операций.

Изучите программирование и планирование ограничений - готов поспорить, что вы найдете аналогичную проблему очень приятной!

Держите нас в курсе о вашем прогрессе, пожалуйста.

0 голосов
/ 05 июня 2010

Игнорирование запроса T-SQL на данный момент, поскольку вряд ли это будет лучший язык для написания этого на ...

Один из моих любимых подходов к таким сложным задачам, как эта: Имитация отжига . Это хороший подход, потому что вам не нужно думать, КАК решить реальную проблему: все, что вы определяете, это мера того, насколько хорош текущий макет (оценка, если хотите), а затем вы допускаете случайные изменения, которые увеличиваются или уменьшаются. этот счет. На протяжении многих итераций вы постепенно уменьшаете вероятность перехода к худшему результату. Такой подход «имитация отжига» снижает вероятность застрять в локальном минимуме.

Таким образом, в вашем случае функция оценки для данного макета может основываться на расстоянии до следующего объявления в той же категории и на расстоянии до другого объявления из той же серии. Если позже у вас есть соображения о времени суток, вы можете легко добавить их в функцию оценки.

Первоначально вы размещаете рекламу последовательно, равномерно или случайно в пределах их временного окна (не имеет значения, какое именно). Теперь вы выбираете два слота и учитываете, что происходит с партитурой, когда вы переключаете содержимое этих двух слотов. Если какое-либо объявление выходит за пределы допустимого диапазона, вы можете немедленно отклонить это изменение. Если оба по-прежнему находятся в пределах досягаемости, улучшит ли это общий результат? Первоначально вы принимаете изменения случайным образом, даже если они ухудшают ситуацию, но со временем вы уменьшаете вероятность этого, так что к концу вы монотонно движетесь к лучшему результату.

Легко реализовать, легко добавлять новые «правила», влияющие на оценку, можно легко настроить время выполнения, чтобы принять «достаточно хороший» ответ, ...

Другим подходом было бы использование генетического алгоритма, см. Этот похожий вопрос: Алгоритм планирования наилучшего соответствия это, вероятно, сложнее для программирования, но, вероятно, будет быстрее сходиться при хорошем ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...