Автоматизация рабочего места кладовщика

Федеральное агентство по образованию ГОУВПО

Воронежский государственный  технический университет 

Факультет вечернего и заочного отделения

Кафедра экономики, производственного  менеджмента

  и организации  машиностроительного производства 
 

контрольная работа

по  дисциплине  «автоматизация

производственных  предметов»

на  тему «Автоматизация

рабочего  места кладовщика» 
 

                      Принял:

                      Кладов  А.В.

                      _________________ 
                       
                       
                       
                       
                       
                       
                       

Воронеж 2010

 

Содержание 

    1. Теоретическая  часть. 

   1.1. Системы управления базами данных…………………………………….. 2

    1. Искусственная нейронная сеть (ИНС)…………………………………… 5
  1. Практическая часть.

    2.1. Постановка задачи………………………………………………………….. 14

    2.2. Необходимость внедрения систем автоматизации для кладовщика .…… 14

    2.3. Задачи решаемые кладовщиком…………………………………………… 15

    2.4. Описание  трёх программных продуктов позволяющих  решить задачи кладовщика…………………………………………………………………………… 16

    2.5 Алгоритм  программы «АРМ Кладовщика»………………………………… 25

   2.6. Практическая реализация продукта «АРМ Кладовщика»…..…………….. 26

   Вывод……………………………………………………………………………… 30

   СПИСОК  ЛИТЕРАТУРЫ………………………………………………………… 31

 

  1. Теоретическая часть.
 

   1.1 Системы управления базами данных.

   Система управления базами данных (СУБД) — специализированная программа (чаще комплекс программ), предназначенная  для организации и ведения базы данных. Для создания и управления информационной системой СУБД необходима в той же степени, как для разработки программы на алгоритмическом языке необходим транслятор.

   Основные  функции СУБД:

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

   Обычно  современная СУБД содержит следующие компоненты:

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

   Классификация СУБД по модели данных:

   Примеры:

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

   Иерархические базы данных могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д.

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

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

     К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь.

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

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

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

   Реляционная СУБД (РСУБД; иначе Система управления реляционными базами данных, СУРБД) — СУБД, управляющая реляционными базами данных.

   Понятие реляционный (англ. relation — отношение) связано с разработками известного английского специалиста в области систем баз данных Эдгара Кодда (Edgar Codd).

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

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

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

   Объектно-ориентированная (объектная) СУБД — система управления базами данных, основанная на объектной модели данных.

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

   По  степени распределённости:

  • локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
  • распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

   По  способу доступа к БД

   Файл-серверные:

   В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость централизованного управления; затруднённость обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.

   На  данный момент файл-серверные СУБД считаются устаревшими.

   Примеры: Microsoft Access, Paradox, dBase,FoxPro,Visual FoxPro. 

   Клиент-серверные:

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

   Примеры: Oracle, Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, PostgreSQL, MySQL, ЛИНТЕР, MDBS.

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

   Примеры: OpenEdge, SQLite, BerkeleyDB, один из вариантов Firebird, MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.

    1. Искусственная нейронная сеть (ИНС)

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

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

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

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

   Известные применения:

   Распознавание образов и классификация

   В качестве образов могут выступать  различные по своей природе объекты: символы текста, изображения, образцы звуков и т. д. При обучении сети предлагаются различные образцы образов с указанием того, к какому классу они относятся. Образец, как правило, представляется как вектор значений признаков. При этом совокупность всех признаков должна однозначно определять класс, к которому относится образец. В случае, если признаков недостаточно, сеть может соотнести один и тот же образец с несколькими классами, что неверно [8]. По окончании обучения сети ей можно предъявлять неизвестные ранее образы и получать ответ о принадлежности к определённому классу.

   Топология такой сети характеризуется тем, что количество нейронов в выходном слое, как правило, равно количеству определяемых классов. При этом устанавливается соответствие между выходом нейронной сети и классом, который он представляет. Когда сети предъявляется некий образ, на одном из её выходов должен появиться признак того, что образ принадлежит этому классу. В то же время на других выходах должен быть признак того, что образ данному классу не принадлежит. Если на двух или более выходах есть признак принадлежности к классу, считается что сеть «не уверена» в своём ответе.

   Принятие  решений и управление

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

   Кластеризация

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

   Прогнозирование и аппроксимация

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

   Сжатие  данных и Ассоциативная  память

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

   Этапы решения задач:

  • Сбор данных для обучения;
  • Подготовка и нормализация данных;
  • Выбор топологии сети;
  • Экспериментальный подбор характеристик сети;
  • Экспериментальный подбор параметров обучения;
  • Собственно обучение;
  • Проверка адекватности обучения;
  • Корректировка параметров, окончательное обучение;
  • Вербализация сети с целью дальнейшего использования.

   Сбор  данных для обучения

   Выбор данных для обучения сети и их обработка является самым сложным этапом решения задачи. Набор данных для обучения должен удовлетворять нескольким критериям:

  • Репрезентативность — данные должны иллюстрировать истинное положение вещей в предметной области;
  • Непротиворечивость — противоречивые данные в обучающей выборке приведут к плохому качеству обучения сети.

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

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

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

   Фильтрация выполняется для «зашумленных» данных.

   Кроме того, большую роль играет само представление  как входных, так и выходных данных. Предположим, сеть обучается распознаванию букв на изображениях и имеет один числовой выход — номер буквы в алфавите. В этом случае сеть получит ложное представление о том, что буквы с номерами 1 и 2 более похожи, чем буквы с номерами 1 и 3, что, в общем, неверно. Для того, чтобы избежать такой ситуации, используют топологию сети с большим числом выходов, когда каждый выход имеет свой смысл. Чем больше выходов в сети, тем большее расстояние между классами и тем сложнее их спутать.

   Выбор топологии сети

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

   Экспериментальный подбор характеристик  сети

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

   Экспериментальный подбор параметров обучения

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

   Собственно  обучение сети

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

   Известные типы сетей: 

   Персептрон  Розенблатта;

   Многослойный  перцептрон;

   Сеть  Джордана;

   Сеть  Элмана;

   Сеть  Хэмминга;

   Сеть  Ворда;

   Сеть  Хопфилда;

   Сеть Кохонена;

   Нейронный газ

   Когнитрон;

   Неокогнитрон;

   Хаотическая нейронная сеть;

   Осцилляторная нейронная сеть;

   Сеть  встречного распространения;

   Сеть  радиальных базисных

   функций (RBF-сеть);

   Сеть  обобщенной регрессии;

   Вероятностная сеть;

   Сиамская  нейронная сеть;

   Сети  адаптивного резонанса. 
 

   Проверка  адекватности обучения

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

   Примеры приложений:

   Предсказание  финансовых временных  рядов

   Входные данные — курс акций за год. Задача — определить завтрашний курс. Проводится следующее преобразование — выстраивается  в ряд курс за сегодня, вчера, за позавчера. Следующий ряд — смещается по дате на один день и так далее. На полученном наборе обучается сеть с 3 входами и одним выходом — то есть выход: курс на дату, входы: курс на дату минус 1 день, минус 2 дня, минус 3 дня. Обученной сети подаем на вход курс за сегодня, вчера, позавчера и получаем ответ на завтра. Нетрудно заметить, что в этом случае сеть просто выведет зависимость одного параметра от трёх предыдущих. Если желательно учитывать ещё какой-то параметр (например, общий индекс по отрасли), то его надо добавить как вход (и включить в примеры), переобучить сеть и получить новые результаты. Для наиболее точного обучения стоит использовать метод ОРО, как наиболее предсказуемый и несложный в реализации.

   Психодиагностика

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

   Хемоинформатика

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

Автоматизация рабочего места кладовщика