Решение задач управления и оптимизации на основе гибридных интеллектуальных методов* Гладков Л. А

Вид материалаРешение

Содержание


Рис. 1 Схема управления системой
2. Построение временного графика производственного процесса на основе нечеткого генетического алгоритма
Рис.2. Структурная схема нечеткого генетического алгоритма
Рис. 5. Структурная схема алгоритма (начало)
Рис. 5. Структурная схема алгоритма (продолжение)
3. Нечеткий генетический алгоритм для решения задачи коммивояжера
Таблица 2. Нечеткие правила для ОК (∆Pc(t))
Таблица 3. Нечеткие правила для ОM (∆Pm(t))
Подобный материал:

РЕШЕНИЕ ЗАДАЧ УПРАВЛЕНИЯ И ОПТИМИЗАЦИИ НА ОСНОВЕ ГИБРИДНЫХ ИНТЕЛЛЕКТУАЛЬНЫХ МЕТОДОВ*


Гладков Л.А., к.т.н., доцент

Технологический Институт Южного Федерального Университета

347928, Таганрог, пер. Некрасовский, 44

e-mail:leo@tsure.ru

1. ВВЕДЕНИЕ


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

С концептуальной точки зрения, создаваемые получения и обработки информации можно классифицировать как смешанные искусственные системы, т.е. системы созданные человеком и объединяющие искусственные и естественные подсистемы [1].

Они также являются целеориентированными системами, т.е. системами основой функционирования которых является факторы целесообразности [2]. Как целеориентированные системы они, как правило, могут быть представлены общей схемой управления (рис. 1), состоящей из управляющей части и части, подлежащей управлению. При этом для выработки управления требуется модель системы [3].



Рис. 1 Схема управления системой

Для модели системы в общем случае выход системы y(t) является реакцией на управляемые u(t) и неуправляемые v(t) входы. Данная реакция может быть представлена в виде совокупности двух процессов:

XT = {x(t)} и YT = {y(t)}, t Î T.

С помощью данной модели можно описать практически любую простую систему. При рассмотрении сложных современных информационных систем необходимо разрабатывать новые эффективные модели систем, адекватно отражающие моделируемые свойства.

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

Модель, соответствующая уровню бионических систем может быть представлена в следующим образом [3]:

SYS = (GN, KD, MB, EV, FC, RP),

где GN – генетическое начало (создание стартового множества решений); KD – условия существования; MB – обменные явления (эволюционные и генетические операторы); EV – развитие (стратегия эволюционирования); FC – функционирование; RP – репродукция.

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

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

2. ПОСТРОЕНИЕ ВРЕМЕННОГО ГРАФИКА ПРОИЗВОДСТВЕННОГО ПРОЦЕССА НА ОСНОВЕ НЕЧЕТКОГО ГЕНЕТИЧЕСКОГО АЛГОРИТМА


Задача распределения производственных операций по времени может быть интерпретирована как задача составления временного графика, когда набор из n операций должен быть выполнен на m рабочих местах в течение определенного ограниченного промежутка времени [4]. Каждая операция требует определенного фиксированного времени на определенном рабочем месте.

Задача составления временного графика привлекает внимание исследователей достаточно давно. Однако она является актуальной и в настоящее время. Это объясняется тем, что при планировании необходимо учесть большое число различных факторов, многие из которых не всегда могут быть описаны с помощью инструментария классической детерминированной теории расписаний. К таким факторам относится, прежде всего, так называемый человеческий фактор. Использование для решения данной задачи методов, основанных на сочетании нечетких математических моделей и эволюционных методов поиска, является весьма перспективным. Нечеткие множества и нечеткая логика уже давно используется при обработке неточной или неполной информации. Эволюционные методы в свою очередь, являются эффективным средством поиска оптимальных решений [5].



Рис.2. Структурная схема нечеткого генетического алгоритма

