Диссертация Исследование и разработка нечеткой модели и комплекса программ экологической экспертизы горнодобывающего производства

Министерство образования и науки Российской Федерации Федеральное агентство по образованию Г осударственное образовательное учреждение высшего профессионального образования Ульяновский государственный технический университет

На правах рукописи

Ястребова Наталья Николаевна

ИССЛЕДОВАНИЕ И РАЗРАБОТКА НЕЧЕТКОЙ МОДЕЛИ И КОМПЛЕКСА ПРОГРАММ ЭКОЛОГИЧЕСКОЙ ЭКСПЕРТИЗЫ ГОРНОДОБЫВАЮЩЕГО

ПРОИЗВОДСТВА

Специальность 05.13.18    Математическое моделирование,

численные методы и комплексы

программ

диссертация на соискание ученой степени кандидата технических наук

Научный руководитель: доктор технических наук, профессор Ярушкина Н.Г.

Ульяновск - 2008

ВВЕДЕНИЕ..........................................................................................................................6

1.ОБЗОР СОВРЕМЕННОГО СОСТОЯНИЯ ЭКСПЕРТНЫХ СИСТЕМ АНАЛИЗА ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ.........................................................................11

1.1.    Экспертиза объектов. Экспертные системы.........................................................11

1.1.1.    Основные понятия.............................................................................................11

1.1.2.    Характеристики экспертных систем...............................................................11

1.1.3.    Неопределенность в описании объектов, характеризующих деятельность промышленного предприятия...................................................................................13

1.1.4.    Базовые функции экспертных систем............................................................15

1.1.4.1.    Приобретение знаний.................................................................................15

1.1.4.2.    Представление знаний...............................................................................15

1. 1.4.3. Управление процессом поиска решения..................................................16

1.1.4.4.    Разъяснение принятого решения..............................................................16

1.1.5.    Этапы разработки нечеткой экспертной системы эколого-экономического анализа.........................................................................................................................17

1.1.5.1.    Этап идентификации...................................................................................18

1. 1.5.2. Этап концептуализации..............................................................................19

1.1.5.3.Этап формализации.....................................................................................20

1. 1.5.4.Этап выполнения.........................................................................................20

1.1.5.5.    Этап тестирования.......................................................................................20

1.1.5.6.Этап опытной эксплуатации......................................................................21

1.1.6.    Обзор программ для моделирования экспертных систем...........................21

1.1.7.    Выводы по задаче создания модели и комплекса программ экспертизы объектов в условиях неопределенности...................................................................22

1.2.    Анализ экологической безопасности предприятия.............................................24

1.2.1.    Основные понятия.............................................................................................24

1.2.1.1.    Экологическая безопасность.....................................................................24

1.2.1.2.    Экологические ущербы..............................................................................24

1.2.2.    Система критериев оценки экологической безопасности............................24

1.2.2.1.    Комплексный показатель оценки безопасности.....................................26

1.2.2.2.    Стоимостные показатели оценки экологической безопасности...........26

1.2.2.2.1 .Оценка удельных ущербов..................................................................27

1.2.2.2.1. 1 Экономическая оценка ущерба от загрязнения атмосферного воздуха..................................................................................................................27

1.2.2.2.1.2.    Экономическая оценка ущерба от загрязнения водоемов............27

1.2.2.2.1.3.    Экономическая оценка ущерба от шума и вибрации....................28

1.2.2.2.1.4.    Экономическая оценка ущерба биоресурсам................................28

1.2.2.2.1.5.    Экономическая оценка ущерба от загрязнения земель................29

1.2.2.2.2. Оценка экологических платежей.......................................................29

1.2.2.2.2.1. Плата за выбросы загрязняющих веществ в атмосферу от стационарных источников..................................................................................31

1.2.2.2.2.2.    Плата за сбросы загрязняющих веществ в поверхностные и подземные водные объекты................................................................................33

1.2.2.2.2.3.    Плата за хранение и размещение отходов......................................33

1.2.3.    Обзор существующих программных продуктов для анализа экологической безопасности................................................................................................................34

1.2.4.    Выводы по подзадаче анализа экологической безопасности промышленного предприятия...................................................................................37

1.3.    Постановка задачи...................................................................................................38

1.4.    Модель нечеткой экспертной системы.................................................................40

1.4.1.    Типы исходных данных...................................................................................42

1.4.2.    Схема принятия решения на основе нечеткого логического вывода..........42

1.4.2.1.    Определение нечеткого логического вывода..........................................43

1.4.2.2.    Композиционное правило нечеткого вывода Л. Заде.............................46

1.4.2.3.    Нечеткий логический вывод по Мамдани...............................................47

1.4.2.4.    Нечеткий логический вывод Сугено.......................................................49

1.4.2.5.    Синглетонная модель нечеткого логического вывода...........................51

1.4.2.6.    Выводы по схемам нечеткого логического вывода................................52

2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ ГОРНОДОБЫВАЮЩЕГО ПРОИЗВОДСТВА НА ОСНОВЕ ИЕРАРХИЧЕСКОГО НЕЧЕТКОГО ВЫВОДА ПО СУГЕНО...........................................................................53

2.1 .Иерархические системы..........................................................................................53

2.1.1.    Системы иерархического нечеткого логического вывода............................53

2.1.2.    Математическая модель иерархического нечеткого вывода.......................55

2.1.3.    Алгоритм иерархического нечеткого вывода.................................................58

2.2. Структурная схема нечеткой экспертной системы анализа экологической безопасности горнопромышленного предприятия ..................................................... 60

2.2.1.    Исходные данные..............................................................................................61

2.2.2.    Представление аналитических показателей в виде лингвистических переменных.................................................................................................................. 63

2.2.2.1.    Построение функций принадлежности на основе экспертных данных 63

2.2.2.1.1.    Типы шкал............................................................................................63

2.2.2.1.2.    Методы измерений..............................................................................64

2.2.2.1.3.    Классификация методов построения функции принадлежности ... 65

2.2.2.1.3.1.    Прямые методы для одного эксперта.............................................66

2.2.2.1.3.2.    Косвенные методы для одного эксперта........................................67

2.2.2.1.3.3.    Групповые методы............................................................................69

2.2.2.1.3.4.    Выводы по методам построения функций принадлежности.......70

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

2.2.2.2.1.    Подзадача оценки значимости территории.......................................71

2.2.2.2.2.    Стоимостная оценка экологической безопасности.........................72

2.2.2.2.3.    Переменные, характеризующие ликвидность..................................74

2.2.2.2.4.    Лингвистические переменные, определяющие степень деловой активности............................................................................................................75

2.2.2.2.5.    Лингвистические переменные, характеризующие финансовую устойчивость.........................................................................................................75

2.2.2.2.6.    Лингвистические переменные, описывающие рентабельность......77

2.2.3.    Система правил нечеткого вывода..................................................................78

2.2.4.    Математическая модель нечеткой экспертной системы, основанная на иерархическом нечетком выводе..............................................................................79

3.    СТРУКТУРНО-ФУНКЦИОНАЛЬНОЕ РЕШЕНИЕ НЕЧЕТКОЙ ЭКСПЕРТНОЙ СИСТЕМЫ АНАЛИЗА ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ ГОРНОПРОМЫШЛЕННОГО ПРОИЗВОДСТВА.........................................................81

3.1.    Требования, предъявляемые к автоматизированной системе............................81

3.2.    Обоснование выбора инструмента реализации...................................................83

3.2.1.    Java (J2SE 6.0)...................................................................................................84

3.2.2.    Apache Derby 10.2.1.6......................................................................................85

3.2.3.    Hibernate 3.2.0....................................................................................................86

3.2.4.    Swing / AWT......................................................................................................87

3.3.    Объектно-ориентированная интерпретация модели программного комплекса и объектно-ориентированный подход.............................................................................89

3.4.    Главный модуль программы - JFuzzy..................................................................90

3.5.    Реализация графической компоненты в модуле JFuzzyTool..............................93

3.5.1.    Объекты редактирования.................................................................................94

3.5.1.1.    Основные понятия.......................................................................................94

3.5.1.2.    Логика классов............................................................................................94

3.6.    Информационное обеспечение системы...............................................................99

3.6.1.    Формат базы данных........................................................................................99

3.6.2.    Перечень и краткое описание таблиц базы данных....................................100

3.6.3.    Определение табличных связей....................................................................103

3.7.    Работа с программой JFuzzyTool 1.0...................................................................108

3.7.1.    Общий алгоритм работы с программой JFuzzyTool 1.0.............................109

3.7.2.    Алгоритм работы с нечеткой экспертной системой, созданной в программном модуле JFuzzyTool 1.0.....................................................................113

4.    ЭКСПЕРИМЕНТЫ, ПРОВЕДЕННЫЕ В РАЗРАБОТАННОМ КОМПЛЕКСЕ ПРОГРАММ JFUZZYTOOL 1.0.....................................................................................115

4.1.    Эксперименты на тестовых примерах.................................................................115

4.2.    Эксперименты на реальных данных. Анализ экологической безопасности ОАО «Кварц»..........................................................................................................................123

4.2.1.    Исходные данные для вычислительных экспериментов............................124

4.2.2.    Аналитические показатели - числовые значения лингвистических оценок. .....................................................................................................................................125

4.2.3.    Результаты работы нечеткой экспертной системы анализа экологической безопасности горнопромышленного производства..............................................126

ЗАКЛЮЧЕНИЕ................................................................................................................139

ЛИТЕРАТУРА.................................................................................................................141

ПРИЛОЖЕНИЕ 1. ОРГАНИЗАЦИЯ ТАБЛИЦ БАЗЫ ДАННЫХ ЭКСПЕРТНОЙ СИСТЕМЫ ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ ГОРНОПРОМЫШЛЕННОГО ПРОИЗВОДСТВА............................................................................................................153

ПРИЛОЖЕНИЕ 2. XML-СТРУКТУРА НЕЧЕТКОЙ ЭКСПЕРТНОЙ СИСТЕМЫ

ЭКОЛОГО-ЭКОНОМИЧЕСКОГО АНАЛИЗА............................................................162

ПРИЛОЖЕНИЕ 3. ВЫДЕРЖКИ ИЗ АУДИТОРСКОГО ЗАКЛЮЧЕНИЯ...............167

ПРИЛОЖЕНИЕ 4. МЕТОДИКИ АНАЛИЗА ЭКОНОМИЧЕСКОГО СОСТОЯНИЯ ............................................................................................................................................175

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

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

•    сложных технических систем;

•    систем экономического планирования;

•    социальных систем большой размерности;

•    систем принятия решений.

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

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

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

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

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

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

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

Научная новизна определяется следующим:

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

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

3.    Разработана объектно-ориентированная архитектура комплекса программ экспертной системы экологической безопасности.

Основные положения, выносимые на защиту:

1.    Способ и алгоритмы иерархического нечеткого логического вывода являются эффективным способом построения экспертных систем, содержащих в качестве исходных данных лингвистические переменные.

2.    Математическая    модель    экологической    безопасности горнодобывающего производства на основе иерархического нечеткого вывода по Сугено позволяет анализировать состояние экологической безопасности на предприятии без привлечения эксперта.

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

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

Реализация результатов работы. Результаты диссертации оформлены в виде комплекса программ JFuzzyTool 1.0, зарегистрированного Федеральной службой по интеллектуальной собственности, патентам и товарным знакам (патент № 2007614448 от 23.10.2007 г.) и используются в деятельности открытого акционерного общества «Кварц» (пос. Силикатный, Сенгилеевский район, Ульяновская область) и экспертом, членом НП «Горнопромышленники России», Танеевым Ф.Г.

Апробация исследований. Основные положения и результаты диссертации докладывались, обсуждались и получили одобрение на 10 международных конференциях, в том числе на II-ой международной научно-технической конференции «Аналитические и численные методы моделирования естественнонаучных и социальных проблем» (Пенза, 2007); II-ой международной конференции «Системный анализ и информационные технологии», САИТ-2007 (Обнинск, 14-18 сентября 2007г.); IV-ой международной научно-практической конференции «Интегрированные модели и мягкие вычисления в искусственном интеллекте» (Коломна, май 2007г.); на конференциях “Interactive Systems and Technologies: The Problem of Human-Computer Interaction” (Ulyanovsk, 24-27 September, 2005 г. и 25-28 September 2007 г.); X-ой национальной конференции с международным участием КИИ-2006 (Обнинск, сентябрь 2006 г.). Неоднократно докладывались на научно-технических конференциях УлГТУ «Вузовская наука в современных условиях».

Публикации. По теме диссертации опубликовано 17 работ, в том числе одна статья в издании из перечня ВАК, получен 1 патент и 1 свидетельство регистрации программно-информационного продукта в областном фонде алгоритмов и программ при УОЦ НИТ.

Структура и объем работы. Диссертационная работа состоит из введения, четырех глав, заключения и содержит 178 страниц машинописного текста, 29 таблиц, 45 рисунков, список литературы из 140 наименований, 4 приложения.

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

Во второй главе освещена разработка математической модели экспертной системы анализа экологической безопасности горнопромышленного производства на основе иерархического нечеткого вывода по Сугено

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

В четвертой главе представлены результаты проведенных экспериментов, основанных как на реальных данных по предприятию, так и теоретические тесты сравнения результатов нечеткого вывода, полученных в разработанном комплексе программ, и компоненте Matlab FuzzyLogic ToolBox с экспертными оценками.

В приложении 1 приведена структура базы данных.

В приложении 2 содержится XML-структура экспертной системы анализа экологической безопасности горнодобывающего производства.

В приложениях 3-4 представлены выдержки из экспертного заключения.

1.ОБЗОР СОВРЕМЕННОГО СОСТОЯНИЯ ЭКСПЕРТНЫХ СИСТЕМ АНАЛИЗА ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ

1.1. Экспертиза объектов. Экспертные системы 1.1.1.Основные понятия

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

Под экспертизой объектов понимают их оценку по определенным правилам экспертами в данной предметной области.

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

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

1.1.2. Характеристики экспертных систем

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

1.Моделирует не столько природу проблемной области, сколько механизм мышления человека применительно к решению задач в проблемной области.

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

2.    Экспертные системы имеют дело с предметами реального мира, операции с которыми обычно требуют наличия значительного опыта, накопленного человеком. Поэтому для создания экспертной системы эколого-экономического анализа были привлечены соответствующие специалисты: в области анализа экологической безопасности осуществлялось сотрудничество с экспертом НП «Горнопромышленники России» Танеевым Ф.Г.

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

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

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

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

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

Как было отмечено в параграфе 1.1.2. экспертные системы имеют дело с объектами реального мира. И описание таких сложных систем неизбежно сталкивается с проблемой неопределенности, связанной прежде всего с неполнотой информации об объекте. Различают три аспекта неполноты информации (табл. 1.1.)

Таблица 1.1 Аспекты неполноты информации

Аспекты неполноты информации

Теория описания

неточность

Теория интервального анализа Теория ошибок

неопределенность

Различные логики

нечеткость

Теория нечетких множеств Теория возможностей

Д.И. Шапиро [128] выделяет несколько категорий неопределенности (табл.1.2)

Таблица 1.2 Категории неопределенности

Категория

неопределенности

Ее представление в исследуемой предметной области

неточность

Ошибка наблюдения, погрешность в расчетах, возникшая в

результате округления

незнание

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

неопределенность

Недостаточность информации или невозможность ее сопоставления для различных временных периодов деятельности предприятия - реципиента по размерам выбросов

субъективная

вероятность

Субъективные оценки ценности территории местоположения

предприятия экспертом

неполнота

Отсутствие полных данных об экологических ущербах,

нанесенных природе деятельностью предприятия

расплывчатость

Выражение значимости территории в лингвистических оценках: высокая, средняя, низкая.

Современные экспертные системы в основном строятся на мягких вычислениях, сочетающих в себе преимущества использования лингвистических

переменных, нечеткого вывода, нейронных сетей и генетических алгоритмов.

Таблица 1.3

Сравнение методов вычислительного интеллекта

Метод

вычислительного

интеллекта

Наличие

обучающих

выборок

Обязательное

наличие

эксперта

Способ построения функций принадлежности и правил нечеткого вывода

Нечеткие нейронные сети: J.J.Buckley, J.S. Roger Jang [128,140]

+

Автоматический. С помощью соответствующих алгоритмов обучения сетей

Системы иерархического нечеткого вывода V.Torra, M.Brown, H.Rainer, C.Wei, L.X.Wang,L.C.Lin, X.-J.Zeng,G.-Y.Lee [74,90,98,102,104]

+

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

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

Хотя построение функций принадлежности является одним из самых узких и сложных мест в теории нечетких множеств, их непосредственное задание с помощью существующих методов (см. раздел 2.2), - единственный возможный вариант представления знаний в подобных ситуациях.

1.1.4. Базовые функции экспертных систем

1.1.4.1.    Приобретение знаний

Бучанан следующим образом сформулировал функцию приобретения знаний [128]: "... передача потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе".

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

1.1.4.2.    Представление знаний

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

В области искусственного интеллекта ведется интенсивная работа по созданию языков представления (representation languages), основные достижения -порождающие правила, фреймы, семантические сети, структурированные объекты, рассмотрены в [10,14,18,128]. Основными критериями доступа к представлению знаний являются логическая адекватность, эвристическая мощность и естественность, органичность нотации.

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

1.1.4.3.    Управление процессом поиска решения

При проектировании экспертной системы серьезное внимание должно быть уделено и тому, как осуществляется доступ к знаниям, и как они используются при поиске решения [Davis, 1980]. Использование разных стратегий перебора имеющихся знаний, как правило, оказывает довольно существенное влияние на характеристики эффективности программы. Эти стратегии определяют, каким способом программа отыскивает решение проблемы в некотором пространстве альтернатив.

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

1.1.4.4.    Разъяснение принятого решения

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

Представление этой информации важно по нескольким причинам:

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

2.    Инженеры, имеющие дело с формированием базы знаний, должны убедиться, что сформулированные ими знания применены правильно.

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

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

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

Для нас критичным является прозрачность принятого системой решения для конечного пользователя (открытого акционерного общества «Кварц», для которого эта экспертная система проектировалась) и для экспертов, которым прозрачность позволит оценить степень адекватности выдаваемых экспертной системой решений реальным данным.

1.1.5. Этапы разработки нечеткой экспертной системы экологоэкономического анализа

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

Рисунок 1.1. Методика разработки экспертных систем

Этап идентификации связан с осмыслением задач, которые предстоит решить будущей экспертной системе, и формированием требований к ней (табл. 1.4).

Таблица 1.4 Характеристики решаемой задачи

Наименование

Вербальное описание

Общие

характеристики

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

Подзадачи

Система состоит из 2 подзадач: анализ финансового состояния и анализ экологической безопасности.

Подзадача анализа экономического состояния заключается в решении 4 подзадач: оценке ликвидности, платежеспособности, деловой активности и рентабельности.

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

Ключевые

понятия

(объекты)

Предприятие. Хозяйственная деятельность. Экологический ущерб. Экологический платеж. Рентабельность. Класс опасности предприятия.

Входные данные

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

Выходные

данные

Экспертное заключение о соответствии деятельности предприятия концепции рационального природопользования.

Знания

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

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

На этапе концептуализации определяются следующие особенности задачи:

-    типы доступных данных;

-    исходные и выводимые данные, подзадачи общей задачи;

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

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

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

Существует два подхода к процессу построения модели предметной области: признаковый и структурный (табл. 1.5).

Таблица 1.5

Сравнение атрибутивного и структурного подходов

Подход

Способ представления информации

Наличие обучающих выборок

Полнота

информации

Признаковый

(атрибутивный)

Кортежи: объект-атрибут-значение атрибута

Нужно для классификации объектов

обязательна

Структурный

(когнитивный)

Определение семантических отношений и когнитивных элементов знаний: понятия, метапонятия, взаимосвязи и семантики

Не нужно. Элементы образуют систему на основе семантических связей между ними.

желательна

Для анализа предметной области и построения модели, описанной в разделе

2.2. использовался структурный подход, так как у нас имела место

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

1.1.5.3.Этап формализации

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

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

1.1.5.4.Этап выполнения

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

Был создан комплекс программ JFuzzyTool 1.0, который прошел все необходимые испытания и был внедрен в производство на предприятии горнодобывающей промышленности ОАО «Кварц», занимающегося добычей и обогащением кварцевых песков. Созданная программа обеспечила проверку адекватности идей, методов и способов представления знаний решенной задаче создания экспертной системы эколого-экономического анализа.

1.1.5.5.Этап тестирования

В ходе данного этапа производилась оценка выбранного способа представления знаний в экспертной системе в целом. Результаты сравнивалась с аналогичными в Matlab Fuzzy Logic ToolBox и затем оценивались экспертом на предмет наилучшего соответствия реальным данным.

На этом этапе проверяется пригодность экспертной системы для конечного пользователя: удобство работы с ней и ее полезность. Экспертная система подтвердила свою пригодность путем внедрения на ОАО «Кварц». Ее использование позволило:

1.    повысить качество управления предприятием на 7% путем проведения своевременного оперативного анализа как финансового состояния предприятия, так и его экологической безопасности;

2.    сократить финансовые затраты на проведение внутреннего аудита на 13% и временные затраты аналитиков на 20% за счет автоматизации проведения расчетов и формирования отчетов.

1.1.6. Обзор программ для моделирования экспертных систем

Таблица 1.6

Сравнение оболочек для проектирования экспертных систем

Название

оболочки

Кросс

платформ

енность

Сложность адаптации системы

Возможность

создания

иерархий

механизмы решения задачи

Эталон

+

Пользователь. Без ограничений

+

Механизмы

логического

вывода

FuzzyCLIPS

+

Программист. Без ограничений

+

Нечеткий логический вывод

OPS5

Программист. Не предназначена для решения конкретных задач

Цикл распознавания пишет пользователь

BABYLON

+

Программист. Только для задач диагностики

Фреймы

Пользователь.

+

Любые механизмы

WindExS

Без ограничений

модульная

архитектура

логического

вывода, в т.ч нечеткий

Из таблицы 1.6 видно, что наилучшим образом под выбранный нами эталон подходит среда FuzzyCLIPS и WindExS. Недостатком первой является то, что для адаптации экспертной системы, созданной в этой оболочке, необходимо прибегать к помощи программиста. А вторая не переносима на различные платформы.

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

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

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

1.1.7. Выводы по задаче создания модели и комплекса программ экспертизы объектов в условиях неопределенности

Из всего выше сказанного можно сделать следующие выводы:

1. Экспертная система всегда, или практически всегда, является прикладным

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

2.    При проектировании экспертных систем программист неизбежно сталкивается со сложной задачей представления данных и моделирования человеческих рассуждений, решение которых связано с областью искусственного интеллекта. Это обуславливает выбранный нами метод исследования: теорию нечетких множеств. Она характеризуется описанием предметной области в виде набора лингвистических переменных, представляющих собой слова естественного языка, и базы правил нечеткого логического вывода, характеризующих взаимосвязи между объектами предметной области через систему лингвистических переменных.

3.    Для моделирования сложных рассуждений о явлениях реального мира, когда описание системы представляет собой большую совокупность переменных различной природы, необходимо создать модель многошагового нечеткого вывода. Эксперту сложно уловить взаимосвязи объектов, если их количество превышает 9 [74], при этом произвести структурирование объектов предметной области не составляет для него особого труда.

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

4.    Проверить адекватность построенных экспертных систем можно только на конкретных примерах. Поэтому для построения модели и комплекса программ нечеткой экспертной системы была выбрана экспертиза экологического состояния горнодобывающего предприятия. Это связано с потребностями современного общества и рынка в комплексном подходе к природопользованию. Раздел 1.2 посвящен анализу этой проблемы.

1.2.1.Основные понятия 1.2.1.1.    Экологическая безопасность

Под экологической безопасностью подразумевают состояние защищенности природной среды и жизненно важных интересов человека от возможного негативного воздействия хозяйственной и иной деятельности, чрезвычайных ситуаций природного и техногенного характера и их последствий [9,87,117].

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

1.2.1.2.    Экологические ущербы

Экологический ущерб - это урон, наносимый окружающей среде инвестиционной, производственной и другими видами жизнедеятельности человека [9,87,117]. Измеряется системой соответствующих экологических, социальных и других показателей, включая денежные единицы.

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

1.2.2.    Система критериев оценки экологической безопасности

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

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

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

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

2)    прогноза уровня безопасности в случае модернизации предприятия или изменения его структуры;

3)    оценки ресурсопотребления предприятия;

4)    оценки вероятности аварий и опасности в аварийных условиях.

В [99, 115,123] безопасность предприятия описывается следующими группами показателей:

1)    натуральные и условные показатели, характеризующие вредное влияние предприятия;

2)    ресурсопотребление и ресурсный баланс предприятия;

3)    характеристики территории, на которую оказывает воздействие;

4)    техническое состояние предприятия;

5)    комплексные показатели, характеризующие экологическую безопасность;

6)    эколого-экономические показатели, отражающие стоимостный аспект экологической безопасности.

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

Класс опасности предприятия — основная в современной российской нормативной базе комплексная характеристика экологической опасности предприятия. В работах [22,23,97,99,115] выделяется пять классов опасности [1,5].

В зависимости от класса опасности определяют коэффициент нормативной экологической опасности КН, характеризующий степень потенциальной экологической опасности предприятия в условиях нормальной эксплуатации при соблюдении всех экологических нормативов: для предприятий 1 класса опасности -400, 2 - 100, 3 - 36, 4- 4, 5 - 1.

1.2.2.2. Стоимостные показатели оценки экологической безопасности

