Решение задачи однокритериальной оптимизации процесса планирования действий экипажа Российского сегмента Международной космической станции на основе генетического алгоритма
Управление космическим полетом делится на несколько этапов, первым среди которых является планирование полета. Все последующие этапы зависят от итогов разработки планов и отвечают за осуществление полета, контроль полета, принятия решений по результатам контроля и их выполнение.
Планирование космических полетов состоит из трех стадий: стратегическое, тактическое и исполнительное. Стратегическое планирование отвечает за определение основных целей полета, проектных параметров бортовых систем, методов управления орбитальным комплексом (ОК) и т.д. На стадии тактического планирования согласовывается последовательность и методы выполнения операций, приводящих к достижению заданной цели полета, порядок использования технических средств, располагаемые на Международной космической станции (МКС) ресурсы и пределы их расхода, перечень научных экспериментов и др. Исполнительное планирование формирует подробные указания о действиях персонала управления полетом и экипажа пилотируемого космического аппарата (КА) с привязкой к циклограмме функционирования бортовых и наземных программно-технических средств.
Интервалом планирования на исполнительном уровне будем называть длительность периода полета. Исполнительное планирование делится на долгосрочное, краткосрочное и детальное. Интервал долгосрочного планирования равен периоду проведения экспедиции, что позволяет определить основные цели для каждой конкретной экспедиции и результаты их выполнения. Продуктом данного вида планирования является номинальный план полета (НПП), который представляет собой список всех основных операций. Степень детализации данных в НПП невысока, так как
он охватывает значительный интервал полета МКС. Поэтому вводится краткосрочное планирование, для которого в качестве интервала выбрана одна неделя. Результатом является оперативный план полета (ОПП), который строится в рамках ранее разработанного НПП с учетом реального состояния ОК. ОПП содержит полный перечень операций, подлежащий выполнению на планируемый период времени с указанием требуемых ресурсов. Для детального планирования величина интервала составляет одни сутки. Основная задача на этом этапе заключается в привязке полетных операций к определенному моменту времени в сутках. По итогам детального планирования составляется детальный план полета (ДПП), являющийся директивным документом для наземного персонала управления полетом, на основе которого разрабатывают управляющие воздействия для бортовых систем КА. НПП, ОПП и ДПП имеют строгую очередность разработки и отличаются глубиной обработки данных и величиной интервала планирования [1].
Во время разработки планов полета одной их главных задач, решаемых планировщиком, является формирование последовательности действий для всех членов экипажа (ЧЭ). Оператор для размещения каждой полетной операции (ПО) выполняет несколько шагов:
1) выбирает полетную операцию из заявочного списка, взятого из программы полета, и ищет промежуток времени, внутри которого обеспечиваются допустимые условия ее выполнения. В ходе такой операции проводится анализ большого количества данных на всем протяжении планируемого интервала, что занимает достаточно много времени и представляет собой сложную задачу;
2) размещает выбранную на шаге 1 операцию в подходящем месте и проверяет план на соблюдение всех ограничений и правил планирования.
При планировании действий экипажа Российского сегмента (РС) МКС количество полетных операций находится в диапазоне от несколько сотен единиц до нескольких тысяч в зависимости от интервала планирования, а
число космонавтов варьируется от трех до девяти человек. Учитывая особенности планирования каждой работы, можно заранее сказать, что задача планировщика, заключающаяся в грамотном распределении ПО между ЧЭ, представляется довольно сложным творческим процессом. К тому же зачастую возникают ситуации, требующие выполнения на одном участке интервала нескольких операций, являющихся несовместимыми, то есть их одновременное осуществление невозможно с точки зрения распределения ресурсов на борту орбитального комплекса. В таких случаях перед оператором-планировщиком возникает серьезная проблема - какие из конфликтующих операций следует запланировать на данном участке интервала, а какие отложить [2,3]. Данные условия процесса планирования действий экипажа требуют серьезной подготовки от оператора, а также высоко уровня концентрации и умения ориентироваться в большом количестве информации.
Формальное представление данных, на основе которых производится формирование плана полета, может быть выполнено посредством анализа следующей информации:
• списка планируемых ПО;
• состава членов экипажа, находящихся на борту РС МКС, и которым предстоит выполнять указанные работы;
• данных о затратах всех видов ресурсов, необходимых для реализации каждой заявленной на выполнение ПО;
• количества общего объема каждого вида ресурса, имеющегося в наличии на космической станции.
Исходный набор работ, который необходимо включить в план, может быть представлен в виде множества А = ^, і = 1, т} полетных операции, где і -номер полетной операции, т - количество полетных операций. Элемент множества аі содержит длительность ПО і. Множество А поступает из программы полета и НПП. Все ПО реализуют находящиеся на борту станции
космонавты (члены экипажа), представляющие множество В = Ъ, у = 1, и}, где у - номер космонавта, и - количество космонавтов. Элемент множества Ъj содержит идентификатор космонавта у. Множество В поступает из программы полета. На реализацию каждой ПО требуется затратить заданное количество различных ресурсов. Эти данные хранятся в матрице С = С„,г = 1, Я; / = 1,т}, где г - вид ресурса, Я - количество видов ресурса. Элемент матрицы сп - требуемое количество ресурса г для выполнения ПО
/. Матрица С поступает из программы полета. Доступное количество всех видов ресурсов на заданный интервал планирования хранится во множестве Яе^ = \геяг, г = 1, я}. Элемент множества геяг отображает оставшийся на борту объем ресурса г. Множество Яе^ поступают из программы полета.
Для корректного формирования плана необходима также следующая информация: список несовместимых полетных операций по времени и/или ресурсам; условия проведения каждой полетной операции (поступают из программы полета); совокупность ограничений и правил для проведения полета, которые корректируются на протяжении формирования всех видов планов до момента создания оперативных планов с учетом приобретенного опыта и фактического состояния космического аппарата и наземных комплексов управления.
Результат планирования действий экипажа предлагается представить в виде матрицы Р = р, у = 1, и; / = 1, т}, которая задает распределение ПО между ЧЭ. Элемент матрицы представляет собой кортеж рл =(ррг, рп}1, рк]г), где
(1, если ЧЭ У выполняет ПО/ рр„ =\ , рпп - время начала выполнения ПО, ркп -
7 [0, если ЧЭ у не выполняет ПО/ 7 7
время окончания выполнения ПО. Также в процессе расчетов потребуется множество ¥ = \fi, / = 1, т}, которое содержит признак о том, включена ли ПО
(1, если ПО/включена вплан в план или нет. Элемент множества / = < .
[0, если ПО/не включена вплан
Для уменьшения загруженности оператора-планировщика задачу оптимизации составления расписания действий экипажа предлагается решить с применением специально разработанных алгоритмов. Для этого необходимо определить критерий, по которому будет проводиться выбор наилучшего варианта плана из некоторого набора, и уточнить ограничения, которым должен отвечать план [4,5].
Одним из наиболее важных требований при распределении ПО между членами экипажа является максимальная загрузка космонавтов, а именно отсутствие простоев между запланированными действиями. Таким образом, оптимизацию процесса планирования действий экипажа предлагается осуществить через минимизацию простоев экипажа:
( т
2=1
П 1=1
Е РР]Ч- аг
1 --
->шт, Ж е [0;1] (1)
у
где I . - интервал функционирования космонавта у в минутах (берется из
т
программы полета), Е РРл' а - длительность выполнения всех ПО
2=1
космонавтом у.
В свою очередь существует набор ограничений и правил планирования, которым должен удовлетворять план. К ним относятся:
1) суммарное количество каждого ресурса, используемого всеми запланированными ПО, не должно превышать значения, имеющегося на станции:
т п _____
ге*г - Е сГг ■ Е РРр - ° г =1 к (2)
2=1 1=1
2) если ПО запланирована, то она должна выполняться как минимум одним членом экипажа:
п
/г = ° Е РРЦ= ___
1 1 , г = 1, т (3)
п
/г =1, Е РРуг- ^
1= 1
V
3) соответствие общей продолжительности работ в плане, выполняемых космонавтом у, величине интервала функционирования этого космонавта.
т __
Е РРг • аг ^ 11, 1 = 1 п (4)
г=1
4) отсутствие одновременной реализации нескольких ПО одним членом экипажа. Для формирования ограничения следует модифицировать матрицу Р в Р следующим образом: для каждого рруг = 0 значения
рп]г и рк]г приравниваются к ближайшему слева рк]г_х п_г, у которого
РР^ „ 1 = 1. Получается, что теперь рп']г = рк'}1 ^ 0, а общая
продолжительность работы ркр - рп' = 0.
— , [рп 1, - рк'1 - 0 — —
V/ = 1,п,где рр . = 1 , ,г = 1,т; I = 1,т,I ^ г (5)
[Рк1, - Рп'л ^ 0
В дальнейшем необходимо также учитывать выполнение следующих ограничений и правил: отсутствие одновременного выполнения
несовместимых работ в плане; соответствие норм режима труда и отдыха в плане; выполнение всех необходимых условий для проведения каждой включенной в план ПО.
План, который удовлетворяет всем перечисленным ограничениям считается допустимым, но в нем не учитывается требование максимального использования рабочего времени космонавтов.
Данная постановка задачи относится к классу дискретной оптимизации и характеризуется большим числом переменных, а значит и обширным пространством поиска, что не дает возможности перебрать все возможные решения за «достаточное» время, определяемое условиями планирования полетов. Подходящим методом нахождения допустимого расписания действий экипажа может являться генетический алгоритм, представляющий собой эволюционную стратегию поиска оптимального (субоптимального)
решения, отвечающего требованиям составления планов (2) - (5) и заданному минимальному значению целевой функции (1).
Генетический алгоритм состоит из стадий, следующих друг за другом в определенном порядке, которые в своей совокупности повторяют процесс эволюции биологических видов в природе. Общая схема генетического алгоритма выглядит следующим образом [6]:
1. Формирование начальной популяции;
2. Оценка особей популяции;
3. Отбор (селекция);
4. Скрещивание;
5. Мутация;
6. Формирование новой популяции;
7. Если популяция не сошлась, то переход на 2. Иначе - останов работы алгоритма.
Уникальность применения генетических алгоритмов заключается в их модификации для решения конкретной оптимизационной задачи (кодирование и форма представления хромосомы, способ формирования начальной популяции, выбор способов рекомбинации и т. д.). От уровня адаптации алгоритма под конкретную задачу и выполнения модификации зависит качество самого решения [7].
Классический генетический алгоритм, предложенный Джонном Холландом в 1975 г., определяется следующими особенностями: начальная популяция формируется случайным образом; популяция состоит из N хромосом с фиксированной разрядностью генов; родители выбираются случайно из промежуточного массива особей популяции; одноточечный кроссинговер; одноточечная мутация с заданной вероятностью; потомки полностью занимают место родителей в популяции.
Предлагаемый модифицированный генетический алгоритм решения задачи однокритериальной оптимизации процесса планирования действий
экипажа РС МКС представляет собой два отдельных генетических алгоритма, работающих последовательно (рис. 1).
Алгоритм № 1
УпорядочиваниеА
Определение
количества Усечение А.
хромосом к Получение
А є Л
Формирование
начальной
популяции
Из !іі исключается минимальная по п родолжител ьности
Хромосома ^ передается на вход Алгоритму № 2
Лучший результат размещения ПО для хромосомы ^
Сравнение результата с лучшим из ранее найденных
Скрещивание хромосом. Одноточечный кроссинговер. Селекция хромосом. Колесо рулетки.
I
Направленная Формирование новой
мутация популяции
Показать лучшую хромосому
_________;
Скрещивание
хромосом.
Кроссинговер порядка ОХ.
I
Формирование новой популяции.
Поколенческая
стратегия.
Получена хромосома ^ в результате работы Алг-ма № 1
Заносятся номера ПО, включенных в хромосому ^,в BasicCollection
Формирую
популяцию
M ={т,^=1,^
Для каждой mv из M выполняется распредение ПО между ЧЭ
I
Для каждой хромосомы т, из M рассчитывается целевая функция
Лучший результат запоминается
Алгоритм № 2
Рис. 1. - Укрупненная блок-схема модифицированного генетического алгоритма решения задачи однокритериальной оптимизации процесса планирования действий экипажа РС МКС
гег=0
1=0
1=1+1
Первый алгоритм (алгоритм №1) отвечает за поиск наилучшего набора ПО из множества Л, которые будут включены в план. Его отличительные особенности от канонического представления заключаются в следующем: оптимальный размер популяции рассчитывается в зависимости от размера кодовых строк; начальная популяция формируется на основе «жадной» стратегии; мутация носит направленный характер; формирование новой популяции происходит по схеме репродукции устойчивого состояния. Сформированный список выбранных ПО для распределения между космонавтами передается алгоритму № 2 для дальнейшей обработки.
Второй алгоритм (алгоритм №2) отвечает за распределение ПО относительно друг друга оптимальным образом, чтобы достичь глобального экстремума целевой функции. От канонического представления отличается лишь принципом скрещивания хромосом и использует схему кроссовера порядка (кроссовер ОХ).
Следует также отметить, что каждый из двух алгоритмов имеет свое представление хромосомы. Для алгоритма №1 хромосома состоит из т генов по количеству ПО в исходном наборе Л . Ген принимает значение 0 или 1, то есть используется бинарное кодирование. Если ген равен 0, то ПО і из множества Л, чей номер соответствует локусу в хромосоме, не включается в план, иначе - включается. Для алгоритма №2 применяется вещественное кодирование, так как решение должно быть найдено среди перестановок без повторений. Длина хромосомы равна количеству ПО, которые выпали для включения в план в результате работы алгоритма №1. Локус гена определяет позицию ПО в порядке выполнения. Значение гена отражает номер ПО і (рис. 2).
Теперь рассмотрим каждую отличительную особенность модифицированного генетического алгоритма более подробно.
В первую очередь необходимо определить количество хромосом в популяции. Для этого следует определить критерий, по которому будет вестись расчет данного параметра. Постановка задачи позволяет применить
Алгоритм №1
1 2 3 4...і...п X = 1 0 1 1... 1... 1 - хромосома
к - количество ПО, вошедших в план І 0, ПО і не входит в план
1, ПО і входит в план и k = k +1
Алгоритм №2
очередность выполнения ПО
1
2
У = [1 , п ] [1 , п ] ... [ 1, п ] - хромосома
номер ПО, выполняемой к-ой по счету в последовательности
Рис. 2. - Представление хромосомы в каждом из двух алгоритмов
п
бинарное кодирование хромосом для точного определения участия конкретной ПО в плане. Поэтому хромосома будет состоять из т генов, у которой аллелями каждого из генов являются значения {0,1}. Так как одна хромосома является одним вариантом решения из множества, то вероятность получение оптимального результата зависит от возможности получить любой элемент из множества решений в процессе процедуры рекомбинации внутри популяции. Таким образом, размер популяции должен быть таким, чтобы для каждого гена во всей популяции были представлены все возможные значения аллелей. Далее требуется найти вероятность того, что случайный набор хромосом будет содержать все элементы. Вероятность Рт того, что каждый
из т локусов будет иметь полный набор аллелей равна:
Р =
т
Выразив отсюда число хромосом N в популяции, получим:
■ = 1 + 1о§2
1 _рт )
где Р - требуемая вероятность того, что популяция будет содержать все необходимые для рекомбинации элементы; т - число локусов в хромосоме (равнозначно количеству ПО).
Следующим этапом после определения размера популяции является процесс формирования ее начального состава, из которого затем будет
произведено первое поколение потомков. Для решения данной подзадачи рассматривались следующие 4 стратегии создания исходной популяции:
1) случайным образом;
2) на основе «жадной» стратегии;
3) на основе последовательных эвристик;
4) направленно-случайное формирование, где половина элементов выбирается случайно, а вторая - используя знания о решаемой задачи.
В некоторых работах [8,9] отмечается, что выбор «хорошей» исходной
популяции, состоящей преимущественно из локальных оптимумов, ведет к заметному уменьшению времени для достижения глобального оптимума, что не гарантируется при создании начальной популяции случайным образом. Было принято решение использовать «жадный» алгоритм для построения начальных хромосом, так как он действует по принципу «максимальный выигрыш на каждом шаге» и позволяет сразу же найти локальнооптимальные решения. При разработке алгоритма экспериментально было подтверждено, что при таком подходе глобальный оптимум достигается гораздо быстрее.
В алгоритме № 2 для скрещивания используется кроссовер ОХ [10]. Так как хромосома на этом этапе имеет порядковое представление, то схемы кроссинговера для бинарных кодировок в данном случае не применимы. Причиной этому является недопустимость повторений в последовательности ПО. Поэтому выбор делался между следующими операторами кроссинговера для порядкового представления: частично-отображающий кроссовер,
циклический кроссовер и кроссовер ОХ. Последний более предпочтителен потому, что его основная идея заключается в важности именно порядка полетных операций, а не их позиций.
В алгоритме № 1 после получения потомства используется оператор мутации. В данном случае оператор мутации применяется к особям с целью их качественного улучшения. Смысл заключается не в случайной замене гена на обратный или инверсии нескольких генов, отобранных случайным
образом, а в направленном поиске таких позиций в хромосоме, изменение которых сделает ее более жизнеспособной. Замене подлежит от одного до двух генов в каждой особи среди всех потомков.
Последним этапом в схеме работы генетического алгоритма является формирование новой популяции. На этом этапе важно не потерять такие локальные минимумы, среди которых может быть глобальный, либо которые могут привести к его определению. С учетом того, что начальная популяция формируется на основе «жадного» алгоритма, то среди рассматриваемых репродукций была выбрана репродукция устойчивого состояния [10]. Суть данной стратегии состоит в замене наихудшей особи из множества родителей наилучшей особью из множества потомков. То есть новая популяция будет отличаться от предыдущей лишь одной хромосомой.
Все вышеперечисленные компоненты позволяют значительно уменьшить время поиска глобального оптимума. Результатом работы созданного генетического алгоритма является такое распределение некоторого подмножества полетных операций из А между космонавтами, которое удовлетворяет всем ограничениям и как можно больше загружает экипаж.
В качестве следующего этапа планируется провести экспериментальный анализ применения двух методов для решения поставленной задачи. Первым подходом будет разработанный генетический алгоритм, а в качестве второго - метод ветвей и границ, адаптированный под данную оптимизационную задачу. Сравнения результатов позволит получить ясное представление о качественном уровне модифицированного генетического алгоритма, описанного в данной статье.
Литература
1. Соловьев В.А., Лысенко Л.Н., Любинский В.Е. Управление космическими полетами [Текст]. М.: МГТУ им. Н. Э. Баумана, 2009. Ч. I. 476 с.
2. Станиловская В. И. Автоматизация планирования полетов долговременных орбитальных комплексов [Текст]: дис. канд. тех. наук: 05.07.09 - Королев, 2008. 198 с.
3. SSP 50401-C15, Multilateral Distributed Planning Interface Specification (MuDPIS), Consolidated Planning System (CPS) Cycle 15, Rev A, February 2002.
4. Бахвалов Ю. А. Математическое моделирование [Текст]: Учеб. пособие. Новочеркасск: ЮРГТУ (НПИ), 2010. 142 с.
5. Зырянов В. В. Методы оценки адекватности результатов
моделирования [Электронный ресурс] // «Инженерный вестник Дона», 2013, № 2. - Режим доступа:
http://www.ivdon.ru/magazine/archive/n2y2013/1707 (доступ свободный) - Загл. с экрана. - Яз. рус.
6. Reeves C., Rowe J. Genetic algorithms - principles and perspectives. A guide to GA theory. Kluwer Academic Publishers, 2003. 327 p.
7. Воробьев С. П., Хорошко М. Б. Модификация схемы ВМ25 с помощью
генетического алгоритма [Электронный ресурс] // «Инженерный вестник Дона», 2012, № 4-1. - Режим доступа:
http://www.ivdon.ru/magazine/archive/n4p1y2012/1177 (доступ
свободный) - Загл. с экрана. - Яз. рус.
8. Рутковская Д., Пилиньский М., Рутковская Л. Нейронные сети, генетические алгоритмы и нечеткие системы [Текст]. М.: Горячая линия - Телеком, 2004. - 452 с.
9. Вороновский Г. К., Махотило К. В. и др. Генетические алгоритмы, искуственные нейронные сети и проблемы виртуальной реальности [Текст]. - Харьков: ОСНОВА. 1997. - 112 с.
10.Батищев Д. И., Неймарк Е. А., Старостин Н. В. Применение генетических алгоритмов к решению задач дискретной оптимизации [Текст]. - Нижний Новгород: 2007. - 88 с.