Возможности применения алгоритмов оптимизации в задачах инновационного управления качеством

УДК 621.9.06-752

ВОЗМОЖНОСТИ ПРИМЕНЕНИЯ АЛГОРИТМОВ ОПТИМИЗАЦИИ В ЗАДАЧАХ ИННОВАЦИОННОГО УПРАВЛЕНИЯ КАЧЕСТВОМ

© П.А. Лонцих1, А.Н. Шулешко2

Иркутский государственный технический университет, 664074, Россия, г. Иркутск, ул. Лермонтова, 83.

Исследована возможность применения алгоритмов оптимизации в задачах инновационного управления качеством. Определены прогнозирование и риск решения оптимизационной задачи. Очевидно, что основной областью применения генетических алгоритмов являются задачи оптимизации. Поскольку в настоящее время не существует универсальных методов оптимизации, пригодных для решения задач произвольного вида, авторами рассмотрены генетические алгоритмы, то есть процедуры поиска, основанные на механизмах естественного отбора и наследования, которые отличаются от традиционных методов оптимизации несколькими базовыми элементами. В результате процесса селекции, рассмотренного в статье, создается родительская популяция, также называемая родительским пулом (mating pool) с численностью N, равной численности текущей популяции. И, что очевидно, применение генетических операторов к хромосомам, отобранным с помощью селекции, приводит к формированию новой популяции потомков от созданной на предыдущем шаге родительской популяции. Ил. 1. Библиогр. 4 назв.

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

APPLICATION RESOURCES OF OPTIMIZATION ALGORITHMS IN INNOVATION QUALITY MANAGEMENT PROBLEMS

P.A. Lontsikh, A.N. Shuleshko

Irkutsk State Technical University, 83 Lermontov St., Irkutsk, 664074, Russia.

The article studies the possibility of using optimization algorithms in the problems of innovative quality management. It determines prediction and solution risk of an optimization problem. It is obvious that the main application field of genetic algorithms is optimization problems. Since there are no universal optimization methods now that are suitable to meet the challenges of any kind, the authors examine genetic algorithms, i.e. search procedures, based on the mechanisms of natural selection and inheritance, which differ from traditional optimization methods by some base elements. As a result of the selection process discussed in the article, the authors create a parent population, also known as a mating pool of N numbers that equals to the size of the current population. Moreover, the application of genetic operators to the chromosomes, chosen by selection, leads to the formation of a new population of off-springs created from the parent population created at the previous step. 1 figure. 4 sources.

Key words: optimization; parent population; genetic algorithms; setting and training of artificial neural networks; minimization of target function; code sequences; chains and chromosomes; search for extreme solution.

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

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

- экстремальные задачи;

- ЫР-полные проблемы («Задача коммивояжера» и SAT-проблемы);

- составление расписаний;

- задачи о размещении;

- аппроксимация функций;

1Лонцих Павел Абрамович, доктор технических наук, профессор, зав. кафедрой управления качеством и механики; директор

Иркутского филиала Ассоциации по сертификации «Русский Регистр», тел.:. 83952405179, e-mail: palon@list.ru

Lontsikh Pavel, Doctor of technical sciences, Professor, Head of the Department of Quality Management and Mechanics, Director of

the Irkutsk branch of the Certification Association "Russian Register", tel.: 83952405179, e-mail: palon@list.ru

2Шулешко Александр Николаевич, кандидат технических наук, доцент кафедры управления качеством и механики, старший

специалист Ангарского электролизно-химического комбината, e-mail: alexshul@bk.ru

2Shuleshko Alexander, Candidate of technical sciences, Associate Professor of the Department of Quality Management and Mechanics, Senior Specialist of Angarsk Electrolysis Chemical Works, e-mail: alexshul@bk.ru

- построение минимальных диагностических тестов для задач распознавания;

- настройка и обучение искусственных нейронных сетей;

- игровые стратегии;

- моделирование искусственной жизни;

- развивающиеся агенты и машины.

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

Уильям Эдвардс Деминг, известный своей коне-цепцией непрерывного цикла совершенствования (РйСА), в числе своих 14 принципов предлагал следующие:

- придерживайся постоянной цели: сделай постоянной целью непрерывное совершенствование продукции или услуги;

- совершенствуйся непрерывно и всегда: постоянно старайся усовершенствовать любой процесс.

Под «совершенствованием» можно понимать как минимизацию затрат на производство, так и максимизацию функции ценности продукта для потребителя. Таким образом, под «совершенствованием» можно рассматривать оптимизацию.

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

Общая постановка задач оптимизации:

наити

opt f (x), xeR", f(x)eR1,

xeX

где x - векторный аргумент, по которому ведется оптимизация; X - область допустимых значений x; f(x) - целевая функция.

Введем обозначения:

opt f(x) = f(x*) = f*, где f* - оптимальное значение целевой функции; x* -значение аргумента, при котором определяется f*.

Постановка задачи минимизации или максимизации не нарушает общности.