В литературе [22,23,97,99,115] выделяют два типа стоимостных показателей:

1.    удельные ущербы;

2.    экологические платежи.

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

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

1.    учитывается превышение предприятием допустимых норм воздействия;

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

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

Перечисленные факторы обеспечивают второй методике преимущества при реализации в модели нечеткой экспертной системы эколого-экономического анализа. Стоимостные показатели, выраженные через экологические платежи предприятия, удовлетворяют существующим нормативно-техническим документам и правовой базе [91-94,97] и ГОСТам в сфере экологического мониторинга [25-40].

1.2.2.2.1.Оценка удельных ущербов

1.2.2.2.1.1 Экономическая оценка ущерба от загрязнения атмосферного воздуха

1.2.2.2.1.2. Экономическая оценка ущерба от загрязнения водоемов


Экономическая оценка ущерба водоемам проводится по формуле:

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

1.2.2.2.1.4. Экономическая оценка ущерба биоресурсам


В [71] представлена более подробная методика расчета экономической оценки ущерба от шумового загрязнения.

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


Экономическая оценка ущерба биоресурсам проводится на основе изменения численности каждого из видов биоресурсов с учетом таксы за ущерб по каждому

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

1.2.2.2.2. Оценка экологических платежей

На сегодняшний день в России используются 3 вида платы за загрязнение окружающей среды [91-94,97]:

1)за выбросы в атмосферу загрязняющих веществ от стационарных и передвижных источников;

2)за    сброс в водные объекты или на рельеф местности, в том числе осуществляемый организациями через системы коммунальной канализации;

3)за    размещение отходов.

Кроме того, различают 2 вида нормативов оплаты:

1)    за допустимые (в пределах установленных лимитов) объемы выбросов (сбросов) загрязняющих веществ и размещение твердых отходов;

2)    за превышение допустимых (относительно установленных лимитов) объемов выбросов (сбросов) загрязняющих веществ и размещение твердых отходов.

В общем виде формирование действующей платы за загрязнение окружающей среды, представлено на рис. 1.2.

Рисунок 1.2. Действующая система формирования платы за загрязнение

окружающей среды

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

вещества д рассчитывается по формуле: д = 1/ПДКt, где ПДК2 — предельно допустимая концентрация i-ого вещества.

Особенности, связанные с неодинаковыми экологическими и экономическими условиями, учитываются коэффициентами экологической ситуации и значимости состояния атмосферного воздуха и почвы территорий экономических районов Российской Федерации, водных объектов по бассейнам основных рек.

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

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

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

В настоящее время действуют ограничения, зависящие от уровня рентабельности производства, в виде предельных размеров платы за превышение допустимых нормативов негативного воздействия в процентах or прибыли, остающейся в распоряжении природопользователя: при рентабельности до 25% -максимальный процент от прибыли, в пределах которого взимаются платежи, составляет 20%; при рентабельности до 50% — 50%, а свыше 50% — 70%.

1.2.2.2.2.1. Плата за выбросы загрязняющих веществ в атмосферу от стационарных источников

Плата за выброс загрязняющих веществ в атмосферу от стационарных источников определяется по следующей формуле [115]:

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

1)    в зависимости от вида сжигаемого топлива и его состава;

2)    в зависимости от вида передвижного источника и сжигаемого им топлива. Размер платы зависит от количества и качества использованного топлива и

удельной платы за допустимые выбросы загрязняющих веществ в атмосферу при сжигании 1 т топлива (Y). Величина yt определяется по следующей формуле [115]:

Плата за превышение допустимых выбросов загрязняющих веществ от передвижных источников определяется по формуле [115]:

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

1.2.2.2.2.2. Плата за сбросы загрязняющих веществ в поверхностные и подземные водные объекты

Плата за сборы загрязняющих веществ в поверхностные и подземные водные объекты определяется по следующей формуле [115]:

1.2.2.2.2.З. Плата за хранение и размещение отходов

Плата за размещение отходов (По) определяется по формуле [115]:

Дифференциация базовых нормативов платы за размещение отходов принята в зависимости от их деления на два вида — нетоксичные и токсичные. В объеме размещения нетоксичных учитываются отходы добывающей промышленности и отходы переработки. Токсичные отходы подразделяются на четыре класса опасности — от чрезвычайно опасных (I класс) до малоопасных (IV класс).

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

1.2.3. Обзор существующих программных продуктов для анализа экологической безопасности

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

Таблица 1.7

Сравнительный анализ программ для экологов

Программный

продукт

Цена,

Руб.

Общее

Различия

«Delta ПЛАТЕЖИ v.1.0.10.» , «Экопромпроект», Нижний Новгород

9500

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

1.    Справочник загрязняющих

веществ в воздухе;

2.    Справочник загрязняющих веществ в воде;

3.Коэффициенты индексации и

Обеспечивает заполнение и представление в налоговую инспекцию форм расчета платы за негативное воздействие на окружающую среду.

«Экологические платежи предприятия v. 1.0», ООО Фирма "Эко-Экспресс"

8900

Не имеют отличительных особенностей

«Экологические

платежи

предприятия»,

«Интеграл»

10400

Автономная программа «Экологические платежи v. 4.22», Н1Ш «Логус»

9100

экологической

значимости;

4.Добавочные коэффициенты мест размещения отходов;

5.Категории отходов и нормативы платы; 6. Вид топлива и нормативы платы.

Обеспечивает ведение учета полноты и своевременности перечисления платежей на основании данных платежных документов с начислением пени за несвоевременную уплату, расчет недоимок (переплат); а также формирование платежных документов, бланков сводной отчетности в налоговые органы.

Все программные продукты соответствуют нормативным документам [91-

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

В таблице 1.8 представлен обзор программ, позволяющих анализировать финансовое состояние предприятия.

Таблица 1.8

Информационные системы, позволяющие анализировать финансовую отчетность

Программный продукт

Стоимость

Общие возможности

Имеющиеся отличия

Специализированные информационные системы

Audit Expert, версия Professional, (Expert Systems, группа «ПРО-ИНВЕСТ»)

От 1100

у.е.

-импорт данных из «1 С» и других автоматизированных бухгалтерских систем, произвольных текстовых и табличных файлов; -финансовый анализ на основе стандартных форм бухгалтерской и управленческой отчетности;

-расчет показателей ликвидности,

23 встроенные методики анализа, содержащие более 40 различных финансовых коэффициентов;

«1С-ВИП АНАТЕХ:АВК.АВС Управленческий учет и расчет себестоимости»

1500 долл. США

импорт данных только из файлов Excel;

«Альт-Финансы», ООО «Альт-Инвест»

18 500 руб.

обработка финансовой отчетности форматов 1998-2007 годов, ввод уточняющих данных

«МАСТЕР ФИНАНСОВ: Анализ и планирование»,

16 200 руб.

импорт данных из любого источника

КГ «Воронов и Максимов»

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

«Финансовый анализ: ПРОФ», ООО «Константа»

95/115

евро

расчет 80 финансовых коэффициентов; собственные шаблоны текстовых отчетов

Программа финансовоэкономического анализа состояния предприятий, ООО ПФП «Квантэкс»

15000 -59000 руб.

Расчет 100 финансовых показателей. Их число определяет пользователь.

«ИНЭК-Аналитик», ООО НПВ «ИНЭК»

61 95088 500 руб.

создание показателей по методикам пользователя, аналитических таблиц и отчетов пользователя

Комплексные информационные системы, содержащие модуль финансового

анализа

Microsoft Dynamics AX/NAV

1500 euro

Финансовый анализ данных на основе РСБУ, МСФО, US GAAP, включая данные управленческой отчетности; импорт данных из любых систем; расчет основных финансовых показателей; оценка вероятности банкротства; изменение формул расчета, отражение собственных методик, создание собственных отчетов

определение правил расчета показателей, графическое представление;

«Управление ресурсами предприятия» mySAP ERP-функциональность Financials, SAP AG

н/д

создание любых

аналитических

моделей;

У1Ш 8.0 «1С»

4400 долл. США

импорт данных только из XML-файлов;

«Корпоративные финансы 2005», КВФ «Инталев»

450000

руб.

OLAP - функции аналитического и финансового анализа

Система Галактика ERP, модуль «Финансовый анализ», Корпорация «Г алактика»

1800 у.е.

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

Продукты Oracle Financial Consolidation Hub

От 70 до долл. США

Число финансовых показателей и модель оценки банкротства определяется при настройке системы.

Несмотря на то, что на рынке существует большое количество продуктов для

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

1.2.4. Выводы по подзадаче анализа экологической безопасности промышленного предприятия

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

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

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

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

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

Таким образом, для решения задачи анализа экологической безопасности мы введем следующие показатели:

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

Климит .возд.=Суммарные исчисленные платежи в пределах установленных лимитов/себестоимость;

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

Ксверхлимит.возд.=Суммарные исчисленные платежи за загрязнение сверх установленных лимитов/себестоимость;

3.    Коэффициент соотношения платы за загрязнение в пределах установленных лимитов к плате за сверхлимитное загрязнение.

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

1.3. Постановка задачи

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

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

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

издержек СР и экстернальных издержек, оцененных в стоимостной форме E:

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

Другой существенный аспект учета общественных интересов — анализ общего соотношения выгод предприятия-загрязнителя и компенсаций с его стороны «жертвам» загрязнения. Предположим, прибыль от работы предприятия -загрязнителя для собственника настолько велика, что позволяет компенсировать всем реципиентам их дополнительные издержки и оставить часть прибыли собственнику. Эта ситуация соответствует критерию потенциального улучшения по Парето [88], когда общество получает выгоду от какой-либо деятельности, если по крайней мере один человек получает выгоду и никто не несет потерь.

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

Классический способ решения подобных задач средствами математического моделирования — оставить в качестве «критерия» лишь один из нескольких указанных показателей, перенеся все остальные в разряд «ограничений».

1.    построить модель предметной области, определить исследуемые объекты, состав входных и выходных данных и способы решения задачи;

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

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

Более подробно первый этап можно разбить на следующие подзадачи:

1.    подзадача анализа экологической безопасности промышленного предприятия:

-    изучить методы оценки экологической безопасности;

-    выбрать и адаптировать наиболее подходящий или предложить собственный на их основе;

-    разработать модель оценки экологической безопасности предприятия с помощью выбранного метода;

2.    Определить структуру, формат входных и выходных данных системы.

3.    Разработать способ решения задачи - механизм и алгоритм иерархического нечеткого вывода - ключевую особенность нечеткой экспертной системы.

На втором этапе необходимо выбрать среду разработки, определить структуру баз данных и общий алгоритм работы программы.

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

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

1.4. Модель нечеткой экспертной системы

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

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

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

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

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

Формирование модели исследуемой системы осуществляется на естественном языке в виде совокупности продукционных правил типа (если то ...), которые регламентируют взаимосвязи входных и выходных параметров.

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

Таким образом, все переменные данной модели описываются собственными лингвистическими переменными, значения которых, называемые термами, задаются

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

1.4.1. Типы исходных данных

Основным типом исходных данных в нечетких экспертных системах являются лингвистические переменные. Они отличаются от числовых тем, что их значениями являются не числа, а слова или предложения в естественном или формальном языке. Использование лингвистических переменных дает возможность приближенно описывать явления, которые настолько сложны, что не поддаются описанию в общепринятых количественных терминах.

Введем формальное определение лингвистической переменной по Заде [49]:

1.4.2. Схема принятия решения на основе нечеткого логического вывода

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

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

1.4.2.1. Определение нечеткого логического вывода

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

Нечетким логическим выводом (fuzzy logic inference) называется аппроксимация зависимости Y = f(XbX2...Xn) каждой выходной лингвистической переменной от входных лингвистических переменных и получение заключения в виде нечеткого множества, соответствующего текущим значениях входов, с использованием нечеткой базы знаний и нечетких операций. Его основу составляет композиционное правило Л.Заде [49,50].

В системах нечеткого вывода можно выделить следующие компоненты:

•    множество используемых нечетких правил;

•    базу данных, содержащую описания функций принадлежности;

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

Нечеткий логический вывод осуществляется в пять этапов (рис. 1.3) [128]:

1.    Фаззификация фактических данных: интерпретация точного значения входной переменной как нечеткой точки.

2.    Композиция входной переменной и условной части правила: вычисление уровня пригодности правила к ситуации. Если факт задан нечеткой меткой, то композиция сводится к выявлению соответствующей степени принадлежности.

3.    Вычисление нечеткой импликации. Результатом выполнения пунктов 2 и 3 для всех правил является n нечетких значений для выходной переменной.

4.    Агрегация среднего значения: построение нечеткого значения выхода по результатам предыдущих этапов.

5.Дефаззификация:    выбор представляющего элемента по агрегированному нечеткому понятию.

Рисунок 1.3. Упрощенная схема нечеткого вывода

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

Для обеспечения взаимодействия этих двух видов величин вводится нечеткая система с так называемым фаззификатором на входе и дефаззификатором на выходе (рис. 1.4).

Рисунок 1.4. Вывод в нечеткой системе при наличии M правил

Наиболее распространены пять схем нечеткого вывода, которые уточняются до оператора нечеткой импликации [103, 122,128]:

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

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

3.    Схема Сугено в отличие от схемы Мамдани ограничивает правые части правил вывода линейным случаем.

4.    Схема по Ларсену в отличие от Мамдани выполняет импликацию с помощью произведения.

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

Существуют два основных класса операторов агрегирования:

1.    треугольные нормы и конормы, моделирующие логические связки или и и.

2.    порядковые взвешенные операторы:

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

3. First Maximum - метод первого максимума: выбирается максимум функции принадлежности с наименьшей абсциссой.

1.4.2.2. Композиционное правило нечеткого вывода Л. Заде

Обычный, булевый логический вывод базируется на следующих тавтологиях:

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

Посылка    A есть истинно

Импликация    Если A, то B

Логический вывод    B есть истинно

Модус поненс выводит заключение "B истинно", если известно, что "A истинно" и существует правило "Если A, то B" (A и B - четкие логические утверждения). Однако, если прецедент отсутствует, то модус поненс не сможет

в системе нечеткого логического вывода по Мамдани наиболее часто оно реализуется операцией нахождения максимума.

Четкое значение выхода у, соответствующее входному вектору х *, определяется в результате дефаззификации нечеткого множества ~Y . Наиболее часто применяется дефаззификация по методу центра тяжести (формулы 1.18, 1.19).

На рисунке 1.5 представлен способ агрегирования при двух входных переменных х1, х2.

Рисунок 1.5. Пример системы вывода Мамдани Наибольшей популярностью пользуются функции принадлежности гауссовского типа, треугольные и трапециевидные функции:

1.4.2.4. Нечеткий логический вывод Сугено

Нечеткий логический вывод по алгоритму Сугено (иногда говорят алгоритм Такаги-Сугено) выполняется по нечеткой базе знаний:

Рассмотрим нечеткую базу знаний, в которой посылки заданы нечеткими множествами, а заключения правил - четкими числами:

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

Синглетонная база знаний может рассматриваться, как частный случай базы знаний Мамдани. Четкое число, которым задается значение выходной переменной, может рассматриваться как частный случай нечеткого множества. Такие нечеткие множества называются синглетонами. Функция принадлежности нечеткого множества-синглетона принимает единичное значение только для одного элемента, и нулевые для остальных. Кроме того, синглетонная нечеткая база знаний может также рассматриваться как частный случай базы знаний Сугено(2.28): она эквивалентна нечеткой базе знаний Сугено нулевого порядка, в которой коэффициенты при входных переменных в линейных законах "входы-выход" равны нулю.

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

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

1.4.2.6. Выводы по схемам нечеткого логического вывода

Таблица 1.9 Сравнение схем нечеткого вывода

Название схемы нечеткого вывода

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

Отсутствие накопления нечеткости в иерархических системах

Отсутствие суммирования одинаковых правил при дефаззификации

Эталон

1-ого порядка

+

+

Мамдани (E.H.Mamdani) Ларсен (P.M.Larsen) Цукамото (Y.Tsukamoto)

2-ого порядка

+

Сугено (M. Sugeno)

1-го порядка

+

+

Синглетон

1-ого порядка

+

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

2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ ГОРНОДОБЫВАЮЩЕГО ПРОИЗВОДСТВА НА ОСНОВЕ ИЕРАРХИЧЕСКОГО НЕЧЕТКОГО ВЫВОДА ПО СУГЕНО

2.1.Иерархические    системы

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

V. Torra [5] в своем исследовании обобщил последние работы в этой области и согласился с группой ученых под руководством Брауна (M. Brown, K.M. Bossley, D.J. Mills, C.J.Harris) [5], что для преодоления проклятия размерности необходимо упорядочить несколько баз правил низкой размерности в виде иерархической структуры - дерева, подчиняя рост числа возможных правил линейной зависимости от входов. H. Rainer описал новый алгоритм, который получает правила для иерархических нечетких ассоциативных воспоминаний, структурированных в виде бинарного дерева. L.X. Wang и C. Wei [5] предложили иерархические нечеткие системы и доказали их способность к аппроксимации. Так же аппроксимирующие способности иерархических нечетких систем анализировались X.-J. Zeng and J.A. Keane. L.C. Lin и G.-Y. Lee первыми предложили использовать генетический алгоритм для оптимизации структуры иерархической системы [5].

2.1.1.    Системы иерархического нечеткого логического вывода

Для моделирования многомерных зависимостей "входы - выход" целесообразно использовать иерархические системы нечеткого логического вывода. В этих системах выходная переменная одной базы знаний является входной для

Рисунок 2.1. Пример иерархической нечеткой базы знаний

Применение иерархических нечетких баз знаний позволяет преодолеть "проклятие размерности". При большом количестве входов эксперту трудно описать причинно-следственные связи в виде нечетких правил. Это обусловлено тем, что в оперативной памяти человека может одновременно хранится не более 7±2 понятий-признаков [24,41]. Следовательно, количество входных переменных в одной базе знаний не должно превышать это число. Более поздние исследования показали, что хорошие базы знаний получаются, когда количество входов не превышает пятишести. При большем количестве входных переменных необходимо их иерархически классифицировать с учетом приведенных выше рекомендаций. Обычно, выполнение такой классификации не составляет трудностей для эксперта, так как при принятии решений человек иерархически учитывает влияющие факторы.

Преимущество иерархических баз знаний заключается еще и в том, что они позволяют небольшим количеством нечетких правил адекватного описать многомерные зависимости "входы - выход". Пусть, для лингвистической оценки переменных используется по три терма. Тогда, максимальное количество правил для задания зависимости y=f(x1,x2,x3,x4,x5,x6) с помощью одной базы знаний будет равным 36=729, тогда как для иерархической базы данных (рис.2.1.), описывающей

2 3 3

ту же зависимость, максимальное количество правил будет равным 3 +3 +3 =171. Причем, это правила с меньшим количеством входных переменных.

Существует два способа создания систем многошагового нечеткого вывода.

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

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

2.1.2. Математическая модель иерархического нечеткого вывода

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

2.1.3. Алгоритм иерархического нечеткого вывода

Теперь представим модель нечеткого вычисления в виде следующей схемы (рис.2.2):

Рисунок 2.2. Стандартная модель нечетких вычислений Доработаем ее для реализации процедуры многошагового нечеткого логического вывода.

Алгоритм работы иерархического нечеткого логического вывода примет вид:

2.    Преобразование входных переменных в нечеткую форму - процедура фаззификации.

3.    Цикл i:=1 to N do (где N - число шагов нечеткого вывода)

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

3.2.    if i=N then goto 4. (дефаззификация результата)

else полученное нечеткое множество yi передать на вход процедуры нечеткого логического вывода следующего уровня (i:=i+1).

4. Дефаззификация.

Тогда схема вычислений преобразуется в следующий вид (рис. 2.3.):

Рисунок 2.3. Алгоритм работы иерархического нечеткого логического вывода

Данный алгоритм обеспечил нам следующие преимущества:

1.    Выполняется без фаззификации/дефаззификации промежуточных переменных вследствие чего снижается вычислительная погрешность;

2.    Использование в качестве базового алгоритма схемы Сугено помогает избежать увеличения нечеткости нечетких множеств;

3.    Позволяет работать с иерархическими базами данных и знаний;

4.    Помогает преодолеть «проклятие размерности» и позволяет описывать меньшим количеством правил зависимости в исходных данных.

2.2. Структурная схема нечеткой экспертной системы анализа экологической безопасности горнопромышленного предприятия

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

2.4.).

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

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

Изменяя входные параметры системы, мы можем сравнивать полученные данные в зависимости от значений исходных переменных.

2.2.1. Исходные данные.

Исходными данными для экспертной системы анализа экологической безопасности горнопромышленного предприятия являются «бухгалтерский баланс» предприятия (форма №1), «отчет о прибылях и убытках» (форма №2), экспертные оценки ценности территории, на которой расположено предприятие, класс опасности предприятия, закрепленный нормативными документами, показатели выбросов и сбросов вредных веществ, данные по лимитам и нормативам для этих веществ по предприятию.

На основании этих данных рассчитываются аналитические показатели (табл.

2.1 - 2.2), которые были выбраны в результате обзора существующих методов оценки экологической безопасности, приведенных в параграфе 1.2.

Таблица 2.1

Экономические показатели

Аналитический показатель:

Значение

Показатели рентабельности

Рентабельность продукции

Стр. 050 (Ф2) Стр. 010 (Ф2)

Рентабельность основной

Стр. 050 (Ф2)

деятельности

Стр. 020 (Ф2)

Рентабельность основного

Стр. 190 (Ф2)

капитала

Ср.Знач.(Стр. 300(Ф1))

Рентабельность собственного

Стр. 190 (Ф2)

капитала

Ср.Знач.(Стр. 490(Ф1))

Показатели деловой активности

Оборачиваемость производственных запасов

Стр.020 (Ф.2) Ср.зн.(стр.210(Ф.1))

Оборачиваемость основного капитала

Стр. 010 (Ф.2)

Ср. зн. (стр.300(Ф.1))

Показатели ликвидности

Коэффициент покрытия общий

Стр.290

Стр.690

Коэффициент быстрой

Стр.290-стр.210

ликвидности

Стр.690

Коэффициент абсолютной

Стр.250+260

ликвидности

Стр.690

Доля оборотных средств в

Стр.290

активах

Стр.300

Показатели финансовой стабильности

Коэффициент концентрации

Стр.490

собственного капитала

Стр.300

Коэффициент автономии

Стр 490+ 640 / стр 300

Коэффициент финансовой

стр 490+ 590+ 640 / стр 300

устойчивости

Критерий Бивера

(Стр. 230+240+260)/(стр.590+690)

Таблица 2.2

Экологические аналитические показатели

Размер платежей

Плата за выброс загрязняющих веществ в атмосферу от стационарных источников

Формула 1.11 (см. параграф 1.3.3.3.1)

Плата за сборы загрязняющих веществ в поверхностные и подземные водные объекты

Формула 1.15 (см. параграф 1.3.3.3.2)

Плата за размещение отходов

Формула 1.16 (см. параграф 1.3.3.3.3.)

Аналитические показатели на их основе

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

Рассчитывается как сумма платежей, исчисленных по формулам 1.11,1.15 за вычетом 3 слагаемого, формуле 1.16 за вычетом 2 слагаемого и делится на строку 020 отчета о прибылях и убытках

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

Рассчитывается как сумма последних слагаемых из формул 1.11,1.15,1.16 и делится на строку 050 отчета о прибылях и убытках

Коэффициент соотношения платы за загрязнение в пределах установленных лимитов к плате за сверхлимитное загрязнение.

См. два предыдущих показателя

В качестве лингвистических переменных из данной таблицы мы будем

представлять только три последних показателя. При этом мы должны учесть и еще 5 других переменных: класс опасности предприятия и значимости территории: культурную, историческую, человеческую и биологическую. Итого получаем 8 лингвистических переменных, описывающих экологическую безопасность и 14 переменных, характеризующих экономическое состояние.

2.2.2. Представление аналитических показателей в виде лингвистических переменных

2.2.2.1.    Построение функций принадлежности на основе экспертных данных

Так как мы выбрали в качестве метода решения задачи иерархический нечеткий вывод, то нам пришлось столкнуться с основной трудностью применения систем нечеткого вывода - представлением знаний эксперта в виде функций принадлежности. Для решения вопроса построения функций принадлежности на основе экспертных оценок был произведен обзор работ [15,46,57- 59,61,65,69,75,7980,82-83,103-105,110,121-122,125].

2.2.2.1.1.    Типы шкал

Выделяют следующие типы шкал: классификации, порядка, интервалов (табл.

2.3).

Таблица 2.3 Классификация типов шкал

Наименование

шкал

Допустимые

преобразования

Назначение использования

Классификации

(наименований)

Описание принадлежности объектов к классам. (Всем объектам одного класса присваивается одно число, разных классов - разные).

Порядка

(рангов,

баллов)

<

>

Измерение упорядочения объектов по одному признаку или их совокупности.

(Числа отражают порядок следования объектов)

Интервалов

y=ax+b, где a > 0, а bе R.

Отображение величины различия между свойствами объектов. (Шкала может иметь произвольные масштаб (а) и точки отсчета (b).)

В шкале рангов используются только числа, идущие от 1 по возрастанию. Если среди т измеряемых объектов одинаковых нет, то ранговое место каждого объекта будет указано одним из целых чисел от 1 до т. При одинаковом значении измеряемого свойства у k объектов, занимающих порядковые места с t -го по (t+k), их ранги будут обозначены одинаковым числом, равным их "среднему" рангу x, где x=(1:k)S(t-k).

