А свои идеи есть? Теорию и примеры решений похожих задач смотрели?