Испытано многократно. Особенно запомнилось решение, которое пришло во сне (до этого сон Д.И. Менделеева мне представлялся историческим анекдотом). Для построения оптимальной орбитальной структуры навигационных спутников требовалось уметь определять на достаточно длительном промежутке времени статистические характеристики навигационного поля. В первом приближении задача сводилась к вычислению как функции времени площади земной поверхности, из которой одновременно можно наблюдать 4 спутника из группировки. Причем, наш заказчик устроил соревнование и поручил эту же задачу еще и коллегам из Брауншвейгского Технического университета. Очевидно, что сначала мы попытались пойти простейшим путем и решить задачу методом прямого перебора на компьютере, разбив поверхность Земли на географическую сетку. Более рациональные методы оптимизации не подошли, поскольку критерий, по которому проводилась оптимизация, представлял из себя довольно «рваную» функцию. Однако, быстро пришлось признать бесперспективность прямого перебора. Для решения этой задачи у нас был всего один Intel 486 и расчет значения критерия оптимальности на 1-ом узле сетки занимал 15 минут. Исходя из полученных оценок, пришлось сделать вывод, что мы ни только не получим решение к обещанному сроку, но и не дождемся его в течение года непрерывных расчетов. Требовалось повысить быстродействие алгоритма вычисления площади кратного покрытия зонами видимости навигационных КА, не менее чем в 100 раз. С этой задачей я промучился недели три, периодически, то отбрасывая ее (вытисняя в подсознание), то снова возвращаясь к ней. Решение пришло во сне. Причем в предыдущий вечер я этой задачей не занимался. Естественно я проснулся от неожиданности и часа 2 потратил на запись сна в виде математических формул. Придя на работу, я за пол дня запрограммировал и отладил изобретенный алгоритм. Всего 100-150 SLOC, не так уж много за три недели. Ну и еще, запомнилось чувство морального удовлетворения и гордости, которое я испытал, когда представлял заказчику полученные результаты. Первым о полученных результатах докладывал немецкий коллега. Они решали задачу прямым перебором, и он долго рассказывал о том, сколько им для этого потребовалось недель непрерывных расчетов и сколько процессоров Pentium они задействовали параллельно. Затем он представил полученный результат. Он отметил, что он не может дать объяснение, почему получилось именно такое орбитальное построение – так рассчитали компьютеры. Свое выступление я начал словами: «Мы получили очень похожий результат, только он на 15% лучше и я вам сейчас объясню, почему оптимальное орбитальное построение должно быть именно таким». Это был, безусловно, мой звездный час. В конце концов, мы с немецким коллегой объединили наши результаты и опубликовали их в совместном докладе на международной конференции по навигации.