Шкалы интервалов имеют три частных случая (табл. 2.4):

Таблица 2.4

Отличия частных случаев шкал интервалов

Частный случай

Вид преобразования

Назначение использования

Абсолютная шкала

у=х, а= b=1

Для измерения количества объектов

Шкала разностей

y=x+b

Для измерения свойств: на сколько один объект превосходит другой

Шкала отношений

y=ax, где a > 0.

Для измерения свойств: во сколько раз один объект превосходит другой

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

2.2.2.1.2. Методы измерений

Ранжирование. При ранжировании эксперт располагает объекты в порядке предпочтения, руководствуясь одним или несколькими показателями сравнения.

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

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

Последовательное сравнение включает в себя ранжирование и непосредственную оценку.

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

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

Л.Заде [49,50] предложил оценивать степень принадлежности числами из отрезка [0,1]. Фиксирование конкретных значений при этом носит субъективный характер. С одной стороны, для экспертных методов важным является характер измерений и тип шкалы. С другой стороны, свойства могут отличаться по типу: измеряемые и неизмеряемые.

Все методы построения делятся на две группы (рис. 2.5).

Рисунок 2.5. Классификация методов построения функций принадлежности Л. Заде [49] так обосновывает назначение прямого метода: "По своей природе оценка является приближением. Во многих случаях достаточна весьма

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

Таблица 2.5

Сравнение прямых и косвенных методов

Тип

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

Недостатки/ достоинства

Прямые

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

субъективная тенденция экспертов сдвигать оценки объектов в направлении концов оценочной шкалы/ простота

косвенные

При отсутствии элементарных измеримых свойств

Трудоемкость/ стойкость по отношению к искажениям в ответе.

2.2.2.1.З.1. Прямые методы для одного эксперта.

Прямые методы для одного эксперта состоят в непосредственном задании

функции, позволяющей вычислять значения.

Метод семантических дифференциалов Ч. Осгуда [82] использует процедуру:

1.    определить список свойств, по которым оценивается понятие (объект);

2.    найти в списке полярные свойства и сформировать полярную шкалу;

3.    для каждой пары полюсов оценить, в какой степени введенное понятие обладает положительным свойством.

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


Способ вычисления частичной принадлежности друг другу строгих множеств. Пусть покрытием K обычного множества U является любая совокупность обычных подмножеств (л,A,...,а} множества U таких, что

66

2.2.2.1.З.2. Косвенные методы для одного эксперта.

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

где ац - уровень преимущества элемента Ui над Uj (i, j = \, n), определяемый по девятибалльной шкале Саати (табл. 2.6):

Таблица 2.6 Шкала Саати

Числовая оценка ау

Качественная оценка (сравнение

Ui и Uj )

\

отсутствие преимущества Ui над Uj

3

слабое преимущество Ui над Uj

5

существенное преимущество Ui над

Uj

7

явное преимущество Ui над Uj

9

абсолютное преимущество Ui над Uj

2, 4, 6, 8

промежуточные сравнительные оценки

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

2.2.2.1.З.4. Выводы по методам построения функций принадлежности

Таблица 2.7

Сравнение способов построения функций принадлежности

Название метода

способ

построения

Число

экспертов

Точность

Сложность

алгоритма

Эталон

1

высокая

невысокая

Метод семантических дифференциалов Ч. Осгуда

прямой

1

невысокая

низкая

Способ вычисления частичной принадлежности друг другу строгих множеств

прямой

1

невысокая

высокая

Метод парных сравнений Т. Саати

косвенный

1

высокая

высокая

Модифицированный метод Саати

косвенный

1

высокая

невысокая

Метод варьирования прототипов получения численного значения функции принадлежности

косвенный

1

высокая

высокая

Г рупповые методы (А.П. Шер, З.А.Киквидзе, Я.Я.Осис, статистические)

много

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

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

2.2.2.2.1. Подзадача оценки значимости территории

Подзадача EcoSafety-Terra описана четырьмя лингвистическими переменными: BiologicValue, CulturalValue, HistoricValue, PeopleValue, которые могут принимать значения от 0 до 10.

BiologicValue - характеризует богатство представленной на территории флоры и фауны, степень ее редкости и уникальности.

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

HistoricValue - значение этой переменной свидетельствует о наличии или отсутствии исторической ценности данной территории.

PeopleValue - показатель тем выше, чем больше плотность населения.

Для описания переменных введены три терма {«Low», «Medium», «High»}, описывающие значения этой переменной.

Здесь и далее будем пользоваться выбранным в параграфе 2.2.2.1.З.4. модифицированным методом Саати [69,75,79,80] для одного эксперта для получения степеней принадлежности нечеткого множества и построения функции принадлежности:

1.    Мы можем сказать, что степень принадлежности «0» к «Low» = 1, а степень принадлежности «0» к «High» - соответственно, 0.

2.    Из введенного в параграфе 2.2.2.1 понятия шкалы рангов получаем:

Балл/

ранг

m Low

m medium

M high

0

1,0

0,0

0,0

1

0,95

0,05

0,0

2

0,75

0,25

0,0

3

0,50

0,50

0,0

4

0,25

0,75

0,0

5

0,0

1,0

0,0

6

0,0

0,75

0,25

7

0,0

0,50

0,50

8

0,0

0,25

0,75

9

0,0

0,05

0,95

\0

0,0

0,0

\,0

2.2.2.2.2. Стоимостная оценка экологической безопасности.

Наилучшим образом отражать данные зависимости будут трапециевидные функции принадлежности (рис. 2.6).


Рисунок 2.6. Функции принадлежности переменных группы EcoSafety-Terra


Подзадача EcoPayment описывается тремя лингвистическими переменными: KLimiteffect, KUnderLimitEf, Limit/UnLimit.

KLimiteffect - это переменная, отражающая величину платежей за загрязнение окружающей среды в общем размере себестоимости, показатели может принимать значения в диапазоне [0, \]. В норме, этот показатель не должен превышать 0,0\ или

1% от величины себестоимости. Выделим два терм-множества данной переменной: {«Normal», «Overflow»}

Выберем гладкие функции принадлежности (рис. 2.7.):

Рисунок 2.7. Функции принадлежности переменной KLimiteffect KUnderLimitEf - характеризует, какая величина прибыли пошла на погашение сумм за сверхлимитное загрязнение. Показатель может принимать значения [-1, 1].

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

В остальных случаях, для производств с высокой степенью негативного влияния на экологию (горнодобывающая, химическая, пищевая промышленность) нормальным можно считать, если данная величина не превышает 0,2 (20%) от размера прибыли, до 0,5 (50%) - состояние можно признать погранично опасным, и свыше 0,5 (50%) - критическим. Выделим три терм-множетства {«normal», «boundary», «critical»}.

UnLimit/Limit - показывает, во сколько раз сверхлимитные платежи превышают лимитные, находится в диапазоне [0,100]. Выделим три терм-множетства {«normal», «boundary», «critical»}.

2.2.2.2.3. Переменные, характеризующие ликвидность

Подзадачу оценки ликвидности (liquidity) описывают четыре входные переменные: Covering, AbsLiquidity, FastLiquidity, ObSActiv (см. приложение 2).

Covering - характеризует степень покрытия внеоборотных активов собственным капиталом. Рекомендуемое значение коэффициента покрытия внеоборотных активов собственным капиталом - не менее 1, иначе существует риск потери финансовой устойчивости.

AbsLiquidity - показатель абсолютной ликвидности.

Рисунок 2.8. Функции принадлежности переменной AbsLiquidity FastLiquidity - показатель быстрой ликвидности.

ObSActiv - доля оборотных средств в активах, при значении показателя более 0,4 характеризуется легкой структурой активов. Иначе, тяжелой структурой активов, что свидетельствует о преобладании основных средств в структуре активов.

2.2.2.2.4. Лингвистические переменные, определяющие степень деловой активности

Подзадача Аейуйу характеризуется двумя входными лингвистическими переменными: MoneyCycle, StockCycle (см. приложение 2).

MoneyCycle - оборачиваемость средств в расчетах.

Рисунок 2.9. Функции принадлежности переменной MoneyCycle StockCycle - оборачиваемость производственных запасов.

2.2.2.2.5. Лингвистические переменные, характеризующие финансовую устойчивость

ConcentrOwnCap - коэффициент концентрации собственного капитала. Его можно интерпретировать следующим образом:

• при значении > 0,5 предприятие характеризуется значительным запасом прочности и широкими возможностями привлечения дополнительных заемных средств без риска потери финансовой устойчивости;

•    при значении от 0 до 0,5 - незначительным запасом прочности и ограниченными возможностями привлечения дополнительных заемных средств без риска потери финансовой устойчивости;

•    при значении <= 0 - крайне низким запасом прочности и отсутствием возможностей привлечения дополнительных заемных средств без риска потери финансовой устойчивости.

Finstability - коэффициент финансовой стабильности.

Рисунок 2.10. Функции принадлежности переменной F instability

Autonomy - коэффициент автономии.

Biver - критерий Бивера. Он численно равен отношению притока денежных средств к общей сумме задолженности:

1.    Biver <= 0,17 - предприятие относится к высокой группе “риска потери платежеспособности”, т.е. уровень его платежеспособности низкий.

2.    0,17 < Biver <— 0,4 - предприятие относится к средней группе риска потери платежеспособности”, т.е. уровень его платежеспособности средний.

3.    Biver > 0,4 - предприятие относится к низкой группе “риска потери платежеспособности”, т.е. уровень его платежеспособности достаточно высок.

2.2.2.2.6. Лингвистические переменные, описывающие рентабельность

EfProducts - рентабельность продукции.

Рисунок 2.11. Функции принадлежности переменной EfProducts

EfMainActivity - рентабельность основной деятельности

EfMainCapital - рентабельность основного капитала. Рентабельность основного капитала определяется как отношение чистой прибыли ко всем активам предприятия. Этот показатель отражает степень эффективности использования имущества:

-    при значении > 0,3 эффективность высокая;

-    при значении от 0,1до 0,3 - средняя;

-    при значении менее 0,1 - низкая.

EfOwnCapital - рентабельность собственного капитала.

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

Интервал самофинансирования (или платежеспособности) Предприятия может свидетельствовать: о высоком уровне резервов (> = 90) или о низком уровне

резервов у Предприятия для финансирования своих затрат в составе себестоимости (< 90). В международной практике считается нормальным, если данный показатель превышает 90 дней.

2.2.3. Система правил нечеткого вывода

Система правил нечеткого вывода строилась на основе утверждений эксперта

о зависимостях между входными и выходными данными. Целиком система правил нечеткой экспертной системы анализа экологической безопасности изложена в приложении 2. В программе каждая задача имеет свой набор правил (рис. 2.12.):

Рисунок 2.12. Условные правила к задаче оценки удельных весов экологических платежей в рентабельности и себестоимости продукции Нечеткая экспертная система эколого-экономического анализа на первом слое состоит из 6 задач, описанных в пунктах 2.2.2.1-2.2.2.6. Выходы задач 1-4 являются входами для первой задачи второго слоя, описывающей финансовое положение предприятия. Выделено 4 группы значений:

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

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

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

4.    На конец анализируемого периода предприятие находится в глубоком финансовом кризисе. Размер кредиторской задолженности велик, оно не в состоянии расплатиться по своим обязательствам. Финансовая устойчивость предприятия практически полностью утеряна. Значение показателя рентабельность собственного капитала не позволяет надеяться на улучшение. Степень кризиса предприятия столь глубока, что вероятность улучшения даже в случае коренного изменения финансово-хозяйственной деятельности невысока.

Выходы задач 5 и 6 первого слоя являются входами задачи 2 второго слоя и характеризуют экологическое состояние предприятия. Выделено 3 состояния.

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

Вся система правил приведена в Приложении 2: XML-структура нечеткой экспертной системы анализа экологической безопасности.

2.2.4. Математическая модель нечеткой экспертной системы, основанная на иерархическом нечетком выводе

Математически словесную модель из пункта 2.2.3 мы можем записать следующим образом (1-ая запись с использованием оператора F, вторая - на основе композиционного правила Л. Заде):

3. СТРУКТУРНО-ФУНКЦИОНАЛЬНОЕ РЕШЕНИЕ НЕЧЕТКОЙ ЭКСПЕРТНОЙ СИСТЕМЫ АНАЛИЗА ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ ГОРНОПРОМЫШЛЕННОГО ПРОИЗВОДСТВА

3.1. Требования, предъявляемые к автоматизированной системе

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

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

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

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

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

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

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

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

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

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

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

-    представление знаний на простом продукционном языке;

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

-    предварительная компиляция наборов правил;

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

единого исполняемого модуля.

На рисунке 3. 1 показан процесс построения готовых экспертных приложений:

Рисунок 3.1. Процесс подготовки готовых приложений

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

3.2. Обоснование выбора инструмента реализации

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

1.    J2SE 6.0

2.    Apache Derby 10.2.2.0

3.    Hibernate 3.2.0

4.    Swing / AWT

Объяснению того, почему был сделан именно этот выбор, будут посвящены параграфы этого раздела.

3.2.1. Java (J2SE 6.0)

Изложим основные преимущества Java в контексте решаемой задачи:

1.    Простота и удобство: экономия времени на отладке и тестировании приложений благодаря автоматическому распределению памяти и использованию garbage collection.

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

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

В разработанной программе были использованы следующие компоненты Java6.0:

-    generics - шаблоны (параметризованные классы);

-    встроенный XML-parser;

-    Collections (List, Map, etc).

2.    Поддержка кросс-платформенности: созданная программа может выполняться на любой платформе. На сегодняшний день Java является единственным платформенно-независимым решением.

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

Обычно в их число входят Windows, Linux, Solaris, а иногда и другие операционные системы.

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

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

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

Компилятор, среда разработки и все используемые нами в процессе разработки компоненты бесплатны. В силу бесплатности во многих организациях Eclipse - корпоративный стандарт для разработки Java-приложений.

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

3.2.2. Apache Derby 10.2.1.6

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

В пользу использования СУБД-ориентированного подхода говорят такие ключевые факторы, как скорость и эффективность, централизованность и валидация

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

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

Apache DB, является реляционной базой данных, реализованной полностью на Java. Включает следующие ключевые преимущества:

•    Derby имеет маленький размер - приблизительно 2 мегабайта вместе с вложенным JDBC -драйвером.

•    Derby поддерживает стандарты Java, JDBC и SQL.

•    Derby предоставляет встроенный JDBC -драйвер, который позволяет включить Derby в любое Java-приложение.

•    Derby также поддерживает клиент-серверные технологии с использованием Derby Network Client JDBC-драйвера and Derby Network сервера.

•    Derby легко установить, развернуть и использовать.

Разработка и тестирование Java-приложений, полностью характеризуется тем, что, несмотря на чрезвычайное удобство в работе, может выполняться как на ноутбуке, так и на универсальной ЭВМ, и доступно бесплатно в соответствии с лицензией Apache Derby.

3.2.3. Hibernate 3.2.0

Hibernate - это объектно-реляционное управление памятью и стабильная основа, которая предоставляет множество дополнительных возможностей - от интроспекции до полиморфизма и преобразования наследования. А преобразование классовой иерархии в модель реляционной базы данных может оказаться довольно сложным. Это бесплатное, с открытым кодом программное обеспечение, распространяемое под лицензией GNU Lesser General Public. Он обеспечивает удобную структуру для соотнесения объектно-реляционного отображения модели предметной области с традиционной реляционной базой данных.

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

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

Возможности Hibernate несравнимо шире, чем простой набор этих базовых операций. Hibernate может полноценно управлять транзакциями с поддержкой операций commit, rollback, наследование, некоторых типов коллекций. Hibernate также вооружает разработчика очень мощным объектно-ориентированным языком запросов, HQL, который имеет множество различных полезных возможностей.

3.2.4. Swing / AWT

Swing - интерфейс программирования приложений для создания графических приложений на языке Java. Swing был разработан компанией Sun Microsystems специально для языка Java. Начиная с версии Java 1.2 Swing (1998 год) стал интегральной частью Java Runtime Environment. Swing относится к Java Foundation Classes (JFC), которые представляют собой набор библиотек для разработки графических оболочек. К этим библиотекам относятся Java2D, Accessibility-API,

Drag & Drop-API и Abstract Window Toolkit (AWT). Swing базируется на несколько устаревшем AWT.

До появления пакета Swing пользовательский интерфейс Java-программ был весьма аскетичным. Сравнение средств пакета java. awt с богатством такой библиотеки, как MFC (из комплекта Microsoft Visual C++), было, мягко говоря, не в пользу Java. Появление Swing коренным образом изменило ситуацию. Java-разработчики теперь получили возможность, не используя продукты третьих фирм, создавать программы с профессиональным интерфейсом.

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

Перечисленные качества заставляют предположить, что Swing - весьма эффективный пакет. Однако на практике преимущества Swing становятся заметны только для очень сложных клиентских приложений, в которых число элементов исчисляется сотнями. Более простые интерфейсы на основе Swing требуют гораздо больше ресурсов, чем аналогичные с использованием оригинального Java AWT. Это объясняется тем, что, к сожалению, Swing очень высоко «задирает планку» начальных требований к ресурсам приложения. Происходит это в силу именно стройности и «правильности» реализации пакета. Кроме того, Swing полностью написан на Java, что, конечно, идеологически правильно, но при сложной иерархии используемых классов самые простые действия часто вызывают интенсивную работу процессора.

3.3.Объектно-ориентированная интерпретация модели программного комплекса и объектно-ориентированный подход

Как уже было отмечено в предыдущем параграфе, создание программ в среде Java базируется на объектно-ориентированной парадигме.

Ключевые черты ООП хорошо известны. Первая — это определение классов

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

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

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

Классы, наследование и полиморфизм — фундаментальные свойства, требуемые от языка, претендующего называться объектно-ориентированным.

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

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

Теперь рассмотрим общую UML - диаграмму нашего приложения (рис. 3.2.).

Рисунок 3.2. Взаимосвязь модулей программы.

Разработанное приложение было разделено на пакеты в четком соответствии с выполняемыми ими задачами. Для декомпозиции была использована парадигма MVC (module-view-control). Ее смысл состоит в том, чтобы отделять данные от их представления и от управляющей части.

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

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

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

3.4. Главный модуль программы - JFuzzy.

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

классов в зависимости от шага вывода. Все задачи экспертной системы (class FuzzyTask) в программе разбиты на слои (class FuzzyLayer). Каждый шаг нечеткого вывода представлен экземпляром класса FuzzyTask, задающего набор входных переменных и правил нечеткого вывода. Также в зависимости от шага итерации необходимо знать, нужны ли процедуры фаззификации и дефаззификации переменных на данном шаге. Это проблема представления данных, и она была решена следующим образом: вместо бинарных файлов для хранения информации о нечетком вывода используется формат XML, позволяющий хранить иерархическую систему в виде древовидной структуры.

Схема реализации расчетного модуля представлена на рис 3.3.

Кратко опишем функциональность основных классов этого пакета.

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

FuzzyParser отвечает за разбор иерархической структуры многошагового нечеткого вывода, представленной в загружаемом XML - файле, и передает ее классу, реализующему интерфейс FuzzyListener.

Интерфейс реализован во вложенном классе NetListener класса FuzzyNet. Он извлекает только те данные, которые необходимы для выполнения расчета.

FuzzyNet - класс, хранящий данные об иерархической структуре проекта.

FuzzyLayer - класс, для хранения информации о слоях (см. параграф 3.5.2.)

FuzzyTask - основная расчетная единица в модуле (см. параграф 3.5.3.)

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

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

Рисунок 3.3. Диаграмма классов расчетного модуля Приведем фрагмент кода, реализующий алгоритм из параграфа 2.1.3.2.2 (рис. 2.8) и отвечающий за вычисление результата нечеткого многошагового вывода.

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

/** Calculates fuzzy output for one input vector. */

public Double[] calculateSingleOutput(Double[] input) throws FuzzyException

{


int startFrom = 0;

// run throw all layers for(FuzzyLayer layer : m_layers ) { for(Integer num : layer.tasks) {

// set inputs from input vector

startFrom += m_tasks[num].assignInputs(input, startFrom); m_tasks [num]. evaluate();

}

}

m_tasks [m_taskCount-1 ]. defuzzyfication(); return m_tasks [m_taskCount-1 ]. getOutput();

}

3.5. Реализация графической компоненты в модуле JFuzzyTool

Основная задача графического модуля JFuzzyTool - создание новых иерархических систем нечеткого вывода в интерактивном режиме и редактирование уже существующих систем, которые могут быть загружены из XML- файлов.

Этот пакет реализует следующие возможности:

1.    сериализация многошагового нечеткого вывода;

2.    графическое представление иерархии объектов;

3.    редактирование всех компонентов системы, таких как функции принадлежности переменных, правил логического вывода.

Поскольку этот проект достаточно большой, декомпозируем его описание на три логических части:

1.    Объекты редактирования: слой, задача, переменная.

2.    Формы управления (Control Panels).

3. Бизнес-логика пакета: работа с файлами, проверка корректности созданной иерархии, координирование подсистем модуля.

3.5.1. Объекты редактирования 3.5.1.1.Основные понятия

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

Задачей (Task) называется атомарная расчетная единица нечеткого логического вывода, представляющая собой схему нечеткого логического вывода по Сугено.

Переменная - входная или выходная лингвистическая переменная нечеткого логического вывода.

3.5.1.2. Логика классов

Основным классом для реализации редактирования всех компонент системы является абстрактный класс SelectableComponent. Его наследуют классы Net, Layer, Task, Variable.

Основная особенность компоненты SelectableComponent состоит в том, что он рекурсивно включает в себя компоненты такого же типа и имеет 2 состояния: активное и пассивное. Таким образом, класс реализует логику древовидной структуры предметной области: если пользователь выбрал задачу для редактирования, то во внутреннем представлении активным станет и слой, которому принадлежит данная задача, аналогично при редактировании переменной, активируется вся цепь: переменная, задача, слой (рис. 3.4).

Данное поведение реализовано на основе событийной модели с использованием паттерна проектирования Listener в класса SelectionEvent и SelectionListener. Это избавляет нас от необходимости контроля каждой компоненты редактирования в приложении.

Класс SelectableComponent наследует три интерфейса, реализация которых предусмотрена в дочерних классах:

1.    XMLSerializable - предоставляет функции для сериализации компонентов в узлах XML-файла.

2.    SeledionListener - интерфейс обработки смены состояний объекта.

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

Теперь рассмотрим, как это реализовано в программе с точки зрения

объектно-ориентированной парадигмы:

/** Определяем абстрактный класс SelectableComponent */ abstract public class SelectableComponent extends JComponent

implements SelectionListener,

XMLSerializeable,

Verifiable {

/** И массив слушателей в нем на основе паттерна проектирования*/ private List<SelectionListener> listeners = null;

/** массив наследуемых компонентов - массив потомков */ protected List<SelectableComponent> components = new

ArrayList<SelectableComponent>();

/** Текущую выбранную компоненту наследника устанавливаем в null . */ private SelectableComponent selected = null;

/** Определяем флаг-индикатор, логическую переменную, которая становиться равной истине в случае, если компонента выбрана, и ложь в противном случае */ private boolean active = false;

/** Вспомогательный флаг для предотвращения ненужных перерисовываний */ private boolean adjusting = false;

/** Имя выбранной компоненты */

private String name;

/** Создаем экземпляр класса SelectableComponent. */ public SelectableComponent(String name) { super();

this.name = name; setLayout(null);

addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { if (null != selected) {

selected. setActive(false); selected = null;} setActive(true); fireSelectionEvent();

} }); }

/** Добавляем компоненты-потомки (редактирование слоя, задачи -добавление новых переменных, добавление новых задач)*/ public void add(SelectableComponent component) { if (null == component)

throw new NullPointerException(); components.add(component); component.addSelectionListener(this); if (!adjusting)

rebuildComponent(); }

/** Удаляем потомков (также предназначена для редактирования объектов, только теперь мы удаляем ненужные выделенные объекты) */ public void remove(SelectableComponent component) { if (null == component)

throw new NullPointerException(); if (selected == component) selected = null;

component.remove S electionListener(this); super.remove(component); components.remove(component); if (!adjusting)

rebuildComponent(); }

/** Перестраиваем структуру нечеткой экспертной системы после внесения изменений */

protected void rebuildComponent() {

for (SelectableComponent c : components) super.remove(c); for (SelectableComponent c : components) super.add(c); validate(); repaint(); }

/** Устанавливаем флаг того, что объект был выбран для редактирования */ public void setActive(boolean active) { this.active = active; if (! active)

for (SelectableComponent c : components) c.setActive(false); repaint(); }

/** Возвращаем значение «истина», если компонента с таким же именем нет */ public boolean verifyUniqueNames() {

HashSet<String> map = new HashSet<String>(); for(SelectableComponent c : components){ if(map.contains(c.getName())) return false; map.add(c.getName()); } return true; }}

3.6. Информационное обеспечение системы

3.6.1. Формат базы данных

Для организации информационной системы был выбран формат Derby. Как уже было отмечено в параграфе 3.2.2., Derby - полнофункциональная, реляционная система управления базами данных с открытым кодом, основанном на Java™ и SQL.

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

Формат Derby позволяет хранить самые разнообразные типы данных: целые и вещественные числа, строки, даты, комментарии, графические данные, логические, временные и многие другие, - и при этом гарантирует их целостность и обеспечивает поддержку сложных транзакций.

