МАГИСТЕРСКАЯ РАБОТА

Донецкий Национальный Технический Университет

Осыка Дмитрий Сергеевич

Тема магистерской квалификационной работы: “Разработка компьютерной подсистемы управления производственными участками цеха”

Специальность: 8.080401 “Информационные управляющие системы и технологии”

Руководитель: к.т.н., доцент Лаздынь С.В.

Донецк, 2003

Биогафия Диссертация

Перечень ссылок

Библиотека

     
 
   
ВВЕДЕНИЕ

Интенсификация промышленного производства, осуществляемая в целях ускорения роста производства, повышения производительности труда, экономного использования сырья, материалов, энергоресурсов, внедрения малоотходной технологии, определяет новые задачи цели в области совершенствования управления с применением автоматизированных систем на основе комплексной автоматизации управления всеми процессами – от организационно-экономических и технологических до проектирования изделий и технологий их изготовления.
В настоящее время продолжается развитие и создание автоматизированных научных и производственных исследований и испытаний (АСНИ), систем общезаводского управления, ориентированных на автоматизацию основных функций управления производственным объединением (АСУО), предприятием (АСУП). Большое значение получили гибкие автоматизированные производственные системы и комплексы (ГПС).
В своей курсовой работе я проведу анализ организации и управления производственными процессами на участках, рассмотрю существующие передовые системы автоматизации и управления производственными процессами, приведу их сравнительную характеристику, выполню анализ методов и средств моделирования и оптимизации работы производственных участков, определюсь с направлением научной работы.
Моделирование (в широком смысле) является основным методом исследований во всех областях знаний и научно обоснованным методом оценок характеристик сложных систем, используемым для принятия решений в различных сферах инженерной деятельности. Существующие и проектируемые системы можно эффективно исследовать с помощью математических моделей (аналитических и имитационных), реализуемых на современных ЭВМ, которые в этом случае выступают в качестве инструмента экспериментатора с моделью системы.


 

Анализ методов и средств моделирования


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


Симплекс – многогранник.


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

Нейронные сети

Искусственная нейронная сеть (ИНС, нейросеть) - это набор нейронов, соединенных между собой. Как правило, передаточные функции всех нейронов в сети фиксированы, а веса являются параметрами сети и могут изменяться. Некоторые входы нейронов помечены как внешние входы сети, а некоторые выходы - как внешние выходы сети. Подавая любые числа на входы сети, мы получаем какой-то набор чисел на выходах сети. Таким образом, работа нейросети состоит в преобразовании входного вектора в выходной
вектор, причем это преобразование задается весами сети.
Практически любую задачу можно свести к задаче, решаемой нейросетью.
Как построить сеть
Теперь, когда стало ясно, что именно мы хотим построить, мы можем переходить к вопросу "как строить такую сеть". Этот вопрос решается в два этапа:
Выбор типа (архитектуры) сети.
Подбор весов (обучение) сети.
На первом этапе следует выбрать следующее:
какие нейроны мы хотим использовать (число входов, передаточные функции);
каким образом следует соединить их между собой;
что взять в качестве входов и выходов сети.
Эта задача на первый взгляд кажется необозримой, но, к счастью, нам необязательно придумывать нейросеть "с нуля" - существует несколько десятков различных нейросетевых архитектур, причем эффективность многих из них доказана математически. Наиболее популярные и изученные архитектуры - это многослойный перцептрон, нейросеть с общей регрессией, сети Кохонена и другие. Про все эти архитектуры скоро можно будет прочитать в специальном разделе этого учебника.
На втором этапе нам следует "обучить" выбранную сеть, то есть подобрать такие значения ее весов, чтобы сеть работала нужным образом. Необученная сеть подобна ребенку - ее можно научить чему угодно. В используемых на практике нейросетях количество весов может составлять несколько десятков тысяч, поэтому обучение - действительно сложный процесс. Для многих архитектур разработаны специальные алгоритмы обучения, которые позволяют настроить веса сети определенным образом. Наиболее популярный из этих алгоритмов - метод обратного распространения ошибки (Error Back Propagation), используемый, например, для обучения перцептрона.

Области применения нейросетей


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

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


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

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

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