Время выполнения производственных операций точно неизвестно из-за итерационного характера процесса производства, возможных возвратов, а также субъективных факторов. Следовательно, время завершения каждой операции является неопределенным. Кроме того, не всегда возможно создать график, в котором все операции завершаются в срок. Математическая модель, которая используется при решении такой задачи, должна позволить лицу, принимающему решения (ЛПР), выразить свою оценку относительно опоздания каждого задания. Нечеткие множества при этом используются для того, чтобы моделировать неопределенное время выполнения заданий и приоритеты ЛПР по отношению к возможному опозданию завершения каждой операции.

Нечеткое множество определяется функцией принадлежности , которая назначает каждому объекту x в области исследования X, значение, представляющее его степень принадлежности этому нечеткому множеству [7]:

: Х ® [0, 1].

Также при решении задачи необходимо учитывать ряд ограничений: 1) последовательность выполнения должна соответствовать определенному порядку, 2) на каждом рабочем месте можно выполнять только одно задание одновременно, и процесс его выполнения не может быть прерван.

Любое решение, удовлетворяющее всем перечисленным ограничениям, будет считаться допустимым графиком.

Функция принадлежности может принимать различные формы: треугольную, трапецеидальную, в виде колокола или s-образную. Выбор формы, как правило, субъективен и позволяет ЛПР выразить свое предпочтение.

Неопределенное время выполнения моделируется треугольной функцией принадлежности, представленной триплетом (p1ij, p2ij, p3ij), где p1ij и p3ij – нижняя и верхняя границы, в то время как p2ij – так называемая модальная точка. Пример нечеткого времени выполнения показан на рис.3. Трапецеидальное нечеткое множество используется, чтобы моделировать срок выполнения каждой операции (рис.4). Функция принадлежности представлена в этом случае двойкой (d1j, d2j), где d1j – четкий срок завершения операции, а верхняя граница d2j показывает максимально допустимый срок опоздания, т.е. не должна превышать, например 10% от значения d1j.



Рис.3. Нечеткое время выполнения операции



Рис.4. Нечеткий срок опоздания операции

Кроме обработки неточных данных, нечеткая логика допускает многоцелевую оптимизацию, когда учитывается одновременно множество несопоставимых целей. Так, например, для данной задачи в качестве критериев могут быть использованы: количество проектных операций завершающихся с нарушением графика, среднее время опоздания и др. Очевидно, что эти критерии имеют разные единицы измерения, но должны использоваться одновременно, для получения достоверной оценки качества построенных графиков. Приоритеты относительно важности используемых критериев могут найти отображение в степени удовлетворения, значения для которой задаются на интервале [0, 1] и могут быть объединены в общий интегральный показатель.

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

Рассмотрим процесс производства как совокупность различных операций, причем операции могут выполняться как в автоматизированном, так и в автоматическом режиме. В этом случае будем учитывать n число процессов J1 …, Jn для проекта c заданным временем выпуска r1…, rn и сроками d1…, dn. Каждое число процессов Jj j = 1, …, n состоит из цепочки операций, определенных схемой процесса, которая определяется заданными ограничениями, наложенными на операцию. Каждая операция представлена упорядоченной парой (i, j), i = 1, .., m, и ее время выполнения обозначается pij.

Каждая хромосома состоит из двух подхромосом длины m, называемых подхромосомой процессов и подхромосомой операций, используемых для задания последовательности выполнения процессов.

Находим последовательность выполнения операций на каждом задании при выполнении следующих условий:

минимизировать среднее опоздание CAT:

j = 1, ..., n

и Cj – время завершения операции Jj на последнем процессе, на котором заканчивается выполнение проекта.

минимизировать число операций, завершающихся с опозданием CNT:

; uj = 1, если Tj > 0, в противном случае uj = 0.

Результирующий график зависит от следующих факторов:
  • использование приоритетов, которое сохраняет заданный порядок выполнения операций внутри каждого процесса;
  • среднее опоздание CAT;
  • число операций, завершающихся с опозданием CNT.

Любое решение, удовлетворяющее всем выше перечисленным ограничениям, называется выполненным графиком.

На рис.5 показана структурная схема разрабатываемого генетического алгоритма.




Рис. 5. Структурная схема алгоритма (начало)

В процессе выполнения предложенного алгоритма необходимо иметь ввиду следующие обстоятельства:

На входе задается число процессов и операций в них;

