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

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

Библиографический список

1. Захаров, А. А. Суперфинишное полирование кремния с использованием ультрадисперсного алмаза / А. А. Захаров, В. А. Юзова, О. В. Семенова // Получение, свойства и применение энергонасыщенных ультрадисперсных порошков металлов и их соединений : сб. тез. Российской конференции. Томск, 1993. С. 80.

2. Эскин, В. Е. Рассеяние света растворами полимеров / В. Е. Эскин.- М. : Наука, 1973. 350 с.

3. Байвель, Л. П. Измерение и контроль дисперсности частиц методом светорассеяния под малыми углами / Л. П. Байвель, А. С. Лагунов. М. : Энергия, 1977. 88 с.

4. Безрукова, А. Г. Информативность параметров светорассеяния при исследовании клеток / А. Г. Без-

рукова, И. К. Владимирская // Цитология. 1982. Т. 24. № 5. С. 507-521.

5. Розенберг, В. И. Рассеяние и ослабление электромагнитного излучения атмосферными частицами /

B. И. Розенберг. Л : Гидрометеоиздат, 1972. 348 с.

6. Шифрин, К. С. Введение в оптику океана / К. С. Шифрин. Л. : Гидрометеоиздат, 1983. 277 с.

7. Слоним, И. Я. Определение размера частиц по светорассеянию / И. Я. Слоним // Оптика и спектроскопия. 1960. С. 98-108.

8. Ереско, С. П. Адаптация методов светорассеяния для контроля дисперсности нанофазных материалов /

C. П. Ереско, А. В. Толстоногов // Транспортные средства Сибири : сб. науч. тр. с междун. участием / под ред. С. П. Ереско ; Краснояр. гос. техн. ун-т. Вып. 9. Красноярск, 2003. С. 345-353.

9. Ереско, С. П. Экспериментальная проверка метода определения дисперсности частиц через светорассеяние / С. П. Ереско, А. В. Толстоногов,

B. А. Юзова // Вестник университетского комплекса : сб науч. тр. / под общ. ред. Н. В. Василенко. Красноярск : ВСФ РГУИТП, НИИ СУВПТ, 2004. Вып. 2 (16).

C. 192-200.

A. V. Tolstonogov, S. P. Eresko

THE OPTICAL METHOD OF MEASUREMENT OF THE SIZES OF ULTRADISPERSE PARTICLES NANOMATERIALS

Nowadays it is lacking the control express-methods of size of nanodisperse particles of different materials, which are necessary in technological processes. Straight measurement methods (for example with electron microscopy) are expensive, prolonged and not technological for production. Herewith the method based on measuring of parameters of light flow passing through suspension of nanomaterials in liquid was tested.

УДК 519.68

Т. Р. Ильина, Г. Б. Хоролич

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

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

Задача распределения транспортных ресурсов на предприятии состоит в установлении очередности обслуживания некоторых производственных объектов имеющимися транспортными средствами.

Рассмотрим систему с п объектами хь х2, ..., хп и т транспортными средствами.

Под маршрутом '-го транспортного средства // ,

' = 1, 2, ..., т будем понимать последовательность к элементов (производственных объектов) х1, х2, ..., хк

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

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

на элементы ф(1/ ) > 0, j = 1, m . Введем в рассмотрение множество L всех выполнимых маршрутов системы. Тогда распределение транспортных средств системы можно представить в виде задачи оптимизации:

m

^ kj  max,

j=1

j(lJj ) > 0, j = 1, 2, ..., m, lJj e L, j = 1, 2, ..., m.

Каждый объект xi, i = 1, 2, ..., n в некоторый момент времени характеризуется двумя числами (ti, й), где ti - время достижения транспортным средством

объекта х; щ - допустимое время ожидания. Для производства это время, в течение которого работа оборудования не прерывается благодаря имеющемуся запасу сырья и комплектующих.

Точки хь х2, ..., хк (к < п) образуют выполнимый маршрут 4 длины к, если для всех 1,1 = 2, 3, ..., к, имеет место условие

t > Xt

1 / - s

