2.4.10. Метод комбинирования эвристик При решении задач оптимизации и структурного синтеза генетическими методами в первую очередь следует выбрать способ отображения в хромосоме структурных параметров. Как показано выше, непосредственное представление структурных параметров часто порождает проблему недопустимых хромосом и вытекающую из этого необходимость использования операторов корректировки. Но корректировка снижает эффективность генетического поиска, поскольку приводит к дополнительным деформациям складывающихся в хромосомах полезных шаблонов (строительных блоков). Преодолеть этот недостаток можно, если использовать идею представления в хромосоме информации о синтезируемом объекте в неявной форме. Гены в этом случае не представляют сами структурные параметры, а указывают на способ определения этих параметров. Например, при синтезе расписаний гены должны представлять не номера работ или обслуживающих аппаратов, а правила генерации очередного варианта расписания. Эта идея неявного описания параметров реализована в методе, названном методом комбинирования эвристик (НСМ - Heuristics Combination Method) [63]. В НСМ используется возможность декомпозиции исходной задачи синтеза на ряд частных задач (подзадач). В исходной задаче требуется найти значения структурных параметров х i, х i є Х, при которых целевая функция F(X) принимает экстремальное значение. При этом предполагается известной модель приложения, позволяющая оценивать значения целевой функции F(X). В k-й подзадаче определяются значения одного или нескольких структурных параметров, составляющих подмножество Х'k є X. Частные задачи решаются значительно проще общей задачи, обычно это задачи оптимизации малой размерности с локальными целевыми функциями ψ k (Х'), Х' є X. Например, в общей задаче синтеза расписаний частная задача - назначение для очередной работы обслуживающего сервера и определение ее положения во времени. Однако найти такие ψ k (Х'), которые адекватны общей целевой функции F(X), как правило, не удается. В каждом конкретном приложении известны лишь качественные связи между локальной и общей целевыми функциями. Поэтому локальные целевые функции ψ k (Х') выбираются из эвристических соображений. Более того, их выбор неоднозначен, обычно для каждой подзадачи можно сформулировать ряд эвристических целевых функций, каждая из которых отражает ту или иную частную цель. В НСМ исходная задача трансформируется в задачу поиска и использования оптимальной последовательности локальных целевых функций (другими словами, оптимальной последовательности эвристик), используемых в подзадачах. Как показывают численные расчеты, применение единственной конкретной эвристики на всех шагах поиска решения не приводит к удовлетворительным результатам. В то же время использование на разных шагах разных эвристик порождает множество решений, среди которых имеются варианты со значительно лучшими значениями F. Поэтому возникает задача поиска оптимальных комбинаций эвристик. Решение задачи оптимального выбора последовательности эвристик и составляет сущность НСМ. Реализацию НСМ можно рассматривать как экспертную систему, в которой продукциями являются эвристики, причем на каждом шаге решения может использоваться несколько продукций, выбор между ними производит генетический интерпретатор. НСМ свободен от необходимости корректировки дочерних хромосом. В нем аллелями служат не значения проектных параметров, а имена эвристик, используемых для определения этих значений. Выполнение условий допустимости переносится в сами эвристики, что делает собственно генетический алгоритм инвариантным к различным задачам. Простой сменой набора эвристик легко осуществляется адаптация имеющихся программ синтеза к особенностям конкретного класса задач. Другими словами, в случае НСМ i-й ген соответствует i-й подзадаче, а i-й аллель есть номер (имя) процедуры (эвристики), реализующей локальную целевую функцию и ограничения i-й подзадачи. Согласно НСМ для каждой подзадачи должно быть сформулировано несколько альтернативных постановок (процедур), именно среди них генетический алгоритм или алгоритм локального поиска будет выбирать члены последовательности, приближаясь к оптимальной последовательности эвристик. НСМ может быть применен к широкому кругу задач дискретной оптимизации и структурного синтеза, характеризуемых следующими особенностями. 1. Процесс синтеза проектного решения является многошаговым. 2. Для выполнения очередного шага синтеза может быть использована одна из h возможных эвристик, h > 1. 3. Вид используемой структурно-критериальной модели не изменяется при вариации значений структурных параметров у объектов приложения (или, по крайней мере, известны экономичные алгоритмы коррекции модели при таких вариациях). Значение целевой функции F может быть вычислено по этой модели только после завершения процесса синтеза. Именно к таким задачам относятся представители охарактеризованного выше класса задач планирования и проектирования и прежде всего многие логистические задачи. Эффективность генетического метода определяется степенью приближения значения целевой функции F при стагнации к ее оптимальному значению. В ряде приложений со сложными структурно-критериальными моделями ввиду ограничений на время решения расчеты приходится прерывать до достижения стагнации, поэтому эффективность генетического алгоритма характеризуется также скоростью достижения уровня стагнации. НСМ имеет ряд преимуществ перед обычными генетическими методами. 1. Достигается го синтеза, что высокая степень обусловлено обобщения единством задач структуры структурно хромосом для разных приложений в НСМ. В то же время в обычных генетических методах семантика генов, их типы меняются от задачи к задаче и, следовательно, меняется алгоритм генетического поиска. Кроме того, в ряде приложений имеет место взаимозависимость разных генов и, как следствие, велика вероятность появления недопустимых хромосом после выполнения генетических операторов кроссовера и мутации. Для устранения подобного явления приходится применять дополнительные операторы корректировки хромосом, например метод РМХ. При применении НСМ отсутствует понятие недопустимых хромосом, не требуется корректировка хромосом, все гены относятся к одному типу integer. 2. Сокращаются размеры поискового пространства, а следовательно, повышается эффективность поиска, выражаемая как точностью, так и скоростью приближения к искомому результату. Действительно, мощность множества возможных альтернатив в НСМ равна v", где v - число эвристик, п - число генов. В то же время, например, в одностадийной задаче синтеза расписаний, решаемой обычными генетическими методами, мощность множества альтернатив находится в диапазоне от и! до и 1-е", где с - число серверов. Конечно, набор эвристик в НСМ должен быть разумным, иначе экстремум может оказаться вне пределов сокращенного пространства. Естественным образом разделяются программные компоненты, реализующие собственно генетический алгоритм и модель приложения. Рис. 2.16. Структура программы оптимизации по НСМ Типичная структура программы выбора оптимального решения на основе НСМ приведена на рис. 2.16. Слева показаны блоки инвариантной к приложениям части программного обеспечения, исполняющей операторы генетического и/или локального поиска. Процедуры эвристик служат для решения подзадач, в них определяются локальные целевые функции ψi(х i). В модели приложения вычисляется общая целевая функция F(X) для каждой хромосомы, генерируемой при формировании начального поколения или в процессе локального поиска. При переходе к новому приложению достаточно заменить показанные на рис. 2.16 справа блоки модели и эвристик.