В свободно распространяемой конфигурации нет различий между установкой сервера баз данных и обслуживанием конечных пользователей. Распространение программного обеспечения Derby поддерживает два основных варианта (опции) установки: простой вложенный в Java и сервер сети Derby (Derby Network Server).

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

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

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

Каждая таблица представляет собой класс из пакета JFuzzyDB и каждой из них соответствует три объекта:

1.    класс (имя_таблицы).java из пакета jfuzzydb.dto, представляющий собой описание содержимого таблицы;

2.    класс (имя_таблицы)DAO.java из пакета jfuzzydb.dao, управляющий доступом к таблице;

3.    mapping файл *.hbm.xml - XML описание таблицы и ее связей с другими таблицами для Hibernate.

3.6.2. Перечень и краткое описание таблиц базы данных

База данных экспертной системы состоит из 14 таблиц, которые находятся в пакете JFuzzyDB. Структура таблиц баз данных приведена в Приложении 1. Таблицы можно разделить на три основные категории:

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

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

3.    Расчетные таблицы - заполняются автоматически в процессе проведения расчетов программой. Являются входными переменными системы иерархического нечеткого вывода - ядра нечеткой экспертной системы.

Расчет в программе может вестись как в разрезе предприятий, так и в разрезе дат, устанавливаемых пользователем.

База данных JFuzzyDB содержит следующие таблицы:

1.    Таблица «Plant» (Plant.java) - полное имя класса - «jfuzzydb.dto.Plant». Это справочник, который хранит первоначальные сведения об анализируемом предприятии, такие как:

-    название предприятия и его идентификатор, при помощи которого таблица «Plant» связывается с другими таблицами;

-    место его расположения - регион, который выбирается из соответствующей таблицы «Region»;

-    водный бассейн реципиента, выбираемый из таблицы «River»;

-    класс опасности предприятия, закрепленный его нормативными документами;

-    историческую, биологическую, культурную и человеческую (плотность населения) территории, на которой расположено предприятие.

2.    Таблица «Region» (Region.java) - полное имя класса - «jfuzzydb.dto.Region». Справочник, содержащий названия регионов и поправочные коэффициенты: экологической значимости атмосферы и экологической ситуации в регионе для расчета выбросов загрязняющих веществ в атмосферу и уменьшающий коэффициент при складировании отходов на территории реципиента. Справочник соответствует нормативно-правовым документам РФ и не доступен для редактирования в пользовательском режиме.

3.    Таблица «River» (River.java) - полное имя класса - «jfuzzydb.dto.River». Таблица содержит названия основных бассейнов рек и поправочный коэффициент, отражающий экологическую значимость водного объекта, есть промежуточное деление по областям в тех случаях, когда экологическая ситуация на одной реке отличается от истока к устью. Справочник также соответствует нормативноправовым документам РФ и не доступен для редактирования в пользовательском режиме.

4.    Таблица «Garbage» (Garbage.java) - полное имя класса - «jfuzzydb.dto. Garbage» - это утвержденный законодательством РФ федеральный каталог отходов, содержащий наименование отхода, его код по классификатору и цену за одну тонну хранения в зависимости от степени токсичности.

5.    Таблица «GarbageRecord» (GarbageRecord.java) - полное имя класса -«jfuzzydb.dto.GarbageRecord» - это таблица данных, содержащая для выбранного предприятия список складируемых им отходов из федерального каталога, а также значения установленных для него лимитов хранения и размещения и реальную величину складируемых веществ. Пользователь выбирает из федерального каталога отходов те вещества, которые у него имеются в наличии, и указывает для них 2 значения: value1 (лимит) и value2 (действительный объем). Количество выбираемых веществ не ограничено, ведется учет повторов при выборе, таким образом, исключается попадание одного и того же элемента в таблицу неоднократно. Значения хранятся на выбранную пользователем дату.

6.    Таблица данных «AirOutput» (AirOutput.java) - полное имя класса -«jfuzzydb.dto.AirRecord» содержит список загрязняющих веществ, утвержденный Постановлением Правительства РФ.

7.    Таблица «AirRecord» (AirRecord.java) - полное имя класса -«jfuzzydb.dto.AirRecord», также является таблицей данных. Содержит исходные данные для расчета платежей за загрязнение воздуха от стационарных источников: список загрязняющих веществ из утвержденного Постановлением Правительства РФ, и три значения для каждого вещества: норматив, лимит и реальный выброс. Значения хранятся на выбранную пользователем дату. Количество выбираемых веществ также не ограничено и ведется проверка уникальности.

8.    Таблица данных «WaterOutput» (WaterOutput.java) - полное имя класса -«jfuzzydb.dto.WaterRecord» содержит список загрязняющих веществ, утвержденный Постановлением Правительства РФ.

9.    Таблица данных «WaterRecord» (WaterRecord.java) - полное имя класса -«jfuzzydb.dto.WaterRecord» содержит исходные данные для расчета платежей за сброс загрязняющих веществ в водные объекты: вещества добавляются из списка, утвержденного Постановлением Правительства РФ, каждому выбранному веществу ставится в соответствие три значения: норматив, лимит и реальный сброс. Значения хранятся на выбранную пользователем дату. Количество веществ не ограничено, ведется проверка уникальности.

10.    Таблица данных «Asset» (Asset.java) - полное имя класса -«jfuzzydb.dto.Asset» - это табличная форма представления строк актива бухгалтерского баланса. Значения могут быть загружены из имеющегося текстового файла или отредактированы в ручную. Вычисляемые строки в таблице отсутствуют, чтобы не перегружать базу данных.

11.    Таблица данных «Passive» (Passive.java) - полное имя класса -«jfuzzydb.dto.Passive» - табличная форма представления пассива бухгалтерского баланса. Значения также могут быть загружены из имеющегося текстового файла или отредактированы в ручную. Вычисляемые строки в таблице отсутствуют, чтобы не перегружать базу данных.

12.    Таблица данных «Benefit» (Benefit.java) - полное имя класса -«jfuzzydb.dto.Benefit» - табличная форма представления «Отчета о прибылях и убытках». Значения также могут быть загружены из имеющегося текстового файла или отредактированы в ручную. Вычисляемые строки в таблице отсутствуют, чтобы не перегружать базу данных.

13.    Расчетные таблицы «EcoReport» (EcoReport.java) - полное имя класса -«jfuzzydb.dto.EcoReport» - содержит подсчитанные из исходных данных аналитические показатели экологического состояния предприятия..

14.    Расчетные таблицы «Report» (Report.java) - полное имя класса -«jfuzzydb.dto. Report» - содержит подсчитанные из исходных данных аналитические показатели экономической оценки предприятия.

3.6.3. Определение табличных связей

Как мы уже отмечали выше, каждая таблица базы данных в Java представляет собой класс Java (Рис. 3.5).

Доступ к данным осуществляется следующим образом: для доступа к источнику данных используется Data Access Object (DAO). Это позволяет полностью инкапсулировать доступ к нашей базе данных. DAO реализует механизм доступа, требуемый для работы с базой данных, и управляет соединением с базой данных и транзакциями.

Рисунок 3.5. Связь классов (таблиц) базы данных Что особенно важно - DAO полностью прячет детали реализации от клиента, что позволяет адаптировать его использованием с любым типом данных без изменения логики клиентского кода. Фактически DAO действует как паттерн проектирования Adapter между наследующим от него компонентом и источником данных.

Приведем фрагменты исходного кода класса HibernateDAO.java. Этот класс

является базовым для всех классов, работающих с таблицами из базы данных.

/*HibernateDAO.j ava*/ package jfuzzydb.dao; import java.util.List; import jfuzzydb.HibernateUtil;

import org.hibernate. HibernateException; import org.hibernate.Session; import org.hibernate.Transaction;

/** Этот класс определяет общий доступ к объектам базы данных. Каждый

конкретный DAO должен наследоваться от этого класса. Проектирование

конкретного DAO класса следует делать на основе паттерна Singleton*/

public class HibernateDAO<T> {

/** DTO класс */ private Class<T> dtoClass;

/** конструктор класса */ protected HibernateDAO(Class<T> dtoClass){ this.dtoClass = dtoClass;

}

/** функция возвращает все объекты из базы данных */ public List<T> loadAll() throws HibernateException { return load("from "+ dtoClass.getSimpleName());

}

/** выполнение HQL- запросов и возврат всех объектов */ @SuppressWarnings("unchecked")

public List<T> load(String query) throws HibernateException {

Session session = HibernateUtil.ge^SessiotfFacforyO.getCurrentSessionO;

Transaction tx = null;

try {

tx = session.beginTransaction();

List result = session.createQuery(query).list();

tx.commit();

return (List<T>)result;

} catch (HibernateException e) { if (tx!=null) tx.rollback(); throw e;

}

}

/** сохранение или обновление загружаемых объектов */ public void saveOrUpdate(T object) throws HibernateException {

Session session = HibernateUtil.ge^SessiotfFacforyO.getCurrentSessionO;

Transaction tx = null;

try {

tx = session.beginTransaction(); session. saveOrUpdate(object); tx.commit();

} catch (HibernateException e) { if (tx!=null) tx.rollback(); throw e;

}

}

/** сохранение нового объекта в базу данных */ public void save(T object) throws HibernateException {

Session session = HibernateUtil.getSessionFactoryO.getCurrentSessionO;

Transaction tx = null;

try {

tx = session.beginTransaction(); session.save(object); tx.commit();

} catch (HibernateException e) { if (tx!=null) tx.rollback(); throw e;

}

}

/** Удаление объекта из базы данных */ public void delete(T object) throws HibernateException {

Session session = HibernateUtil.getSessionFactoryO.getCurrentSessionO;

Transaction tx = null;

try {

tx = session.beginTransaction(); session.delete(object); tx.commit();

} catch (HibernateException e) { if (tx!=null) tx.rollback(); throw e;

}

}

}

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

HibernateDAO. Например, класс PlantDAO,управляющий доступом к таблице Plant,

представлен следующим образом:

/** PlantDAO.java*/ package jfuzzydb.dao; import jfuzzydb.dto.Plant;

/**Класс PlantDAO -это класс одного объекта, который наследует класс

HibernateDAO и помогает работать с базой данных (загружать, сохранять объекты

по предприятию)*/

public class PlantDAO extends HibernateDAO<Plant> {

/** instance класс (экземпляр) */

private static PlantDAO instance = new PlantDAO();

/**конструктор объектов класса */ private PlantDAO() {

super(Plant. class);

}

/** возврат экзмепляра класса */

public static PlantDAO getInstance() { return instance;

}

}

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

3.6. А рисунок 3.7 иллюстрирует логику пакета jfuzzydb.

3.7. Работа с программой JFuzzyTool 1.0

Для решения задач, поставленных в диссертационном исследовании, был создан программный продукт JFuzzyTool 1.0., запатентованный в Роспатенте.

По сути, он представляет собой два приложения:

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

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

3.7.1. Общий алгоритм работы с программой JFuzzyTool 1.0

Сценарий работы программы можно представить в виде схемы (рис. 3.8).

Рисунок 3.8. Сценарий работы с JFuzzyTool 1.0 для создания нечетких экспертных

систем

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

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

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

Рисунок 3.9. Главное окно программы Далее пользователь составляет детальное описание каждой задачи, работая с редакторами функций принадлежности и нечетких правил. Данные редакторы имеют интерфейс, сходный с интерфейсом компоненты Matlab Fuzzy Logic Toolbox, что может облегчить взаимодействие работы с программой для пользователей, которые ранее работали с Matlab.

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

Редактор вызывается по нажатию кнопки EditMFs. Его вид представлен на рисунке 3.10. Пользователь задает в главном окне диапазон значений на универсальном множестве, которые может принимать лингвистическая переменная. Далее он определяем количество и имена термов описываемой переменной, и задает вид функции принадлежности наилучшим образом аппроксимирующей зависимость.

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

Пользователь задает тип связи в правилах (ИЛИ, И) и вес каждого правила. Математическая запись правил представляет собой следующий кортеж: числа до запятой - это номер термов входных лингвистических переменных, после запятой - выходных. Знак «-» указывает на выполнение над переменной логического отрицания (НЕ). В скобках указывается вес правила, а после двоеточия тип связи: «1» - И, «0» - ИЛИ.

Рисунок 3.11. Редактор правил вычисления результата необходимо выбрать пункт меню: File/Calculate.

Для

Рисунок 3.12. Окно вычислений программы

3.7.2. Алгоритм работы с нечеткой экспертной системой, созданной в программном модуле JFuzzyTool 1.0

В результате выполнения действий, описанных в параграфе 3.7.1. была получена структура нечеткой экспертной системы эколого-экономического анализа, сохраненная в виде XML-файла (Приложение 4) и представленная в графическом виде на рисунке 3.14.

На рисунке 3.13 представлен сценарий работы с ней.

Рисунок 3.13. Сценарий работы с экспертной системой эколого-экономического

анализа

Работа с исходными данными заключается в заполнении таблиц Plant, GarbageRecord, AirRecord, WaterRecord, Asset, Passive, Benefit базы данных в ручную или данными текстовых файлов. Затем рассчитываются аналитические показатели, служащие входными переменными для иерархий нечеткого вывода.

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

Рисунок 3.14. Графическое представление иерархической нечеткой экспертной

системы эколого-экономического анализа

4. ЭКСПЕРИМЕНТЫ, ПРОВЕДЕННЫЕ В РАЗРАБОТАННОМ КОМПЛЕКСЕ ПРОГРАММ JFUZZYTOOL 1.0

4.1. Эксперименты на тестовых примерах

Проведем экспериментов на тестовых данных для сравнения их с результатами моделирования в среде Matlab Fuzzy Logic Toolbox.

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

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

Оценка проводилась в системе Matlab Fuzzy Logic Toolbox с использованием промежуточных операций фаззификации/дефаззификации, в JFuzzyTool по разработанному в рамках исследования алгоритму, а также экспертом.

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

В виде XML -структуры задача будет иметь следующий вид:

На первом слое две задачи следующего содержания:

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="mm" name="Task 1" numInputs="2" numOutputs="1" numRules="4" orMethod="probor" type="sugeno">

-    <variable maxRange="50.0" minRange="5.0" name="discount" numMf="3">

<mf name="small" params="0.0 5.0 27.5" type="trimf" />

<mf name="middle" params="5.0 27.5 50.0" type="trimf" />

<mf name="big" params="27.5 50.0 50.0" type="trimf" />

</variable>

-    <variable maxRange="36.0" minRange="3.0" name="period" numMf="3">

<mf name="short" params="0.0 3.0 19.5" type="trimf" />

<mf name="medium" params="3.0 19.5 36.0" type="trimf" />

<mf name="long" params="19.5 36.0 36.0" type="trimf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="rate" numMf="3">

<mf name="bad" params="0.0 0.0 0.0" type="lmear" />

<mf name="normal" params="0.0 0.0 0.5" type="linear" />

<mf name="good" params="0.0 0.0 1.0" type="linear" />

</variable>

Система нечетких правил для задач первого слоя:

<rule value="1 1, 3 (1.0) : 1" />

<rule value="-1 3, 1 (1.0) : 1" />

<rule value="2 2, 2 (1.0) : 1" />

<rule value="3 1, 2 (1.0) : 1" />

На втором слое:

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min" name="Task 1" numInputs="2" numOutputs="1" numRules="9" orMethod="probor" type="sugeno">

<variable link="Layer 1#Task 2#rate" name="Input 1" />

<variable link="Layer 1#Task 1#rate" name="Input 2" />

-    <variable maxRange="1.0" minRange="0.0" name="Output 1" numMf="3">

<mf name="bad" params="0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.5" type="linear" />

<mf name="good" params="0.0 0.0 1.0" type="linear" />

</variable>

Система нечетких правил для задачи второго слоя:

<rule value="1 1, 1 (1.0) : 1" />

<rule value="2 2, 2 (1.0) : 1" />

<rule value="3 3, 3 (1.0) : 1" />

<rule value="1 2, 1 (1.0) : 1" />

<rule value="2 1, 1 (1.0) : 1" />

<rule value="2 3, 3 (1.0) : 1" />

<rule value="3 2, 3 (1.0) : 1" />

<rule value="1 3, 2 (1.0) : 1" />

<rule value="3 1, 2 (1.0) : 1" />

Результаты выполнения на тестовой выборке представлены в таблице 4.1.

Сравнение результатов вычислений JFuzzyTool и Matlab Fuzzy Logic Toolbox


Таблица 4.1

Вектор входных

Расчеты в Matlab

Расчеты в

Ошибка

переменных

JFuzzyTool

вычислений

5 3 5 3

1 1

1,00000

1,00000

0,00000

6 6 6 6

0,995 0,995

1,00000

0,99995

-0,00005

12 12 12 12

0,824 0,824

0,93700

0,93824

0,00124

10 12 15 15

0,872 0,660

0,91300

0,91308

0,00008

15 10 23 18

0,815 0,512

0,81900

0,81909

0,00009

07 12 35 24

0,948 0,320

0,76500

0,76760

0,00260

16 16 16 16

0,610 0,610

0,69500

0,69552

0,00052

43 24 10 10

0,227 0,913

0,63100

0,63976

0,00876

17 17 17 17

0,568 0,568

0,62700

0,62600

-0,00100

18 18 18 18

0,534 0,534

0,56600

0,56578

-0,00022

19 19 19 19

0,509 0,509

0,51800

0,51845

0,00045

20 20 20 20

0,485 0,485

0,45800

0,47016

0,01216

25 24 15 24

0,364 0,364

0,25900

0,26146

0,00246

40 30 25 15

0,101 0,522

0,11900

0,12365

0,00465

25 32 45 12

0,121 0,500

0,11700

0,12121

0,00421

15 30 45 26

0,0563 0,127

0,01320

0,01435

0,00115

48 35 48 35

0,00285 0,00285

0,00000

0,000016

0,000016

50 36 50 36

0 0

0,00000

0,00000

0,00000

Рисунок 4.1. Сравнение расчетов, выполненных в Matlab и JFuzzyTool Оценки, полученные по результатам работы программы, совпали с мнением эксперта. Из этого можно сделать вывод, что для простых систем результаты Matlab и JFuzzyTool отличаются не существенно.

Пример 2. 3 слоя, 7 задач. У нас есть набор из четырех средозащитных мероприятий, которые эксперт объединил в две группы по степени их похожести, и мы должны оценить их совокупную эффективность. Содержание задач первого слоя у нас не измениться и будет аналогичным задачам из примера 1.

В виде XML -структуры задача будет иметь следующий вид:

Две задачи второго слоя, следующего содержания:

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="mm" name="Task 1" numInputs="2" numOutputs="1" numRules="9" orMethod="probor" type="sugeno">

<variable link="Layer 1#Task 2#rate" name="Input 1" />

<variable link="Layer 1#Task 1#rate" name="Input 2" />

-    <variable maxRange="1.0" minRange="0.0" name="Output 1" numMf="3">

<mf name="bad" params="0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.5" type="linear" />

<mf name="good" params="0.0 0.0 1.0" type="linear" />

</variable>

Система нечетких правил для задач второго слоя примет вид:

<rule value="1 1, 1 (1.0) : 1" />

<rule value="2 2, 2 (1.0) : 1" />

<rule value="3 3, 3 (1.0) : 1" />

<rule value="1 2, 1 (1.0) : 1" />

<rule value="2 1, 1 (1.0) : 1" />

<rule value="2 3, 3 (1.0) : 1" />

<rule value="3 2, 3 (1.0) : 1" />

<rule value="1 3, 2 (1.0) : 1" />

<rule value="3 1, 2 (1.0) : 1" />

И у нас появляется третий слой:

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min" name="Task 1" numInputs="2" numOutputs="1" numRules="9" orMethod="probor" type="sugeno">

<variable link="Layer 2#Task 1#Output 1" name="Input 1" />

<variable link="Layer 2#Task 2#Output 1" name="Input 2" />

-    <variable maxRange="1.0" minRange="0.0" name="Output 1" numMf="3">

<mf name="bad" params="0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.5" type="linear" />

<mf name="good" params="0.0 0.0 1.0" type="linear" />

</variable>

Система нечетких правил для задачи третьего слоя примет вид:

<rule value="1 1, 1 (1.0) : 1" />

<rule value="2 2, 2 (1.0) : 1" />

<rule value="3 3, 3 (1.0) : 1" />

<rule value="1 2, 1 (1.0) : 1" />

<rule value="2 1, 1 (1.0) : 1" />

<rule value="2 3, 3 (1.0) : 1" />

<rule value="3 2, 3 (1.0) : 1" />

<rule value="3 1, 2 (1.0) : 1" />

<rule value="1 3, 2 (1.0) : 1" />

Сравнение результатов вычислений JFuzzyTool и Matlab Fuzzy Logic Toolbox


Таблица 4.2

Вектор входных переменных

Расчеты в Matlab

Расчеты в JFuzzyTool

Ошибка

вычислений

5 3 5 3

1 1

1,00000

1

1

0

5 3 5 3

1 1

1,00000

6 6 6 6

0,995 0,995

1,00000

1

0,99999

-1E-05

6 6 6 6

0,995 0,995

1,00000

12 12 12 12 12 12 12 12

0,824 0,824 0,824 0,824

0,93700

0,93700

0,991

0,97423

-0,01677

10 12 15 15 10 12 15 15

0,872 0,660 0,872 0,660

0,91300

0,91300

0,984

0,96741

-0,01659

15 10 23 18 15 10 23 18

0,815 0,512 0,815 0,512

0,81900

0,81900

0,933

0,93123

-0,00177

07 12 35 24 07 12 35 24

0,948 0,320 0,948 0,320

0,76500

0,76500

0,888

0,88592

-0,00208

16 16 16 16 16 16 16 16

0,610 0,610 0,610 0,610

0,69500

0,69500

0,813

0,7261

-0,0869

43 24 10 10 43 24 10 10

0,227 0,913 0,227 0,913

0,63100

0,63100

0,727

0,69552

-0,03148

17 17 17 17 17 17 17 17

0,568 0,568 0,568 0,568

0,62700

0,62700

0,721

0,626

-0,095

18 18 18 18 18 18 18 18

0,534 0,534 0,534 0,534

0,56600

0,56600

0,623

0,56578

-0,05722

19 19 19 19 19 19 19 19

0,509 0,509 0,509 0,509

0,51800

0,51800

0,535

0,51845

-0,01655

20 20 20 20 20 20 20 20

0,485 0,485 0,485 0,485

0,45800

0,45800

0,409

0,47016

0,06116

25 24 15 24 25 24 15 24

0,364 0,364 0,364 0,364

0,25900

0,25900

0,131

0,26446

0,13346

40 30 25 15 40 30 25 15

0,101 0,522 0,101 0,522

0,11900

0,11900

0,027

0,03142

0,00442

25 32 45 12 25 32 45 12

0,121 0,500 0,121 0,500

0,11700

0,11700

0,0261

0,02938

0,00328

15 30 45 26 15 30 45 26

0,0563 0,127 0,0563 0,127

0,01320

0,01320

0,00017

6

0,00009

-0,00009

48 35 48 35 48 35 48 35

0,00285 0,00285 0,00285 0,00285

0,00000

0,00000

0

5,4E-10

5,4E-10

50 36 50 36 50 36 50 36

0 0 0 0

0,00000

0,00000

0

0

0

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

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

Полученные в обеих программах данные были оценены экспертом. Эксперт отдал предпочтение результатам работы JFuzzyTool. (рис. 4.2 и 4.4.)


Рисунок 4.3. Ошибка вычислений, полученная из-за проведения промежуточных операций фаззификации - дефаззификации в Matlab


Пример 3. 4 слоя, 9 задач. У нас есть набор из 6 средозащитных мероприятий, которые эксперт объединил в 3 группы по степени их похожести, и мы должны оценить их совокупную эффективность. Результаты экспериментов представлены на рис. 4.4 и 4.5.

Таблица 4.3

Сравнение результатов вычислений JFuzzyTool, Matlab Fuzzy Logic Toolbox и мнения эксперта по задаче оценки набора средозащитных мероприятий

Результат вычислений в JFuzzyTool

Результат вычислений в среде Matlab

Экспертные оценки

1

1

1

1

1

1

0,97

1

1

0,95

1

1

0,93

0,95

0,93

0,89

0,92

0,88

0,72

0,85

0,75

0,7

0,79

0,7

0,65

0,75

0,65

0,57

0,65

0,55

0,51

0,5

0,5

0,45

0,28

0,4

0,29

0,09

0,26

0,031

0,01

0,03

0,03

0

0,01

0,00009

0

0

0

0

0

0

0

0

Примеры 2 и 3 наглядно показывают, что при увеличении числа задач и слоев, то есть при усложнении иерархий, результаты, получаемые с помощью Matlab, расходятся с мнением эксперта примерно на 5-10%. Это обусловлено накоплением математической погрешности при проведении в Matlab операций промежуточной фаззификации - дефаззификации.

Исходными данными для проведения экспериментов и апробации качества работы нечеткой экспертной системы послужили данные публичной бухгалтерской отчетности и отчеты по экологическим платежам за 2004 год, 1 квартал 2005 года, 3 квартал 2005 г. ОАО «Кварц». Данные периоды были выбраны в связи с тем, что имеются аудиторские заключения (Приложение 3) об экономическом состоянии, это позволяет сравнивать выводы, полученные с помощью программного комплекса и выводы экспертов-профессионалов аудиторской фирмы ООО "Лидер-Аудит".

Общие сведения о предприятии представлены на рис. 4.6.

Рисунок 4.6. Общие сведения об ОАО «Кварц»