Прогнозирование
Задачи прогнозирования особенно важны для практики, в частности, для финансовых приложений, поэтому поясним способы применения нейросетей в этой области более подробно.
Рассмотрим практическую задачу, ответ в которой неочевиден - задачу прогнозирования курса акций на 1 день вперед.
Пусть у нас имеется база данных, содержащая значения курса за последние 300 дней. Простейший вариант в данном случае - попытаться построить прогноз завтрашней цены на основе курсов за последние несколько дней. Понятно, что прогнозирующая сеть должна иметь всего один выход и столько входов, сколько предыдущих значений мы хотим использовать для прогноза - например, 4 последних значения. Составить обучающий пример очень просто - входными значениями будут курсы за 4 последовательных дня, а желаемым выходом - известный нам курс в следующий день за этими четырьмя.
Если нейросеть совместима с какой-либо системой обработки электронных таблиц (например, Excel), то подготовка обучающей выборки состоит из следующих операций:
Скопировать столбец данных значений котировок в 4 соседних столбца.
Сдвинуть второй столбец на 1 ячейку вверх, третий столбец - на 2 ячейки вверх и т.д.

Смысл этой подготовки легко увидеть на рисунке - теперь каждая строка таблицы представляет собой обучающий пример, где первые 4 числа - входные значения сети, а пятое число - желаемое значение выхода. Исключение составляют последние 4 строки, где данных недостаточно - эти строки не учитываются при тренировке. Заметим, что в четвертой снизу строке заданы все 4 входных значения, но неизвестно значение выхода. Именно к этой строке мы применим обученную сеть и получим прогноз на следующий день.
Как видно из этого примера, объем обучающей выборки зависит от выбранного нами количества входов. Если сделать 299 входов, то такая сеть потенциально могла бы строить лучший прогноз, чем сеть с 4 входами, однако в этом случае мы имеем всего 1 обучающий пример, и обучение бессмысленно. При выборе числа входов следует учитывать это, выбирая разумный компромисс между глубиной предсказания (число входов) и качеством обучения (объем тренировочного набора).

Генетические алгоритмы

Что такое генетический алгоритм?
Пусть дана некоторая сложная функция (целевая функция), зависящая от нескольких переменных, и требуется найти такие значения переменных, при которых значение функции максимально. Задачи такого рода называются задачами оптимизации и встречаются на практике очень часто.
Один из наиболее наглядных примеров - задача распределения инвестиций, описанная ранее. В этой задаче переменными являются объемы инвестиций в каждый проект (10 переменных), а функцией, которую нужно максимизировать - суммарный доход инвестора. Также даны значения минимального и максимального объема вложения в каждый из проектов, которые задают область изменения каждой из переменных.
Попытаемся решить эту задачу, применяя известные нам природные способы оптимизации. Будем рассматривать каждый вариант инвестирования (набор значений переменных) как индивидуума, а доходность этого варианта - как приспособленность этого индивидуума. Тогда в процессе эволюции (если мы сумеем его организовать) приспособленность индивидуумов будет возрастать, а значит, будут появляться все более и более доходные варианты инвестирования. Остановив эволюцию в некоторый момент и выбрав самого лучшего индивидуума, мы получим достаточно хорошее решение задачи.
Генетический алгоритм - это простая модель эволюции в природе, реализованная в виде компьютерной программы. В нем используются как аналог механизма генетического наследования, так и аналог естественного отбора. При этом сохраняется биологическая терминология в упрощенном виде.
Вот как моделируется генетическое наследование:
Хромосома Вектор (последовательность) из нулей и единиц.
Каждая позиция (бит) называется геном.
Индивидуум =
генетический код Набор хромосом = вариант решения задачи.
Кроссовер Операция, при которой две хромосомы обмениваются своими частями.
Мутация Cлучайное изменение одной или нескольких позиций в хромосоме.
Чтобы смоделировать эволюционный процесс, сгенерируем вначале случайную популяцию - несколько индивидуумов со случайным набором хромосом (числовых векторов). Генетический алгоритм имитирует эволюцию этой популяции как циклический процесс скрещивания индивидуумов и смены поколений.
Жизненный цикл популяции - это несколько случайных скрещиваний (посредством кроссовера) и мутаций, в результате которых к популяции добавляется какое-то количество новых индивидуумов. Отбор в генетическом алгоритме - это процесс формирования новой популяции из старой, после чего старая популяция погибает. После отбора к новой популяции опять применяются операции кроссовера и мутации, затем опять происходит отбор, и так далее.
Отбор в генетическом алгоритме тесно связан с принципами естественного отбора в природе следующим образом:
Приспособленность
индивидуума Значение целевой функции на этом индивидууме.
Выживание наиболее
приспособленных Популяция следующего поколения формируется в соответствии с целевой функцией. Чем приспособленнее индивидуум, тем больше вероятность его участия в кроссовере, т.е. размножении.
Таким образом, модель отбора определяет, каким образом следует строить популяцию следующего поколения. Как правило, вероятность участия индивидуума в скрещивании берется пропорциональной его приспособленности. Часто используется так называемая стратегия элитизма, при которой несколько лучших индивидуумов переходят в следующее поколение без изменений, не участвуя в кроссовере и отборе. В любом случае каждое следующее поколение будет в среднем лучше предыдущего. Когда приспособленность индивидуумов перестает заметно увеличиваться, процесс останавливают и в качестве решения задачи оптимизации берут наилучшего из найденных индивидуумов.
Возвращаясь к задаче оптимального распределения инвестиций, поясним особенности реализации генетического алгоритма в этом случае.
• Индивидуум = вариант решения задачи = набор из 10 хромосом Хj
• Хромосома Хj= объем вложения в проект j = 16-разрядная запись этого числа
• Так как объемы вложений ограничены, не все значения хромосом являются допустимыми. Это учитывается при генерации популяций.
• Так как суммарный объем инвестиций фиксирован, то реально варьируются только 9 хромосом, а значение 10-ой определяется по ним однозначно.
Ниже приведены результаты работы генетического алгоритма для трех различных значений суммарного объема инвестиций K.

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

