-\-
УДК 550.343.6
А.А. Гаджиев, О.Ш. Сулейманова
ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ - НЕМАТЕМАТИЧЕСКИЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧИ ОПТИМАЛЬНОГО РАСПРЕДЕЛЕНИЯ РЕСУРСОВ
В статье для устойчивого экономического развития РД авторы предлагают решить задачу оптимального распределения ресурсов, которыми обладает республика. Для решения задачи оптимального распределения ресурсов предлагается применить простое моделирование эволюционного процесса на компьютере, которые получили название генетические алгоритмы. В работе приведены содержательное и формальное описание генетического алгоритма, а также его операторы, которые отвечают за передачу признаков родителей потомкам. Сформулированы два подхода к построению линейки хромосомы. Для реализации генетического алгоритма построена фитнес-функция, учитывающая особенность решаемой задачи.
Ключевые слова: генетический алгоритм, мутация, селекция, скрещивание (crossover), хромосома, фитнес-функция.
Постановка задачи. Республика Дагестан (РД) представляет собой субъект РФ, уникальный по своим физико-географическим характеристикам, которые определяют естественное пространственное распределение ресурсов республики. При оптимальном распределении освоения и использования ресурсов можно достигнуть долгосрочного устойчивого экономического развития республики.
Преодоление воздействия негативных факторов, эффективное использование ресурсов и конкурентных преимуществ, по нашему мнению, является основой стабильного развития экономики и сокращения отставания республики.
В подобной сложной ситуации, мы считаем, возникает ряд задач, которые требуют нового подхода в постановке и разработке методов их решения.
Сформулируем задачу, используя математическую терминологию. Пусть планируется деятельность группы муниципальных образований (МО) некоторой зоны с общими физико-географическими характеристиками МО1; МО2, .. .МОк на период времени Т, состоящий из m хозяйственных лет.
В начале периода Т на развитие группы МО - выделяются некоторые средства Ко, которые должны быть распределены между МО. В процессе деятельности МО выделенные средства частично расходуются (амортизируются). Кроме того, каждое МО за год (или иной отрезок времени) приносит некоторый доход, зависящий от вложенных средств. В начале каждого хозяйственного года (заданного отрезка времени) имеющиеся средства перераспределяются между МО: каждому из них выделяется какая-то доля средств.
Перед нами стоит типичная задача динамического программирования. Необходимо определить, как нужно в начале каждого года (или заданного отрезка времени) распределять имеющиеся средства между МО, чтобы суммарный доход от всей системы МО этой зоны за весь период Т = m был максимальным.
Для решения задачи оптимального распределения ресурсов, кроме динамического программирования возможно применение простого моделирования эволюционного процесса на компьютере, которое позволяет получить почти оптимальные решения многих практических задач. Такие модели получили название «генетические алгоритмы».
Содержательное и формальное описание генетического алгоритма.
Стандартные генетические алгоритмы, начинают свою работу с формирования начальной популяции Io=(ii,i2,...is} - конечного набора допустимых решений задачи. Эти
-\-
решения могут быть выбраны случайным образом (или получены с помощью
вероятностных жадных алгоритмов).
Выбор начальной популяции не имеет значения для сходимости процесса в асимптотике, однако формирование «хорошей» начальной популяции (например, из множества локальных оптимумов) может заметно сократить время достижения глобального оптимума.
На каждом шаге эволюции с помощью вероятностного оператора селекции выбираются два решения i1, i2. Далее оператор скрещивания (crossover) по решениям i1, i2 строит новое решение i, которое подвергается небольшим случайным в общем случае редким модификациям - мутациям. Затем решение добавляется в популяцию, а решение с наименьшим значением функции приспособленности (fitness-функции) удаляется из популяции. Это один из возможных механизмов мутации.
Общая схема такого алгоритма формально может быть записана следующим образом:
1. Выбрать начальную популяцию 1о и положить
f =max{f(i)| ie/o}, k:=0; (f* - фитнес - функция, функция
приспособленности).
2. Пока не выполнен критерий остановки делать следующее:
2.1. Выбрать родителей и, i2 из популяции 1к.
2.2. Построить Г пo
2.3. Модифицировать ь
2.4. Если Р<ДГ), то Р:=ДГ).
3. Обновить популяцию и положить k:=k+l.
Основные операторы этого алгоритма: 1 - селекция, 2 - скрещивание, 3 —
мутация.
Остановимся подробнее на некоторых процедурах выполнения операторов. 1. Среди операторов селекции наиболее распространёнными являются два вероятностных оператора: а) пропорциональной и б) турнирной селекции.
а. При пропорциональной селекции вероятность на к-м шаге выбор решения i в качестве одного из родителей задаётся формулой
б. При турнирной селекции формируется случайное подмножество из элементов популяции и среди них выбирается один элемент с наибольшим значением фитнес-функции.
Турнирная селекция имеет определённые преимущества перед пропорциональной, так как не теряет своей избирательности, когда в ходе эволюции все элементы популяции становятся примерно равными по значению фитнес-функции. Операторы селекции строятся таким образом, чтобы с ненулевой вероятностью любой элемент популяции мог бы быть выбран в качестве одного из родителей. Более того, допускается ситуация, когда оба родителя представлены одним и тем же элементом популяции.
2. Как только два решения выбраны, к ним применяется вероятностный оператор скрещивания (crossover). Существует много различных версий этого оператора, среди которых простейшим, по-видимому, является однородный оператор.
По решениям ij, i2 однородный оператор строит решение i, присваивая каждой координате этого вектора (хромосомы) с вероятностью 0,5 соответствующее значение одного из родителей. Если вектора ij, i2 совпали, скажем, по одной координате, то вектор i «унаследует» это значение. Можно сказать, что оператор скрещивания старается выбрать новое решение i где-то между ij, i2, полагаясь на удачу.
-\-
По аналогии с однородным оператором скрещивания можно предложить и
другие операторы, использующие не только два (11 ¡2), но и произвольное число решений из популяции.
3. Оператор мутации, применяемый к решению г' , с заданной вероятностью рт(0,1) меняет значение каждой координаты решения I' на противоположное. Например, вероятность того, что ¡' =(0,0,0,0,0) в ходе мутации перейдёт в ]'=( 1,1,1,0,0), равна рт *рт *рт *(1-р)*(1-рт)>0
Таким образом, с ненулевой вероятностью (но очень малой) решение г может перейти в любое другое решение.
Заметим, что при построении множества квазиоптимальных решений можно осуществить переход к глобальному оптимуму. (Это — процедура выбора из множества возвышенностей «ландшафта» возвышенности наибольшей высоты). Такой переход можно реализовать с помощью следующей процедуры. Допустим, получено множество квазиоптимальных решений ¡', в которых пронумерованы позиции. Тогда вероятность «1» (р(1)) в каждой позиции решений вычисляется как отношение числа «1» в этой позиции к общему числу решений (наборов), а вероятность «0» в этой позиции равна р(0)=1 -р(1). Вероятность перехода от одного квазиоптимального решения к другому определяется, как указано выше.
Решение для оператора мутации: выбирается переход с минимальной вероятностью. (Заметим, что мутация в эволюционном развитии - это редкий случай).
Множество локальных оптимумов (квазиоптимальных решений) может оказаться экспоненциально большим, и на первый взгляд кажется, что такой вариант алгоритма не будет иметь больших преимуществ. Однако, экспериментальные исследования распределения локальных оптимумов свидетельствуют о высокой концентрации их в непосредственной близости от глобального оптимума. Это наблюдение известно как гипотеза о существовании «большой долины» для задач на минимум или «центрального горного массива» (глобальной «возвышенности ландшафта») для задач на максимум.
Принцип построения линейки хромосомы для задачи оптимального распределения кредитного капитала (инвестиций). Постановка задачи:
а. Выделить кредитный каптал Я, который надо распределить, например между 10 типами ресурсов.
б. Цель - получение максимального дохода через определенный срок (например, через 3 года).
в. Для каждого ресурса задана функция дохода, приносимого ресурсом за этот срок в зависимости от вложенной суммы.
При этом используется диверсификация, т.е. в любой ресурс запрещается вкладывать слишком большую сумму.
Рассмотрим два подхода к построению линейки хромосомы (ХС). Первый подход: каждый ресурс имеет свою двоичную ХС, и на каждом шаге вычисляется доход от каждого ресурса (операции селекции, скрещивания и мутации ХС выполняются для каждого ресурса), а оценка эффективности - по значению суммарного дохода.
Второй подход: ХС для всех ресурсов одна (и не двоичная), т.е. каждый ресурс имеет свою позицию в линейке ХС. При этом значение ресурса на каждом шаге определяется в абсолютных значениях измерения, но одной мерой (например, в рублях, по количественному значению ресурса).
Подход к решению задачи с помощью генетического алгоритма.
1. Пусть каждый ресурс имеет свою ХС в виде 0 и 1, содержащего двоичную запись объема вложений в этот ресурс.
2. Пусть ячейка ХС имеет 8 клеток (8 двоичных разрядов ). Тогда потребуется предварительная нормировка всех чисел от 0 до 255, т.е. функция доходности задана в 256
точках. Такие ХС (их называют непрерывными) позволяют представлять значения произвольных числовых порядков.
3. Для таких ХС скрещивание (Сг) и мутации (М) можно осуществлять стандартным образом [1].
4. Особенность задачи состоит в следующем. Суммарный инвестируемый капитал Я фиксирован и равен некоторому числу К Очевидно при (Сг+М) суммарное число может быть больше или меньше чем Я. Следовательно, в генетическом алгоритме должен быть предусмотрен механизм, который позволяет отбрасывать решения Я'<<Я или Я'>>Я (это означает - особи с сильным нарушением умирают), т.е. этот механизм определяет (задает) область допустимых значений Я'(т.е. Я' <<Я или Я'>>Я) для определения приспособленности. В этом случае получим решение Я' не точно равное Я, а близкое к Я.
5. Очевидно, что решение Я' надо определять как Я'= сумма Я';, где Я'; - сумма инвестиций в ;-й ресурс.
Построение фитнес-функции генетического алгоритма. Введем следующие обозначения:
N1 - общее (суммарное) условное число ¡-го ресурса;
(примечание: принятые за условные единицы ресурсов должны быть неизменными на всех шагах и этапах, тогда обеспечивается сравнимость результатов распределения ресурсов на всех этапах);
с; - стоимость затрат на выработку условной единицы ¡-го ресурса (в руб.);
& - доход от выработки условной единицы ¡-го ресурса (в руб.); (примечание: с;, а) скорее являются вариативными параметрами, т.е. на различных этапах их значения могут изменяться; б) изменяться независимо );
(ёу - Су)- прибыль от выработки условной единицы ¡-го ресурса на j-ом этапе планирования;
Рц=^ (ёу - Су) - прибыль от ¡-го ресурса на j-ом этапе планирования.
Фитнес-функция эффективности ХС задачи оптимального распределения ресурсов имеет вид:
где к - общее число ресурсов на j-ом этапе планирования; (примечание: это число может изменяться от этапа к этапу: одни ресурсы исчерпываются, другие - начинают осваиваться).
1. Приведены содержательное и формальное описание генетического алгоритма и его операторов.
2. Дана постановка задачи применения генетических алгоритмов к экономическим системам.
3. Сформулирован принцип построения линейки ХС и приведена структура ХС для решения задачи оптимального распределения инвестиций и формула фитнес-функции.
4. В каждой практической задаче для реализации генетического алгоритма требуется построить фитнес-функцию, учитывающую особенности решаемой задачи.
Библиографический список:
1. Клемент Р. Генетические алгоритмы: почему они работают? Когда их применять?, Компьютера, 1999, №11.
Выводы
Вестник ДГТУ. Технические науки. № 15, 2009.
-\-
А.А. Gadjiev, О.8Н. Suleyimanova
The Genetic algorithms is an unmathematical approach to the decision of the problem of an optimum distribution of the resources
In this article the authors offer to solve the problem of an optimum distribution of the resources, which the republic has, for a firm economic development of the public of Dagestan. For the problem's decision of an optimum distribution resource is offered to use a simply modeling of an evolution process on the computer, which have been named a genetic algorithms. A profound and formal description of a genetic algorithm are brought in this work and also its operators, which are responsible for the transferring the parents' signs to the descendants. Two approaches to the building of the straightedge of the chromosome are formulated. For the realization of a genetic algorithm the fitness-function is built, accounting the particularity of a solved problem. Keywords: a genetic algorithm, a mutation, a crossover, a chromosome, a selection, a fitness-function.
Гаджиев Аюб Акбашевич (р. 1932) Доцент кафедры «Программного обеспечения вычислительной техники и автоматизированных систем» факультета информатики и управления Дагестанского государственного технического университета. Кандидат технических наук (1971). Окончил Московский энергетический институт (1956) Область научных интересов: Моделирование сложных систем Автор более 80 научных публикаций
Сулейманова Олеся Шарапудиновна (р. 1981) Ассистент кафедры «Программного обеспечения вычислительной техники и автоматизированных систем» факультета информатики и управления Дагестанского государственного технического университета. Окончила Дагестанский государственный технический университет (2003) Область научных интересов: Моделирование сложных систем Автор 7 научных публикаций
e-mail: [email protected]