Предприятие расположено в поселке Силикатный Сенгилеевского района Ульяновская области. Его основная хозяйственная деятельность: добыча и обогащение кварцевых песков. Доля доходов от основной хозяйственной деятельности: 100 %. Сезонный характер основной хозяйственной деятельности отсутствует. Виды деятельности: добыча сырья на Ташлинском месторождении кварцевых песков и его обогащение для производства.

В России на сегодняшний день обогащение стекольных песков осуществляют только три предприятия: ОАО "Раменский ГОК", ОАО "Кварц" и ОАО "Дальстек", разрабатывающие, соответственно, Егановское, Ташлинское и Антоновское месторождения. Остальные предприятия поставляют кварцевые пески стекольным заводам без предварительной обработки и обогащения.

Кварц осуществляет свою деятельность по добыче и обогащению кварцевых песков на базе одного из крупнейших месторождений Европы - уникального Ташлинского месторождения, открытого в 1934 году в Сенгилеевском районе Ульяновской области и отвечающего самым высоким требованиям стекольной промышленности. Согласно таблице, приведенной в международном справочнике для геологов, наиболее чистое месторождение кварцевых песков находится в Гегенбоке (Германия), второе по качеству - в Фонтебло (Франция), следующее -наше Ташлинское, четвертое - Оттавское (Канада), а замыкает пятерку лучших месторождений мира Линское (Великобритания).

Продукция ОАО "Кварц" соответствует требованиям ГОСТ 22551-77 "Песок кварцевый, молотый песчаник, кварцит и жильный кварц для стекольной промышленности", санитарно-эпидемиологическое заключение Государственной санитарно-эпидемиологической службы по Ульяновской области №73.ОЦ.11572.П.000229.07.03 от 24.07.03г. Благодаря применяемому методу магнитной сепарации ОАО "Кварц" - единственное в России предприятие, предлагающее своим партнерам сухие обогащенные кварцевые пески марок ООВС-015-1 и ОВС-020-В с наименьшим содержанием оксидов железа и алюминия.

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

4.2.1. Исходные данные для вычислительных экспериментов

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

проводились. Единицы измерения - тыс. рублей.

Таблица 4.4

Сведения о выбросах и сбросах загрязняющих веществ, а также об отходах за

Наименование загрязняющего вещества

Общий

выброс

норматив

лимит

Загрязнение воздуха

1

Оксид углерода

20

7,2

8

2

Угольная зола

5

2,5

3,5

Загрязнение воды

1.

Сухой остаток

4

2,5

2,5

2.

Кальций (взвеси)

7

3

4

Отходы

1

ТБО

2

-

1,2

2.

Отходы добывающей промышленности

10

-

10

3.

Отходы перерабатывающей промышленности

15

-

15

Отчет о прибылях и убытках и бухгалтерский баланс ОАО «Кварц» за данный

1 квартал 2005 года


период также приведены в Приложении 3.

4.2.2. Аналитические показатели - числовые значения лингвистических оценок.

Description

Value

Показатели рентабельности

Рентабельность продукции

0.1302411 1

Рентабельность основной деятельности

0.1 4S74393

Рентабельность основного капитала

0.033427794

Рентабельность собственного капитала

0.04625807

Показатели деловой активности

Оборачиваемость производственных запасов

2.0071 626

Оборачиваемость основного капитала

0.4187130

Показатели ликвидности

Коэффициент покрытия общий

1.9633826

Коэффициент быстрой ликвидности

1.3852632

Коэффициент абсолютной ликвидности

0.029574

Доля оборотных средств в активах

0.56302094

Показатели финансовой стабильности

Коэффициент концентрации собственного капитала

0.71 07572

Коэффициент автономии

0.71 07572

Коэффициент финансовой устойчивости

0.7132271 5

Коэффициент Бивера

1.0042068

Рисунок 4.7. Экономические показатели ОАО «Кварц» на 31.03.2005

Description

Value

Размер платежей

Плата за выброс загрязняющие веществ в атмосферу

259226.5

Плата за сборы загрязняющих веществ ч водные объекты

1427.8999

Плата за размещение отходов

1С 2 61J 0

Величина платежей в % к себестоимости

6.419531 Е-^1

Величина платежей в % к прибыли:

G012G1 4059

Коэффициент соотношения платы за загрязнение

2.701426

Рисунок 4.8. Финансовые показатели экологической безопасности ОАО

«Кварц» на 31.03.2005.

4.2.3. Результаты работы нечеткой экспертной системы анализа экологической безопасности горнопромышленного производства

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

1. FuzzyClient::calculateSingleOutput(): calculating output for task: liquidity -вычисляем выходное значение для подзадачи «ликвидность». Для проведения вычислений каждую лингвистическую переменную связываем с ее числовым значением (проводим эту процедуру для каждой подзадачи).

1.    FuzzyTask::assignInputs(): assign input: Covering, value: 1.845568

2.    FuzzyTask::assignInputs(): assign input: FastLiquidity, value: 0.012974586

3.    FuzzyTask::assignInputs(): assign input: AbsLiquidity, value: 1.284752

4.    FuzzyTask::assignInputs(): assign input: ObSActiv, value: 0.56645954

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

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

1.    Covering. fuzzyfication(1.845568) name: bad, function value: 8.28536685E-10

fuzzyfication(1.845568) name:normal, function value: 0.9999999547634317

2.    FastLiquidity: fuzzyfication(0.012974586) name: bad, function value: 0.99999

fuzzyfication(0.012974586) name: normal, function value: 2.076583694622E-8

fuzzyfication(0.012974586) name: high, function value: 3.0067303E-16

3. AbsLiquidity: fuzzyfication(1.284752) name: low function value: 5.453275E-15 fuzzyfication(1.284752) name:normall function value: 5.885152205615822E-85 fuzzyfication(1.284752) name:high ,function value: 0.9999999999970304 4.ObSActiv: fuzzyfication(0.56645954) name: low ,function value: 0.00127761 fuzzyfication(0.56645954) name:high ,function value: 0.9705104498026415 Далее, в зависимости от используемого в правиле лингвистического терма, подставляем в них значения соответствующих степеней принадлежности (табл. 4.5): F uzzyT ask:: computeF iringStrength()

Рисунок 4.9. Вычисление уровня пригодности правил для задачи liquidity

Таблица 4.5

№ правила

Значения вектора

1

[8.2853668532854E-10, 0.9999, 5.453275268753306E-15, 0.0013]

2

[0.9999, 3.006730295918187E-16, 0.9999, 0.9705]

3

[0.9999, 2.6718138812498182E-9, 5.453275268753306E-15, 0.9987]

4

[8.285367E-10, 2.6718139E-9, 5.453275E-15, 0.9987]

5

[0.9999, 2.0765836946219436E-8, 5.885152205615822E-85, 0.0013]

6

[0.9999, 3.006730295918187E-16, 0.9999, 0.0013]

7

[0.9999, 0.9999, 5.453275268753306E-15, 0.9987]

Вычисляем FiringStrength -степень выполнения правила: число из диапазона [0, 1], указывающее степень выполняется посылки нечеткого правила, степень выполнения является результатом выполнения операций И, ИЛИ и НЕ:

[5.7725E-27, 2.918E-16, 1.455E-23, 1.206E-32, 1.561E-95, 3.841E-19, 5.446E-15] Вычисляем вектор значений выходной переменной:

FuzzyVariable.MemberFunction::computeTaskRuleOutput(): low, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): normal, funValue:0.5 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): high, funValue:1.0 FuzzyTask::evaluate() rule output0: [0.0, 1.0, 0.5, 0.0, 0.5, 1.0, 0.0] - этот вектор мы передаем в машину нечеткого вывода следующего уровня иерархии, умноженный на вектор FiringStrength. Если провести дефаззификацию, то мы получим следующее значение: outputO: 0.05091757878149858

2. Оценка деловой активности: calculating output for task: activity.

Выполняем ту же последовательность действий: сначала связываем переменные с их числовыми значениями: FuzzyTask::assignInputs(): assign input: MoneyCycle, value: 1.4777365 и FuzzyTask::assignInputs(): assign input: StockCycle, value: 6.3970375. Затем фаззифицируем их:

1.    MoneyCycle: fuzzyfication(1.4777365) name: low function value: 0.00835 fuzzyfication(1.4777365) name:normal function value: 0.99798 fuzzyfication(1.4777365) name:big function value: 0.0054

2.    StockCycle: fuzzyfication(6.3970375) name:low , function value: 1.76544E-15 fuzzyfication(6.3970375) name:normal function value: 0.1365 fuzzyfication(6.3970375) name:high function value: 0.9815

Вычисляем уровни пригодности правил (рис. 4.10 и табл. 4.6):

Таблица 4.6

№ правила

Значения вектора

1

[0.008347877896390238, 1.7654425489595728E-15]

2

[0.9979789290698717, 0.13648443914376196]

3

[0.005364170066588013, 0.981482991565699]

4

[0.008347877896390238, 0.981482991565699]

5

[0.005364170066588013, 1.7654425489595728E-15]

6

[0.005364170066588013, 0.9999999999999982]

7

[0.9916521221036098, 0.981482991565699]

Выходной вектор уровней пригодности: [1.474E-17, 0.136, 0.0053, 0.008, 9.47E-18, 0.0054, 0.973]

Рисунок 4.10. Вычисление уровня пригодности правил для задачи activity Вычисляем значение выходной переменной: FuzzyVariable.MemberFunction::computeTaskRuleOutput(): low, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): normal, funValue:0.5 F uzzyV ariable. MemberF unction:: computeT askRuleOutput(): high, funV alue :1.0 FuzzyTask::evaluate() rule output0: [0.0, 0.5, 1.0, 0.5, 0.5, 1.0, 1.0]. Продефаззифицировав, получим: outputO: 0.9360102550316152 3. Оценка финансовой стабильности: calculating output for task: stability FuzzyTask::assignInputs(): assign input: ConcentrOwnCap, value: 0.692295 FuzzyTask::assignInputs(): assign input: FinStability, value: 0.6937047 FuzzyTask::assignInputs(): assign input: Autonomy, value: 0.692295 FuzzyTask::assignInputs(): assign input: Biver, value: 1.2144926 1. ConcentrOwnCap: fuzzyfication(0.692295) name:low ,function value: 1.9191E-8 fuzzyfication(0.692295) name:middle ,function value: 4.552E-4

fuzzyfication(0.692295) name:high ,function value: 0.9993035723664264

2.    FinStability: fuzzyfication(0.6937047) name:low ,function value: 3.8033E-4 fuzzyfication(0.6937047) name:high ,function value: 0.9971965413605407

3.Autonomy:    fuzzyfication(0.692295) name:low function value: 0.00288 fuzzyfication(0.692295) name:normal function value: 0.97908

4.    Biver: fuzzyfication(1.2144926) name:low, function value: 7.9351E-13 fuzzyfication(1.2144926) name:middle, function value: 1.2196E-65 fuzzyfication(1.2144926) name:high, function value: 0.99999 Вычисляем уровни пригодности правил (рис. 4.11 и табл. 4.7)

№ правила

Значения вектора

1

[1.919051E-8, 3.8033E-4, 0.0029, 1.0]

2

[0.9993, 0.9972, 0.9791, 0.9999]

3

[0.9999, 0.9972, 0.97908, 0.9999]

4

[1.919051E-8, 0.9972, 0.9791, 1.2196E-65]

5

[4.5520E-4, 0.9972, 0.9791, 1.2196E-65]

6

[0.9999, 0.9996, 0.9971, 7.9351E-13]

7

[0.9999, 0.9972, 0.97908, 7.9351E-13]

[1.919051E-8, 3.8033E-4, 0.9791, 1.2196E-65]

Выходной вектор уровней пригодности FiringStrength: [2.1045E-14, 0.9757,

8


0.976, 2.285E-73, 5.4204E-69, 7.9092E-13]

Формируем выходной вектор:

FuzzyVariable.MemberFunction::computeTaskRuleOutput(): low, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): normal: funValue:0.5 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): high, funValue:1.0 FuzzyTask::evaluate() rule output0: [0.0, 1.0, 1.0, 0.5, 0.5, 0.0] FuzzyTask::evaluate() outputO: 0.9999999999995841

4. Вычисляем эффективность деятельности (показатели рентабельности): calculating output for task: cost-efficiency

FuzzyTask::assignInputs(): assign input: EfProducts, value: 0.119197674 FuzzyTask::assignInputs(): assign input: EfMainActivity, value: 0.13532852 FuzzyTask::assignInputs(): assign input: EfMainCapital, value: 0.08749144 FuzzyTask::assignInputs(): assign input: EfOwnCapital, value: 0.118787006

1.    EfProducts: fuzzyfication(0.119197674) name:low ,function value: 0.07872 fuzzyfication(0.119197674) name:middle ,function value: 0.60045 fuzzyfication(0.119197674) name:high ,function value: 9.7317E-6

2.EfMainActivity:    fuzzyfication(0.13532852) name:low ,function value: 0.0367 fuzzyfication(0.13532852) name:middle ,function value: 0.7213 fuzzyfication(0.13532852) name:high ,function value: 2.180E-5

3.EfMainCapital:    fuzzyfication(0.08749144) name:low function value: 0.2943 fuzzyfication(0.08749144) name:middle function value: 0.372 fuzzyfication(0.08749144) name:high function value: 1.9939E-6

4.    EfOwnCapital: fuzzyfication(0.118787006) name:low ,function value: 0.0802 fuzzyfication(0.118787006) name:middle ,function value: 0.5973 fuzzyfication(0.118787006) name:high ,function value: 9.534E-6 Вычисляем уровни пригодности правил (рис. 4.12 и табл. 4.8)

№ правила

Значения вектора

1

[0.07872, 0.0367, 0.2943, 0.08022]

2

[9.7317E-6, 2.180E-5, 1.9939E-6, 9.5339E-6]

3

[0.60045, 0.7212, 0.3719, 0.5973]

4

[0.9999, 0.9999, 0.7057, 0.9198]

5

[0.92128, 0.96326, 0.9999, 0.9999]

6

[9.7317E-6, 2.180E-5, 0.9999, 9.5339E-6]

7

[0.60045, 0.721, 0.706, 0.597]

8

[0.0787, 0.0367, 0.9999, 0.9999]

FiringStrength: [6.828E-5, 4.0329E-21, 0.09623, 0.6491, 0.8874, 2.0226E-15, 0.18256, 0.0023]

Рисунок 4.12. Вычисление уровня пригодности правил для задачи cost-

efficiency F uzzyT ask:: computeT askRuleOutput()

FuzzyVariable.MemberFunction::computeTaskRuleOutput(): low, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): normal, funValue:0.5 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): high, funValue:1.0 FuzzyTask::evaluate() rule output0: [0.0, 1.0, 0.5, 0.5, 0.5, 1.0, 0.5, 0.0]

FuzzyTask::evaluate() output0: 0.49918589618558373

5. Вычисляем ценность территории: EcoSafety-Terra FuzzyTask::assignInputs(): assign input: HistoricValue, value: 1.0 FuzzyTask::assignInputs(): assign input: BiologicValue, value: 3.0 FuzzyTask::assignInputs(): assign input: PeopleValue, value: 3.0 FuzzyTask::assignInputs(): assign input: CulturalValue, value: 1.0

1.    HistoricValue и CulturalValue: fuzzyfication(1.0) name:Low,function value: 1.0 fuzzyfication(1.0) name:Medium ,function value: 0.0

fuzzyfication(1.0) name:High ,function value: 0.0

2.    BiologicValue и PeopleValue: fuzzyfication(3.0) name:Low ,function value: 0.5 fuzzyfication(3.0) name:medium ,function value: 0.625

fuzzyfication(3.0) name:High ,function value: 0.0 Вычисляем уровни пригодности правил (рис. 4.13 и табл. 4.9)

Рисунок 4.13. Вычисление уровня пригодности правил для EcoTerra

Таблица 4.9

№ правила

Значения вектора

1

[0.0, 0.625, 0.625, 0.0]

2

[1.0, 0.5, 0.5, 1.0]

3

[0.0, 0.0, 0.0, 0.0]

4

[1.0, 0.5, 0.5, 1.0]

5

[0.0, 1.0, 1.0, 0.0]

6

[1.0, 0.0, 0.0, 1.0]

7

[1.0, 0.0, 0.0, 1.0]

Вычисляем FiringStrength: [0.0, 0.25, 0.0, 0.25, 0.0, 0.0, 0.0]

Вычисляем значение выходного нечеткого множества: FuzzyVariable.MemberFunction::computeTaskRuleOutput(): low, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): medium, funValue:0.5 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): high, funValue:1.0 FuzzyTask::evaluate() rule output0: [0.5, 0.0, 1.0, 0.0, 1.0, 1.0, 0.5] FuzzyTask::evaluate () output0: 0.25

6. И последняя задача первого слоя - экологические платежи: EcoPayment FuzzyTask::assignInputs(): assign input: KLimiteffect, value: 9.7974465E-5 FuzzyTask::assignInputs(): assign input: KUnderLimitEf, value: 0.0020115818 FuzzyTask::assignInputs(): assign input: UnLimit/Limit, value: 2.7785237

1.    KLimiteffect: fuzzyfication(9.79745E-5) name:Normal ,function value: 0.993245 fuzzyfication(9.79745E-5)name:Excess,function value: 0.0067583007089562575

2.    KUnderLimitEf: fuzzyfication(0.0020116) name:decent ,function value: 0.988338 fuzzyfication(0.0020116)name:dangerous,function value: 0.01166 fuzzyfication(0.0020116) name:Critical ,function value: 1.45624E-6

3.    UnLimit/Limit: fuzzyfication(2.7785237) name:Normal ,function value: 0.99433 fuzzyfication(2.7785237) name:Overflow ,function value: 0.00127.

Вычисляем уровни пригодности правил (рис. 4.14 и табл. 4.10):

Таблица 4.10

№ правила

Значения вектора

1

[0.0067583, 1.45624E-6, 0.00127]

2

[0.993242, 0.98834, 0.99433]

3

[0.0067583, 0.98834, 0.99433]

4

[0.0067583, 0.0117, 0.99433]

5

[0.0067583, 0.0117, 0.00127]

Вычисляем значение FiringStrength: [1.251E-11, 0.9761, 0.0066, 7.837E-5, 1.002E-7, 1.839E-9]

Рисунок 4.14. Вычисление уровня пригодности правил для EcoPayment F uzzyV ariable:: computeT askRuleOutput()

FuzzyVariable.MemberFunction::computeTaskRuleOutput(): bad, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): normal, funValue:0.5 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): good, funValue:1.0 FuzzyTask::evaluate() rule output0: [0.0, 1.0, 1.0, 0.5, 0.0, 0.0] FuzzyTask::evaluate() outputO: 0.9999600253022864 7. Задачи 7 и 8 - это две задачи второго слоя (intermediate)

Первая состоит в обобщении 4 задач первого слоя: economic (табл. 4.11):

Таблица 4.11


kiimitEf = 0.01    KUnLimitEf = 0.028    .UnlimitUmri = 2.3


eccpaymemt = 1


-0.1 1,1


№ правила

Значения вектора

1

[2.918063E-16, 0.97329, 0.976335, 2.02261926E-15]

2

[5.446308E-15, 1.47377E-17, 7.9092E-13, 0.0029]

3

[0.9999, 1.0, 7.9092E-13, 0.0029]

4

[5.44631E-15, 1.0, 7.909E-13, 0.99711]

5

[0.9999, 1.47377E-17, 0.9999, 0.0029]

6

[5.4463E-15, 1.47377E-17, 0.9999, 0.99711]

7

[0.9999, 1.0, 0.9999, 0.99711]

8

[5.4463E-15, 1.0, 0.9999, 0.0029]

9

[0.9999, 1.47377E-17, 7.9092E-13, 0.99711]

Вычисляем FiringStrength: [5.61E-31, 1.84E-46, 2.29E-15, 4.3E-27, 4.26E-20, 8.0034E-32, 0.9971, 1.575E-17, 1.162E-29].

Вычисляем значение выходного вектора: FuzzyVariable.MemberFunction::computeTaskRuleOutput(): verybad, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): bad, funValue:0.3 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): good, funValue:0.7 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): excellent, funValue:1.0 FuzzyTask::evaluate() rule output0: [1.0, 0.0, 0.3, 0.3, 0.3, 0.3, 0.7, 0.3, 0.3] FuzzyTask::evaluate() output0: 0.699999999999999 Вторая состоит в обобщении 5 и 6 задачи: ecologic (табл. 4.12):

Таблица 4.12

№ правила

Значения вектора

1

[0.25, 0.9760896754318205]

2

[0.0, 0.9760896754318205]

3

[0.0, 0.9760896754318205]

4

[0.25, 7.83709392650468E-5]

5

[0.0, 7.83709392650468E-5]

6

[0.0, 7.83709392650468E-5]

7

[0.25, 1.0020139196367809E-7]

8

[0.0, 1.0020139196367809E-7]

9

[0.0, 1.0020139196367809E-7]

FuzzyTask::computeFiringStrength(): FiringStrength: [0.244, 0.0, 0.0, 1.959E-5,

0.0, 0.0, 2.505E-8, 0.0, 0.0]

F uzzyV ariable:: computeT askRuleOutput()

FuzzyVariable.MemberFunction::computeTaskRuleOutput(): bad, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): normal, funValue:0.5

FuzzyVariable.MemberFunction::computeTaskRuleOutput(): good, funValue:1.0 FuzzyTask::evaluate() rule outputO: [1.0, 1.0, 1.0, 1.0, 0.5, 0.5, 0.0, 0.0, 0.0] FuzzyTask::evaluate() output0: 0.9999998973523236

9. Задача оценки комплексного состояния предприятия: на последнем слое у нас есть не только промежуточные переменные, но и одна, которую необходимо фаззифицировать. FinalLayer, calculating output for task: Aggregate (табл. 4.13) FuzzyTask::assignInputs(): assign input: HazardClass, value: 3.0 HazardClass: fuzzyfication(3.0) name:Low function value: 0.0 fuzzyfication(3.0) name: medium function value: 1.0; fuzzyfication(3.0) name:high function value: 0.16667.

Таблица 4.13

№ правила

Значения вектора

1

[1.8361E-46, 2.505E-8, 1.0]

2

[1.8361E-46, 2.505E-8, 0.16667]

3

[2.28748E-15, 2.505E-8, 0.0]

4

[2.28748E-15, 2.505E-8, 1.0]

5

[2.28748E-15, 2.505E-8, 0.16667]

6

[2.28748E-15, 0.9999, 0.0]

7

[2.28748E-15, 0.9999, 1.0]

8

[2.28748E-15, 0.9999, 0.16667]

9

[2.28748E-15, 2.505E-8, 0.0]

10

[0.99711, 2.505E-8, 1.0]

11

[0.99711, 0.0, 1.0]

12

[5.60854E-31, 0.24402, 1.0]

13

[5.60854E-31, 0.24402, 0.0]

14

[0.99711, 0.24402, 0.0]

15

[0.99711, 0.24402, 1.0]

16

[0.99711, 0.24402, 0.16667]

FuzzyTask::computeFiringStrength(): FiringStrength: [4.5994114676504606E-54, 7.665685779417432E-55, 0.0, 5.730207907014972E-23, 9.550346511691618E-24, 0.0,

2.2874763119252503E-15, 3.812460519875416E-16, 0.0, 2.4977897838709082E-8, 0.0, 1.3686094170976798E-31, 0.0, 0.0, 0.24331666174051197, 0.04055277695675199] FuzzyVariable.MemberFunction::computeTaskRuleOutput(): bad, funValue:0.0 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): EcolChange, funValue:0.4 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): FinChange, funValue:0.6 FuzzyVariable.MemberFunction::computeTaskRuleOutput(): good, funValue:1.0

FuzzyTask::evaluate() rule output0: [0.0, 0.0, 0.0, 0.0, 0.0, 0.6, 0.6, 0.6, 0.0, 0.4,

0.4, 1.0, 1.0, 1.0, 1.0, 1.0]

FuzzyTask::evaluate() output0: 0.9999999472055233 FuzzyTask::getOutput() Aggregate output: [0.9999999472055233]

В результате работы программы было получено экспертное заключение в HTML - формате, которое было оценено экспертом с целью проверки адекватности работы нечеткой экспертной системы.

Мнение эксперта полностью совпало с результатами работы программы за все три проанализированных периода, кроме того, в части, касающейся экономического анализа было проведено сравнение рассчитанных аналитических показателей и сделанных на их основании выводов с экспертным заключением компании ООО «Лидер-Аудит» (Приложения 3 и 4).

Таким образом, можно сделать вывод, что разработанный комплекс программ на основе предложенной модели анализа экологической безопасности горнопромышленного производства на основе иерархического нечеткого вывода по Сугено полностью удовлетворяет требованиям, предъявляемым к экспертным системам, что подтверждено его внедрением на ОАО « Кварц».

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

Надежность и эффективность данного метода подтверждена внедрением и успешной эксплуатацией разработанного комплекса программ на открытом акционерном обществе «Кварц». Методика, предложенная автором для оценки соответствия деятельности предприятия нормам экологической безопасности, была охарактеризована положительно экспертом Танеевым Ф.Г., членом НП «Горнопромышленники России» и используется им в качестве вспомогательной при проведении аудита предприятий горнодобывающей промышленности.

Основные итоги.

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

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

3.    Разработаны механизм и алгоритмы иерархического нечеткого вывода по Сугено - основа нечеткой экспертной системы.

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

сопоставимости и на его основе построена модель интегральной оценки состояния экологической безопасности предприятия.

5.    Разработана математическая модель экологической безопасности горнодобывающего производства.