Если увеличить суммарный объем инвестиций, становится прибыльным вкладывать деньги и в более дорогостоящие проекты.

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

Особенности генетических алгоритмов
Генетический алгоритм - новейший, но не единственно возможный способ решения задач оптимизации. С давних пор известны два основных пути решения таких задач - переборный и локально-градиентный. У этих методов свои достоинства и недостатки, и в каждом конкретном случае следует подумать, какой из них выбрать.
Рассмотрим достоинства и недостатки стандартных и генетических методов на примере классической задачи коммивояжера (TSP - travelling salesman problem). Суть задачи состоит в том, чтобы найти кратчайший замкнутый путь обхода нескольких городов, заданных своими координатами. Оказывается, что уже для 30 городов поиск оптимального пути представляет собой сложную задачу, побудившую развитие различных новых методов (в том числе нейросетей и генетических алгоритмов).
Каждый вариант решения (для 30 городов) - это числовая строка, где на j-ом месте стоит номер j-ого по порядку обхода города. Таким образом, в этой задаче 30 параметров, причем не все комбинации значений допустимы. Естественно, первой идеей является полный перебор всех вариантов обхода.
Переборный метод наиболее прост по своей сути и тривиален в программировании. Для поиска оптимального решения (точки максимума целевой функции) требуется последовательно вычислить значения целевой функции во всех возможных точках, запоминая максимальное из них. Недостатком этого метода является большая вычислительная стоимость. В частности, в задаче коммивояжера потребуется просчитать длины более 1030 вариантов путей, что совершенно нереально. Однако, если перебор всех вариантов за разумное время возможен, то можно быть абсолютно уверенным в том, что найденное решение действительно оптимально.
Второй популярный способ основан на методе градиентного спуска. При этом вначале выбираются некоторые случайные значения параметров, а затем эти значения постепенно изменяют, добиваясь наибольшей скорости роста целевой функции. Достигнув локального максимума, такой алгоритм останавливается, поэтому для поиска глобального оптимума потребуются дополнительные усилия.
Градиентные методы работают очень быстро, но не гарантируют оптимальности найденного решения. Они идеальны для применения в так называемых унимодальных задачах, где целевая функция имеет единственный локальный максимум (он же - глобальный). Легко видеть, что задача коммивояжера унимодальной не является.

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

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

 

   

Выбор направления собственных исследований

На сегодняшний день задача оптимального управления производственным процессом остается открытой. Как правильно составить производственный план-график, как распределить ресурсы так, чтобы получить максимальную загрузку, как сделать производственный процесс оптимальнее. И таких вопросов множество. Не одна из существующих в настоящее время систем управления производством не может дать полного ответа на каждый из этих вопросов. Большинство систем (ERP, MRP) выполняют лишь задачи управлением ресурсами предприятия, не касаясь управления производственными процессами в реальном времени, что накладывает ряд ограничений на их использование в производстве.
Свое дальнейшее исследование считаю нужным посвятить системам управления производством, ведь именно системы управления производством – это связующее звено между ориентированными на хозяйственные операции ERP-системами, системами планирования цепочки поставок и деятельностью в реальном масштабе времени на уровне производства.

 
   

