процессе работы с программой пользователь вводит или загружает из файла данных характеристики источников загрязнения и выполняет настройку численных методов решения задачи. Далее выполняется сканирование области поиска решений.Пример решения задачи оптимального размещения станции контроля представлен в таблице 1. Метеоролог ические характеристики менялись следующим образом: скорость ветра - от 0,5 до 2,5 м/с с шагом 0,5 м/с; направление ветра - от 0 до 337,5° с шагом 22,5°. Расчет факта попадания источников загрязнения в зону действия станции Контроля производился при четырех скоростях и 16 направлениях ветра в их различных комбинациях.
В результате выполнения программного расчета получена область оптимальных решений (см. рис. 1). Точное местоположение станции контроля может быть определенно в результате наложения найденной области на карту с учетом топографических особенностей местности и размещения других объектов.
Рассмотрено три варианта взаимного расположения источников загрязнения: 1) равномерно рассредоточенные, далеко отстоящие друг от друга; 2) равномерно рассредоточенные, близко отстоящие друг от друга; 3) две удаленные группы близко отстоящих друг от друха источников. Анализ полученных результатов позволяет сделать вывод о том, что наибольшая площадь области оптимальных решений получается при наличии равномерно рассредоточенных, близко отстоящих друг от друга источниках, а наименьшая - для случая двух удаленных групп.
Разработанное программное обеспечение планируется к использованию в рамках проведения лабораторного практикума по дисциплине специализации «Компьютерные системы проектирования гибких химических производств», читаемой студентам кафедры компьютерно-интегрированных систем в химической технологии РХТУ им. Д. И. Менделеева.
Библиографические ссылки
1. Методика расчета концентраций в атмосферном воздухе вредных веществ, содержащихся в выбросах предприятий: Общесоюзный нормативный документ (ОНД-86). Л.: Гидрометеоиздат, 1987. 93 с.
УДК 502.55.001.18 С. О. Яичи, С. П. Дударов
Российский химико-технологический университет им. Д. И. Менделеева, Москва, Россия
ПРОЕКТРОВАННЕ ПРОГРАММНЫХ СРЕДСТВ НЕЙРОСЕТЕВОГО МОДЕЛИРОВАНИЯ НА ОСНОВЕ КОМПОНЕНТНЫХ СИСТЕМ
There are discussed the feasibilities and advantages of component systems when development process of software tools of neural network modeling in the paper. As example is seen the
software environment dcsigned for laboratory Works devoted to the study of neural network structures, computational processes in neural networks and traming algorithms. The basic principles of opération and software organization are shown.
В докладе обсуждаются возможности и преимущества компонентных систем при разработке программных средств иейросетевого моделирования. В качестве примера рассматривается программная среда, разработанная для проведения лабораторных работ но изучению структур нейронных сетей, происходящих в них вычислительных процессов и алгоритмов обучения. Показаны основные принципы работы и организации программы.
Компонентные системы - это такие системы, которые состоят из большого количества компонентов, которые могут взаимодействовать между собой. Программы, использующие такие системы, обладают высокой гибкостью. Основной принцип работы компонентных систем заключается в том, что конечный пользователь (программист) работает не с самим объектом, а с его интерфейсом. С помощью интерфейса можно использовать все свойства объекта (рис. 1 ).
Рис. 1. Принцип организации взаимодействий в компонентной системе
Составными частями любой компонентной системы являются компоненты и реестр. Компонентом является объект, который имеет уникальный идентификатор и выполняет функции, возложенные на него разработчиком. Каждый компонент наследуется от интерфейса, с помощью которого программист будет использовать функции данного компонента. Реестр является местом, где хранится список всех зарегистрированных объектов. Компонентом может являться любой класс, помеченный специальным атрибутом, т.е. если в процессе загрузки в загружаемых библиотеках будет найден класс с данным атрибутом, будет создан новый объект: и зарегистрирован в главном реестре программы. Каждый компонент имеет уникальный идентификатор, с помощью которого можно отличить один компонент от другого.
Пользователь может создавать специальные пользовательские реестры у компонентов системы. Данная функция необходима для автоматического сбора всех классов, помеченных особым атрибутом.
Представленный подход к разработке программных средств как компонентных систем используется в программе «Редактор нейронных сетей». Пользовательские реестры создаются для загрузки типов сетей, функций активации и нормализации, фильтров и т. д. Эти действия выполняются централизованно загрузчиком системы.
51дро компонентной системы включает в себя набор базовых атрибутов, главный реестр системы, загрузчик системы, пользовательский реестр
для запускаемых компонентов. К набору базовых атрибутов относятся: базовый компонент системы, модуль компонентной системы, запускаемый компонент, пользовательский интерфейс.
Главный реестр системы является пользовательским интерфейсом, к которому можно получить доступ из любого компонента программы. Пользовательский реестр для запускаемых атрибутов после старта системы передает работу зарегистрированным в нем компонентам, запуская каждый в своем потоке. Примером такого объекта является графический интерфейс программы «Редактор нейронных сетей». В этом случае после запуска компонентной системы создается отдельный поток, в котором инициализируется обработчик сообщений и показывается окно программы.
Загрузчик системы является самой важной частью компонентной системы. Он производит загрузку всех необходимых динамических библиотек, список которых передается виде массива; поиск всех классов, помеченных атрибутами; сортирует найденные классы по группам; производит процедуру инициализации компонента. Последней стадией является регистрация всех компонентов в соответствующих реестрах.
Пользователь
и
ГИ
(Графический интерфейс)
ГИ для НС
X"
ГИ для обучения
ж_____
Низкоуровневая НС
Обучение НС
Обучающие выборки
Рис. 2. Взаимодействие между уровнями
Структуру компонентов в программе «Редактор нейронных сетей» можно представить виде двухуровневой иерархии. Два ее уровня - это нижний уровень и графический интерфейс. На нижнем уровне описываются базовые операции, такие, как расчет и обучение нейронных сетей (НС), хранение обучающих выборок и другие. На уровне графического интерфейса описываются операции, с помощью которых пользователь программы будет использовать нижний уровень (рис. 2).
На рис. 3 представлена иерархия компонентов в программе «Редактор нейронных сетей». Основным связующим звеном, объединяющим низ-
коуровневые и графические компоненты, является главный реестр. С его помощью осуществляется взаимодействие между компонентами, загруженными программой с помощью интерфейсов.
К низкоуровневым компонентам относятся фабрика нейронных сетей, менеджер по обучению нейронных сетей и менеджер обучающих выборок. Каждый из этих компонентов является интерфейсом пользователя (ИП) для одного или нескольких типов объектов. Менеджер по обучению нейронных сетей получает для. регистрации методы обучения. Фабрика нейронных сетей содержит реестры для функций активации, фильтров, типов нейронных сетей и типов нормализующих функций. Все перечисленные компоненты могут взаимодействовать друг с другом, дополнительных компонентов для их работы не нужно. Низкоуровневые компоненты являются главными компонентами системы, которые обеспечивают вычислительные возможности: программы.
Рнс. 3. Иерархия компонентов в программе "Редактор нейронных сетей"
К высокоуровневым или графическим компонентам относятся главное окно, графические интерфейсы для обучения, интерфейсы для работы с обучающими выборками и анализа процесса обучения. Высокоуровневые компоненты являются надстройками для низкоуровневых компонентов. Низкоуровневым компонентам запрещается ссылаться на высокоуровневые компоненты, чтобы избежать возможных конфликтов. Для организации взаимодействия конечного пользователя с каждым низкоуровневым компонентом необходим высокоуровневый компонент.
Компонентные системы являются одним из способов организации программных средств. Данный способ дает большое количество преимуществ, однако имеются и недостатки. К преимуществам можно отнести масштабируемость, гибкость, универсальность, централизацию программы. К недостаткам - большое количество файлов, сложность организации системы. Наиболее известные компонентные системы - это СОМ-системы (Component object mode! - модель компонентных объектов). Данная модель используется в операционной системе Microsoft Windows, вся работа которой построена на СОМ. У данной системы всего один реестр. Для каждого компонента необходима фабрика, с помощью которой будет создаваться объект. Данный вид модели может использоваться в любых программах.
Компонентная система, рассматриваемая в этой работе, может содержать несколько реестров. Для создания компонентов не нужны фабрики. Данный вид модели может использоваться в любой программе, однако необходима дополнительная инициализация компонентов системы при старте.
Одним из преимуществ данного подхода является перспектива автоматического обновления компонентов через сеть Интернет. Так, любой пользователь может создать свой компонент для программы, поместить в сеть Интернет и предоставить возможность работы с ним другими пользователями системы. Благодаря данной технологии можно расширять перечень функциональных возможностей программы, привлекая к написанию новых компонентов удаленных пользователей (программистов).
УДК 519.63
С. Э. Батин, А. С. Скичко, Э. М. Кольцова
Российский химико-технологический университет им. Д.И. Менделеева, Москва, Россия
МЕТОД МНОГОКРАТНОГО ДЕЛЕНИЯ ПЕРВОГО ШАГА ПОПОЛАМ ДЛЯ ЧИСЛЕННОГО РЕШЕНИЯ ДИФФЕРНЦИАЛЬНЫХ УРАВНЕНИЙ ГИПЕРБОЛИЧЕСКОГО ТИПА
Methods of the numerical decision of the differential equations of hyperbolic type are considered. The method of numerical calculation based on repeated division of an initiatory step on time half-and-half, guaranteeing substantial growth ofaccuracy of results is offered.
Рассмотрены методы численного решения дифференциальных уравнений гиперболического типа. Предложен метод численного расчёта, основанный на многократном делении первоначального шага по времени пополам, гарантирующий значительное увеличение точности результатов.
Гиперболические уравнения относятся к дифференциальным уравнениям второго порядка в частных производных и используются для описания волновых процессов (колебания тонкой струны), колебательных процессов в сплошных средах (распространение звука), в электромагнетизме, а также для описания процессов массопереноса в сплошных средах.
Типичным уравнением гиперболического типа является: уравнение: