управление в социально-экономических системах
УДК 681.3.06
генетический алгоритм поиска оптимального варианта роста производства в экономике муниципального образования
Н. А. Белобородова,
канд. эконом. наук, профессор
Ухтинский институт управления, информации и бизнеса
Рассматривается проблема усиления потенциала прогнозирования роста производства в экономике муниципального образования. Предлагаемая технология расчетов с использованием генетического алгоритма позволяет объективно решать задачи анализа факторов, обусловливающих рост производства в конкретном анализируемом периоде, определять оптимальные варианты этого роста с учетом выпуска основных видов продукции.
Ключевые слова — механизм управления, экономика муниципального образования, факторы роста производства, генетические алгоритмы.
Введение
В настоящее время для местных структур управления особую важность имеет решение задачи развития подчиненных территорий. Однако нередко возникают ситуации, когда муниципальные образования (МО) обладают развитым производственным потенциалом, имеют достаточный уровень налоговых поступлений, но при этом какого-либо существенного улучшения качества жизни населения не происходит.
Одна из причин — несовершенство механизма управления муниципальным образованием, что не позволяет эффективно использовать имеющийся производственный потенциал для обеспечения социально-экономического развития территории.
Механизм управления экономикой МО представляет совокупность форм, методов, инструментов реализации функций управления с целью создать эффективную экономическую базу улучшения качества жизни населения. Стандартный перечень функций управления включает прогнозирование, планирование, программирование, организацию, регулирование, контроль (мониторинг) [1-4].
Предпосылкой эффективного механизма управления экономикой МО является качественный прогноз развития производства, который дает местным властям информацию для определения «точек роста» и перспектив производ-
ства основных видов продукции, видения неблагоприятных тенденций и факторов развития экономики.
В настоящее время в муниципалитетах разрабатываются в основном краткосрочные прогнозы. Отсутствие прогнозных данных о динамике и перспективах развития отраслей производства, оптимальных вариантах развития сферы производства и всей экономики МО в целом приводит к тому, что очень часто главы МО при определении направлений и пропорций распределения бюджетных средств, привлечении и размещении инвестиционных проектов не имеют надежного механизма, позволяющего оценить принятое решение с учетом перспектив развития МО.
Отсюда следует необходимость усиления потенциала функции прогнозирования.
Базовые понятия теории
генетических алгоритмов применительно
к управлению экономическими процессами
Необходимым этапом построения прогноза является анализ данных о состоянии экономики за анализируемый период, прежде всего, состоянии производственной сферы экономики. На данном этапе исследуется отраслевая структура производства, а также показатели объема производства продукции в каждой отрасли в натуральном выражении и процентное соотношение к показателям предыдущего анализируемого периода. Пред-
лагается усилить информативность данного этапа анализа за счет:
• выявления значимых факторов, реально определяющих рост производства в экономике МО;
• определения наилучшего варианта развития производственной сферы экономики, дающего максимально возможный эффект (объем производства в денежном выражении).
В данной работе исследованы возможности генетических алгоритмов (ГА) для решения задачи поиска оптимального варианта развития производственной сферы экономики, определяющего максимальное значение объема производства в денежном выражении.
Использование ГА для решения данной задачи вызвано разнообразием вычислительных методов и алгоритмов, требуемых для реализации процедур максимизации критериальной функции оценивания. Экспериментирование с ГА позволило исследовать особенности применения данного метода, не прибегая к разработке сложного методического и программного обеспечения.
Генетический алгоритм представляет собой метод, отражающий естественную эволюцию методов решения проблем и, в первую очередь, задач оптимизации. ГА реализуют методы случайного поиска, основанные на механизмах естественного отбора и наследования.
Случайный поиск возник как научное направление в начале 60-х гг. В отечественной науке эти методы развиты как оптимизационные усилиями школы профессора Л. А. Растригина. Наиболее интересные и эффективные алгоритмы случайного поиска используют идею биологической эволюции. В 60-х гг. американский ученый Дж. Холланд представил математическую модель процесса эволюции в биологических системах, которая дала начало целому поколению эффективных поисковых процедур оптимизации, известных как генетические алгоритмы. В основе всех эволюционных алгоритмов случайного поиска лежат механизмы естественного отбора теории Дарвина и генетики: отбор экземпляров популяции, скрещивание (производство потомков) и мутация — при использовании принципа выживания наиболее приспособленных особей.
В данной статье рассматривается ГА, в котором совокупность оптимизируемых параметров представляется в виде генов, образующих хромосомную нить. Генетический алгоритм поддерживает группу хромосом (популяцию), являющихся претендентами на оптимальное решение. Применяя ряд вероятностных операторов, таких как отбор, скрещивание и мутация, генофонд популяции стремится получить большую пригодность к условиям задачи. Аналогично тому, как в про-
цессе биологического генезиса выживают и развиваются особи, наиболее приспосабливающиеся к воздействию некоторых факторов окружающей среды, так и в процессе поиска оптимума прогрессируют те решения, которые наиболее пригодны (оптимальны) к условиям поставленной задачи (целевому критерию). Практически алгоритм представляет собой простые операции обмена и копирования частей хромосомных нитей, легко распараллеливается и с проблемной областью связан лишь определением функции пригодности.
Можно отметить следующие свойства ГА:
1) обрабатывают не значения параметров самой задачи, а их закодированную форму;
2) осуществляют поиск решения, исходя не из единственной точки, а из некоторой популяции;
3) используют только целевую функцию, а не ее производные, либо иную дополнительную информацию;
4) применяют вероятностные, а не детерминированные правила выбора.
Перечисленные свойства, которые можно сформулировать также как кодирование параметров, операции на популяциях, использование минимума информации о задаче и рандомизация операций, приводят в результате к устойчивости ГА и к их превосходству над другими широко применяемыми технологиями.
При описании ГА используются определения, заимствованные из генетики. Например, речь идет о популяции особей, а в качестве базовых используются понятия «ген», «хромосома», «генотип», «фенотип», «аллель». Также используются соответствующие этим терминам определения из технического лексикона, в частности, «цепь», «двоичная последовательность», «структура».
Популяция — это конечное множество особей.
Особи, входящие в популяцию, в ГА представлены хромосомами с закодированными в них множествами параметров задачи, т. е. решений, которые иначе называются точками в пространстве поиска. В некоторых работах особи называются организмами.
Хромосомы (другие названия — цепочки, кодовые последовательности) — это упорядоченные последовательности генов.
Ген (называемый также свойством, знаком или детектором) — это атомарный элемент генотипа, в частности хромосомы.
Генотип или структура — это набор хромосом данной особи. Следовательно, особями в популяции могут быть генотипы либо единичные хромосомы (в довольно распространенном случае, когда генотип состоит из одной хромосомы).
Фенотип — это набор значений, соответствующих данному генотипу, т. е. декодированная
структура или множество параметров задачи (решение, точка пространства поиска).
Очередная популяция в ГА называется поколением, а к вновь создаваемой популяции особей применяется термин «новое поколение» или «поколение потомков».
Важным понятием в ГА является функция пригодности (также функция приспособленности, функция оценки). Она представляет собой меру пригодности (приспособленности) данной особи в популяции. Эта функция играет важнейшую роль, поскольку позволяет оценить степень приспособленности конкретных особей в популяции и выбрать из них наиболее приспособленные (т. е. имеющие наибольшие значения функции пригодности) в соответствии с эволюционным принципом выживания «сильнейших».
Функция пригодности также получила свое название непосредственно из генетики. Она оказывает сильное влияние на функционирование ГА и должна иметь точное и корректное определение. В задачах оптимизации функция пригодности, как правило, оптимизируется (точнее говоря, максимизируется) и называется целевой функцией. В задачах минимизации целевая функция преобразуется и проблема сводится к максимизации. В теории управления функция пригодности может принимать вид функции погрешности, а в теории игр — стоимостной функции. На каждой итерации ГА приспособленность каждой особи данной популяции оценивается при помощи функции пригодности, и на этой основе создается следующая популяция особей, составляющих множество потенциальных решений проблемы.
Процессы эволюции, происходящие в ГА, основаны на следующем принципе: «каждый биологический вид целенаправленно развивается и изменяется для того, чтобы наилучшим образом приспособиться к окружающей среде».
Новые индивиды — решения в ГА — создаются с использованием таких генетических операторов, как отбор, скрещивание и мутация, каждый из которых отвечает за определенный процесс в развитии.
Подробнее о ГА можно найти в работах [5-8].
Применение генетического алгоритма для поиска оптимального варианта роста производства в экономике МО «ГО “Город ухта”»
Для отладки технологии решения вышеперечисленных задач использовались ретроспективные статистические данные социально-экономического развития МО за 1999-2000 гг.
Первоначально решалась задача нахождения значимых факторов, реально определяющих рост
производства в экономике МО, по технологии, предложенной в работах [1-4, 9-11].
На основании нормативных документов определены показатели, характеризующие рост производства в МО «Городской округ (ГО) “Город Ухта”» с учетом выпуска основных видов продукции. Наименование этих показателей, а также перечень переменных, поставленных в соответствие каждому показателю, значение которых изменяется с окончанием очередного периода, приводятся в табл. 1; каждый показатель из данного списка может рассматриваться как фактор роста производства.
Согласно постановке задачи, Y — показатель, характеризующий рост производства в экономике МО, представленный в денежном выражении; Y рассматривается как зависимая переменная от остальных переменных, которые обозначены через Х1 и характеризуют производство основных видов продукции в натуральном выражении.
Обработка данных включает последовательность следующих вычислительных процедур:
• исчисление прироста показателя Y за анализируемый период;
• определение пороговых значений показателя Y;
• преобразование абсолютных значений показателя Y к бинарному виду (квантование показателей, бинаризация) на основе расчетных пороговых значений;
■ Таблица 1. Кодирование переменных
Показатель Наименование переменной
Объем промышленного производства Т
Добыча нефти Х1
Производство бензина автомобильного Х2
Производство дизельного топлива Х3
Первичная переработка нефти Х4
Производство деловой древесины Х5
Производство пиломатериалов Х6
Производство стеновых материалов Х7
Производство хлеба и хлебобулочных изделий Х8
Производство мяса и мясопродуктов Х9
Производство молока и молочных продуктов Х10
Сельское хозяйство: скот и птица Х11
Сельское хозяйство: молоко Х12
Капитальные вложения в производственную сферу Х13
Производство услуг Х14
• преобразование абсолютных значений каждого показателя Х1 к бинарному виду (квантование, бинаризация) на основе рассчитанных пороговых значений;
• определение количества ошибок на классифицированной последовательности Y путем сравнения значений каждого Х1 с данными Y за анализируемый период;
• определение списка факторов, определяющих рост производства, путем выявления тех показателей, которые имеют наименьшее количество ошибок на классифицированной последовательности данных Y за анализируемый период.
Ежемесячные изменения (прирост) показателя объема выпускаемой продукции в денежном выражении определены в табл. 2. В данном исследовании использован алгоритм квантования (бинаризации) для преобразования значений Y за анализируемый период в диапазоне значений [0,
1]; для этого предварительно вычислим величину ускорения Ль следующим образом:
А = - - 1 при 1 = 1, -, п
где — изменение (прирост) значения показателя Т за анализируемый период. Вычисленные значения Л1 располагаются в убывающем порядке. Это необходимо для того, чтобы определить пороговую величину Л*, при которой число интервалов Ы0 с величиной ускорения Л1 < Л* отли-
■ Таблица 2. Классификация интервалов роста объема промышленного производства
чалось бы от числа интервалов Ы1, для которых Ль >= Л*, не более чем на 1:
Л*: | М0 - М1 I <=1 для нечетного п = М0 + Мх;
Л*: | Ы0 - N11 = 0 для четного п.
В приведенных вычислениях пороговое значение Т = 8.8 млн р. Значение «1» индикатора означает, что величина ускорения объема промышленной продукции будет не менее 8.8 млн р. в месяц.
Для каждого из четырнадцати показателей также определена величина порога, превышение которой должно совпадать со значением «1» индикатора и «0» — в противном случае; при этом число ошибок на всех 18 точках классифицированной выборки должно быть наименьшим.
В результате выполнения процедур предобработки данных выявляются те показатели Х, которые влияют на рост Т (т. е. определяют значение «1»), таким образом формируется совокупность факторов, определяющих рост производства. В приведенных расчетах [1-4] показано, что рост производства в экономике МО ГО в анализируемом периоде обеспечивался за счет добычи нефти, производства дизельного топлива, производства молока и молочной продукции в агропромышленном комплексе, производства молока в сельском хозяйстве (переменные Х1, Х3,
Х10, Х12).
Чтобы найти оптимальный вариант развития производства (в зависимости от факторов Х1, Х3, Х10, Х12) с точки зрения получения максимального дохода в денежном выражении (Т), используем классический ГА [6], который состоит из следующих шагов:
1) инициализация или выбор исходной популяции хромосом;
2) оценка приспособленности хромосом в популяции;
3) проверка условия останова алгоритма;
4) отбор, селекция хромосом;
5) скрещивание;
6) мутация;
7) формирование новой популяции;
8) выбор «наилучшей хромосомы».
Решением будет наилучший найденный индивид.
Функция пригодности. Функция пригодности используется для характеристики оптимальности решений в ГА. В задаче максимизации более пригодно то решение, которое имеет большее значение целевой функции:
F = ф,
где ф — исходная максимизируемая функция.
№ месяца Прирост Ускорение Индикатор
1 116.1 - 0
2 100.9 -15.2 0
3 115.1 +14.2 1
4 123.9 + 8.8 1
5 122.1 - 1.8 0
6 118.0 - 4.1 0
7 170.6 + 52.6 1
8 262.7 + 92.1 1
9 163.0 - 99.7 0
10 197.0 + 34.0 1
11 197.0 0 0
12 227.4 + 30.4 1
13 273.9 + 46.5 1
14 271.9 - 2.0 0
15 332.7 + 60.8 1
16 189.0 - 143.0 0
17 277.4 + 88.4 1
18 249.3 - 28.1 0
Кодировка переменных. Каждая переменная кодируется в двоичном виде и образует один ген. Цепочка из генов образует хромосому. Для примера возьмем хромосомную нить из двух генов — для переменной Х1 и для переменной Х2. Полагая длину каждого гена 16 бит, получим хромосомную нить из 32 нулей и единиц:
10001011011101100011000111111011
' *1 '' *2 '
Интерпретация хромосомы следующая. Диапазон десятичных значений, которые можно представить 16 битами, от 0 до 65535 в целых числах. Если перевести целое число в число с плавающей точкой, значение закодированной переменной будет определяться так:
—код
— =----1---(хшах _ —пт ) + —пт,
65535 1^1’
где Ход — десятичное число, соответствующее двоичному коду гена; Х?ах, Х?1П — диапазон возможных значений переменной. В связи с этим данной хромосоме соответствуют значения переменных: Х1 = 92.986 и Х2 = -0.23450.
Генетический алгоритм поддерживает N хромосомных нитей (претендентов на оптимальное решение), образующих популяцию. На каждой итерации производится отбор из популяции наиболее пригодных хромосом и образуются родительские пары. Применяя оператор скрещивания, ГА воспроизводит новое поколение потомков, наследующих лучшие гены родителей. Для обеспечения необходимого разнообразия генетического материала (исследования новых областей в пространстве поиска) использован оператор мутации.
В ходе отбора выживают те хромосомы, которые имеют большую пригодность. Хромосомы с меньшей пригодностью отмирают и в воспроизводстве потомков не участвуют. Вероятность отбора пропорциональна пригодности:
ротбора = р
р = N ■
£ Р
7=1
В ходе скрещивания точка скрещивания определяется случайным образом. Далее производится обмен цифрами либо справа, либо слева от этой точки с другой разделенной подобным образом хромосомой. Например, пусть N1 и N2 — две хромосомы, образующие родительскую пару:
Ы1 =100011101110010010100101100011
01]
1
И2 = 011100101010001111011111110001
Точка скрещивания
Полагая точку скрещивания там, где показано, и считая, что обмен выполняется справа, получим два потомка:
= 100011101110010010101111110001 N"2 = 011100101010001111010101100011
Мутация — это случайный процесс изменения значения некоторой позиции в хромосоме. Если мы имеем хромосому
N1=100011101110010010101111110001
то после мутации в 9-й позиции она приобретет вид Nf=100011100110010010101111110001
В результате действия операторов отбора, скрещивания и мутации реализуется направленный поиск с элементами «случайных блужданий». Каждое последующее поколение наследует лучшие признаки предыдущего в направлении движения в сторону оптимума, и в конечном счете образуется некоторое подмножество точек, отклонение от целевой функции для которых минимально.
Характерными чертами ГА являются способность решать высоконелинейные задачи, независимость от вида целевой функции, отсутствие требований к ее дифференцируемости и непрерывности, способность находить квазиоптималь-ное решение, близкое к глобальному, работа как с непрерывными, так и с целочисленными переменными.
Схема оценивания состояния развития экономики МО с целью определить лучший вариант развития на основе ГА следующая (рисунок).
1. Инициализация. Генерируем случайную начальную популяцию из N бинарных хромосом.
2. Оценивание приспособленности хромосом в популяции. Расчет функции пригодности. Находим значение выбранной целевой функции для каждой хромосомы в соответствии с выбранной оценкой и функцию пригодности.
3. Воспроизводство. Выполняем шаги 3.1-3.4, пока не создадим новую популяцию из N хромосом.
3.1. Отбор, селекция. С вероятностью р°тбора отбираем из популяции две родительские хромосомы.
3.2. Скрещивание. С вероятностью скрещивания Рскр определяем, проводить операцию скрещивания или нет. Если да, то выполняется обмен случайными позициями. В обоих случаях хромосомы переводятся в разряд потомков.
■ Генетический алгоритм в решении задачи поиска оптимального варианта развития производства МО
3.3. Мутация. С вероятностью мутации Рт меняем у хромосом-потомков случайно выбранный бит.
3.4. Создание новой популяции. Формируем новую популяцию, применяем элитизм.
4. Повторение. Переходим на п. 2 и повторяем процесс до выполнения некоторого условия окончания действия алгоритма.
Литература
1. Белобородова Н. А. Модели прогнозирования развития экономики муниципального образования «Город Ухта» с использованием нейронных сетей: Материалы науч.-техн. конф., 16-18 апреля 2001 г. / УГТУ. Ухта, 2002. — С. 176-180.
2. Белобородова Н. А. АИС прогнозирования роста производства: Материалы науч.-техн. конф., 16-18 апреля 2001 г. / УГТУ. Ухта, 2002. — С. 262-266.
3. Белобородова Н. А. Методика и модели прогнозирования развития экономики муниципального образования «Город Ухта» / УГТУ. Ухта, 2002. — 50 с.
4. Белобородова Н. А. Модели прогнозирования роста производства с использованием нейронных сетей // Изв. вузов. Сер. Нефть и газ. 2002. № 4. С. 110-117.
5. Джонс М. Т. Программирование искусственного интеллекта в приложениях / Пер. с англ. А. И. Осипова. — М.: ДМК Пресс, 2004. — 312 с.
6. рутковская Д., Пилиньский М., рутковский Л. Нейронные сети, генетические алгоритмы, нечет-
5. Выбор «лучшей» хромосомы.
В результате применения ГА были получены следующие результаты:
— наилучший вариант развития производства, который обеспечивает максимальный (прогнозируемый) объем производства в денежном выражении, был получен в 12-м поколении популяции;
— при Х1 = 73.94 тыс. т, Х3 = 15.42 тыс. т, Х10 = 466.26 т, Х12 = 626.95 т, Т = 331.98 млн р.
Согласно статистическим данным, максимальный объем производства в анализируемом периоде составил 332.7 млн р., относительная погрешность — 0,21 %.
Заключение
Таким образом, предлагаемая технология расчетов с использованием ГА способствует повышению потенциала прогнозирования за счет:
• определения значимых факторов роста производства в экономике города;
• определения перспективных производств («точек роста»);
• отслеживания структурных изменений в экономике города.
Результаты применения технологии на реальных данных социально-экономического развития МО «ГО “Город Ухта”» в анализируемом периоде выявили параметры и факторы, определяющие рост производства, их взаимосвязь, количественные характеристики.
кие системы / Пер. с польск. — И. Д. Рудинского. — М.: Горячая линия — Телеком, 2004. — 452 с.
7. усков А. А., Кузьмин А. В. Интеллектуальные технологии управления. Искусственные нейронные сети и нечеткая логика. — М.: Горячая линия — Телеком, 2004. — 143 с.
8. Емельянов В. В., Курейчик В. М., Курейчик В. В. Теория и практика эволюционного моделирования. — М.: Физматлит, 2003. — 432 с.
9. Щетинин В. Г. Анализ факторов экономического роста региона // Вопросы статистики. 1996. № 3. С. 40-46.
10. Щетинин В. Г., Костюнин А. В. Принятие решений на нейронных сетях оптимальной сложности // Автоматизация и современные технологии. 1998. № 4. С. 38-43.
11. Щетинин В. Г. Самоорганизация минимальной нейронной сети // Нейроинформатика и ее приложения / СО РАН. Красноярск, 1996. С. 43-44.