min f(x) = max - f(x) ,

X определяется функциями ограничения: X = {g(x) > 0}, g(x) e Rm, где m - количество ограничений.

Часто важно различать ограничения неравенства и строгого равенства (h(x)=0).

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

которые можно классифицировать [1, 3]:

1. По наличию ограничений на методы:

- безусловной оптимизации (найти min f(x), xe Rn);

- условной оптимизации (найти min f(x), xe Rn, X{g(x) > 0, i = 1...m}).

2. По способу поиска экстремальной точки на методы:

- прямого поиска;

- косвенного поиска.

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

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

3. По количеству независимых переменных на методы:

- по решению одномерных задач;

- по решению многомерных зада.

4. По способу вычисления производных на методы:

- градиентные;

- квазиградиентные.

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

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

V/ ( х (')) = У ( Х '' + ) - У ( '') ;

f (x + Дх) - f (x) = df_ dx

lim

Дх

5. По способу определения направления поиска на методы

- второго порядка;

- первого порядка.

Среди методов второго порядка наиболее популярны методы, основанные на квадратичной аппроксимации (метод Ньютона). Тогда направление поиска оптимума определяется с использованием первых и вторых производных Щ.

Идея методов первого порядка основана на использовании первых производных Щ. Вторые же производные можно заменить на их аппроксимации, вычисленные на каждом шаге итерационного процесса (квазиньютоновские методы).

S(k) = -Vf (x(k});

S(k) =-V2 f (x(k ))Vf (x(k)).

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

- обрабатывают не значения параметров самой задачи, а их закодированную форму;

- осуществляют поиск решения исходя не из единственной точки, а из их некоторой популяции;

- используют только целевую функцию, а не ее производные либо иную дополнительную информацию;

- применяют вероятностные, а не детерминированные правила выбора.

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

При описании генетических алгоритмов используются определения, заимствованные из генетики. Например, речь идет о популяции особей, а в качестве базовых понятий применяются ген, хромосома, генотип, фенотип, аллель. Также используются соответствующие этим терминам определения из технического лексикона, в частности цепь, двоичная последовательность, структура. Популяция - это конечное множество особей. Особи, входящие в популяцию, в генетических алгоритмах представляются хромосомами с закодированными в них множествами параметров задачи, т.е. решений, которые иначе называются точками в пространстве поиска (search points). В некоторых работах особи называются организмами. Хромосомы (другие названия - цепочки или кодовые последовательности) - это упорядоченные последовательности генов. Ген (также называемый свойством, знаком или детектором) - это атомарный элемент генотипа, в частности, хромосомы. Генотип или структура - это набор хромосом данной особи. Следовательно, особями популяции могут быть генотипы либо единичные хромосомы (в довольно распространенном случае, когда генотип состоит из одной хромосомы). Фенотип - это набор значений, соответствующих данному генотипу, т.е. декодированная структура или множество параметров задачи (решение, точка пространства поиска). Аллель - это значение конкретного гена, также определяемое как значение свойства или вариант свойства. Локус или позиция указывает место размещения данного гена в хромосоме (цепочке). Множество позиций генов - это локи.

Очень важным понятием в генетических алгорит-

мах считается функция приспособленности (fitness function), иначе называемая функцией оценки. Она представляет меру приспособленности данной особи в популяции. Эта функция играет важнейшую роль, поскольку позволяет оценить степень приспособленности конкретных особей в популяции и выбрать из них наиболее приспособленные (т.е. имеющие наибольшие значения функции приспособленности) в соответствии с эволюционным принципом выживания «сильнейших» (лучше всего приспособившихся). Функция приспособленности также получила свое название непосредственно из генетики. Она оказывает сильное влияние на функционирование генетических алгоритмов и должна иметь точное и корректное определение. В задачах оптимизации функция приспособленности, как правило, оптимизируется (точнее говоря, максимизируется) и называется целевой функцией. В задачах минимизации целевая функция преобразуется, и проблема сводится к максимизации. В теории управления функция приспособленности может принимать вид функции погрешности, а в теории игр - стоимостной функции. На каждой итерации генетического алгоритма приспособленность каждой особи данной популяции оценивается при помощи функции приспособленности, и на этой основе создается следующая популяция особей, составляющих множество потенциальных решений проблемы, например, задачи оптимизации.

Очередная популяция в генетическом алгоритме называется поколением, а к вновь создаваемой популяции особей применяется термин «новое поколение» или «поколение потомков».

Рассмотрим функцию

f

и допустим, что х принимает целые значения в интервале от 0 до 15. Задача оптимизации этой функции заключается в перемещении по пространству, состоящему из 16 точек со значениями 0, 1 ... 15 для обнаружения той точки, в которой функция принимает максимальное (или минимальное) значение.

В этом случае в качестве параметра задачи выступает переменная х. Множество (0, 1 ... 15) составляет пространство поиска и одновременно - множество потенциальных решений задачи. Каждое из 16 чисел, принадлежащих к этому множеству, называется точкой пространства поиска, решением, значением параметра, фенотипом. Следует отметить, что решение, оптимизирующее функцию, называется наилучшим или оптимальным решением. Значения параметра х от 0 до 15 можно закодировать следующим образом:

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

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

кретной позиции называется аллелью, принимающей в данном случае значения 0 или 1. Популяция состоит из особей, выбираемых среди этих 16 хромосом. Примером популяции с численностью, равной 6, может быть, например, множество хромосом (0010, 0101, 0111, 1001, 1100, 1110), представляющих собой закодированную форму следующих фенотипов: (2, 5, 7, 9, 12, 14). Функция приспособленности в этом примере задается выражением (1). Приспособленность отдельных хромосом в популяции определяется значением этой функции для значений х, соответствующих этим хромосомам, т.е. для фенотипов, соответствующих определенным генотипам.

Основной (классический) генетический алгоритм (также называемый элементарным или простым генетическим алгоритмом) состоит из следующих шагов:

1) инициализация, или выбор исходной популяции хромосом;

2) оценка приспособленности хромосом в популяции;