т. е. в выполнимом маршруте время возможного ожидания 1-го элемента должно превосходить суммарное время посещения всех предшествующих элементов (выполнимый маршрут длины к обеспечивает бесперебойную работу всем к объектам).

Задача распределения транспортных средств по выполнимым маршрутам сводится к следующей постановке.

Найти такую систему маршрутов Щ}, у = 1, 2, ..., т , чтобы

X К

max,

>X tj

j=1 1 = 1, 2,

j = 1, 2,

m.

t>X ts, 1 = 1, 2,

к.

max X Z

j=i

при ограничениях:

Zj (5j +5 jt) = Zj,

Zj Zj >

Пусть максимальная длина выполнимого маршрута установлена и равна р. Тогда составляем всевозможные сочетания из п элементов по р и формулируем задачу минимизации среднего времени достижения объекта транспортным средством (при фиксированной длине маршрута):

Т X jj

min,

Р j=1

где z y =

Л

Z: время достижения j-го

Хад + ^

V '* у

объекта транспортным средством. Если объект у не обслуживается ^ = 0), соответствующее время не находим.

Ограничения следующие:

п

1= р,

У=1

zj(5 j +5 jl) = zj,

ZiZj >

X5 ijZt + tJ

V j

Zj.

Рассмотрим простой случай, когда имеется только одно транспортное средство. Тогда задача сводится к поиску максимального выполнимого маршрута 4, что приводит к решению следующей задачи: к  max,

Для нахождения максимальной длины выполнимого маршрута предлагается формулировка задачи (1) в виде задачи целочисленного математического программирования.

Введем булевы переменные:

