Для анализа и выработки предложений в СППР используются разные методы. Это могут быть: информационный поиск, интеллектуальный анализ данных, поиск знаний в базах данных, рассуждение на основе прецедентов, имитационное моделирование, эволюционные вычисления и генетические алгоритмы, нейронные сети, ситуационный анализ, когнитивное моделирование, метод анализа иерархий и др. Некоторые из этих методов были разработаны в рамках искусственного интеллекта [10-13].
При принятии решения в процессе взаимодействия с СППР человек сначала осмысляет и идентифицирует проблему, выясняет, по какой причине она возникает. Далее продумывает возможные варианты решения проблемы и выбирает подходящее решение среди предложенных системой поддержки принятия решений альтернатив. На заключительном этапе пользователь СППР реализует принятое решение.
В зависимости от характера взаимодействия с пользователем различают три вида СППР: активные, пассивные и кооперативные. Пассивные СППР не предлагают конкретного решения, но помогают в процессе его принятия. Активные, в отличие от пассивных, непосредственно участвуют в разработке верного решения. Кооперативные СППР характеризуются тесным взаимодействием СППР и пользователя. При работе с такими системами пользователь может доработать предложенное СППР решение и повторно отправить в систему для проверки. Такой итерационный процесс повторяется до тех пор, пока пользователь не одобрит решение.
2. Математический аппарат модифицированных нейро-нечетких сетей Петри
2.1 Обоснование выбранного математического аппарата
В рамках исследования необходимо моделировать сложные системы, состоящие из множества различных взаимодействующих подсистем, в которых присутствует случайность и неопределенность действующих факторов. По этой причине для моделирования применяется имитационный метод. Моделирование рассматриваемых в исследовании систем аналитическим методом очень затруднено, оно влечет существенное упрощение модели, что пагубно влияет на ее адекватность.
При работе с СППР лицу принимающему решение важно знать логику принятия решения системой, для этого используемый математический аппарат должен обладать свойством наглядности и интерпретируемости. Представить наглядную структуру процесса принятия решений в виде двудольного графа позволяют сети Петри. В данной работе модели реализуются в виде сетей Петри различных расширений. К достоинствам данного математического аппарата можно отнести удобство программирования на ЭВМ, итерационность и значительный потенциал в распараллеливании алгоритмов решения задач [14-17].
Используемая в исследовании сеть Петри обладает свойствами раскрашенных, нечетких, временных, приоритетных и нейронных сетей. Раскрашенные сети Петри позволяют осуществлять классификацию входных данных по большому количеству разнородных признаков, которые могут иметь взаимозависимости. Поскольку СППР должна учитывать неопределенность и неточность, то необходимо, чтобы используемое расширение аппарата сетей Петри обладало и элементами нечеткой логики. Наличие нечетких переходов позволяет моделировать процесс нечеткого вывода и строить систему на основе нечетких продукционных правил. Нечеткая сеть Петри типа Cf получается в результате введения нечеткости в начальную маркировку и правила срабатывания переходов [18].
Свойства временных сетей Петри в разрабатываемом расширении позволяют получить не только количественные, но и временные характеристики моделируемых процессов, а свойства приоритетных сетей - регулировать порядок срабатывания активных переходов. Нейронная составляющая позволяет классифицировать объекты на основании определенных групп параметров.
Разрабатываемый аппарат модифицированных сетей Петри обеспечивает возможность использования меток со сложной структурой, использование сложных условий срабатывания переходов, получение комплексной оценки статистических и динамических свойств моделей, задание временных задержек позициям и переходам, задание параметров модели в нечетком виде и контроль порядка срабатывания переходов.
2.2 Формальное описание нейро-нечетких сетей Петри
В рамках исследования разработано модифицированное расширение сетей Петри (ННСП) на базе нейронных (НРСП), нечетких (НСП), раскрашенных (РСП), временных и приоритетных сетей Петри. Перед формальным определением ННСП необходимо ввести несколько определений. Тип элемента в ННСП это множество, содержащее возможные значения для данного типа . Тип переменной v или выражения e обозначается как Type(v) и Type(e) соответственно. Множество переменных в выражении e, обозначается как Var(e). Означивание множества переменных V, это соответствие каждой переменной некоторого элемента .
Рисунок 2.1 Получение аппарата ННСП на основе расширений сетей Петри
Формально ННСП можно представить:
, где:
1. У - конечное множество типов. Для нейронной сети , где а - метки с положительным потенциалом, b - метки с отрицательным потенциалом, ;
2. P - конечное множество позиций, такое что , где PС - конечное множество позиций РСП, Pf - конечное множество позиций НСП, PN - конечное множество позиций НРСП, при этом ;
3. T - конечное множество переходов, такое что
, где
TС - конечное множество переходов РСП, Tf - конечное множество переходов НСП, TN - конечное множество переходов ИНСП, TCf - конечное множество переходов из позиций РСП в позиции НСП, TCN - конечное множество переходов из позиций РСП в позиции НРСП, TfC - конечное множество переходов из позиций НСП в позиции РСП, TfN - конечное множество переходов из позиций НСП в позиции НРСП, TNC - конечное множество переходов из позиций НРСП в позиции РСП, TNf - конечное множество переходов из позиций НСП в позиции НРСП, при этом множества являются попарно непересекающимися;
4. A - конечное множество дуг;
5. N - функция инцидентности
;
6. C - функция определения типа позиции ;
7. G - функция устанавливает каждому переходу охранные выражения, такие что ;
8. E - функция, которая сопоставляет каждой дуге выражение, такое что , p - инцидентная дуге позиция;
9. I - функция инициализации (начальной маркировки), которая сопоставляет каждой позиции РСП тривиальное выражение, такое что ;
10. f =( f1, f2,…, fn) - вектор значений функции принадлежности нечеткого срабатывания переходов НСП, при этом ;
11. - вектор значений порога срабатывания переходов НСП, при этом ;
12. - вектор начальной маркировки позиций НСП, каждая компонента которого определяется значением функции принадлежности нечеткого наличия одного маркера в соответствующей позиции данной НСП, при этом ;
13. PR - конечное множество приоритетов, определяющих порядок срабатывания переходов в случае наличия нескольких активных переходов;
14. FP - функция сопоставляет каждому переходу приоритет срабатывания ;
15. Z - вектор параметров временных задержек маркеров в позициях Z=( z1,z2…,zn), ;
16. D - вектор параметров времен срабатывания разрешенных переходов D=( d1,d2…,dn),
17. Q - емкость позиций;
18. s - величина, соответствующая времени жизни метки в позиции, , где N - множество натуральных чисел;
19. n - целочисленная величина, равная минимальному числу меток, необходимому для активизации нейронного перехода;
20. g - функция для определения суммарного потенциала меток в каждой позиции в определенный момент времени.
В процессе функционирования нейроподобной сети для каждой нейронной позиции вычисляется функция суммарного потенциала g в зависимости от времени жизни меток:
, (2.1)
где: K(qi) - число меток с положительным потенциалом в позиции pi в момент времени qi, J(qi) - число меток с отрицательным потенциалом в позиции p i в момент времени qi.
Для условно-событийных систем позиции сети Петри интерпретируются как условия, а переходы соответствуют событиям, происходящим в системе. Метки накапливаются в позициях и при наступлении достаточных условий срабатывания переходов перемещаются из одной позиции в другую. Функционирование сети Петри заключается в изменении маркировки M(Q) посредством срабатывания переходов. Правило активизации перехода можно сформулировать следующим образом: переход tj может сработать в момент времени qi, если
, (2.2)
где i=1,…n, n - количество позиций в сети, - кратность входящей в переход tj дуги. То есть во всех входных позициях перехода должны быть доступные маркеры на момент активизации перехода, причем их количество должно быть больше либо равно кратности связующей позицию и переход дуги. Переход, удовлетворяющий условию (2.2) называется разрешенным в момент времени qi. Если переход активен при некоторой доступной маркировке mj, т.е для него выполнено условие (2.2), то срабатывание перехода tj, осуществляемое за время qi, приводит к новой маркировке mi, компоненты вектора которой определяются по формуле:
, (2.3)
где - кратность исходящей из перехода tj дуги. При наступлении одновременной возможности активизации нескольких переходов очередность срабатывания определяется множеством приоритетности срабатывания переходов , где , i={1,..k}, k - количество переходов в сети, n - вектор приоритетности в порядке убывания. При наличии в переходе ti временной задержки, определяемой вектором где срабатывание перехода ti откладывается на число тактов работы сети . Правило активации обычного перехода F1 в графическом представлении изображено на рисунке 2.2
Рисунок 2.2 Правило активации перехода
При наличии метки цвета а в позиции p1 активизируется переход t1 и данная метка переходит из позиции p1 по входящей дуге a1, затем по исходящей дуге а2 в позицию p2.
В классическом описании функционирования сети Петри при активизации перехода метки удаляются из всех входных позиций и переходят в выходные позиции согласно и в количестве равном кратности входных дуг a(p,t) и выходных дуг a(t,p) как это показано на рисунке 2.3
Рисунок 2.3 Безусловное срабатывание перехода
В определенных случаях требуется активизация лишь определенной ветки после срабатывания перехода, то есть передачи меток только лишь в определенные выходные позиции. Выборочная активизация выходных дуг особенно актуальна для моделирования условных веток алгоритмов. Для реализации возможности выборочной активизации выходных дуг можно использовать некоторое контрольное условие, которое вписывается в вариативное поле атрибутов перемещаемых меток. Например, если выполнено контрольное условие на входящей дуге а1 перехода T1 то метки, удаляемые при активизации из позиции P1 перейдут в позицию P2, а в позиции P3 их не будет (см. рисунок 2.4). Множество контрольный условий ННСП обозначим как . Контрольное условие можно отнести к атрибуту изменения маркировки позиций, поэтому допустимо записывать его на месте множества атрибутов изменения маркировки atr.
Рисунок 2.4 Условное срабатывание перехода
Условие, записанное на входной дуге а1 означает, что если маркировка позиции p1 метками цвета a количественно равна кратности дуги а1, возведенной в квадрат, то срабатывает выборочная активация выходных дуг в пользу дуги a2.
3. Разработка программного комплекса управления материальными ресурсами листового металла с элементами СППР
При производстве продукции из деловых остатков целесообразно определенным образом организовать процессы маркировки, хранения, учета и поиска остатков. По этой причине, для выработки решения по отнесению остатка раскроя в группу деловых или неделовых материальных ресурсов, необходимо взаимодействие применяемой CAD/CAM-системы и учетной системы предприятия, которая относится к классу ERP-систем. ERP-системы располагают достаточной информацией о ресурсах предприятия для формирования решения по сортировке остатков раскроя листового металла на деловые и неделовые. Многие CAD/CAM-системы и ERP-системы имеют общие интерфейсы взаимодействия для обмена информацией. Но интеграция этих программных средств, позволяющая решать более сложные задачи, связанные с формированием оперативных решений в условиях единичного и серийного производства, как правило, отсутствует [23-25]. Поэтому, задача исследования заключается в разработке программного комплекса, включающего в себя систему поддержки принятия решений, помогающую в оперативном формировании оптимальных карт раскроя и оперативной и обоснованной сортировке остатков раскроя по группам деловых и неделовых остатков с целью увеличения коэффициента использования листового металла.
3.1 Требования, предъявляемые к программному комплексу
Разрабатываемый программный комплекс, объединяя в себе CAD\CAM- систему и ERP-систему должен:
– позволять организовать учет остатков листового металла после раскроя и учет материальных затрат на производство продукции;
– оценивать затраты на резку листового металла;
– автоматически подбирать цельные листы металла и деловые остатки, подходящие для задания на раскрой;
– оптимальным образом размещать изделия задания на раскрой на листах металла, при этом учитывая технологические ограничения раскроя, например, расстояния до края листа и между деталями;
– осуществлять автоматическое программирование обработки листа за счет встроенного постпроцессора;
– сохранять в базу данных неиспользованную часть листа для проверки на возможность его дальнейшего использования;