6.    На основе созданной модели построена нечеткая экспертная система анализа экологической безопасности горнодобывающего производства, внедренная на ОАО «Кварц» и запатентованная в Роспатенте.

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

ЛИТЕРАТУРА

1.    Dwinnell W. Modeling Methodology 4: Localizing Global Models -http: //will. dwinnell. com

2.    Ivanova N.N. Fuzzy Expert system based simulation and analysis of economic and ecological states for the enterprises.// Proceedings of international conference: “Interactive Systems and Technologies: The Problem of Human-Computer Interaction”. In 2v.- Ulyanovsk, UlSTU, 2005. - V.2. , P. 19-20.

3.    Ivanova N.N. The Model of Hierarchical Fuzzy Deduction.// Information Technologies: Proceeding of Russian-German scientific conference devoted to 10-years cooperation of Ulyanovsk State Technical University and Darmstadt University of Applied Science. - Ulyanovsk, UlSTU, 2007.- P.32-34.

4.    Jarushkina N.G., Yastrebov I. S., Yastrebova N.N. Using hierarchical fuzzy logic in developing expert system in the program JFuzzyTool 1.0.// Proceedings of international conference: “Interactive Systems and Technologies: The Problem of Human-Computer Interaction”. In 2 v.- Ulyanovsk, UlSTU, 2007. - V.1., P. 27-30.

5.    Yuehui Chen, Lizhi Peng. Programing Hierarchical TS Fuzzy Systems -www.ujn.edu.cn

6.    Zimmermann H.-J. Fuzzy Set Theory and its Applications. 3rd ed.-Dordrecht: Kluwer Academic Publishers.- 1996. - 315p.

7.    Аверкин А. Н., Батыршин И. З., Блишун А. Ф. и др. Нечеткие множества в моделях управления и искусственного интеллекта. - М.: Наука, 1986.

8.    Аверкин А.Н., Федосеева И.Н. Параметрические логики в интеллектуальных системах управления. - М.: Вычислительный центр РАН, 2000.

9.    Акимова Т.А., Хаскин В.В. Экология: Учебник для вузов. - М.: ЮНИТИ, 1998. - 455 с.

10.    Алексеев В.В., Крышев И.И., Сазыкина Т.Г. Физическое и математическое моделирование экосистем. - СПб., 1992. - 367 с.

11.    Андрейчиков А.В., Андрейчикова О.Н. Анализ, синтез, планирование решений в экономике. - М.: Финансы и статистика, 2000.

12.    Ануфриев И., Смирнов А., Смирнова Е.. MATLAB 7.0 в подлиннике. -М.: Новая техническая книга, 2005.

13.    Беллман Р., Заде Л. Принятие решений в расплывчатых условиях. В кн.: Вопросы анализа и процедуры принятия решений. М.: Мир - 1976. - С.172-215.

14.    Берштейн Л.С., Боженюк А.В., Малышев Н.Г. Нечеткие модели для экспертных систем САПР. - М.: Энергоатомиздат, 1991.

15.    Бешелев С.Д., Гурвич Ф.Г. Экспертные оценки. - М.: Наука, 1973. - 79 с.

16.    Борисов А.Н., Алексеев А.В., Крумберг О.А. Модели принятия решений на основе лингвистической переменной. - Рига: Зинатне, 1989.

17.    Борисов А.Н., Алексеев А.В., Меркурьев Г.В. и др. Обработка нечеткой информации в системах принятия решений. - М., Радио и связь, 1989.

18.    Бурков В.Н. Большие системы: моделирование организационных механизмов. - М.: Наука, 1989. - 354 с.

19.    Васильев В.И., Ильясов Б.Г. Интеллектуальные системы управления с использованием нечеткой логики. Учеб. пособие. - Уфа: УГАТУ, 1997.

20.    Вилкас Э. Й., Майминас Е. З. Решения: теория, информация, моделирование. - М., Радио и связь, 1981.

21.    Геловани В.А., Башлыков А. А., Бритков В.Б., Вязилов Е.Д. Интеллектуальные системы поддержки принятия решений в нештатных ситуациях с использованием информации о состоянии природной среды. - М.: Лаборатория знаний, 2001.- 304 с.

22.    Глухов В.В и др. Экономические основы экологии. - СПб: Специальная литература, 1995.

23.    Голуб А.А., Струкова Е.Б. Экономика природных ресурсов. - М.: "Аспект-Пресс", 1998.

24.    Голунков Ю.В. Компьютерные модели в экологии и охране природы. Учебно-методическое пособие. - УлГУ, 2000.

25.    ГОСТ 17.0.0.01-76. Система стандартов в области охраны природы и улучшения использования природных ресурсов. Основные положения

26.    ГОСТ 17.0.0.02-79. Охрана природы. Метрологическое обеспечение контроля загрязненности поверхностных вод, атмосферы и почвы. Основные положения

27.    ГОСТ 17.0.0.06-2000. Охрана природы. Экологический паспорт природопользователя. Основные положения. Типовые формы

28.    ГОСТ 17.1.3.06-82. Охрана природы. ГИДРОСФЕРА. Общие требования к охране подземных вод

29.    ГОСТ 17.2.3.02-78. Охрана природы. АТМОСФЕРА Правила установления допустимых выбросов вредных веществ промышленными предприятиями.

30.    ГОСТ 17.4.3.02-85. Охрана природы. ПОЧВЫ. Требования к охране плодородного слоя почвы при производстве земляных работ

31.    ГОСТ 17.5.1.02-85. Охрана природы. ЗЕМЛИ Классификация нарушенных земель для рекультивации

32.    ГОСТ 17.5.3.04-83. Охрана природы. ЗЕМЛИ. Общие требования к рекультивации земель

33.    ГОСТ 17.5.3.06-85. Охрана природы. ЗЕМЛИ Требования к определению норм снятия плодородного слоя почвы при производстве земляных работ

34.    ГОСТ 17.5.4.01-84. Охрана природы. РЕКУЛЬТИВАЦИЯ ЗЕМЕЛЬ. Метод определения рН водной вытяжки вскрышных и вмещающих пород

35.    ГОСТ 30772-2001 Ресурсосбережение. ОБРАЩЕНИЕ С ОТХОДАМИ. Термины и определения

36.    ГОСТ 30773-2001 Ресурсосбережение. ОБРАЩЕНИЕ С ОТХОДАМИ. Этапы технологического цикла. Основные положения

37.    ГОСТ 30774-2001 Ресурсосбережение. ОБРАЩЕНИЕ С ОТХОДАМИ. Паспорт опасности отходов. Основные требования

38.    ГОСТ 30775-2001 Ресурсосбережение. ОБРАЩЕНИЕ С ОТХОДАМИ. Классификация, идентификация и кодирование отходов. Основные положения

39.    ГОСТ Р 17.2.02.06-99 Охрана природы АТМОСФЕРА Нормы и методы измерения содержания оксида углерода и углеводородов в отработавших газах газобаллонных автомобилей

40.    ГОСТ Р 51769-2001. Ресурсосбережение. ОБРАЩЕНИЕ С ОТХОДАМИ. Документирование и регулирование деятельности по обращению с отходами производства и потребления. Основные положения.

41.    Гринин А.С., Орехов Н.А., Новиков В.Н. Математическое моделирование в экологии: Учебное пособие для вузов. - М.:ЮНИТИ-ДАНА,2003.

42.    Грищенко О.В. Анализ и диагностика финансово-хозяйственной деятельности предприятия. - http://www.aup.ru/books/m67

43.    Диагностирование на граф-моделях: На примерах авиационной и автомобильной техники / Я.Я.Осис, Я.А.Гёльфандбёйн, З.П.Маркович, Н.В.Новожилова. - М.: Транспорт, 1991. - 244 с.

44.    Дьяконов В., Круглов В. Математические пакеты расширения Matlab.: Специальный справочник. - СПб: Питер, 2001.

45.    Дьяконов В.П. Matlab 6.5 SP1/7 + Simulink 5/6 в математике и моделировании. - М.: СОЛОН-Пресс, 2005. - 576с.

46.    Дэйвисон М. Многомерное шкалирование: методы наглядного представления данных: Пер. с англ.- М.: Финансы и статистика, 1988. - 254 с.

47.    Дюбуа Д., Прад А. Теория возможностей. Приложение к представлению знаний в информатике: пер. с фр. - М.: Радио и связь, 1990.

48.    Егоров В.А., Каллистов Ю.Н.. Математические модели глобального развития: критический анализ моделей природопользования. - Л.: Гидрометеоиздат,

1980.

49.    Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений: Пер. с англ. - М.: Мир, 1976. - 165 с.

50.    Заде Л.А. Основы нового подхода к анализу сложных систем и процессов принятия решений. - М.: Знание, 1974.

51.    Иванова Н.Н. Применение иерархического нечеткого вывода в экспертной системе эколого-экономического анализа.// Искусственный интеллект в 21 веке. Решения в условиях неопределенности: сборник статей IV Всероссийской научно-технической конференции. - Пенза, 2006.- С. 83-86.

52.    Иванова Н.Н. Проект мягкой экспертной системы анализа безопасности природно-технических систем (промышленной безопасности).// Тезисы докладов 39 научно-технической конференции УлГТУ «Вузовская наука в современных условиях». - Ульяновск, 2005. - Ч.1. С.88.

53.    Иванова Н.Н., Ярушкина Н.Г. Исследование многошагового нечеткого вывода на примере построения экспертной системы оценки экологической безопасности производственной деятельности.// Труды 10 национальной конференции с международным участием КИИ-2006. В 3 т.- М.: Физматлит, 2006.-Т. 2., С.400-407.

54.    Ивахненко А.Г., Юрачковский Ю.П. Моделирование сложных систем по экспериментальным данным. - М.: Радио и связь, 1987.

55.    Инструктивно-методические указания по взиманию платы за загрязнение окружающей природной среды (утв. Минприроды РФ 26.01.1993 г.) (с изм. и доп. от 15.02.2000 г.).

56.    Искусственный интеллект: Справочник: В 3 кн. / Под ред. Д.А. Поспелова. - М.: Радио и связь, 1990. - Кн.2: Модели и методы. - 304 с.

57.    Калмыков С.А., Шокин Ю.И., Юлдашев З.Х. Методы интервального анализа. - Новосибирск: Наука, 1986.

58.    Киквидзе З.А., Ткемаладзе Н.Г. об одном способе взвешивания элементов нечеткого множества. // Сообщение АН ГССР, 1979, т.93, №2. С. 317-320.

59.    Китаев Н.Н. Групповые экспертные оценки. - М.: Знание, 1975. - 64 с.

60.    Кондрашов В., Королев С. Matlab как система программирования научно-технических расчетов. - М.:Мир. 2002.

61.    Кофман А. Введение в теорию нечетких множеств. Пер. с фр. - М.: Радио и связь, 1982.

62.    Красовский А.А. Некоторые актуальные проблемы науки управления // Изв. РАН, Теория и системы управления. 1996. Т.6. С.8-16

63.    Кривилев А.. Основы компьютерной математики с использованием системы MATLAB. Лекс-Книга, 2005.

64.    Кудинов Ю.И. Нечеткие системы управления. // Техническая кибернетика. - 1990. - № 5. - С. 196-206.

65.    Кузнецов В.П. Интервальные статистические модели. - М.: Радио и связь, 1991.

66.    Ларичев О.И. Объективные модели и субъективные решения. - М.: Наука, 1987. - 143 с.

67.    Ларичев О.И., Мошкович Е.М. Качественные методы принятия решений. Вербальный анализ решений. - М.: Наука. Физматлит, 1996. - 208 с.

68.    Леоненков А. Нечеткое моделирование в среде MATLAB и FuzzyTECH.

- СПб.: БХВ-Петербург, 2003.

69.    Литвак Б.Г. Экспертная информация. Методы получения и анализа. - М.: Радио и связь, 1982. -184 с.

70.    Мелихов А.Н., Берштейн Л.С., Коровин С.Я. Ситуационные советующие системы с нечеткой логикой. - М.: Наука, 1990. - 272 с.

71.    Методика определения предотвращенного экологического ущерба. Государственный комитет РФ по охране окружающей среды. М., 1999.

72.    Моисеев Н.Н. Математические задачи системного анализа. - М.: Наука,

1981. - 487 с.

73.    Моисеев Н.Н. Неформальные процедуры и автоматизация проектирования. - М.: Знание, 1979. - 64 с.

74.    Нечеткие множества в моделях управления и искусственного интеллекта/ А.Н. Аверкин, И.З. Батыршин, А.Ф. Блишун, В.Б. Силов, В.Б. Тарасов /Под ред. Д.А. Поспелова. - М.: Наука. Гл. ред. физ.-мат. лит., 1986. - 312 с.

75.    Норвиг А.М., Турсон И.Б. Построение функций принадлежности.// Нечеткие множества и теория возможностей. Последние достижения: пер. с англ./ под ред. Р.Р. Ягера. - М.: Радио и связь, 1986. - 408 с.

76.    Орлов А. А. Теория принятия решений. - М.: Экзамен, 2006. - 573 с.

77.    Орлов А.И. Задачи оптимизации и нечеткие переменные. - М.: Знание, 1980. - 64 с.

78.    Орлов А.И. Эконометрика. - М.: Экзамен, 2002.

79.    Орлов А.И. Экспертные оценки.//Вопросы кибернетики. - Вып.58. - М.: Научный совет АН СССР по комплексной проблеме "Кибернетика", 1979.- С.17-33.

80.    Орлов А.И.Статистические методы анализа экспертных оценок. - М.: Наука, 1977.

81.    Орловский С.А. Проблемы принятия решений при нечеткой исходной информации. - М.: Радио и связь, 1981. - 286 с.

82.    Осгуд Ч., Суси Дж., Танненбаум П. Приложение методики семантического дифференциала к исследованиям по эстетике и смежным проблемам // Семиотика и искусствометрия. - М.: Мир, 1972.

83.    Осис Я.Я.. Кибернетика и диагностика. - Рига: Зинатне, 1970.

84.    Пазайтис В.С., Львов Ю.В. Экономико-математическое моделирование производственных систем. - М.: Высшая школа, 1991. - 191 с.

85.    Панкевич О.Д., Маевская И.В. Определение причин появления трещин кирпичных конструкций на основе нечетких баз знаний // Известия вузов: Строительство. 2002. №1-2, С.4-8.

86.    Панкова Л.А., Петровский А.М., Шнейдерман М.В. Организация экспертиз и анализ экспертной информации. - М.:Наука, 1984. - 120 с.

87.    Петров К.М. Общая экология: взаимодействие общества и природы: Учебное пособие для вузов. СПб: Химия, 1997. - 352 с., ил.

88.    Подиновский В.В., Ногин В. Д. Парето-оптимальные решения многокритериальных задач. - М.: Наука, 1982. - 254 с.

89.    Положение по бухгалтерскому учету "Бухгалтерская отчетность организации" (ПБУ 4/99)

90.    Поспелов Д. А. Логико-лингвистические методы в системах управления. -М.: Энергоатомиздат, 1981. - 190 с.

91.    Постановление Госкомстата РФ от 01.09.2003 г. № 80 "Об утверждении Порядка заполнения и представления формы федерального государственного статистического наблюдения № 4-ОС "Сведения о текущих затратах на охрану окружающей среды и экологических платежах".

92.    Постановление Правительства РФ от 01.07.2005 г. № 410 "О внесении изменений в Приложение № 1 к Постановлению Правительства РФ от 12.06.2003 г. № 344".

93.    Постановление Правительства РФ от 12.06.2003 г. № 344 "О нормативах платы за выбросы в атмосферный воздух загрязняющих веществ стационарными и передвижными источниками, сбросы загрязняющих веществ в поверхностные и подземные водные объекты, размещение отходов производства и потребления".

94.    Постановление Правительства РФ от 28.08.1992 г. № 632 "Об утверждении Порядка определения платы и ее предельных размеров за загрязнение окружающей природной среды, размещение отходов, другие виды вредного воздействия" (с изменениями от 27.12.1994 г.).

95.    Потемкин В. Вычисления в среде MATLAB. - М.: Диалог-МИФИ, 2004.

96.    Приказ Минфина РФ от 12 ноября 1996 г. №97 "О годовой бухгалтерской отчетности организаций"

97.    Приказ Федеральной службы по экологическому, технологическому и атомному надзору от 23.05.2006 г. № 459 "Об утверждении формы Расчета платы за негативное воздействие на окружающую среду и порядка заполнения и представления формы Расчета платы за негативное воздействие на окружающую среду".

98.    Прикладные нечеткие системы: пер. с яп. / К.Асаи, Д. Ватада, С. Иваи и др. Под ред. Т. Тэрано, К. Асаи, М. Суджено. - М. : Мир, 1993.

99.    Ратанова М.П., Сиротин В.И. Рациональное природопользование и охрана окружающей среды: Пособие для учащихся, - М.:Мнемозина, 1998.

100.    Робертс Фред С. Дискретные математические модели с приложениями к социальным, биологическим и экономическим задачам: Пер. с англ. - М.: Наука, 1986. - 494 с.

101.    Ротштейн А.П. Интеллектуальные технологии идентификации: нечеткая логика, генетические алгоритмы, нейронные сети. - Винница: УНИВЕРСУМ-Виница, 1999. - 320 с

102.    Ротштейн А.П., Штовба С.Д. Нечеткий многокритериальный анализ вариантов с применением парных сравнений // Известия РАН. Теория и системы управления.- 2001.- №3.- С.150-154.

103.    Рыжов А.П. Элементы теории нечетких множеств и измерения нечеткости. - М.: Диалог -МГУ, 1998.

104.    Саати Т. Принятие решений. Метод анализа иерархии: Пер. с англ. - М.: Радио и связь, 1993. - 320 с.

105.    Саати Т., Кернс К. Аналитическое планирование. Организация систем: Пер. с англ. - М.: Радио и связь, 1991. - 224 с.

106.    Самуэльсон П. Экономика. В 2-х т.- М.: НПО "АЛГОН"- ВНИИСИ, 1992. - 751с.

107.    Свидетельство об официальной регистрации программы для ЭВМ №2007614448 от 23.10.2007г./ Н.Н. Ястребова// М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам.

108.    Смит Дж. М. Модели в экологии. - М.: Мир, 1976.

109.    Соколов А.Ю. Алгебраическое моделирование лингвистических динамических систем // Проблемы управления и информатики. - 2000. - №2. - С. 141-148.

110.    Статистические методы анализа экспертных оценок. - М.: Наука, 1977. -

384 с.

111.    Тюрин Ю.Н., Литвак Б.Г., Орлов А.И., Сатаров Г.А., Шмерлинг Д.С. Анализ нечисловой информации/ Препринт.- М.: Научный совет АН СССР по комплексной проблеме "Кибернетика", 1981. - 80 с.

112.    Тюрин Ю.Н., Шмерлинг Д.С. Непараметрические методы статистики// Социология: методология, методы, математические модели, 2004, № 18, C.154-166.

113.    Федеральный закон "О бухгалтерском учете".

114.    Форрестер Дж. Основы кибернетики предприятия: Пер. с англ. - М.: Прогресс, 1971. - 310 с.

115.    Хорунжая Т.А. Методы оценки экологической безопасности. - М.: Экспертное бюро, 1998. - 208 с.

116.    Цисарь И., Нейман В. Компьютерное моделирование экономики. - М.: Диалог-МИФИ. 2002.

117.    Чернова Н.М., Былова А.М. Экология. - М.: Просвещение, 1988.

118.    Чернова Т.В. Экономическая статистика. Учеб. пособие. - Таганрог: Изд-во ТРТУ, 1999.

119.    Шелобаев С.И. Математические методы и модели в экономике, финансах, бизнесе: Учеб. пособие для вузов. - М.:Финансы и статистика,2005.- 367с.

120.    Шер А.П. Исследование тестовых методов диагностики и разработка на их основе алгоритмов обработки океанологической информации для задач рыбопромыслового прогнозирования: Автореф. дис. канд. техн. наук. - Владивосток, 1984.- 19 с.

121.    Шокин Ю.И. Интервальный анализ. - Новосибирск: Наука, Сибирск. отд-ние, 1981. - 112 с.

122.    Штовба С.Д. Введение в теорию нечетких множеств и нечеткую логику.

- http: //www. matl ab. ru/fuzzylogic/book 1 /index. asp

123.    Экология и экономика природопользования: Учеб. для вузов по экон. специальностям/ Э. В. Гирусов, С. Н. Бобылев, А. Л. Новоселов, Н. В. Чепурных; Под ред. Э. В. Гирусова. - М.: Закон и право: ЮНИТИ,1998.- 455 с.: ил.

124.    Экономико-математическое моделирование: Учебник для вузов под ред. Дрогобыцкого И.Н. -М.: Финансы и статистика., 2003.- 800 с.

125.    Экспертные оценки в задачах управления /Сборник трудов. - М.: Институт проблем управления, 1982. - 106 с.

126.    Эндрю А. Искусственный интеллект / Под ред. Поспелова Д. А. - М.: Мир, 1985.

127.    Ярушкина Н.Г, Быков Ю.В, Бушмелев Ю.Ю., Иванова Н.Н. Экспресс-WWW - анализ финансово-хозяйственной устойчивости предприятия. // Тезисы докладов 39 научно-технической конференции УлГТУ «Вузовская наука в современных условиях». - Ульяновск, 2005. - Ч.1. С.94.

128.    Ярушкина Н.Г. Основы теории нечетких и гибридных систем. Учеб. пособие. - М.: Финансы и статистика, 2004. - 320с. с ил.

129.    Ярушкина Н.Г., Ястребов И.С., Ястребова Н.Н. Построение экспертных систем на основе иерархического нечеткого вывода в программном модуле JFuzzyTool 1.0// Вторая международная конференция «Системный анализ и информационные технологии» САИТ-2007: Труды конференции. В 2 т. - М: Издательство ЛКИ, 2007.- Т.1, С.195-197.

130.    Ярушкина Н.Г., Ястребова Н.Н. Алгоритм иерархического нечеткого вывода и его практическая реализация.// IV международная научно-практическая конференция «Интегрированные модели и мягкие вычисления в искусственном интеллекте»: сборник научных трудов. В 2 т. - М.: Физматлит, 2007. - Т.1., С. 251257.

131.    Ястребова Н.Н. Возможности реализации иерархического нечеткого вывода. // Труды 41 научно-технической конференции УлГТУ «Вузовская наука в современных условиях», 2007 - С. 117.

132.    Ястребова Н.Н. Иерархический нечеткий вывод как новый метод компьютерных технологий анализа финансово-хозяйственной деятельности предприятия.// Аудит, налоги и бухгалтерский учет в Российской Федерации: основы, теория и практика: сборник статей VI Международной научно-практической конференции. - Пенза, 2007. С. 181-183.

133.    Ястребова Н.Н. Иерархический нечеткий логический вывод и его практическая реализация JFuzzy - 1.0 // Информационные и интеллектуальные технологии: труды международной «Конференции по логике, информатике, науковедению - КЛИН-2007». - Ульяновск: УлГТУ, 2007. - Т.2., 105-107.

134.    Ястребова Н.Н. Моделирование экспертной системы экологоэкономического анализа в JFuzzyTool 1.0. // Аналитические и численные методы моделирования естественнонаучных и социальных проблем: сборник статей II Международной научно-технической конференции. - Пенза, 2007. С. 133-135.

135.    Ястребова Н.Н. Нечеткая экспертная система эколого-экономического анализа. // Информатика и экономика: сборник научных трудов/ под ред. Ярушкиной

Н.Г. - Ульяновск: УлГТУ, 2007. - С.126-137 .

136.    Ястребова Н.Н. Построение экспертных систем на базе иерархического нечеткого вывода.// «Программные продукты и системы», №4. - 2007. - С. 18-21.

137.    Ястребова Н.Н. Свидетельство об отраслевой регистрации разработки №1000 от 23.10.2007 г., выданное на «Нечеткую экспертную систему экологоэкономического анализа».

138.    Ястребова Н.Н. Экономическая целесообразность экологической безопасности.// Экономика природопользования и природоохраны: сборник статей Х Международной научно-практической конференции. - Пенза, 2007. С. 89-91.

139.    Ястребова Н.Н. Экспертная система эколого-экономического анализа деятельности предприятия.// Современный российский менеджмент: состояние, проблемы, развитие: сборник статей VII Международной научно-методической конференции. - Пенза, 2007. С. 276-279.

140.    Яхъяева Г. Э. Нечеткие множества и нейронные сети - М.: Лаборатория знаний, 2006. - 320с.

ПРИЛОЖЕНИЕ 1. ОРГАНИЗАЦИЯ ТАБЛИЦ БАЗЫ ДАННЫХ ЭКСПЕРТНОЙ СИСТЕМЫ ЭКОЛОГИЧЕСКОЙ БЕЗОПАСНОСТИ ГОРНОПРОМЫШЛЕННОГО ПРОИЗВОДСТВА

1. Plant.java

Таблица Plant представляет собой класс public class Plant.

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

name

String

Название предприятия

reports

Set

Набор отчетов о финансовом состоянии

ecoReports

Set

Набор отчетов об экологическом состоянии

danger

int

Класс опасности

historicValue

int

Историческая ценность территории

bioValue

int

Биологическая ценность территории

humanValue

int

Человеческая ценность территории

cultValue

int

Культурная ценность территории

region

Region

Регион, в котором находится предприятие

river

River

Бассейн реки, к которому относится предприятие

Hybernate -mapping:

<class name="jfuzzydb.dto.Plant" table="PLANT">

<id name="id" column="ID">