Если значение вероятности не меняется (по умолчанию оно равно 0,8), то пункт «выполнение оператора кроссинговера» пропускается;

Если значение вероятности выполнения оператора мутации не меняется (по умолчанию 0,2), то переход к пункту «определение числа удаляемых хромосом»;

Производится перерасчет значений параметров среднего опоздания и числа поздних операций. При этом, если происходит улучшение значений параметров, то переход к пункту 8, а если нет, то переход к пункту 9;

Критерием останова выполнения алгоритма является пройденное число итераций.




Рис. 5. Структурная схема алгоритма (продолжение)

Одной из характерных черт нечеткого генетического алгоритма является наличие нечеткого логического контроллера (НЛК). НЛК преобразует заданные параметры к нечеткому виду, затем с помощью Базы Правил (БП) определяет управляющее воздействие и возвращает скорректированные значения контрольных параметров.

Была разработана программа на языке Borland C++, которая реализует предложенный алгоритм. С помощью этой программы были проведены серии экспериментов.

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

Для определения числа операций выполняемых с опозданием используется вероятностный подход. При этом учитываются область пересечения, среднее опоздание, минимальная площадь и суммарное значение для расчета наилучшего и среднего результатов, исходя из того, что проект содержит 5 процессов по 3 операции в каждом процессе.

Полученные данные представлены в таблице 1.

Табл. 1

Критерии

FF

SAT

SNT

CNT

Вероятностный

0,64/0,62

0,911/0,908

0,371/0,331

15/15,7

область пересечения

0,86/0,83

0,907/0,893

0,371/0,26

15/17,8

минимальное пересечение

0,33/0,25

0,904/0,893

0,371/0,264

15/17,55

среднее значение

0,69/0,66

0,923/0,913

0,455/0,41

13/14,06

среднее опоздание

0,45/0,33

0,914/0,903

0,455/0,342

13/15,86

суммарное значение

0,87/0,85

0,919/0,902

0,455/0,316

13/16

В столбце FF показаны лучшее/среднее значение функции пригодности. Столбцы SNT и SAT показывают соответственно лучшие/средние значения степеней удовлетворения целевой функции, в то время как CNT показывает соответствующие значения целевой функции числа поздних заданий. Средний обобщенный оператор позволяет за счет более высокого значения степени удовлетворения одного критерия в некоторой степени компенсировать более низкое значение степени удовлетворения другого критерия.

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

3. НЕЧЕТКИЙ ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА


Задачу о коммивояжере можно описать следующим образом: Есть некий коммивояжер, которому необходимо посетить N городов, не заезжая в один и тот же город дважды, и вернуться в исходный пункт. При этом длина (стоимость) пройденного пути должна быть минимальной. С точки зрения теории графов задача выглядит так: дан граф G = (X, U), где |X| = n – множество вершин (городов), |U| = m – множество ребер (путей) между городами; Dn´n, - матрица расстояний (стоимостей), где dij, i, j Î {1, 2,…, n} - это длина пути (стоимость переезда) из города (вершины) xi в xj.

Для решения задачи коммивояжера предлагается использовать нечеткий генетический алгоритм. При этом мы используем следующие настройки ГА:

  1. Случайное формирование начальной популяции, например, на основе метода «дробовика»;
  2. Кодирование решений в виде последовательности проходимых путей (ребер);
  3. Оператор кроссинговера на основе жадной эвристики;
  4. Оператор мутации;
  5. Оператор отбора на основе «колеса рулетки».

Основным моментом является использование НЛК, использующего в качестве входных параметров среднее и лучшее значение ЦФ.

Нечеткий логический контроллер оперирует лингвистическими переменными, такими как, NL (negative large) – «значительное ухудшение», NS (negative small) – «незначительное ухудшение», ZE (zero) – «частичное изменение», PS (positive small) – «незначительное улучшение», PL (positive large) – «значительное улучшение».

Формирование управляющего воздействия НЛК осуществляет на основе оценки двух параметров [4]:

,

,

где t – временной шаг; fmax(t) – лучшее значение ЦФ на итерации t; fave(t) – среднее значение ЦФ на итерации t; fave(t –1) – среднее значение ЦФ на итерации (t –1).

