понедельник, 26 февраля 2024 г.

Евгений Хойхин о РДС и расписанцах

 

 

             О первом расписании движения самолётов

                        и о тех, кто его составлял

 

                                                                   «Да, были люди в наше время,

                                                                   Не то, что нынешнее племя:

                                                                   Богатыри - не вы!»

                                                                                            Лермонтов М.Ю.

 

    Хаим Борисович Кордонский, Илья Борисович Герцбах, Валдемар Карлович Линис внесли огромный вклад в теорию и практику составления расписания движения самолётов. Об этом много написано. Я хочу рассказать эту историю изнутри, т.е. о моих коллегах и о том, что происходило в отделе во время нашего первого составления расписания.

 

Максим Михаил Семенович

    Я пришёл в НВЦ ГА в августе 1969 года. Таких как я, выпускников PKИИГА, было не менее двадцати. Меня и Виктора Клюшкина определили в отдел расписания. Нас встретил начальник отдела, Максим Михаил Семенович.  Высокий, худощавый с усталым лицом. Стояла тёплая солнечная погода, и он  предложил продолжить знакомство во дворе на скамейке. Разговор с начальником произвёл на нас неоднозначное впечатление. С одной стороны, он сразу предложил перейти на «ты», что не могло не радовать; с другой стороны, о том чем занимается отдел, он говорил негромко и очень быстро. Это заставило нас быть в полном напряжении. Хорошо если мы тогда поняли и половину им сказанного. Мы еще не знали, что Мишу можно остановить на полуслове, переспросить и не один раз.

    Потом мы вернулись в отдел. В комнате стояла тишина. Миша попросил внимание и  представил нас. Через минуту в комнате снова воцарилась тишина. Было заметно, что все сотрудники заняты по уши работой. Правила поведения в отделе были простыми: если нужно поговорить – выходи в коридор, хочешь отдохнуть – во двор, хочешь узнать новости – в курилку.

    Что греха таить, я, некурящий, с удовольствием посещал курилку. О своих непосредственных коллегах я смог узнать только там. Легендой за номером один безусловно числился Миша, целеустремленный и упорный в достижении цели. Герцбах И.Б. рассказал мне такую историю. Как-то зимой Миша возвращался домой поздно вечером. Неожиданно на него напал незнакомый мужчина весьма внушительного телосложения. Он снял с Миши шапку и попытался скрыться. Миша стал его преследовать. Преследовал долго, пока на его счастье по дороге ему не встретился прохожий, с которым  он догнал вора и вернул себе шапку.

     В вопросах составления расписания движения самолётов Миша начинал с нуля. Благодаря таланту, огромной силы воли, он стал высококлассным специалистом, а затем и лидером, умеющим заражать других своими идеями. Миша быстро стал начальником отдела. Безусловно, большую роль в его становлении сыграли Кордонский Х.Б., Герцбах И.Б. и Линис В.К.  Они определили направление его деятельности – графо-аналитический и вероятностный методы расчета оборачиваемости самолётного парка. После безуспешных попыток составить расписание на ЭВМ «Урал-4» его отделу удалось добиться цели на «Минск-22».

    Предполагаю, начальству работать с Мишей было непросто, зато нам – легко и приятно. Расскажу еще одну историю. После составления первого расписания движения самолётов, мы получали премию. Очень большую! Я таких денег ещё в руках не держал. Миша задержался у кассы и был свидетелем, сколько денег получил я. Сумма была ровно на треть меньше, чем он мне выписал. Миша её помнил и потому удивился. Мне пришлось объяснить, что я - неженатый, бездетный.  И тогда Миша обещал мне в следующий раз выписать больше. Таким заботливым он был ко всем! К сожалению, следующую премию мы получали уже без него. 

 

Венёвцев Валерий Михайлович  

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

    Мне повезло. Незадолго до начала составления первого расписания меня определили к Валере учиться программированию на языке Ассемблер. Первую программу, которую я написал по заданию Валеры, мне пришлось заново переписать. Валера потребовал, чтобы программа занимала как можно меньше памяти ЭВМ. И все последующие мои программы также оценивались по этому критерию. Валера следил за этим строго. Через несколько лет я написал аналогичную программу, но уже на ЭВМ следующего поколения. Мне катастрофически не хватало оперативной памяти. До сих пор не могу понять, как Валера сумел разместить свою программу на «Минск-22», у которой оперативная память былa еще меньше.  Сегодня я продолжаю программировать и часто задаю себе один и тот же  вопрос: «С какой целью ты  экономишь память? Ведь теперь нет необходимости!» - Вразумительный ответ найти не могу. Правду говорят, что привычка – вторая натура. И тем не менее, спасибо тебе, Валера, за науку!

 

Цуманов Игорь Михайлович

    Слева от  входных дверей, в углу располагался кубик очень талантливого программиста Игоря  Цуманова. Два перпендикулярно поставленных шкафа отделяли его рабочее место от всех нас. Уже тот факт, что у Игоря был персональный кубик, невольно вызывал уважение к его владельцу. На самом деле Игорь был очень скромным, добрым и очень застенчивым. Он всегда говорил тихо, без лишних слов и всегда был готов оказать помощь.  Однажды мне для расчета энтропии потребовалось иметь в памяти ЭВМ таблицу натуральных логарифмов. Программу удобней было написать на языке PL /1.  Я попросил Игоря и неожиданно быстро получил нужную мне программу.

    Ещё до моего прихода в отдел Игорем была написана уникальная по тому времени программа, которая рассчитывала для рейсов оптимальные маршруты движения с учетом направления и силы ветра.  Недавно я специально поинтересовался историей задачи коммивояжёра, аналога задачи Игоря. Эта задача была сформулирована ещё в 30-е годы прошлого столетия, но пик интереса к ней и попытки её решения приходятся на 60-70-е годы.   В 1963 году Дж. Литл, К. Мурти, Д. Суини,  и К.Кэрол первыми опубликовали решение этой задачи. Их статья была перепечатана в журнале «Экономика и математические методы» в 1965 году.  Потом последовали другие решения. Таким образом,  Игорь самостоятельно решил задачу в самый разгар её исследований в мировом масштабе. И ещё, в задаче Игоря фигурировало не менее 250 пунктов, что в пять раз превышало размерность задач, которые в то время решались заграницей. А если учесть, что  для решения использовалась «Минск-22», то можно считать, что Игорь по праву заслужил быть легендой.

 

Небольшое отступление.

    Интерес к этой задаче продолжался ещё много лет. В  2005 года была решена задача с 33 810 пунктами, а в 2006 году было найдено решение для

85900 пунктов и доказано, что в задачах с миллионами пунктами можно вычислить путь, длина которого менее, чем  на 1 % больше оптимального.

 

Попов Георгий Лорисович

    Ещё до моего прихода в отдел Жора написал программу, которая осуществляла проверку соблюдения всех ограничений в действующем расписании движения самолётов. Составлением расписания в то время руководил Шаркевич И.Н. – начальник отдела в министерстве ГА.

И вот представьте себе ситуацию: Жора, молодой специалист, отправляется в Москву, чтобы показать обнаруженные им нарушения в расписании. Кому? -   Непререкаемому авторитету в министерстве! Как там Жору встретили, он подробно описал в своих воспоминаниях. Не знаю, смог бы я повторить подвиг Жоры.

 

Букачёва Зоя Васильевна  

    Старейшая сотрудница нашей организации. Закончив физмат ЛГУ, Зоя Васильевна начинала работать еще в лаборатории вычислительной техники при РКИИГА и продолжала работать до последних дней существования ЦНИИ АСУ ГА.  Скромность и высокий профессионализм – вот отличительные черты её характера. Среди множества программ, написанных ею, я бы выделил составление машинных графиков оборота самолётов (МГО), которые использовались в качестве входной информации в программе Валеры Венёвцева «Прокладка рейсов».

 

Красникова Руфина Тимофеевна

    Хозяйка карты трасс. Аккуратность и педантичность – основные черты её характера. Руфина Тимофеевна обладала ещё и хорошим художественным вкусом. Её карта трасс  внешне производила впечатление настоящего произведения искусства.

 

Другие сотрудники

    Евгений Иоселевич, Юрий Маслов, Лев Лялин, Виктор Пономарёв, Виктор Клюшкин, Субхи Гасанов – все они внесли свой вклад в составление первого расписания движения самолётов.  Кроме больших программ, о которых я написал выше, было множество небольших, но тоже важных программ. Это – создание и ведение  карты трасс, реестров типов самолётов, реестров аэропортов и точек пересечения воздушных трасс, различные распечатки, в том числе расписания.

 