<generator class="increment"/>

</id>

<property name="name"/>

<property name="danger"/>

<property name="historicValue"/>

<property name="bioValue"/>

<property name="humanValue"/>

<property name="cultValue"/>

<set name="reports" table="REPORT" lazy="false">

<key column="PLANT_ID"/>

<one-to-many class="jfuzzydb.dto.Report"/> </set>

<set name="ecoReports" table=MECOREPORTM lazy=MfalseM>

<key column="PLANT_ID"/>

<one-to-many class="jfuzzydb.dto.EcoReport"/> </set>

<many-to-one name="region" class="jfuzzydb.dto.Region" column="REGION_ID" lazy="false"/> <many-to-one name="river" class="jfuzzydb.dto.River" column="RIVER_ID" lazy="false"/> </class>

2. Region.java

Таблица Region - public class Region

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

name

String

Название предприятия

air

float

Коэффициент значимости территории, используемый в формуле расчета загрязнения воздуха

garbage

float

Коэффициент значимости территории, используемый в формуле расчета платы за складирование отходов

Hibernate-mapping:

<class name="jfuzzydb.dto.Region" table="REGION"> <id name="id" column="REGION_ID">

<generator class="increment"/>

</id>

<property name="name"/>

<property name="air"/>

<property name="garbage"/>

</class>

3. River.java

Таблица River - public class River

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

sea

String

Название моря, к которому принадлежит река

name

String

Название реки, которая подвергается загрязнению

region

String

Название региона, в котором расположено предприятие

coef

float

Коэффициент значимости бассейна реки, используемый в формуле расчета платы за ее загрязнение

Hibernate-mapping:

<class name="jfuzzydb.dto.River" table=MRIVERM> <id name="id" column="RIVER_ID"> <generator class="increment"/>

</id>

<property name="sea"/>

<property name="name"/>

<property name="region "/>

<property name="coef"/>

</class>

4. Garbage.java

Таблица Garbage - public class Garbage

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

name

String

Наименование отхода по классификатору

price

float

Стоимость размещения 1 т. отходов по классификатору

Hibernate-mapping:

<class name="jfuzzydb.dto.Garbage" table="GARBAGE"> <id name="id" column="GARBAGE_ID">

<generator class="increment"/>

</id>

<property name="name"/>

<property name="price"/>

</class>

5. GarbageRecord.java

Таблица GarbageRecord - public class GarbageRecord

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

value1

float

Выделенный предприятию лимит на размещение отходов

Value2

float

Реальный размер размещенных отходов

еcoReport

EcoReport

Ссылка на запись таблицы EcoReport

garbage

Garbage

Ссылка на запись таблицы garbage

Hibernate-mapping:

<class name="jfuzzydb.dto.GarbageRecord" table="GARBAGERECORD">

<id name="id" column="GARBAGERECORD_ID">

<generator class="increment"/>

</id>

<property name="value1"/>

<property name="value2"/>

<many-to-one name="ecoReport" class="jfuzzydb.dto.EcoReport" column="ECOREPORT_ID" lazy="false"/>

<many-to-one name="garbage" class="jfuzzydb.dto.Garbage" column="GARBAGE_ID" lazy="false"/>

</class>

6. AirOutput.java

Таблица AirOutput - public class AirOutput

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

name

String

Название загрязняющего вещества

value1

float

Установленный размер платы в пределах норматива

value2

float

Установленный размер платы за сверхнормативное загрязнение

Hibernate-mapping:

<class name="jfuzzydb.dto.AirOutput" table="AIROUTPUT"> <id name="id" column="AIROUTPUT_ID">

<generator class="increment"/>

</id>

<property name="name"/>

<property name="value1"/>

<property name="value2"/>

</class>

7. AirRecord.java

Таблица AirRecord - public class AirRecord

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

value1

float

Установленный предприятию норматив на выброс данного вещества

value2

float

Установленный предприятию лимит на выброс данного вещества

value3

float

Реальный размер выброса загрязняюшего вещества

ecoReport

EcoReport

Ссылка на запись таблицы EcoReport

airOutput

AirOutput

Ссылка на запись таблицы AirOutput

Hibernate-mapping:

<class name="jfuzzydb.dto.AirRecord" table="AIRRECORD">

<id name="id" column="AIRRECORD_ID">

<generator class="increment"/>

</id>

<property name="value1"/>

<property name="value2"/>

<property name="value3"/>

<many-to-one name="ecoReport" class="jfuzzydb.dto.EcoReport" column="ECOREPORT_ID" lazy="false"/>

<many-to-one name="airOutput" class="jfuzzydb.dto.AirOutput" column="AIROUTPUT_ID" lazy="false"/>

</class>

8. WaterOutput.java

Таблица WaterOutput - public class WaterOutput

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

name

String

Название загрязняющего вещества

value1

float

Установленный размер платы в пределах норматива

value2

float

Установленный размер платы за сверхнормативное загрязнение

Hibernate-mapping:

<class name="jfuzzydb.dto.WaterOutput" table="WATEROUTPUT"> <id name="id" column="WATEROUTPUT_ID">

<generator class="increment"/>

</id>

<property name="name"/>

<property name="value1"/> <property name="value2"/>

</class>

9. WaterRecord.java

Таблица AirRecord - public class AirRecord

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

value1

float

Установленный предприятию норматив на выброс данного вещества

value2

float

Установленный предприятию лимит на выброс данного вещества

value3

float

Реальный размер выброса загрязняюшего вещества

ecoReport

EcoReport

Ссылка на запись таблицы EcoReport

WaterOutput

WaterOutput

Ссылка на запись таблицы WaterOutput

Hibernate-mapping:

<class name="jfuzzydb.dto.WaterRecord" table="WATERRECORD">

<id name="id" column="WATERRECORD_ID">

<generator class="increment"/>

</id>

<property name="value1"/>

<property name="value2"/>

<property name="value3"/>

<many-to-one name="ecoReport" class="jfuzzydb.dto.EcoReport" column="ECOREPORT_ID" lazy="false"/>

<many-to-one name="waterOutput" class="jfuzzydb.dto.WaterOutput" column= "WATEROUTPUT_ID" lazy="false"/>

</class>

10. Asset.java

Таблица Asset - public class Asset

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

itemXXX

float

XXX - номер строки актива бухгалтерского баланса

Hibernate-mapping:

<class name="jfuzzydb.dto.Asset" table="ASSET"> <id name="id" column="ASSET_ID"> <generator class="increment"/>

</id>

<property name="itemXXX"/>

</class>

11. Passive.java

Таблица Passive - public class Passive

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

itemXXX

float

XXX - номер строки пассива бухгалтерского баланса

Hibernate-mapping:

<class name="jfuzzydb.dto.Passive" table="PASSIVE"> <id name="id" column="PASSIVE_ID">

<generator class="increment"/>

</id>

<property name="itemXXX"/>

</class>

12. Benefit.java

Таблица Benefit - public class Benefit

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

itemXXX

float

XXX - номер строки отчета о прибылях и убытках

Hibernate-mapping:

<class name="jfuzzydb.dto.Benefit" table="BENEFIT"> <id name="id" column="BENEFIT_ID">

<generator class="increment"/>

</id>

<property name="itemXXX"/>

</class>

13. Report.java

Таблица Report - public class Report

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

plant

Plant

Ссылка на анализируемое предприятие

date

String

Дата отчета

asset

Asset

Ссылка на запись таблицы Asset на начало периода

passive

Passive

Ссылка на запись таблицы Passive на начало периода

assetEnd

Asset

Ссылка на запись таблицы Asset на конец периода

passiveEnd

Passive

Ссылка на запись таблицы Passive на конец периода

benefit

Benefit

Ссылка на запись таблицы Benefit

Hibernate-mapping

<class name="jfuzzydb.dto.Report" table="REPORT">

<id name="id" column="REPORT_ID">

<generator class="increment"/>

</id>

<property name="date" column="REPORT_DATE"/>

<many-to-one name="plant" class="jfuzzydb.dto.Plant" column="PLANT_ID" lazy="false"/> <many-to-one name="asset" class="jfuzzydb.dto.Asset" column="ASSET_ID" lazy="false"/> <many-to-one name="passive" class="jfuzzydb.dto.Passive" column="PASSIVE_ID" lazy="false"/> <many-to-one name="assetEnd" class="jfuzzydb.dto.Asset" column="ASSET_END_ID" lazy="false"/> <many-to-one name="passiveEnd" class="jfuzzydb.dto.Passive" column="PASSIVE_END_ID" lazy="false"/>

<many-to-one name="benefit" class="jfuzzydb.dto.Benefit" column="BENEFIT_ID" lazy="false"/>

</class>

14. EcoReport.java

Таблица EcoReport - public class EcoReport

Имя поля

Тип поля

Смысл и примечания

id

int

Идентификатор

plant

Plant

Ссылка на анализируемое предприятие

date

String

Дата отчета

airRecords

Set

Ссылка на набор записей о загрязняющих воздух веществах

waterRecords

Set

Ссылка на набор записей о загрязняющих воду веществах

garbageRecords

Set

Ссылка на набор записей о размещении отходов

Hibernate-mapping:

<class name="jfuzzydb.dto.EcoReport" table="ECOREPORT">

<id name="id" column="ECOREPORT_ID">

<generator class="increment"/>

</id>

<property name="date" column="REPORT_DATE"/>

<many-to-one name="plant" class="jfuzzydb.dto.Plant" column="PLANT_ID" lazy="false"/> <set name="airRecords" table="AIRRECORD" lazy="false">

<key column="ECOREPORT_ID"/>

<one-to-many class="jfuzzydb.dto.AirRecord"/>

</set>

<set name="waterRecords" table="WATERRECORD" lazy="false">

<key column="ECOREPORT_ID"/>

<one-to-many class="j fuzzydb. dto.W aterRecord"/>

</set>

<set name="garbageRecords" table="GARBAGERECORD" lazy="false">

<key column="ECOREPORT_ID"/>

<one-to-many class="jfuzzydb.dto.GarbageRecord"/>

</set>

</class>

ПРИЛОЖЕНИЕ 2. XML-СТРУКТУРА НЕЧЕТКОЙ ЭКСПЕРТНОЙ

СИСТЕМЫ ЭКОЛОГО-ЭКОНОМИЧЕСКОГО АНАЛИЗА

- <net layerCount="3" name="test" taskCount="9">

-    <layer name="analisInputData">

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="liquidity" numInputs="4" numOutputs="1" numRules="7" orMethod="probor" type="sugeno">

-    <variable maxRange="5.0" minRange="0.0" name="Covering" numMf="2">

<mf name="bad" params="-20.0 0.8" type="sigmf" />

<mf name="normal" params="20.0 1.0" type="sigmf" />

</variable>

-    <variable maxRange="3.0" minRange="0.0" name="FastLiquidity" numMf="3">

<mf name="bad" params="-20.0 1.0" type="sigmf" />

<mf name="normal" params="0.25 1.5" type="gaussmf" />

<mf name="high" params="20.0 1.8" type="sigmf" />

</variable>

-    <variable maxRange="2.0" minRange="0.0" name="AbsLiquidity" numMf="3">

<mf name="low" params="-30.0 0.19" type="sigmf" />

<mf name="normall" params="0.05 0.3" type="gaussmf" />

<mf name="high" params="30.0 0.4" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="ObSActiv" numMf="2">

<mf name="low" params="-25.0 0.3" type="sigmf" />

<mf name="high" params="30.0 0.45" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="liquidity" numMf="3">

<mf name="low" params="0.0 0.0 0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.0 0.0 0.5" type="linear" />

<mf name="high" params="0.0 0.0 0.0 0.0 1.0" type="linear" />

</variable>

<rule value="1 1 1 1, 1 (1.0) : 1" />

<rule value="2 3 3 2, 3 (1.0) : 1" />

<rule value="-1 -1 1 -1, 2 (1.0) : 1" />

<rule value="1 -1 1 -1, 1 (1.0) : 1" />

<rule value="2 2 2 1, 2 (1.0) : 1" />

<rule value="2 3 3 1, 3 (1.0) : 1" />

<rule value="-1 1 1 -1, 1 (1.0) : 1" />

</task>

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="activity" numInputs="2" numOutputs="1" numRules="7" orMethod="probor" type="sugeno">

-    <variable maxRange="10.0" minRange="0.0" name="MoneyCycle" numMf="3">

<mf name="low" params="-10.0 1.0" type="sigmf" />

<mf name="normal" params="0.35 1.5" type="gaussmf" />

<mf name="big" params="10.0 2.0" type="sigmf" />

</variable>

-    <variable maxRange="10.0" minRange="0.0" name="StockCycle" numMf="3">

<mf name="low" params="-10.0 3.0" type="sigmf" />

<mf name="normal" params="0.7 4.0 0.7 5.0" type="gauss2mf" />

<mf name="high" params="10.0 6.0" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="activity" numMf="3">

<mf name="low" params="0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.5" type="linear" />

<mf name="high" params="0.0 0.0 1.0" type="linear" />

</variable>

<rule value="1 1, 1 (1.0) : 1" />

<rule value="2 2, 2 (1.0) : 1" />

<rule value="3 3, 3 (1.0) : 1" />

<rule value="1 3, 2 (1.0) : 1" />

<rule value="3 1, 2 (1.0) : 1" />

<rule value="3 -1, 3 (1.0) : 1" />

<rule value="-1 3, 3 (1.0) : 1" />

</task>

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="stability" numInputs="4" numOutputs="1" numRules="6" orMethod="probor" type="sugeno">

-    <variable maxRange="2.0" minRange="-1.0" name="ConcentrOwnCap" numMf="3">

<mf name="low" params="-30.0 0.1" type="sigmf" />

<mf name="middle" params="0.1 0.3" type="gaussmf" />

<mf name="high" params="30.0 0.45" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="FinStability" numMf="2">

<mf name="low" params="-20.0 0.3" type="sigmf" />

<mf name="high" params="20.0 0.4" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="Autonomy" numMf="2">

<mf name="low" params="-20.0 0.4" type="sigmf" />

<mf name="normal" params="20.0 0.5" type="sigmf" />

</variable>

-    <variable maxRange="2.0" minRange="-1.0" name="Biver" numMf="3">

<mf name="low" params="-25.0 0.1" type="sigmf" />

<mf name="middle" params="0.05 0.25 0.05 0.35" type="gauss2mf" />

<mf name="high" params="25.0 0.45" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="stability" numMf="3">

<mf name="low" params="0.0 0.0 0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.0 0.0 0.5" type="linear" />

<mf name="high" params="0.0 0.0 0.0 0.0 1.0" type="linear" />

</variable>

<rule value="1 1 1 0, 1 (1.0) : 1" />

<rule value="3 2 2 3, 3 (1.0) : 1" />

<rule value="-1 2 2 -1, 3 (1.0) : 1" />

<rule value="1 2 2 2, 2 (1.0) : 1" />

<rule value="2 2 2 2, 2 (1.0) : 1" />

<rule value="-1 -1 -1 1, 1 (1.0) : 1" />

</task>

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="cost-efficiency" numInputs="4" numOutputs="1" numRules="8" orMethod="probor" type="sugeno">

-    <variable maxRange="1.0" minRange="-1.0" name="EfProducts" numMf="3">

<mf name="low" params="-50.0 0.07" type="sigmf" />

<mf name="middle" params="0.08 0.2" type="gaussmf" />

<mf name="high" params="50.0 0.35" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="-1.0" name="EfMainActivity" numMf="3">

<mf name="low" params="-50.0 0.07" type="sigmf" />

<mf name="middle" params="0.08 0.2" type="gaussmf" />

<mf name="high" params="50.0 0.35" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="-1.0" name="EfMamCapital" numMf="3">

<mf name="low" params="-50.0 0.07" type="sigmf" />

<mf name="middle" params="0.08 0.2" type="gaussmf" />

<mf name="high" params="50.0 0.35" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="-1.0" name="EfOwnCapital" numMf="3">

<mf name="low" params="-50.0 0.07" type="sigmf" />

<mf name="middle" params="0.08 0.2" type="gaussmf" />

<mf name="high" params="50.0 0.35" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="cost-efficiency" numMf="3">

<mf name="low" params="0.0 0.0 0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.0 0.0 0.5" type="linear" />

<mf name="high" params="0.0 0.0 0.0 0.0 1.0" type="linear" />

</variable>

<rule value="1 1 1 1, 1 (1.0) : 1" />

<rule value="3 3 3 3, 3 (1.0) : 1" />

<rule value="2 2 2 2, 2 (1.0) : 1" />

<rule value="-3 -3 -1 -1, 2 (1.0) : 1" />

<rule value="-1 -1 -3 -3, 2 (1.0) : 1" />

<rule value="3 3 -3 3, 3 (1.0) : 1" />

<rule value="2 2 -1 2, 2 (1.0) : 1" />

<rule value="1 1 -3 -3, 1 (1.0) : 1" />

</task>

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="EcoSafety-Terra" numInputs="4" numOutputs="1" numRules="7" orMethod="probor" type="sugeno">

-    <variable maxRange="10.0" minRange="0.0" name="HistoricValue" numMf="3">

<mf name="Low" params="0.0 0.0 1.0 5.0" type="trapmf" />

<mf name="Medium" params="1.0 4.2 5.8 9.0" type="trapmf" />

<mf name="High" params="5.0 9.0 10.0 10.0" type="trapmf" />

</variable>

-    <variable maxRange="10.0" minRange="0.0" name="BiologicValue" numMf="3">

<mf name="Low" params="0.0 0.0 1.0 5.0" type="trapmf" />

<mf name="medium" params="1.0 4.2 5.8 9.0" type="trapmf" />

<mf name="High" params="5.0 9.0 10.0 10.0" type="trapmf" />

</variable>

-    <variable maxRange="10.0" minRange="0.0" name="PeopleValue" numMf="3">

<mf name="Low" params="0.0 0.0 1.0 5.0" type="trapmf" />

<mf name="medium" params="1.0 4.2 5.8 9.0" type="trapmf" />

<mf name="high" params="5.0 9.0 10.0 10.0" type="trapmf" />

</variable>

-    <variable maxRange="10.0" minRange="0.0" name="CulturalValue" numMf="3">

<mf name="low" params="0.0 0.0 1.0 5.0" type="trapmf" />

<mf name="medium" params="1.0 4.2 5.8 9.0" type="trapmf" />

<mf name="high" params="5.0 9.0 10.0 10.0" type="trapmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="TerritoryValue" numMf="3">

<mf name="low" params="0.0 0.0 0.0 0.0 0.0" type="linear" />

<mf name="medium" params="0.0 0.0 0.0 0.0 0.5" type="linear" />

<mf name="high" params="0.0 0.0 0.0 0.0 1.0" type="linear" />

</variable>

<rule value="2 2 2 2, 2 (1.0) : 1" />

<rule value="1 1 1 1, 1 (1.0) : 1" />

<rule value="3 3 3 3, 3 (1.0) : 1" />

<rule value="1 -1 -1 1, -1 (1.0) : 1" />

<rule value="3 -3 -3 3, 3 (1.0) : 1" />

<rule value="-3 3 3 -3, 3 (1.0) : 1" />

<rule value="1 3 3 1, 2 (1.0) : 1" />

</task>

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="EcoPayment" numInputs="3" numOutputs="1" numRules="6" orMethod="probor" type="sugeno">

-    <variable maxRange="1.0" minRange="0.0" name="KLimiteffect" numMf="2">

<mf name="Normal" params="-100.0 0.05" type="sigmf" />

<mf name="Excess" params="100.0 0.05" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="KUnderLimitEf" numMf="3">

<mf name="decent" params="-30.0 0.15" type="sigmf" />

<mf name="dangerous" params="30.0 0.15 -30.0 0.45" type="psigmf" />

<mf name="Critical" params="30.0 0.45" type="sigmf" />

</variable>

-    <variable maxRange="100.0" minRange="0.0" name="UnLimit/Limit" numMf="2">

<mf name="Normal" params="-0.3 20.0" type="sigmf" />

<mf name="Overflow" params="0.3 25.0" type="sigmf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="payment" numMf="3">

<mf name="bad" params="0.0 0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.0 0.5" type="linear" />

<mf name="good" params="0.0 0.0 0.0 1.0" type="linear" />

</variable>

<rule value="2 3 2, 1 (1.0) : 1" />

<rule value="1 1 1, 3 (1.0) : 1" />

<rule value="2 1 1, 3 (1.0) : 1" />

<rule value="2 2 1, 2 (1.0) : 1" />

<rule value="2 2 2, 1 (1.0) : 1" />

<rule value="1 3 2, 1 (1.0) : 1" />

</task> </layer>

-    <layer name="1 intermediate">

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="economi c" numInputs="4" numOutputs="1" numRules="9" orMethod="probor" type="sugeno">

<variable link="analisInputData#liquidity#liquidity" name="liquidity" />

<variable link="analisInputData#activity#activity" name="activity" />

<variable link="analisInputData#stability#stability" name="stability" />

<variable link="analisInputData#cost-efficiency#cost-efficiency" name="cost-efficiency" />

-    <variable maxRange="1.0" minRange="0.0" name="economic" numMf="4">

<mf name="verybad" params="0.0 0.0 0.0 0.0 0.0" type="linear" />

<mf name="bad" params="0.0 0.0 0.0 0.0 0.3" type="linear" />

<mf name="good" params="0.0 0.0 0.0 0.0 0.7" type="linear" />

<mf name="excelent" params="0.0 0.0 0.0 0.0 1.0" type="linear" />

</variable>

<rule value="3 3 3 3, 4 (1.0) : 1" />

<rule value="1 1 1 1, 1 (1.0) : 1" />

<rule value="-1 -1 1 1, 2 (1.0) : 1" />

<rule value="1 -1 1 -1, 2 (1.0) : 1" />

<rule value="-1 1 -1 1, 2 (1.0) : 1" />

<rule value="1 1 -1 -1, 2 (1.0) : 1" />

<rule value="-1 -1 -1 -1, 3 (1.0) : 1" />

<rule value="1 -1 -1 1, 2 (1.0) : 1" />

<rule value="-1 1 1 -1, 2 (1.0) : 1" />

</task>

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="mm"

name="ecologic" numInputs="2" numOutputs="1" numRules="9" orMethod="probor" type="sugeno">

<variable link="analisInputData#EcoSafety-Terra#TerritoryValue" name="Territory" /> <variable link="analisInputData#EcoPayment#payment" name="payment" />

-    <variable maxRange="1.0" minRange="0.0" name="ecologic" numMf="3">

<mf name="bad" params="0.0 0.0 0.0" type="linear" />

<mf name="normal" params="0.0 0.0 0.5" type="linear" />

<mf name="good" params="0.0 0.0 1.0" type="linear" />

</variable>

<rule value="1 3, 3 (1.0) : 1" />

<rule value="2 3, 3 (1.0) : 1" />

<rule value="3 3, 3 (1.0) : 1" />

<rule value="1 2, 3 (1.0) : 1" />

<rule value="2 2, 2 (1.0) : 1" />

<rule value="3 2, 2 (1.0) : 1" />

<rule value="1 1, 1 (1.0) : 1" />

<rule value="2 1, 1 (1.0) : 1" />

<rule value="3 1, 1 (1.0) : 1" />

</task> </layer>

-    <layer name="FinalLayer">

-    <task aggMethod="max" andMethod="prod" defuzzMethod="wtaver" impMethod="min"

name="Aggregate" numInputs="3" numOutputs="1" numRules="16" orMethod="probor" type="sugeno">

<variable link="1 intermediate#economi c#economic" name="EconomicPart" /> <variable link="1 intermediate#ecologic#ecologic" name="EcologicPart" />

-    <variable maxRange="5.0" minRange="1.0" name="HazardClass" numMf="3">

<mf name="Low" params="0.0 1.0 2.0" type="trimf" />

<mf name="medium" params="1.4 3.0 4.5" type="trimf" />

<mf name="high" params="2.6 5.0 6.0" type="trimf" />

</variable>

-    <variable maxRange="1.0" minRange="0.0" name="Results" numMf="4">

<mf name="bad" params="0.0 0.0 0.0 0.0" type="linear" />

<mf name="EcolChange" params="0.0 0.0 0.0 0.4" type="linear" />

<mf name="FinChange" params="0.0 0.0 0.0 0.6" type="linear" />

<mf name="good" params="0.0 0.0 0.0 1.0" type="linear" />

</variable>

<ru

e

val

ue=

"1

1

2,

1 (1.0) :

1"

/>

<ru

e

val

ue=

"1

1

3,

1 (1.0) :

1"

/>

<ru

e

val

ue=

"2

1

1,

1 (1.0) :

1"

/>

<ru

e

val

ue=

"2

1

2,

1 (1.0) :

1"

/>

<ru

e

val

ue=

"2

1

3,

1 (1.0) :

1"

/>

<ru

e

val

ue=

"2

-1 1

, 3 (1.0)

: 1

" />

<ru

e

val

ue=

"2

-1 2

, 3 (1.0)

: 1

" />

<ru

e

val

ue=

"2

-1 3

, 3 (1.0)

: 1

" />

<ru

e

val

ue=

"2

1

1,

1 (1.0) :

1"

/>

<ru

e

val

ue=

"3

1

-1

, 2 (1.0)

: 1

" />

<ru

e

val

ue=

"3

2

-1

, 2 (1.0)

: 1

" />

<ru

e

val

ue=

"4

3

-1

, 4 (1.0)

: 1

" />

<ru

e

val

ue=

"4

3

1,

4 (1.0) :

1"

/>

<ru

e

val

ue=

"3

3

1,