3) проверка условия остановки алгоритма;

4) селекция хромосом;

5) применение генетических операторов;

6) формирование новой популяции;

7) выбор «наилучшей» хромосомы.

Блок-схема основного генетического алгоритма

изображена на рис. 1.

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

Оценивание приспособленности хромосом в популяции заключается в расчете функции приспособленности для каждой хромосомы этой популяции Чем больше значение этой функции, тем выше «качество» хромосомы. Форма функции приспособленности зависит от характера решаемой задачи. Предполагается, что функция приспособленности всегда принимает неотрицательные значения и, кроме того, для решения оптимизационной задачи требуется максимизировать эту функцию. Если исходная форма функции приспособленности не удовлетворяет этим условиям, то выполняется соответствующее преобразование (например, задачу минимизации функции можно легко свести к задаче максимизации).

Блок-схема классического генетического алгоритма

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

Селекция хромосом заключается в выборе (по рассчитанным на втором этапе значениям функции приспособленности) тех хромосом, которые будут участвовать в создании потомков для следующей популяции, т.е. для очередного поколения. Такой выбор производится согласно принципу естественного отбора, по которому наибольшие шансы на участие в создании новых особей имеют хромосомы с наибольшими значениями функции приспособленности. Существуют различные методы селекции. Наиболее популярным считается так называемый «метод рулетки» (roulette wheel selection), который свое название получил по аналогии с известной азартной игрой. Каждой хромосоме может быть сопоставлен сектор колеса рулетки, величина которого устанавливается пропорционально значению функции приспособленности данной хромосомы. Поэтому, чем больше значение функции приспособленности, тем больше сектор на колесе рулетки. Все колесо рулетки соответствует сумме значений функции присполенности всех хромосом рассматриваемой популяции.

Каждой хромосоме, обозначаемой ch, для i = 1,2 ...

N (где N обозначает численность популяции) соответствует сектор колеса v(chi), выраженный в процентах согласно формуле

v

где

ps

Ё F (ch,) i=1

причем F(chi) - значение функции приспособленности хромосомы chi, a ps(ch) - вероятность селекции хромосомы chi. Селекция хромосомы может быть представлена как результат поворота колеса рулетки, поскольку «выигравшая» (т.е. выбранная) хромосома относится к выпавшему сектору этого колеса. Очевидно, что чем больше сектор, тем больше вероятность «победы» соответствующей хромосомы. Поэтому вероятность выбора данной хромосомы оказывается пропорциональной значению ее функции приспособленности. Если всю окружность колеса рулетки представить в виде цифрового интервала [0, 100] то выбор хромосомы можно отождествить с выбором числа из интервала [а, b], где а и b обозначают соответственно начало и окончание фрагмента окружности, соответствующего этому сектору колеса; очевидно, что 0 < а < b < 100. В этом случае выбор с помощью колеса рулетки сводится к выбору числа из интервала [0, 100], которое соответствует конкретной точке на окружности колеса.

В результате процесса селекции создается родительская популяция, также называемая родительским пулом (mating pool) с численностью N, равной численности текущей популяции.

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

1. Ackley D.H. A connectionist machine for genetic hillclimbing. Boston, MA: Kluwer Academic Publishers, 1987.

2. Belew R.K., Mclnerney J., Schraudolph N.N. Evolving networks: using genetic algorithms with connectionist learning: CSE technical report CS 90-174. La Jolla, CA: University of California at San Diego, 1990.

ский список

3. Caudell T.P. Genetic algorithms as a tool for the analysis of adaptive resonance theory neural network sets, Proceedings of International Workshop on Combinations of Genetic Algorithms and Neural Networks, COGANN-92, 1992. pp. 184-200.

4. Goldberg D.E. Algorytmy genetyczne i ich zastosowania. WNT, Warszawa, 1995.