Параметры e1, e2 заданы на следующем интервале:
  • e1 Î [0, 1];
  • e2 Î [–1, 1].

Выходной параметр ∆Pc(t) определяющий вероятность выполнения кроссинговера задан на интервале: ∆Pc(t) Î [–0.1; 0.1]. Выходной параметр для оператора мутации ∆Pm(t) тот, же что и для кроссинговера. Отсюда видно, что вероятности могут меняться не более, чем на 10%. Тогда используем четкие значения, чтобы изменить вероятности Pc и Pm следующим образом:

Pc(t) = Pc(t –1) + ∆Pc(t)

Pm(t) = Pm(t –1) + ∆Pm(t)

Таким образом, НЛК представляет собой двумерный набор нечетких правил:

Таблица 2. Нечеткие правила для ОК (∆Pc(t))




e2

e1

NL

NS

ZE

PS

PL

PL

PS

ZE

NS

ZE

NS

ZE

ZE

NL

PS

ZE

ZE

PS

ZE

NL

PL

ZE

NS


Таблица 3. Нечеткие правила для ОM (∆Pm(t))




e2

e1

NL

NS

ZE

PS

PL

PL

PS

ZE

PS

ZE

PS

ZE

ZE

PL

PS

NS

ZE

NS

ZE

PL

NL

NS

PS


Так, например, если на входе нечеткого логического контроллера заданы следующие параметры e1 = ZE и e2 = NL, то согласно приведенным таблицам получим:

Pc(t) = NS, ∆Pm(t) = PS

Следовательно, значения вероятностей кроссинговера и мутации определяются выражениями:

Pc(t) = Pc(t -1) + NS

Pm(t) = Pm(t -1) + PS.

При заданных значениях параметров e1 и e2 вероятность кроссинговера «немного» уменьшится, а вероятность мутации «значительно» увеличится.

Очевидно, что для эффективной работы нечеткого генетического алгоритма необходимо провести тестирование и настройку как входных сигналов, так и соответствующих им управляющих воздействий нечеткого логического контроллера [7].

Структура предложенного нечеткого генетического алгоритма выглядит следующим образом:

Начало НГА

t = 0 Iteration counter

Формирование начальной популяции P(t)

Расчет ЦФ популяции P(t)

Пока (не выполнено условие останова)

{

t = t + l

Селекция

ОК P(t)

ОМ P(t)

Расчет ЦФ P(t)

Отбор P(t)

Регулировка параметров ГА

{

НЛК (e1, e2)

Обновляем параметры

}

}

Конец НГА

Литература

  1. Перегудов Ф.И., Тарасенко Ф.П. Введение в системный анализ. – М.: Высшая школа, 1989.
  2. Прангишвили И.В. Системный подход и общесистемные закономерности. – М.: СИНТЕГ, 2000.
  3. Борисов В.В., Круглов В.В., Федулов А.С. Нечеткие модели и сети. – М.: Горячая линия – Телеком, 2007.
  4. Fayad C., Petrovic S. A Genetic Algorithm for the Real-World Fuzzy Job Shop Scheduling// School of Computer Science and Information Technology University of Nottingham, ссылка скрыта
  5. Herrera F., Lozano M. Fuzzy Adaptive Genetic Algorithms: design, taxonomy, and future directions// Soft Computing. – 2003. – Vol.7. – P.545-562.
  6. Гладков Л.А. Решение задач и оптимизации решений на основе нечетких генетических алгоритмов и многоагентных подходов // Известия ТРТУ. Тематический выпуск «Интеллектуальные САПР». – 2006. – №8(63). – C. 83-88.
  7. Гладков Л.А., Кныш Д.С., Криницкая А.Е. Решение задач оптимизации на основе нечетких генетических алгоритмов. // Интеллектуальные системы. Коллективная монография. Вып. 3. – М.: Физматлит, 2009. – C.86-99.




*Работа выполнена при финансовой поддержке РФФИ (проект № 08-01-00473) и программы развития научного потенциала высшей школы 2009-2010 гг. (РНП.2.1.2.1652)