Цель и задачи исследования

Цель: разработать компьютерную подсистему оперативного управления производственными участками цеха, обеспечивающую повышение эффективности производства.
Задачи:
1. Анализ методов моделирования и оперативного управления производственными участками.
2. Анализ существующих компьютерных систем для оперативного управления производством.
3. Выбор метода моделирования и разработка математической модели производственного участка.
4. Выбор критерия эффективности работы производственного участка.
5. Выбор метода оптимизации план-графика работы производственного участка с использованием модели.
6. Разработка и отладка программного обеспечения для производственного участка.
7. Проведение машинных экспериментов с моделью.
8. Анализ результатов моделирования.
9. Разработка структуры и функций компьютерной подсистемы оперативного управления участком.
10. Разработка требований к техническому и информационно-программному обеспечению подсистемы.

 
   

Литература

1. Михайлев С.Б., Седегов Р.С. АСУ на промышленном предприятии: Справочник,
Москва, Энергавтомиздат, 1989.
2. Игнатьева А. В., Максимцов М. М. ИССЛЕДОВАНИЕ СИСТЕМ УПРАВЛЕНИЯ, Москва, 2000
3. Патерсон Дж. Теория сетей Петри и моделирование систем. — М.: Мир, 1984.
4. Приикер А. Введение в имитационное моделирование и язык СЛАМП. — М.: Мир, 1987.
5. Советов Б. Я.. Яковлев С. А. Моделирование систем. — М.: Высшая школа, 1985.
6. Советов Б. Я., Яковлев С. А. Моделирование систем (2-е изд.). — М.: Высшая
школа, 1998.
7. Советов Б. Я.. Яковлев С. А. Моделирование систем: Курсовое проектирование. — М.: Высшая школа, 1988.
8. Короткое Э.М. Исследование систем управления. — М.: «ДеКА», 2000.
9. Справочник разработчика АСУ под редакцией Н.П. Федоренко и В.В. Карибского,
Москва, «Экономика», 1978.
10. Ребрин Ю.И. Основы экономики и управления производством: Конспект лекций.
Таганрог: Изд-во ТРТУ, 2000. 145 с.
11. Управление организацией. /Под ред. А.Г. Поршнева, З.П. Румянцевой, Н.А.
Саломатина. —М.: ИНФРА-М, 1999.
12. Материалы интернет статей:
http://www.u-press.com.ua/
http://www.fobos-online.ru/
http://www.gis.cek.ru/
13. Имитационное моделирование производственных систем / Под общ. ред. чл. кор.
АНСССР А.А. Вавилова. - М.: Машиностроение; Берлин: Техника, 1983. - 416 с.
14. Моделирование народнохозяйственных процессов. Учебное пособие под ред.
В.С. Дадаяна. М.: Экономика, 1973, 480 с.
15. Казанцев С.В. Макро моделирование расширенного воспроизводства.
Новосибирск. СО «Наука», 1980, 208 с.
16. Гранберг А.Г. Математические модели социалистической экономики. Общие
принципы моделирования и статистические модели народного хозяйства. Учебное
пособие. М.: Экономика, 1978, 351 с.
17. Бирман И.Я. Методология оптимального планирования. М.: Мысль, 1971, 261 с.
18. Математические методы в планировании отраслей и предприятий. Учебное
пособие под ред. И.Г. Попова. М.: Экономика, 1973, 376 с.
19. Канторович Л.В. Экономический расчет наилучшего использования ресурсов. М.:
Изд-во АН СССР, 1960, 344 с.
20. Оптимизационные и балансовые модели народного хозяйства. Новосибирска,
Наука, 1977, 253 с.
21. Аганбегян А.Г., Багриновский К.А., Гранберг А.Г. Система моделей
народнохозяйственного планирования. М.: Мысль, 1972, 348 с.
22. Канторович Л.В., Горстко А.Б. Оптимальные решения в экономике. М.: Наука,
1972, 231 с.
23. Лурье А.Л. Экономический анализ моделей планирования социалистического
хозяйства. М.: Наука, 1973, 453 с.
24. Материалы сайта http://www.vorstu.ac.ru

 
     
  © Осыка Д.С., 2003 E-mail:osyka@torba.com