4 (1.0) :

1"

/>

<ru

e

val

ue=

"3

3

2,

4 (1.0) :

1"

/>

<ru

e

val

ue=

"3

3

3,

4 (1.0) :

1"

/>

</task> </layer> </net>

ПРИЛОЖЕНИЕ 3. ВЫДЕРЖКИ ИЗ АУДИТОРСКОГО

ЗАКЛЮЧЕНИЯ

Код эмитента: не присвоен за: 1 квартал 2005 года

Место нахождения эмитента:Российская Федерация, Ульяновская обл., Сенгилеевскийр-н, пос.Силикатный

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

Генеральный директор эмитента

Е.В.Гладков


(подпись)

“13” мая 2005 года Главный бухгалтер эмитента

Т.М.Хохлова


(подпись)

“13” мая 2005 года

МП.


Контактное лицо: Генеральный директор Гладков Евгений Владимирович

Телефон: (84233) 2-63-55

Факс: (84233) 2-63-55

Адрес электронной почты: не имеет

Адрес страницы в сети Интернет, на которой раскрывается информация, содержащаяся в настоящем ежеквартальном отчете: www.ulmstroy.front.ru

Введение

Полное фирменное наименование эмитента.

Открытое акционерное общество "Кварц "

Сокращенное фирменное наименование эмитента.

ОАО "Кварц"

Место нахождения эмитента.

Российская Федерация, Ульяновская область, Сенгилеевский р-н, пос.Силикатный Номер контактного телефона: (84233) 2-14-89 Адрес электронной почты: не имеет

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

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

1.3. Сведения об аудиторе (аудиторах) эмитента

Полное фирменное наименование: Общество с ограниченной ответственностью "Лидер-Аудит Сокращенное фирменное наименование: ООО "Лидер-Аудит "

Место нахождения: 432071,г.Ульяновск,ул.Марата, д.8

Тел ./факс: (8422) 41-65-85, 41-65-86 Адрес электронной почты: не имеет Данные о лицензии аудитора:

Номер лицензии: Е 000462 Дата выдачи: 25.06.2002 г.

Срок действия: до 25.06.2007г.

Орган, выдавший лицензию: Министерство финансов РФ

Финансовый год (годы), за который (за которые) аудитором проводилась независимая проверка бухгалтерского учета и финансовой (бухгалтерской) отчетности эмитента: 2003 год

Факторы, которые могут оказать влияние на независимость аудитора от эмитента, и меры, предпринятые эмитентом и аудитором для снижения влияния указанных факторов: отсутствуют

II. Основная информация о финансово-экономическом состоянии эмитента

2.1. Показатели финансово-экономической деятельности эмитента

Показатели финансово-экономической деятельности

Наименование показателя

Показатель

2004г

1 кв2005

Стоимость чистых активов эмитента, руб.

56667000

58366000

Отношение суммы привлеченных средств к капиталу и резервам, %

8,1

7,9

Отношение суммы краткосрочных обязательств к капиталу и резервам, %

47,9

40,3

Покрытие платежей по обслуживанию долгов, руб.

0,658

1,129

Уровень просроченной задолженности, %

-

-

Оборачиваемость чистых активов, раз

3,148

0,596

Оборачиваемость кредиторской задолженности, раз

11,07

2,828

Оборачиваемость дебиторской задолженности, раз

6,347

1,502

Доля налога на прибыль в прибыли до налогообложения, %

28,4

27,7

Анализ платежеспособности эмитента:

2002 г.

2003 г.

2004 г

1 кв. 2005 г.

Коэффициент текущей ликвидности

3,08

2,65

1,735

1,963

Коэффициент абсолютной ликвидности

0,21

0,15

0,052

0,360

Коэффициент обеспеченности активами

2,61

2,00

1,411

1,884

Степень платежеспособности

1,36

1,78

1,826

2,032

Анализ платежеспособности показывает, что на конец отчетного периода оборотных активов недостаточно для нормальной хозяйственной деятельности и своевременного погашения обязательств. Коэффициент абсолютной ликвидности ниже нормы. Данный показатель снизился в связи с уменьшением активов предприятия. На уменьшение активов повлияло снижение запасов товаро-материальных ценностей на складах. Платежеспособность уменьшилась и на конец отчетного периода составляет 1,826 месяца (на начало года - 1,78). Таким образом, намечается тенденция к ухудшению платежеспособности эмитента. Снизился и коэффициент текущей ликвидности с 2,650 на начало года до 1,735 на конец отчетного периода. За 1-ый квартал 2005 года все коэффициенты существенно улучшились. Угроза банкротства эмитенту отсутствует.

2.3. Обязательства эмитента

2.3.1. Кредиторская задолженность

Общая сумма кредиторской задолженности эмитента по итогам отчетного квартала, руб.

10703000

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

-

Информация о кредиторах, на долю которых приходится не менее 10 процентов от общей суммы кредиторской задолженности:

ООО «Щит-Дельта» - 601005 руб.

ООО «Технефтемонтаж» - 374000 руб.

ООО «Котлонадзор» - 400000 руб.

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

ООО «Сенгилеевский лесхоз» - 240000 руб.

ООО «Поволжская группа» - 238000 руб.

2.3.2. Кредитная история эмитента

Наименование

обязательства

Наименование

кредитора

(займодавца)

Размер

основного

долга

Дата погашения

Размер

процентной

ставки

Дата погашения

План

факт

план

факт

Авердрафтный

договор

ОСБ № 7274

4600 т.р.

15.04.05

-

15

15.04.05

2.4.    Цели эмиссии и направления использования средств, полученных в результате размещения эмиссионных ценных бумаг

Цель эмиссии - оплата уставного капитала общества.

2.5.    Риски, связанные с приобретением размещаемых (размещенных) эмиссионных ценных бумаг

2.5.1.    Отраслевые риски

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

2.5.2.    Страновые и региональные риски

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

2.5.3.    Финансовые риски

Отсутствуют.

2.5.4.    Правовые риски

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

2.5.5.    Риски, связанные с деятельностью эмитента

Увеличение количества конкурентов на освоенном рынке.

III. Подробная информация об эмитенте

3.1.2.    Сведения о государственной регистрации эмитента

Номер государственной регистрации юридического лица: 140010365 Дата регистрации юридического лица: 29.12.1992 г.

Наименование органа, осуществившего государственную регистрацию юридического лица:

Администрация Сенгилеевского района Ульяновской области

Основной государственный регистрационный номер: 1027300931877 Дата регистрации: 03.12.2002г.

Наименование регистрирующего органа: Управление федерального казначейства МФ РФ по Ульяновской области (Межрайонная ИФНС России №2 по Ульяновской области)

3.1.3.    Сведения о создании и развитии эмитента

Срок существования эмитента с даты его государственной регистрации: 12 лет

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

3.2. Основная хозяйственная деятельность эмитента

Основная для эмитента хозяйственная деятельность: добыча и обогащение кварцевых песков

Доля доходов эмитента от основной хозяйственной деятельности: 100 %

Доля доходов эмитента от основной хозяйственной деятельности в общих доходах эмитента за отчетный период: 100 %

Изменения размера доходов эмитента от основной хозяйственной деятельности на 10 и более процентов по сравнению с предыдущим отчетным периодом и причины таких изменений : нет Эмитент не ведет свою основную хозяйственную деятельности в нескольких странах.

Сезонный характер основной хозяйственной деятельности эмитента: отсутствует

3.2.3. Основные виды продукции (работ, услуг)

Виды продукции (работ, услуг), обеспечившие не менее чем 10 процентов объема реализации (выручки) эмитента за отчетный квартал: добыча и обогащение кварцевых песков

Динамика изменения отпускных цен на продукцию (работы, услуги) эмитента, в том числе в сравнении с индексом потребительских цен или индексом цен производителей промышленной продукции, публикуемым Госкомстатом России: не имела места

Отпускные цены на продукцию на 10 и более процентов по сравнению с предыдущим отчетным периодом не менялись.

_Добыча и обогащение кварцевых песков

Наименование показателя

2004 года

1 квартал 2005 г.

Объем производства продукции, тонн.

1044289

185192

Среднегодовая цена продукции, руб.

195-41

209-42

Объем выручки от продажи продукции (работ, услуг), руб. с НДС

204064500

38783523

Доля от общего объема выручки, %

97,7

97,7

Соответствующий индекс цен, %

105,7

107,1

Система сбыта по основному виду продукции (работ, услуг) эмитента в процентах от объема продажи продукции (работ, услуг):

п/п

Наименование продукции (работ, услуг)

Схема продаж продукции (работ, услуг)

Отчетный

период

1.

Песок кварцевый природный и обогащенный

Прямые продажи, %

98

Собственная торговая сеть, %

0

Контролируемая торговая сеть, %

0

Иное (указать), %

2

Структура затрат эмитента на производство и продажу каждого вида продукции (работ, услуг), на которую приходится не менее 10 процентов общего объема выручки от продажи продукции (работ, услуг) по указанным статьям в процентах от общей себестоимости:

Наименование вида продукции (работ, услуг): кварцевые пески природные и обогащенные

п/п

Наименование статьи затрат

1 квартал 2005 г

1.

Сырье и материалы, %

21,5

2.

Приобретенные комплектующие изделия, полуфабрикаты, %

-

3.

Работы и услуги производственного характера, выполненные сторонними организациями, %

7,5

4.

Топливо, %

23,0

5.

Энергия, %

8,8

6.

Затраты на оплату труда, %

22,9

7.

Проценты по кредитам, %

0,3

8.

Арендная плата, %

-

9.

Отчисления на социальные нужды, %

5,2

10.

Амортизация основных средств, %

3,2

11.

Налоги, включаемые в себестоимость продукции, %

5,4

12.

Прочие затраты (пояснить), %

-

13.

амортизация по нематериальным активам, %

-

14.

вознаграждения за рационализаторские предложения, %

-

15.

обязательные страховые платежи, %

-

16.

Представительские расходы, %

0,2

17.

иное, % (Добров.страх.платежи)

2,0

18.

Итого: затраты на производство и продажу продукции (работ, услуг) (себестоимость), %

100

19.

Выручка от продажи продукции (работ, услуг), %

98,0

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

Стандарты (правила), в соответствии с которыми подготовлена бухгалтерская отчетность и произведены расчеты: Приказ об учетной политике ОАО «Кварц»

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

п/п

Полное фирменное наименование поставщика

Доля поставщика в общем объеме поставок, %

1.

ООО «Торговый Дом «Кварц»

20

2.

ООО «Сонэкс»

16

Доля импорта в поставках эмитента: 0,2 %

Каких-либо изменений в политике эмитента, касающейся импорта поставок не прогнозируется.

3.2.5. Рынки сбыта продукции (работ, услуг) эмитента

Основные рынки, на которых эмитент осуществляет свою деятельность: территория Ульяновской, Саратовской, Владимирской, Московской областей, Башкортостан

п/п

Потребители, на оборот с которыми приходится не менее чем 10 процентов общей выручки от продажи продукции (работ, услуг)

эмитента

Доля в общем объеме реализации, %

1.

ООО «Торговый Дом «Саратовстройстекло»

38,6

2.

ООО «Торговый Дом «Кварц»

54,4

Основными потребителями услуг эмитента являются производственные предприятия Ульяновской, Саратовской, Владимирской, Московской областей и Башкортостана.

Возможные факторы, которые могут негативно повлиять на сбыт эмитентом его продукции: а) отсутствие спроса потребителей на продукцию;

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

а)    реклама своей продукции;

б)    анализ цен конкурентов и установление своих цен ниже уровня цен конкурентов.

3.2.6.    Практика деятельности в отношении оборотного капитала и запасов

Политика эмитента в отношении оборотного капитала и запасов:

Оборотные активы и запасы за анализируемый период составляют 46 273 тыс. руб.

3.2.7.    Сырье

Источники сырья для основной хозяйственной деятельности эмитента: отсутствуют

Информация об изменении цен на основное сырье в течение отчетного квартала: цены не изменялись.

3.2.8.    Основные конкуренты

Рынок, на которых эмитент осуществляет деятельность: территория Ульяновской, Саратовской, Владимирской, Московской областей, Башкортостан

п/п

Наименование

Страна

регистрации

Объем проданной продукции (работ, услуг), тыс.руб

Доля на рынке, %

2001 г

2002 г

2003 г

2004 г

2005 г 1кварт

1.

ОАО «Кварц»

Россия

38784

40

40

40

40

40

2.

ОАО «Раменское»

Россия

58170

60

60

60

60

60

3.2.9. Сведения о наличии у эмитента лицензий

Лицензия:

Номер: 00142

Дата выдачи: 30.10.2000г.

Срок действия: 30.10.2013г

Орган, выдавший лицензию: Комитет природных ресурсов по Ульяновской области

Виды деятельности: добыча сырья на Ташлинском месторождении кварцевых песков и его обогащение

для производства

3.4. Планы будущей деятельности эмитента

Разработка новых видов продукции, модернизация и реконструкция основных средств, изменения основной деятельности эмитентом не планируется.

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

3.6.    Дочерние и зависимые хозяйственные общества эмитента

Полное фирменное наименование: Общество с ограниченной ответственностью «Минерал» Сокращенное фирменное наименование: ООО «Минерал»

Место нахождение общества: Ульяновская область, Сенгилеевский р-н, пос. Силикатный

Основания признания общества дочерним или зависимым по отношению к эмитенту: владение долей

уставного капитала 95%

Размер доли участия эмитента в уставном капитале дочернего и/или зависимого общества: 95% Размер доли участия дочернего и/или зависимого общества в уставном капитале эмитента: доли не имеет

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

Основной вид деятельности общества: магнитное обогащение кварцевого песка

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

3.7.1.    Основные средства

Первоначальная (восстановительная) стоимость основных средств: 72430,5 тыс. руб.

Величина начисленной амортизации: 37664,6 тыс. руб.

Переоценка не проводилась.

Сведения обо всех фактах обременения основных средств эмитента: не имеется.

Характер обременения: не имеется.

Момент возникновения обременения: не имеется.

Срока действия обременения: не имеется.

3.7.2.    Стоимость недвижимого имущества эмитента

Общая остаточная стоимость недвижимого имущества: 24688 тыс. руб.

Величина начисленной амортизации: 25001 тыс. руб.

IV. Сведения о финансово-хозяйственной деятельности эмитента

Информация, содержащаяся в настоящем разделе, указывается за отчетный квартал.

4.1. Результаты финансово-хозяйственной деятельности эмитента

4.1.1. Прибыль и убытки

Наименование показателя

Величина показателя

2004 г

1 кв 2005г

Выручка,руб.

178387000

34797000

Валовая прибыль,.руб.

27142000

4532000

Чистая прибыль (нераспределенная прибыль (непокрытый убыток), руб.

15441000

2778000

Производительность труда, руб./чел. в день

1592

1263

Фондоотдача, %

513

104

Рентабельность активов, %

18,4

3,38

Рентабельность собственного капитала, %

27,2

4,76

Рентабельность продукции (продаж), %

15,4

13,1

Сумма непокрытого убытка на отчетную дату, тыс.руб.

-

-

Соотношение непокрытого убытка на отчетную дату и валюты баланса

-

-

Предприятие в первом квартале несколько снизило объемы производства. Это отразилось на снижении производительности труда и выручке от реализации произведенной продукции.

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

Факторы, которые повлияли на изменение размера выручки:

а)    влияние инфляции;

б)    рост накладных расходов;

Степень влияния (в процентах), которое, оказал каждый из приведенных факторов на вышеупомянутые показатели финансово-хозяйственной деятельности эмитента:

п/п

Наименование фактора

Степень влияния фактора, %

1

Влияние инфляции

7

2

Рост накладных расходов

5

4.2. Ликвидность эмитента

Показатели, характеризующие ликвидность эмитента за отчетный квартал

Наименование показателя

Величина показателя

2004 г

1 кв. 2005 г.

Собственные оборотные средства, тыс. руб.

19801000

22501000

Коэффициент финансовой зависимости

0,481

0,407

Коэффициент автономии собственных средств

0,675

0,711

Обеспеченность запасов собственными оборотными средствами

1,198

1,651

Индекс постоянного актива

0,651

0,615

Текущий коэффициент ликвидности

1,735

1,963

Быстрый коэффициент ликвидности

1,086

1,344

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

4.3.1. Размер и структура капитала и оборотных средств эмитента

а)    размер уставного капитала эмитента: 18 102 руб.

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

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

в)    размер резервного капитала эмитента, формируемого за счет отчислений из прибыли эмитента: отсутствует.

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

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

д)    размер нераспределенной чистой прибыли эмитента: 25367 тыс. руб.

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

ж)    общая сумма капитала эмитента: - 58415 тыс. руб.

4.3.3. Денежные средства

Потребность эмитента в денежных средствах на следующий квартал составляет 66713 тыс. руб.

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

4.3.4.    Финансовые вложения эмитента

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

4.3.5.    Нематериальные активы эмитента

Нематериальные активы эмитента отсутствуют.

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

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

Сведения о создании и получении эмитентом правовой охраны основных объектов интеллектуальной собственности: отсутствуют.

4.5.    Анализ тенденций развития в сфере основной деятельности эмитента

Основные тенденции развития в сфере основной деятельности эмитента:

-    повышение качества реализуемого обогащенного песка;

-    расширение зоны поставок продукции;

-    более рациональное использование производственных ресурсов.

VI. Сведения об участниках (акционерах) эмитента и о совершенных эмитентом сделках, в совершении которых имелась заинтересованность

6.7. Сведения о размере дебиторской задолженности

Вид дебиторской задолженности

Срок наступления платежа

до 30 дней

от 30 до 60 дней

от 60 до 90 дней

от 90 до 180 дней

от 180 дней до 1 года

Более 1 года

Дебиторская задолженность, всего ,руб. в том числе:

6913783

-

-

-

13157903

3102314

Просроченная,руб.

-

-

-

-

3102314

Покупатели и заказчики, руб.

-

-

-

-

1183300

3102314

Векселя к получению, руб.

-

-

-

-

-

-

Задолженность дочерних и зависимых обществ, руб.

-

-

-

-

-

-

Задолженность участников (учредителей) по взносам в уставный капитал, руб.

-

-

-

-

-

-

Авансы выданные, руб.

5970030

-

-

-

-

-

Прочие дебиторы, руб.

943753

-

-

-

-

-

Итого, руб.:

6913783

-

-

-

13157903

3102314

Дебиторов, на долю которых приходится не менее 10 процентов от общей суммы дебиторской задолженности:

1.    ООО «Торговый дом «Кварц» - 8592823 руб.

2.    ООО «Минерал» - 3102314 руб.

3.    ООО «Торговый Дом «Саратовстройстекло» - 3797068 руб.

ПРИЛОЖЕНИЕ 4. МЕТОДИКИ АНАЛИЗА ЭКОНОМИЧЕСКОГО СОСТОЯНИЯ

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

Анализ рентабельности

Различные стороны производственно-хозяйственной и финансовой деятельности предприятия находят свое отражение в системе показателей финансовых результатов: прибыли и рентабельности (табл. 1). Они широко используются для оценки эффективности деятельности предприятиями всех отраслей и являются наиболее важными [42,78,118].

Таблица 1. Показатели рентабельности предприятия.

Наименование

показателя

Формула расчета

Привязка формулы к строкам бух. отчетности

1

Чистая прибыль

Балансовая прибыль - платежи в бюджет

Стр. 190 (Ф2)

2

Рентабельность

продукции

Прибыль от реализации Выручка от реализации

Стр. 050 (Ф2) Стр. 010 (Ф2)

3

Рентабельность основной деятельности

Прибыль от реализации Затраты на производство

Стр. 050 (Ф2) Стр. 020 (Ф2)

4

Рентабельность основного капитала

Чистая прибыль Ср. знач. Валюты баланса

Стр. 190 (Ф2) Ср.Знач.(Стр. 300(Ф1))

5

Рентабельность собственного капитала

Чистая прибыль Ср.знач.собственного капитала

Стр. 190 (Ф2) Ср.Знач.(Стр. 490(Ф1))

6

Период окупаемости собственного капитала

Ср.знач.собственного капитала

Ср.Знач.(Стр.490(Ф1))

Чистая прибыль

Стр. 190(Ф. 2)

где ср.знач. - среднее значение показателя за период, Ф.1. - «Бухгалтерский

баланс», а Ф.2. -«Отчет о прибылях и убытках», здесь и далее.

Анализ ликвидности

Ликвидность определяется как степень покрытия обязательств предприятия его активами, срок превращения которых в денежную форму соответствует сроку погашения обязательств. Анализ ликвидности предприятия заключается в расчете показателей[42,78,118], отражающих возможность предприятия погасить краткосрочную задолженность за счет элементов оборотных средств (табл. 2).

Таблица 2. Показатели ликвидности предприятия.

Наименование

показателя

Формула расчета

Привязка формулы к строкам бух. баланса

1

Величина собственных оборотных средств

(Собственный капитал -долгосрочные обязательства -внеоборотные активы) ИЛИ (оборотные активы -краткосрочные обязательства)

Стр.490-стр.590-стр.190 Стр. 290-стр.690

2

Маневренность собственных оборотных средств

Денежные средства .

Стр260 .

Функционирующий капитал

Стр.290-стр.690

3

Коэффициент покрытия общий

Оборотные активы .

Стр.290

Краткосрочные обязательства

Стр.690

4

Коэффициент быстрой ликвидности

Денежные средства, расчеты и пр. активы/ Краткосрочные обязательства

Стр.290-стр.210

Стр.690

5

Коэффициент

абсолютной

ликвидности

Денежные средства .

Стр.260

Краткосрочные обязательства

Стр.690

6

Доля оборотных средств в активах

Оборотные активы Валюта Баланса

Стр.290

Стр.300

7

Доля производственных запасов в оборотных активах

Запасы и затраты Оборотные активы

Стр.210

Стр.290

8

Доля собственных оборотных средств в покрытии запасов

Собственные оборотные средства Запасы и затраты

Стр.290-стр.690

Стр.210

9

Коэффициент покрытия запасов

Нормальные источники покрытия

(стр.490+стр.590-стр.190+стр.610+стр. 621+стр.622+стр .627) /Стр.210

Запасы и затраты

Анализ финансовой устойчивости

Под финансовой устойчивостью понимают такое состояние предприятия, при котором платежеспособность постоянна во времени, а соотношение собственного и заемного капитала обеспечивает эту платежеспособность. Экономические показатели финансовой устойчивости даются на основании [42,78,118] и представлены в табл. 3.

Наименование показателя

Формула расчета

Привязка формулы к строкам баланса

1

Коэффициент концентрации собственного капитала

Собственный капитал Валюта Баланса

Стр.490

Стр.300

2

Коэффициент финансовой зависимости

Валюта Баланса .

Стр.300

Собственный капитал

Стр.490

3

Коэффициент маневренности собственного капитала

Собственные оборотные средства/ Краткосрочные обязательства

Стр.290-стр.690

Стр.690

4

Коэффициент маневренности привлеченного капитала

Привлеченный капитал Валюта баланса

Стр.590+стр.690

Стр.300

5

Коэффициент структуры долгосрочных вложений

Долгосрочные обязательства Внеоборотные активы

Стр.590

Стр.190

6

Коэффициент долгосрочного привлечения заемных средств

Долгосрочные обязательства/ (Собственный капитал+ Долгосрочные обязательства)

. Стр.590 . Стр.590+стр.490

7

Коэффициент структуры привлеченного капитала

Долгосрочные обязательства

. Стр.590 .

Привлеченный капитал

Стр.590+стр.690

8

Коэффициент соотношения привлеченных и собственных средств

Привлеченный капитал Собственный капитал

Стр.590+стр.690

Стр.490

Анализ деловой активности

Под деловой активностью понимают качество использования имеющихся активов. Показатели активности предприятия приводятся в [42,78,118] (табл.4.)

Таблица 4. Показатели деловой активности предприятия.

Наименование

показателя

Формула расчета

Привязка формулы к строкам бух. отчетности

1

Выручка от реализации

Стр. 010 (Ф.2)

2

Балансовая прибыль

Стр. 050 (Ф.2)

3

Фондоотдача

Выручка от реализации .

Стр.010(Ф.2) .

Средняя стоимость ОС

Ср. Зн.(стр.120(Ф1))

4

Оборачиваемость

Выручка от реализации.

Стр.010(Ф.2) .

средств в расчетах

Средняя дебиторская задолженность

Ср.Зн.(стр(230+240)Ф1)

5

Оборачиваемость

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

запасов

Затраты на производство продукции/ Средние производственные запасы

Стр.020 (Ф.2) Ср.зн.(стр.210(Ф. 1))

6

Оборачиваемость

кредиторской

задолженности

Средняя кредиторская задолженность/ Себестоимость

Ср. зн. (стр. 620(Ф.1)) Стр.020(Ф.2)

7

Продолжительность операционного цикла

360 дней*(1/показатель4 +1/показатель5)

8

Продолжительность финансового цикла

Показатель 7 - 360 дней*показатель6

9

Оборачиваемость собственного капитала

Выручка от реализации Средняя величина собственного капитала

Стр. 010 (Ф.2)

Ср. зн. (стр.490(Ф.1))

10

Оборачиваемость основного капитала

Выручка от реализации Средняя валюта баланса

Стр. 010 (Ф.2)

Ср. зн. (стр.300(Ф.1))

Себестоимость продукции - это стоимостная оценка используемых в процессе производства продукции природных ресурсов, сырья, материалов, основных фондов, трудовых ресурсов и других затрат на ее производство и реализацию [42].

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

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

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

178