УДК 519.854.2 ББК22.1
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ПЛАНИРОВАНИЯ ПОДГОТОВКИ КОСМОНАВТОВ
Лазарев А. А.а Ь сА 1, Бронников С. В.е'2, Герасимов А. Р."'3,
Мусатова Е. Г."'4, Петров А. СЛС'5, Пономарев К. В/'6,
Харламов М. М/'7, Хуснуллин Н. Ф."'8, Ядренцев Д. А/'9
а(ФГБУН Институт проблем управления им. В.А. Трапезникова РАН, Москва)
Ь(ФГБОУ ВПО «Московский государственный университет им. М.В. Ломоносова», Москва) С(ФГАОУ ВПО Национальный исследовательский университет «Высшая школа экономики», МЛАВР, Москва)
Л(ФГБОУ ВПО «Московский физико-технический институт (государственный университет)», Москва) е(Ракетно-космическая корпорация «Энергия» им. С.П. Королёва, Королёв) ?(Научно-исследовательский испытательный центр подготовки космонавтов им. Ю.А. Гагарина, Звёздный городок)
1 Александр Алексеевич Лазарев, доктор физико-математических наук, профессор, заведующий лабораторией, ([email protected], г. Москва, ул. Профсоюзная, д. 65, тел. (495) 334-87-51).
2 Бронников Сергей Васильевич, кандидат технических наук, начальник отделения ([email protected]).
3Герасимов Алексей Романович, техник ([email protected]).
4Мусатова Елена Геннадьевна, кандидат физико-математических наук, старший научный сотрудник ([email protected]).
5Петров Алексей Сергеевич, техник ([email protected]).
6 Пономарев Константин Владимирович, зам. начальника отдела ([email protected]).
7 Харламов Максим Михайлович, зам. начальника ([email protected]).
8Хуснуллин Наиль Фаридович, старший инженер-разработчик ([email protected]).
9 Ядренцев Денис Александрович, начальник отдела ([email protected]).
Рассматриваются задачи планирования подготовки космонавтов для работы на Международной космической станции. Разработаны математические модели объёмного и календарного планирования, описывающие подготовку космонавтов. Предложены методы решения задач, а также проведено их исследование на реальных исходных данных.
Ключевые слова: теория расписаний, комбинаторная оптимизация, планирование, Международная космическая станция.
Введение
Среди множества разнообразных задач, возникающих в космонавтике, особое место занимают задачи планирования. Для успешной работы экипажей Международной космической станции (МКС) требуется составление подробного расписания подготовки космонавтов.
Полная подготовка космонавтов — очень длительный, дорогостоящий и технически сложный процесс, включающий в себя комплекс мероприятий, направленных на формирование и поддержание у космонавтов совокупности определенных знаний, навыков и умений, необходимых для надежного и безопасного выполнения программы космического полета. Подготовкой космонавтов занимается научно-исследовательский испытательный Центр подготовки космонавтов (ЦПК) им. Ю.А. Гагарина [16] совместно с Ракетно-космической корпорацией «Энергия» им. С.П. Королёва [15].
В данный момент расписания подготовки космонавтов составляются специалистами ЦПК «вручную». Соответственно, каждое изменение плана подготовки при возникновении нештатных ситуаций приводит к значительным трудозатратам, так как необходимо решать задачу большой размерности с горизонтом планирования до 2-3 лет. Сложность добавляет тот факт, что одновременно на подготовке на разных этапах находится около 30 космонавтов (10 экипажей). Кроме этого, каждый обучаемый имеет индивидуальный план и объем подготовки, кото-
рый зависит от опыта прошлых экспедиций и роли в предстоящем полёте. Вышеперечисленные факторы обусловили необходимость разработки новых методов построения расписаний и автоматизации процесса планирования для повышения эффективности и уменьшения трудозатрат при составлении интегрированного плана-графика подготовки экипажей для работы на МКС.
Статья имеет следующую структуру. В первом разделе рассматриваются общее описание проблемы, связанные с ней понятия. Далее представлен обзор существующих подходов. В третьем разделе ставится задача объёмного планирования, представлены модели и алгоритмы её решения. В следующей части статьи предлагается модель календарного планирования. Раздел 5 содержит описание используемых методов решения и результаты вычислительного эксперимента по решению задачи календарного планирования на реальных данных.
1. Описание проблемы
Предметом деятельности экипажа, согласно принятой в РКК «Энергия» и ЦПК формулировке, являются бортовые комплексы (БК): бортовые системы пилотируемых космических аппаратов (ПКА), научные эксперименты, полетные операции [1]. Общее количество БК для ПКА типа МКС может достигать сотни. По каждому БК космонавт должен выполнять различные задачи. Задачи по различным БК можно сгруппировать по направлениям: например, использование БК для личных потребностей в процессе полета, управление БК при нормальной работе (при отсутствии отказов, нештатных ситуаций), управление БК при возникновении расчетных нештатных ситуаций, управление БК при возникновении нерасчетных нештатных ситуаций, проведение обслуживания БК (замена выработавших ресурс элементов), проведение ремонтно-восстановительных работ и др.
По каждому БК космонавт должен обладать определенной квалификацией. Квалификация отражает уровень профессиональной подготовки космонавта по данному БК и задает однозначное подмножество задач, которое он может выполнять.
131
Квалификация пользователя позволяет выполнять некоторый набор задач по определенному бортовому комплексу. Квалификация оператора позволяет выполнять все задачи, предназначенные для космонавта с квалификацией пользователя, а также некоторое множество дополнительных задач. Квалификация специалиста позволяет космонавту выполнять все задачи по данному БК. По разным БК у космонавта может быть разная квалификация. Количества необходимых квалификаций по каждому БК для каждого экипажа заранее известны. Необходимо только определить, кто из членов экипажа и какую квалификацию по разным БК должен получить так, чтобы экипаж был готов к моменту старта ПКА.
Для космической станции (КС) возможны различные варианты состава экипажа. Например, на МКС экипаж состоит из 6 человек. В составе экипажа 3 космонавта, которые управляют российским сегментом (РС), 3 - американским сегментом (АС). В состав экипажа входит командир экспедиции, 0-2 участника полета, 3-5 бортинженеров. Два члена экипажа, работающие на различных сегментах, могут иметь одинаковые функциональные позиции, например, бортинженеры, а составы решаемых ими задач могут отличаться более чем на 90 процентов. Для космонавтов, работающих на одном сегменте, отличия в составе задач могут составлять десятки процентов.
КС является развивающейся системой. От экспедиции к экспедиции существенно меняется программа полета, состав БК и задач. Поэтому для КС невозможно установить универсальное соответствие между функциональной позицией космонавта и квалификационными требованиями по каждому БК на этапе проектирования КС. Для каждой экспедиции КС необходимо решать задачу определения квалификационных требований к каждому члену экипажа по каждому БК.
Планирование подготовки космонавтов МКС можно логически разделить на два этапа: задача объёмного планирования и задача календарного планирования.
Исходные данные задачи объёмного планирования представляют собой известный набор БК и требуемое количество космо-
навтов различной квалификации для каждого БК. Задача состоит в том, чтобы равномерно распределить подготовку по квалификациям БК между космонавтами.
Следующим важным этапом планирования подготовки является задача календарного планирования. После того как решена задача объёмного планирования, для каждого космонавта определен набор БК, по которым его необходимо подготовить, заданы необходимые ему квалификации по этим бортовым комплексам, т.е. изестно множество занятий, которые космонавт должен пройти. Необходимо составить календарный план подготовки, при этом не должны быть нарушены ресурсные ограничения и директивные сроки подготовки всех экипажей. Выделяют следующие виды календарного планирования:
• оперативное, от 1 недели до 1 месяца;
• стратегическое, с горизонтом планирования 2,5-3 года.
2. Обзор существующих решений
Задача объёмного планирования учебной нагрузки космонавтов является одним из варинатов классической комбинаторной задачи о разбиении [12, 13]. Задача календарного планирования подготовки космонавтов представляет собой частный случай NP-трудной задачи планирования с ограничением на ресурсы (RCPSP, resource-constrained project scheduling problem) [6] с дополнительными специфическими ограничениями. Для решения задач RCPSP большой разрмености широкое распространение получили различные эвристические подходы [9]: поиск с заданным приоритетом, алгоритмы локального поиска, генетические алгоритмы, метод муравьных колоний и др.
Перечислим некоторые известные нам работы по решению задач планирования в космической отрасли. Обзор детерминированных, вероятностных и нечетких моделей сделан в [4]. В работе рассмотрены базовые алгоритмы построения детальных планов полетов и ряд методов планирования работ на МКС, которые используются на практике в Центре управления полета-
133
ми (ЦУП) в г. Королёв, даны оценки их применимости. Кроме того, автором приведено описание методологии взаимодействия разных центров управления полетами в ходе выполнения международных программ, а также представлены положения для разработки автоматизированной системы планирования работ на МКС с классификацией полетных операций и их формализация в базе данных.
В работе [2] предложен подход к адаптивному планированию полетных операций на основе мультиагентных систем. Подход позволяет формировать резервные планы, прогнозировать расход на МКС воды, топлива и пищи. Также осуществляется контроль за излишним или недостающим оборудованием. В [5] описана разработка мультиагентной системы интерактивной доводки планов полетных операций.
В работе [3] представлен генетический алгоритм распределения операций между группами космонавтов и формирования расписаний действий экипажа на борту МКС для достижения поставленных целей экспедиции.
В американском национальном управлении по воздухоплаванию и исследованию космического пространства (NASA) в 2009 году была внедрена система «STAR» для организации обучения экипажа, инструкторов и специалистов по управлению полетами, позволяющая обеспечивать интегрированную разработку учебного плана, составлять отчетность, строить расписания для персонала и оборудования, а также осуществлять обратную связь после учебных мероприятий для оптимизации учебных планов [7].
Для формирования расписания работ Марсохода в Исследовательском центре NASA использовались методы программирования в ограничениях (Constraint Programming) [8].
В Европейском космическом агенстве применяется несколько различных подходов для планирования операций в зависимости от вида задачи. При помощи одного из точных методов программирования в ограничениях формируется базовое расписание, удовлетворяющее основным ограничениям. Методы локального поиска (метод покоординатного спуска, поиск с запретами, метод
имитации отжига, генетические алгоритмы) используются для оптимизации локальных критериев и выполнения специфических условий [10].
В работе [14] описана возможность применения системы PERT на примере Европейского космического агенства для формирования долгосрочного расписания подготовки космонавтов. Метод обеспечивает оценку и анализ времени выполнения, трудозатрат и потребности в других ресурсах проекта, на основе соответствующих характеристик и зависимостей входящих в него задач. Данный подход относится к вероятностным методам. Самой популярной частью PERT является метод критического пути, опирающийся на построение сетевого графика (сетевой диаграммы PERT). Данный подход был успешно применен для планирования 2 млн заданий на проекте американского космического агентства «Аполлон» для отправки астронавтов на поверхность Луны.
Отметим, что описанные выше задачи отличаются от рассматриваемой в данной статье как горизонтом планирования, так и специфическими ограничениями, возникающими при планировании подготовки космонавтов в ЦПК, о которых будет сказано ниже.
3. Задача объёмного планирования
3.1. ПОСТАНОВКА ЗАДАЧИ
Введем следующие обозначения:
• I - множество космонавтов;
• В - множество бортовых комплексов;
• Q - множество возможных квалификаций космонавта по БК;
• Pbqe, b е B,q е Q,e е {0,1}, - время подготовки, необходимое для получения квалификации q по бортовому комплексу b опытным (е =1) или неопытным (е = 0) космонавтом;
• Щд - требуемое количество космонавтов с квалификацией д по бортовому комплексу Ь;
• Т - максимальное время подготовки, ограниченное датой старта и предстартовой подготовкой.
Необходимо подготовить экипаж из 111 космонавтов, для РС МКС обычно 111 = 3. Космонавты могут быть либо опытными (е = 1), т.е. ранее принимавшими участие в полётах, либо неопытными (е = 0). Имеется |Л| бортовых комплексов, для работы с которыми должны быть подготовлены члены экипажа. Для МКС используются три основные квалификации (|ф| = 3): специалист (д = 3), оператор (д = 2), пользователь (д = 1). Время подготовки космонавта по БК зависит от его опыта и требуемой квалификации по этому бортовому комплексу. Из практики известны средние времена подготовки рьде космонавта по бортовому комплексу Ь на квалификацию q.
Введём переменные хщ € {0,1} такие, что хщ = 1 тогда и только тогда, когда космонавт г должен получить квалификацию ц по бортовому комплексу Ь.
Определим функцию суммарного времени подготовки космонавта г:
Ь,д,е
Требуется найти значения переменных, которые удовлетворяют следующим требованиям:
(1) max Ti ^ min или
iei
(2) min Ti ^ max или
iei
(3) max Ti— min Ti ^ min,
iei iei
(4) ^ xibq < M e I,b e B,
qeQ
(5) = nbq, b e B, q e Q, iei
(6) Ti < T, г e I.
Варианты (1)-(3) целевых функций для задачи равномерного распределения нагрузки космонавтов при подготовке взяты по аналогии с вариантами КР-трудной задачи о разбиении [13]. Фактически данные варанты постановок направлены на решение задачи подготовить всех членов экипажа как можно быстрее. Учитывая, что подготовка в составе экипажа длится более двух лет, а график занятий космонавтов очень плотный, проблема подготовки экипажа в срок является актуальной. Опытному космонавту требуется меньшее время на освоение БК с соответствующей квалификацией, чем неопытному, и если неопытному космонавту назначить слишком высокие квалификации по многим БК, то провести подготовку в срок не удастся.
Ограничение (4) означает, что один космонавт по одному бортовому комплексу не может иметь более чем одну квалификацию. Ограничение (5) говорит о том, что число космонавтов, подготовленных по каждому бортовому комплексу в каждой квалификации, должно удовлетворять поставленным требованиям. Условие (6) означает, что вся подготовка должна быть выполнена в срок, где Т определяется датой старта.
3.2. ВЫЧИСЛИТЕЛЬНЫЙ ЭКСПЕРИМЕНТ
Для решения задачи объёмного планирования были использованы два подхода: эвристический и точный. Был разработан жадный алгоритм (Алгоритм 1), на каждом шаге которого квалификация с наибольшим временем подготовки присваивается космонавту с наименьшим суммарным временем подготовки. Алгоритм 1 Жадный алгоритм.
1. Vxibq = 0;
2. Vtz = 0;
3. sort(£, pbql);
4. for each b:
M = Sort_indexes(Ti); L = S ort_indexes(pbqe); к = 3;
for v = 1 to 3: while nbL[v] = 0 ТМ [к] = TM [k] + Pbqe; XM [k]bL[v] = 1;
nbL[v]--;
к --;
5. return XibqЛг]
Для нахождения точного решения задачи на реальных данных был использован пакет программного обеспечения IBM ILOG CPLEX MIP Optimizer 12.6.210, который позволяет решать задачи целочисленного линейного программирования. При расчетах использовалась целевая функция (1), т.е. минимизировалось максимальное время подготовки. Время решения задачи ограничивалось 5 секундами.
Было рассмотрено 4 возможных случая перестановок между квалификациями космонавтов:
а) все три космонавта являются неопытными;
б) все три космонавта опытные;
10 http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/
в) один космонавт опытный и два неопытные;
г) два космонавта опытные и один неопытный.
Полученные результаты приведены в таблице 1. В таблице используются следующие обозначения: в первом столбце перечислены номера примеров исходных данных для эксперимента, во втором столбце для каждого примера указаны степени подготовленности в соответствии с приведённым выше списком. В следующих колонках приведены результаты работы двух алгоритмов. В колонке «max» записано максимальное время подготовки космонавта из экипажа, в колонке «min» — минимальное время подготовки космонавта из экипажа. В колонке ö указано значение разности между максимальным и минимальным временем подготовки космонавтов экипажа.
Таблица 1. Решение задачи объёмного планирования
# Опыт Жадный алгоритм CPLEX
max min S max min S
а 889,5 887,0 2,5 888,05 887,75 0,3
1 б 570,5 569 1,5 570 569,5 0,5
в 721,7 694,5 27,2 697,25 695,25 2
г 669,7 598,0 71,7 616,5 612,75 3,75
а 266,25 265 1,25 265,75 265,2 0,55
2 б 234,2 233 1,2 233,75 233,25 0,5
в 245,5 244,0 1,5 244,45 244 0,45
г 235,0 233,25 1,75 233,75 233,25 0,5
а 660,2 659,5 0,7 659,85 659,75 0,1
3 б 353,5 353,05 0,45 353,5 353 0,5
в 497,95 493,5 4,45 484,05 481,75 2,3
г 398,05 394,0 4,05 393,5 392,5 1
а 925,75 924,2 1,55 925 924,8 0,2
4 б 587 586,5 0,5 587 586,5 0,5
в 774,5 694,5 80,0 731,5 730,75 0,75
г 649,2 648,5 0,7 628,75 628 0,75
Из таблицы 1 видно, что CPLEX дает значительно лучший результат для всех целевых функций, за исключением примера 3б
139
для функции (3) и примеров 3б-3г и 4г для функции (2). При этом в жадном алгоритме разрыв между занятостью космонавтов достигает 80 часов, т.е. больше двух рабочих недель. Можно сделать вывод, что на тех исходных данных, которые были предоставлены ЦПК, задачи объёмного планирования могут быть решены точными методами.
4. Задача календарного планирования
Рассмотрим теперь задачу составления расписания подготовки космонавтов к работе на МКС. Предполагается, что для каждого космонавта уже определены необходимые уровни квалификации и наборы этапов освоения бортовых комплексов на предыдущем этапе в процессе объёмного планирования.
Вначале зададим временные интервалы.
• Ш — множество рабочих недель в планируемом периоде. Максимально | = 156 недель (3 года).
• Им = {1, 2, 3, 4, 5} — множество рабочих дней в неделе и> € Ш. При необходимости оператор может изменить данное множество для любой из недель, уменьшив количество дней (например, планируемый период начинается не с понедельника, на данную неделю выпадают праздничные дни и т.д.) или, в некоторых случаях, увеличив.
• Н.шЛ = {1, 2,..., 18} — множество получасовых интервалов в рабочий день й € недели -ю € Ш. Например, первый интервал начинается в 9:00, а последний заканчивается в 18:00. В некоторых случаях возможно изменение длительности рабочего дня. В ЦПК при планировании также используется получасовой интервал в качестве единицы времени.
Как будет показано далее, при данном временном разбиении будет удобно работать с ограничениями типа «не больше двух раз в неделю», «в первой половине дня» и т.д. С другой стороны, для
вычисления длительности занятий необходимо иметь линейное разбиение горизонта планирования. Для этого расположим все тройки (т, с!, К) в лексикографическом порядке и каждой тройке поставим в соответствие ее номер: (т, с!, К) ^ 1(т, й, К) (см. рис. 1). Обозначим через Т множество всех 1(т, й, К).
12 345- 1
Рис. 1. Временные интервалы задачи
В случае, когда все недели и рабочие дни стандартные (т.е. = Б = {1, 2, 3, 4, 5}, = Н = {1, 2,..., 18}), имеем |Т | = |-|Д|-|Д"| = 14040, а значение К) может быть вычислено
по формуле
г(т, й, К) = (т - 1) ■ |Я| ■ |Я| + ^ - 1) ■ |Я| + К.
В общем случае получаем
ю-1 а-1
1(ю,д,,К) = ^ ^ 1Ню,а/1 + ^ |Я^' | + К
ю'=1 й' й'=1
Обозначим множество всех троек (т, (I, К) через У:
У = {(ы,с1, К)1т е е е Ни,Л}.
Экипажи поступают на обучение в разное время, с некоторыми интервалами (см. рис. 2), зависящими от назначенных дат старта.
Введем обозначения.
космонавт 1 космонавт 2 Экипаж 1
космонавт 3
♦ ММ I I I I ♦ I I I I I ♦ I I I I I » I I I I I ♦ 1
6 месяцев Старт экипажа 1
Рис. 2. Расписания тренировок для всех экипажей
• I - множество всех космонавтов;
• J - множество всех этапов подготовки (занятий);
• С - множество экипажей;
• 1С - множество космонавтов из экипажа с € С;
• Jc - множество занятий экипажа с € С;
• В-ь - множество бортовых комплексов, которые необходимо изучить космонавту г, г € I;
• ^ - множество занятий космонавта г;
- - множество занятий космонавта г, по изучению бортового комплекса Ь € В^
- - множество этапов физической подготовки космонавта г;
- - множество этапов языковой подготовки космонавта г;
• т^ - максимально допустимая длительность изучения бортового комплекса Ь космонавтом г. Поскольку космонавты могут изучать БК в разном объеме, данная величина зависит не только от БК, но и от космонавта.
• pj - длительность занятия 3 € 3;
• К - множество возобновляемых ресурсов. Каждый космонавт также является ресурсом, доступным в количестве 1 в течение рабочего дня.
• ЗКГ - множество занятий, для проведения которых требуется ресурс г € К;
• - количество ресурса г € К, доступное в интервале Ъ дня (I недели -ш;
• гс^г - количество ресурса г € К, требуемое для проведения занятия ] € 3;
• ез, Ц - верхняя и нижняя временные границы проведения занятия з (например, некоторые тренировки должны проводиться зимой, или заданы четкие даты проведения учений). Соответственно обозначим множество занятий, для которых заданы такие границы, через ,]ЬоипДирективные сроки также могут быть описаны с помощью данных границ.
• Ог = (Зг, Гг) - граф отношений предшествования между занятиями космонавта г. Если (^1,^2) € Г^, то занятие 31 должно выполняться раньше, чем занятие ^2.
• Иг = (Зг, - граф отношений строгого следования между занятиями космонавта г. Если (^ ,32) € , то занятие ]2 должно проводиться строго через интервалов после jl, где — стоимость дуги (31,32).
Операции, которые занимают несколько рабочих дней (командировка, учения и т.д.), разобьём на однодневные занятия, между которыми установим порядок строгого следования, т.е. вместо одной многодневной операции получаем несколько однодневных занятий, следующих друг за другом.
Введем булеву переменную которая равна 1 тогда и
только тогда, когда в интервал К дня й недели -ю начинается занятие ] е ■] .В противном случае переменная равна 0. Опишем ограничения задачи.
В каждый интервал времени должно быть достаточно ресурсов:
(7) ^ ^ УС^Г ^ Ttt'rwdh,
Н' > о, Н - р3- +1 ^ Н' ^ Н
Уг е К, е Г.
В неравенстве (7) для каждого (1ш,й,К) е У рассматриваются только занятия, выполняемые в данный момент, т.е. начавшиеся в интервале [К — + 1; К]. Количество необходимых для данных занятий ресурсов не должно превосходить гагшаи-
Все космонавты должны пройти все этапы в необходимом объеме:
(8) ^ Хушйи = 1, V? е 3.
(ш,<1,К) е у,
Н + Рз - 1 ^
Неравенство К + pj — 1 ^ под знаком суммы означает,
что необходимо проведение каждого занятия в течение дня, без переноса на следующий день.
В неделю у каждого космонавта должно быть не более af занятий физической подготовкой:
(9) ^ ^ ^ < af, Уг е I, Уад е №.
При этом не может быть больше bf занятий физической подготовкой в день:
(10) Е £ ^ bf, У1 е 1, Уw е Уd е .
иентЛ
Аналогичные ограничения вводятся для изучения иностранного языка.
В каждую неделю у космонавта должно оставаться а^ часов (2аа^ получасовых интервалов) для выполнения административ-
ных обязанностей (например, самоподготовку, работу с документацией и т.д.): (11)
^ ^ ^ Рзх^н ^ ^ 1Нта1 - 2ааЛ, Уг е I, У'ш е Ж
Нельзя планировать в один день более Ь^ау часов изучения одного БК:
(12) ^ ^ Рэ х^ан ^ 2Ъ(]ау,
У% е 1,УЪ е Вг, У-ш е Уй е .
Отношения предшествования принимают следующий вид:
(13) ^ ^, (I, Ь){х^2тЛн - Ху1Ш(ш) ^ Рь,
Уг е I, У(31,32) е Тг. Отношения строгого следования:
(14) ^ й, Н)(ху2- Ху1Ш(Ш) = Рп + Л..Ш2,
У е I, У(31,32) еиг.
В некоторых случаях возникает необходимость исключения тех или иных временнЫх интервалов для определенных занятий. Пусть Ь2] — временной отрезок, в который не могут выполняться некоторые занятия, а 3\н1;н2] — множество занятий.
(15) ^ ^ хгшЛн = 0, У'ш е УЛ е .
Зе1[111;112] Н1 —Р] +ЫН^Н2 Например, в качестве [Ь,^; к2] может выступать обеденное время, 3\н1;н2] — все занятия, за исключением тех, которые могут выполняться в обед (например, дегустация бортовых блюд или длительные занятия, не подразумевающие перерывов на обед, учебные выезды и т.д.). Другой вариант: [Ь,^; Ь2] — временной отрезок, включающий обеденное время, два часа до обеда и два часа после обеда, 3\н1-,н2] — занятия физической подготовкой.
Ограничение на продолжительность изучения бортового комплекса:
(16) y^ t(w,d,h)(xj^wdh- xJsibwdh)+pjfib ^ Ti,
(w,d,h)eY 1 1
Vi е I, Vb е Si,
где — первое занятие космонавта г по бортовому комплексу
f
Ъ, jfb — заключительное занятие космонавта г по бортовому комплексу Ь. Если точный порядок проведения занятий для некоторого БК не задан, и jfb могут быть введены искусственно.
Временные ограничения на проведение занятий (занятие j не может начинаться вне временного интервала [lj; ej]):
(17) Xjwhd = 0,
Vj е Jbound, V(w, d, h) е Y : t(w, d, h) < ej - 1,
(18) Xjwhd = 0,
Vj е Jbound, V(w, d,h) е Y : t(w, d, h) ^ lj + 1.
Ограничения на одновременное проведение занятий:
(19) Xj!wdh = Xj2wdh, V(n,j2) е Ji2, V(w, d, h) е Y, Vc е С,
(20) Xjiwdh — wdh — %jзwdh,
V(h,h,h) е Гиз, V(w,d,h) е У, Vc е С,
где Ji2, J123 — множества занятий, проводимых одновременно двумя или тремя членами экипажа с соответственно.
Таким образом, ставится задача построения расписания, удовлетворяющего ограничениям (7)-(20). В общем случае данная задача является NP-трудной в сильном смысле.
5. Методы решения и вычислительный эксперимент
Для решения задачи (7)-(20) использовалось два подхода на базе решателей IBM ILOG CPLEX.
Первый подход — применение, как и в разделе 3 для решения задачи объёмного планирования, решателя MIP Optimizer, предназначенного для решения задач целочисленного линейного программирования. Однако, в отличие от задачи (1)-(6), задача (7)-(20) имеет большую размерность и эффективность применения данного метода не является очевидной. 146
Второй подход к решению задачи календарного планирования заключался в использовании решателя программирования в ограничениях CP Optimizer. Для применения данного подхода, задача была переформулирована как «задача по удовлетворению ограничениям» (Constraint Satisfaction Problem). Для этого вместо булевой переменной XjWdh использовалась целочисленная переменная Sj — момент начала занятия j <Е J, а неравенства (7)-(20) были переписаны на языке OPL с использованием встроенных функций IBM ILOG CPLEX CP. Достоинством метода программирования в ограничениях является используемая в нем фильтрация множества допустимых значений переменных Sj [11]. Наличие большого числа ограничений (как в представленной задаче) способствует большей эффективности фильтрации и, соответственно, уменьшению времени решения задачи.
В качестве исходных данных для вычислительного эксперимента были использованы реальные данные по подготовке космонавтов для работы с ТПК «Союз», предоставленные ЦПК. В этих данных отношения предшествования между занятиями для каждого космонавта задавались в соответствии со следующими принципами.
• Внутри каждого БК задан порядок проведения занятий.
• Имеется ориентированный граф бортовых комплексов (ГБК), вершины которого соответствуют изучаемым БК. Два БК соединены дугой, если космонавт должен изучить первый БК прежде чем приступить к изучению второго БК.
• С использованием информации по первым двум пунктам для каждого космонавта г строится граф отношений предшествования Gi.
• Cуществуют занятия вне графа предшествования, которые должны выполняться периодически, вне зависимости от порядка изучения дисциплин, например, занятия английским языком, физической подготовкой, медицинские обследования.
В первом вычислительном эксперименте БК были расположены цепочкой. Рассматривалась задача составления расписания для одного экипажа из трех космонавтов.
В таблице 2 представлены параметры тестовых задач. В первой колонке указан номер тестового примера, во второй колонке — суммарное количество занятий для трёх космонавтов, в третьей — количество изучаемых БК, в четвёртой — горизонт планирования в неделях. В таблице 3 представлены сравнительные
Таблица 2. Параметры тестовых задач
# Количество занятий Количество БК Горизонт планирования
1 99 1 3
2 120 2 4
3 163 3 5
4 201 4 6
5 213 5 6
6 229 7 7
7 283 10 8
результаты решения задачи (7)-(20) с использованием IBM ILOG CPLEX MIP и IBM ILOG CPLEX CP. Вычисления осуществлялись на рабочей станции с процессором Intel Xeon E5-2673, 2.4GHz и 15Gb оперативной памяти. В таблице использовались следующие обозначения: # — номер тестового примера (в соответствии с таблицей 2), Время, с — время в секундах, Перем. — количество переменных в задаче, Огр. — количество ограничений, Итер. — количество итераций алгоритма, Ветв. — количество ветвлений алгоритма. Из эксперимента видно явное преимущество использования подхода программирования в ограничениях. Поэтому в следующем вычислительном эксперименте использовался только решатель IBM ILOG CPLEX CP.
Второй вычислительный эксперимент проводился на реальных данных. Граф бортовых комплексов представлен на рис. 3. Решались задачи с различным количеством экипажей. Каждый экипаж должен был изучить 19 бортовых комплексов. Временной горизонт для каждого экипажа составлял 20 недель. Разница меж-
Таблица 3. Сравнение двух подходов к решению задачи календарного планирования для 1 экипажа
# CPLEX MIP CPLEX CP
Время, с Перем. Огр. Итер. Время, с Перем. Огр. Ветв.
1 09,06 26820 37620 21922 0,250 291 2170 1272
2 30,75 52680 60066 54234 0,329 363 2788 1512
3 559,84 73500 87846 5019412 0,438 492 3548 2008
7 375,834 108720 121578 2032790 0,703 606 4263 2784
4 374,63 115200 125466 2022320 0,610 642 4348 2912
5 346,30 144480 157920 820534 0,640 654 4374 2648
6 6657,98 204000 210646 16917014 1,317 852 5738 3448
ду стартами подготовок экипажей задавалась равной 6 неделям. Такой небольшой промежуток (на практике он составляет не менее 4 месяцев) был выбран для усложнения тестовых задач, чтобы у экипажей возникала «борьба» за ресурсы, т.е для возможности одновременного использования одних и тех же тренажёров разными экипажами. Как видно из таблицы 4, расписание для 5 экипажей на 44 недели было построено менее чем за 5 минут. Зависимость времени работы решателя от количества экипажей указана на рис. 4.
Рис. 3. Граф бортовых комплексов во втором эксперименте
Необходимо отметить, что на начальном этапе в работе по данному проекту принимали участие Гущина В.П., Морозов Н.Ю., Сологуб А.А., Садыков Р.Р., за что авторы признательны им.
Таблица 4. Вычислительный эксперимент с несколькими экипажами_
Экипажи Время, м:с Перем. Огр. Итер.
1 0:07.45 2682 24432 4419
2 0:27.10 5505 50848 13276
3 0:55.86 7605 66620 28509
4 1:56.42 11004 101532 70534
5 4:16.61 14835 142816 102920
Время работы
300 Z50 ZOO 1 150
и &
100 50 О
12 3 4 5
Количество экипажей
Рис. 4. Время решения задачи для случая с несколькими экипажами
6. Заключение
В статье описаны особенности планирования подготовки космонавтов к выполнению космических полётов и обоснована актуальность проблемы составления расписания подготовки. Предложены математические модели планирования подготовки космонавтов к работе на МКС. Общая задача планирования разбивается на задачу объёмного планирования, в котором выбирается множество занятий для каждого члена экипажа, и задачу календарного планирования, решение которой позволяет опред-лелить порядок проведения занятий и их времена начала и окончания. Предложены методы решения поставленных задач, проведены вычислительные эксперименты на реальных данных. 150
В дальнейшем планируется доработка математической модели для поддержки других видов подготовок, в частности, для работы на РС МКС, разработка автоматизированного рабочего места (АРМ), которое позволит ускорить процесс планирования подготовки экипажей для работы на МКС.
Литература
1. БРОННИКОВ С.В. Разработка требований к подготовке экипажей космической станции // Космическая техника и технологии. - 2015. - №1(8). - С. 81-87.
2. КУЗЬМИН В.В., НОВИКОВ А.Л., ПОЛНИКОВ А.С. Результаты внедрения интерактивной мультиагентной системы построения программы полета, грузопотока и расчета ресурсов рс МКС // В кн.: XX Научно-техническая конференция молодых ученых и специалистов: материалы. Королев, РКК «Энергия» им. С.П. Королева, 10-14 июня 2014 г. - С. 607-609.
3. ОРЛОВСКИЙ Н.М. Математические модели и алгоритмы автоматизированной системы планирования работы экипажа: Дис. канд. техн. наук (05.13.01). - ЮРГ-ПУ(НПИ), Новочеркасск, 2015. - 181 с.
4. СТАНИЛОВСКАЯ В.И. Автоматизация планирования пилотов долговременных орбитальных комплексов: Дис. канд. техн. наук (05.07.09). - РКК «Энергия», Королев, 2008. - 193 с.
5. СТАНИЛОВСКАЯ В.И., БЕЛЯЕВ А.М., ЛА-ХИН О.И.,НОСКОВА А.И., ИВАНОВА Д.Н. Подход к адаптивному планированию полетных операции? россии?ского сегмента международнои? космическои? станции на основе мультиагентных технологии? // В кн.: Труды XVII Международной конференции «Проблемы управления и моделирования в сложных системах»: материалы. Самара, 22-25 июня 2015 г. - С. 147-157.
6. ARTIGUES C., DEMASSEY S., NERON E. Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications. - Wiley-ISTE, 2008. - 288 p.
7. AU K., SANTIAGO S., PAPASIN R., WINDERM M., LE T. Streamlining Space Training Mission Operations with Web Technologies. An Approach to Developing Integral Business Applications for Large Organizations // IEEE Fourth International Conference on Space Mission Challenges for Information Technology (SMC-IT), 2011. - P. 159-166. -doi:10.1109/SMC-IT.2011.18.
8. BRESINA J.L., JONSSON A.K., MORRIS P.H., RAJA K. Activity Planning for the Mars Exploration Rovers // ICAPS. -2005. - 10 p.
9. BRUCKER P., KNUST S. Complex Scheduling. - SpringerVerlag, Berlin - Heidelberg, 2012. - 324 p.
10. CESTA A., CORTELLESSA G., FRATINI S., ODDI A. Looking for MrSPOCK: Issues in Deploying a Space Application // ICAPS 2008 SPARK Workshop. - 2008.
11. DECHTER R. Constraint Processing. - Morgan Kaufmann, 2003.-480 p.
12. KORF R.E. A complete anytime algorithm for number partitioning // Artificial Intelligence. - 1998. - Vol. 106. -P. 181-203.
13. KORF R.E. Objective functions for multiway number partitioning // Proc. of the Third Annual Symposium on Combinatorial Search, SOCS 2010, Stone Mountain, Atlanta, Georgia, USA, 2010.
14. SPAGNULO, M., FLEETER, R., BALDUCCINI, M., NASINI, F. Space Program Management : Methods and Tools // Spagnulo, M., Fleeter, R., Balduccini, M., Nasini, F., Springer-Verlag New York - 2013. - 352 с.
15. http://www.energia.ru/ (дата обращения: 30.08.2015).
16. http://www.gctc.ru/ (дата обращения: 30.08.2015).
17. http://www.dlr.de/rb/en/desktopdefault.aspx/tabid-6816/4256_read-6303/ (дата обращения: 30.08.2015).
MATHEMATICAL MODELING OF THE ASTRONAUT TRAINING SCHEDULING
Alexander Lazarev, Institute of Control Sciences of RAS, Moscow State University, International Laboratory of Decision Choice and Analysis Higher School of Economics, Moscow Institute of Physics and Technology State University, Moscow, Doctor of Science, professor (Moscow, Profsoyuznaya st., 65, (495)334-87-51, [email protected]).
Sergey Bronnikov, Rocket and Space Corporation Energia after S.P. Korolev, Moscow, Cand.Sc., Head of Departament ([email protected]).
Aleksey Gerasimov, Institute of Control Sciences of RAS, Moscow, Cand.Sc., Researcher, ([email protected]). Elena Musatova, Institute of Control Sciences of RAS, Moscow, Cand.Sc., Senior Researcher, ([email protected]). Aleksey Petrov, Institute of Control Sciences of RAS, International Laboratory of Decision Choice and Analysis, Higher School of Economics, Moscow, Junior Researcher ([email protected]).
Konstantin Ponomarev, YU.A. Gagarin Research & Test Cosmonaut Training Center, Star City, Deputy Head of Departament ([email protected]).
Maxim Kharlamov, YU.A. Gagarin Research & Test Cosmonaut Training Center, Star City, Deputy Head ([email protected]). Nail Khusnullin, Institute of Control Sciences of RAS, Moscow, Senior Software Developer ([email protected]). Denis Yadrentsev, YU.A. Gagarin Research & Test Cosmonaut Training Center, Star City, Head of Departament ([email protected]).
Abstract: Astronauts training is a long-term, complex and expensive process that lasts from two to three years and require individual approach to each participant. The paper presents an attempt to formalize this process. We consider a set of related problems of the astronaut training scheduling. The first problem is to distribute qualifications for various onboard systems between astronauts, i.e. to determine the set of tasks for each astronaut. The second problem is to determine start moments for all considered tasks. For this issue a mathematical models based on integer linear programming and constraint programming are proposed. Computational results of the implemented models and experiments on real data are presented.
Keywords: scheduling theory, combinatorial optimization, planning, International Space Station.
Статья представлена к публикации членом редакционной коллегии Н. И. Базенковым.
Поступила в редакцию 21.04.2016.
Дата опубликования 30.09.2016.