Как проходило составление первого расписания

    Составление первого расписания с помощью ЭВМ «Минск-22» было поистине революционным. Если рассматривать революцию изнутри, то теперь рейсы получили некоторую «свободу» в виде индивидуальных допусков, пределах которых можно было изменить время их выполнения. «Минск-22» была маломощной, и, тем не менее,  с помощью наших программ она могла  проводить анализ по каждому рейсу и выбирать подходящий вариант его выполнения. Таким образом, мы не боялись «подвинуть» рейсы для достижения определённой цели.

    Чтобы лучше понять нововведение, необходимо объяснить, как расписание составлялось прежде. Многие годы расписание составлялось в отделе министерства ГА, которым руководил Шаркевич И.Н. Его коллектив создал легендарную картотеку, которая содержала карту воздушных трасс с наложенной на неё действующим расписанием движения самолётов. Картотека была построена в виде слотов, что давало возможность проверить соблюдение всех установленных ограничений, кроме использования самолётного парка, и  определить загрузку любого объекта на любом интервале времени.

    Но картотека – это не ЭВМ! Чтобы изменить время выполнения рейса и учесть  все ограничения, требовался высокий профессионализм. Шаркевич И.Н. был легендой еще большего масштаба. Но и он руководствовался принципом Гиппократа «Не навреди», что в данном случае означало соблюдение преемственности расписаний и обеспечение условий безопасности полетов. Без особой необходимости Шаркевич И.Н. не менял время выполнения рейсов. Особыми ситуациями были ремонт взлётно-посадочных полос в аэропортах или переход рейсов на другой тип самолёта. Новые рейсы всегда занимали только свободные слоты. Получить у Шаркевича И.Н. желаемый слот, считалось большой удачей. По этому поводу ходило много шуток.      

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

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

    К сожалению, не сохранился отчет по составлению первого расписания, но свою задачу мы выполнили. Правда, какой ценой!  Но об этом чуть позже.

    Процесс составления расписания проходил по схеме, которая уже давно стала традиционной. Процесс состоял их трех этапов.

 

Этап 1. Анализ проектов расписаний, представленных управлениями ГА, и согласование их в единый проект расписания.

    Это был для нас самый тяжелый этап.  Он продолжался две недели. В соответствии с установленным графиком представители  29 управлений  ГА приезжали к нам для согласования своих проектов. Информация о рейсах, которую они привозили, была напечатана на бумаге. Её надо было ввести в ЭВМ. Процесс этот был небыстрым, поскольку информация сначала вводилась на перфленту или перфокарты (точно не помню)  и лишь потом в ЭВМ. Далее она распечатывалась и визуально проверялась. У нас была программа, которая затем осуществляла проверку соблюдения рейсами режимов работы аэропортов.

    Кроме информации о рейсах, представители управлений привозили рулоны миллиметровой бумаги, на которой были построены графики использования самолётного парка в соответствии с предлагаемым проектом расписания. Они служили доказательством, что имеющимся самолётным парком управление ГА способно выполнить расписание.

     Вот тут и начинался кошмар для нашего отдела.  Конечно, можно было положиться на профессионализм представителей управлений и несильно углубляться в анализ этих графиков. Но надо было знать характер Миши Максима:  он не только хотел проверить правильность построения графиков, но и попытаться сократить необходимое количество самолётов, изменяя время выполнения рейсов.

    Сразу обозначились  две проблемы. Первая – у нас не было соответствующих программ по причине отсутствия в то время дисплеев и сложности корректировки рейсов в ЭВМ;  вторая, главная причина, заключалась в том, что Миша был единственным специалистом в этой области. Представьте себе,  29 управлений ГА, каждое из которых имело не менее 2-х отрядов.  Столько графиков занятости самолётного парка предстояло Мише проанализировать. Чем мы могли ему помочь? – Ребята копировали графики, чтобы потом Миша мог их корректировать, изменяя время выполнения рейсов. Я не участвовал в этой работе, поскольку моё участие планировалось на следующем этапе, но имел возможность наблюдать со стороны. Надо отдать Мише должное: он обладал необыкновенным чутьём, где можно сократить потребность в самолётном парке. Это немного облегчало работу моим коллегам. Но все равно, им приходилось работать и днём, и ночью.  Ночевал  ли сам Миша дома и вообще, спал ли? – Не знаю. Его жена, Светлана, приносила ему на работу еду, которой Миша всегда делился с сотрудниками. За две недели он жутко истощал, на него было страшно смотреть. Удивительно, как он тогда не подорвал своё здоровье. Все мы облегчённо вздохнули, когда этот этап закончился.

 