8у = 1, если объект [ обслуживается ранее объекта у, 8у = 0 , в противном случае, / = 1,п , у = 1,п, [ ф у;

zj = 1, если объект у будет обслужен, zj = 0 в противном случае.

Тогда задача (1) может быть записана в виде

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

Пусть за единицу времени простоя у-го объекта берется штраф gj. Тогда

^п (у у -т у) +1

X gjZj (yj -Zj):

min.

j=1

Выражение sign (yj -Z j) +1

sign (yj -Zj) +1 = 1

= 1, если V: >t,; иначе

= 0.

Ограничения следующие:

Zj(5 j +5 j,) = Zj,

ZjZ j >

Z y. =

Zj.

18 ^ +

V '* у

Если Zj = 0, ограничения нет, т. е. соответствующий объект не обслуживается транспортным средством; в правой части каждого ограничения суммируется время достижения объектов, уже обслуженных до у-го. Задача включает п(п - 1) + п целочисленных булевых переменных. Число ограничений-неравенств не превосходит (п - 1) и зависит от численных значений параметров уу.

С \

18 +^

V '*у

С А

18 + ^

V '*у

Это - задача смешанного целочисленного математического программирования (СЦП) так как у у - вещественные переменные. При фиксировании булевых переменных получаем задачу линейного программирования.

Таким образом, получены формулировки практических задач в виде задач смешанного или полностью целочисленного программирования. Доказано, что задачи СЦП даже в линейном случае относятся к классу МР-полных задач [1]. Это означает, что для отыскания оптимального решения требуется экспоненциальное время, такие задачи по существу трудно

s=1

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

В генетическом алгоритме используются механизмы, аналогичные тем, что существуют в природе -кодирование информации в линейные структуры и перераспределение этой информации при помощи специальных «генетических» операций. Алгоритм состоит из следующих шагов: инициализация популяции, оценка пригодности каждого индивида, селекция, скрещивание, мутация, проверка условия останова [2]. Далее шаги повторяются, начиная с оценки пригодности.

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

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

Под индивидом понимаем строку значений целочисленных переменных в решении задачи. Если два индивида допустимы (не нарушена система ограничений), то в случае полностью целочисленной задачи они сравниваются по значению целевой функции (лучшему индивиду соответствует большее значение функции), при этом недопустимые индивиды могут быть сравнимы между собой по степени нарушений ограничений (любой допустимый индивид считается лучше любого недопустимого). В задаче СЦЛП стратегия решения основана на разделении переменных на множество целочисленных и вещественных. Целочисленные переменые фиксируются через эволюционную систему, в то время как вещественные определяются как функция от них через решение полученной задачи линейного программирования симплексным методом [3]. Если решение соответствующей задачи линейного программирования допустимо, то ее решение - оценка пригодности соответствующего индивида; иначе соответствующий индивид недопустим. Допустимые индивиды сравниваются по значению функции пригодности. В случае недопустимости индивида формулируем задачу линейного програмирования для минимизации этой недопустимости (т. е. суммы нарушений

ограничений) и решаем полученную задачу симплексным методом [4].

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

Основным порождающим оператором генетических алгоритмов считается оператор скрещивания (кроссовер, кроссинговер). Кроссовер заключается в перемешивании бит, содержащихся в исходных хромосомах. Для скрещивания случайным образом отбираются пары индивидов из промежуточной популяции (кандидаты в родители). Скрещивание происходит с заданной вероятностью скрещивания р. Если скрещивание произошло, в следующее поколение переходит один из потомков (с вероятностью 0,5). Если скрещивание не произошло, то клонируем лучшего родителя. Родители возвращаются в популяцию и вновь принимают участие в селекции. Наш генетический алгоритм - равновесный; скрещивание продолжается, пока не будет создано новое поколение. Реализуемые виды скрещивания: одноточечное - разрезание родительских хромосом в одной точке и обмен правыми частями; двухточечное - хромосома рассматривается как кольцо со связанными первым и последним генами, которое рассекается на две части, и полученные фрагменты обмениваются; равномерное - каждый ген потомка выбираем случайным образом из соответствующих генов родителей. Отличительная особенность всех разновидностей данного оператора состоит в том, что, будучи применен к паре совпадающих хромосом, он не меняет их.

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

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

Условия останова - по числу поколений. Генетический алгоритм эволюционирует в соответствии с приведенными операторами, пока число поколений не достигнет заданного значения. В качестве ответа получаем оценку пригодности лучшего индивида (по всем поколениям).

Подход состоит в том, что мы решаем генетическим алгоритмом задачу (2); при этом индивиды, соответствующие максимальной длине выполнимого маршрута, копируются в одно из последних поколений генетического алгоритма решения задачи (3).

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

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

- интенсивная мутация снижает скорость алгоритма и может серьезно повлиять на сходимость, т. е. алгоритм работает дольше и может не найти оптимального решения;

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

- большие популяции сходятся дольше (требуют большего времени до остановки);

- при малом размере популяции возрастает вероятность остановки в локальном минимуме.

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

Библиографический список

1. Гэри, М. Вычислительные машины и трудноре-шаемые задачи / М. Гэри, Д. Джонсон. М. : Мир, 1982. 416 с.

2. Семенкин, Е. С. Оптимизация технических систем / Е. С. Семенкин, О. Э. Семенкина, С. П. Коробейников ; Сиб. ин-т бизнеса упр. и права. Красноярск, 1996. 285 с.

3. Joao, P. Pedroso. Niche search: an evolutionary algorithm for global optimization / P. Joao // Parallel Problem Solving from Nature IV. Vol. 1141 of Lecture Notes in Computer Science. Berlin : Springer, 1996.

4. Хоролич, Г. Б. Решение задач смешанного целочисленного математического программирования эво-люционнымиалгоритмами / Г. Б. Хоролич // I Всеси-бирский конгресс женщин-математиков : тез. докл. конгр. / ИВМ СО РАН. Красноярск, 2000. с. 246.

T. R. Ilina, G. B. Khorolich

FORMALIZING AND SOLVING WITH GENETIC ALGORITHMS THE VEHICLE ROOTING PROBLEM FOR INDUSTRIAL TRANSPORT

Vehicle rooting problem for industrial transport is formalized as a mixed-integer zero-one problem. Specially designed genetic algorithms are used for solving the problem.

УДК 681.3.07

М. Н. Фаворская, А. Н. Горошкин МОДЕЛЬ РАСПОЗНАВАНИЯ ИЗОБРАЖЕНИЙ РУКОПИСНОГО ТЕКСТА

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

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

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