Небольшое отступление.

    Вспомнился мне забавный случай. После успешного составления расписания министерство предложило нам составить список оборудований, в которых мы нуждались. Кто-то предложил графопостроитель.

    Прошло около 10-ти лет. Вызывает меня Дачковский В.З., заместитель начальника института, и спрашивает: «Пришел графопостроитель. Ты не помнишь, мы его заказывали?».

    Необходимость в графопостроителе давно отпала. К тому времени великолепную программу написал Александр Костюченко. Она выполняла и минимизацию необходимого самолётного парка, и предоставляла графики его загрузки на дисплее.

 

Этап 2.  Создание окончательного варианта расписания.

     В начале этого этапа работала знаменитая программа Валеры Венёвцева – «Прокладка рейсов».  Благодаря допуску ЭВМ искала такой вариант выполнения рейса, который бы не нарушал ранее учтенные ограничения (режим работы аэропортов, запланированный самолётный парк), а также новое ограничение - пропускную способность аэропортов и точек пересечения воздушных трасс.

    Всего в проекте расписания было около 3600 рейсов. Название программы «Прокладка рейсов» - не совсем корректное. Правильнее было бы назвать её прокладкой машинных графиков оборота (МГО). В заданиях на программирование и в отчетах фигурировал именно этот термин, но Валера дал программе более короткое название.

    Рейсы прокладывались одновременно в той последовательности, в какой они участвовали в графике оборота. Таким образом, Валера решал проблему соблюдения ограничений по использованию самолётного парка.  Чтобы наилучшим образом обеспечить соблюдение пропускной способности аэропортов и точек пересечения воздушных трасс, МГО предварительно сортировались особым образом. Сортировка МГО основывалась на теореме, доказанной Герцбахом И.Б.

        Программа работала на комплексе «Минск-2222», который создали наши машинисты на базе двух «Минск-22». Низкий им поклон! На тот момент  комплекс был единственным, на котором могла работать программа. Но и здесь

были свои сложности: «узким местом» были барабаны. Они с трудом

 ЭВМ «Минск-22» (фото из архива Субхи)
выдерживали интенсивное к ним обращение, сбоили, выходили из строя, а могли и просто незаметно «врать».  Поэтому Валера предусмотрел в программе следующее. Учитывая нестабильную работу барабанов, прокладка проводилась порциями по 100 МГО. После прокладки одной порции  счет повторялся и результаты сравнивались. Таким образом, продолжительность решения задачи составляла почти сутки, а фактически  - больше, потому что и нам, и барабанам требовался отдых.

    Я был у Валеры на подхвате. Помню такую ситуацию. В первую ночь я пришел раньше Валеры и ждал его в машинном зале. Вскоре открывается дверь и входит Валера. В одной руке у него бумаги, в другой – раскладушка. Эту раскладушку я давно заприметил в нашей комнате. Использовать её там не было никакой возможности – мешали столы. Чья раскладушка? – Вопрос для меня был интересным только, когда я впервые её увидел. Потом раскладушка стала привычным интерьером нашей комнаты.

    И вот объявился её хозяин! Валера разложил раскладушку между двумя «Минск-22».  Теперь один из нас мог в ней подремать, а другой в это время дежурил за пультом ЭВМ. Через каждые два часа Валера перезапускал программу, или мы проводили сравнение промежуточных результатов.  Бог нас миловал: ЭВМ отработала безупречно. Спасибо машинистам, хорошо подготовили ЭВМ! 

    По завершении работы мы воспользовались программой Жоры Попова и распечатали все обнаруженные нарушения в составленном расписании. Решить задачу без нарушений было невозможно по объективным причинам. Весь материал мы передали нашим ребятам, которые должны были их устранить. Если я не ошибаюсь, в этом участвовал Женя Иоселевич. У него, единственного, был большой опыт в оперативной корректировке расписания.  

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

 

Этап 3. Подготовка расписания к тиражированию и тиражирование.  

    Мне кажется, Гербах И.Б. ошибся в своих воспоминаниях, когда написал, что тиражирование  первого нашего расписания проходило в Риге.  Линис В.К.  с участием Виктора Пономарёва подготовились к тиражированию с помощью линотипа несколько позже. Помню, как нам организовали экскурсию в рижскую типографию. Там мы познакомились с этим «мастодонтом».

Линотип образца 1974 года.

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

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

многостраничная, с толстой обложкой синего цвета. В мою небольшую сумку она не поместилась, и домой я её нес в руках. К сожалению, книга у меня не сохранилась. Обычная история: она потерялась во время одного из многочисленных переездов.


Е.Хойхин

 

 

 

 

 

Комментировать в Facebook

Комментариев нет: