Автоматизированная система интеллектуальной поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов с требуемыми свойствами тема диссертации и автореферата по ВАК РФ 05.13.06, кандидат наук Клочкова Ксения Валерьевна
- Специальность ВАК РФ05.13.06
- Количество страниц 328
Оглавление диссертации кандидат наук Клочкова Ксения Валерьевна
ВВЕДЕНИЕ
ГЛАВА 1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Анализ композиционных материалов, применяемых для деталей машиностроительного производства
1.2 Современные инструментальные средства прогнозирования и поддержки принятия решений для изделий из композиционных материалов
1.3 Методы представления знаний
1.4 Методы и модели прогнозирования
1.5 Методы рационального планирования эксперимента на этапе обучения нейронной сети
1.6 Выводы по главе
ГЛАВА 2 РАЗРАБОТКА МАТЕМАТИЧЕСКОГО АППАРАТА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНОЙ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ НА ЭТАПЕ ТЕХНОЛОГИЧЕСКОЙ ПОДГОТОВКИ ПРОИЗВОДСТВА ИЗДЕЛИЙ ИЗ КОМПОЗИЦИОННЫХ МАТЕРИАЛОВ
2.1 Разработка комбинированного метода математического анализа для модуля обучения автоматизированной системы интеллектуальной поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов
2.2 Разработка каскадной нейронной сети для прогнозирования свойств изделий из композиционных материалов
2.2.1 Разработка структуры нейронной сети
2.2.2 Выбор метода обучения нейронной сети
2.2.3 Разработка топологии структуры нейронной сети
2.3 Разработка метода прогнозирования с применением каскадной нейронной сети
2.3.1 Обучение каскадной нейронной сети
2.3.2 Разработка методики оптимизации структуры каскадной нейронной сети
2.4 Оценка адекватности каскадной нейронной сети на примере прогнозирования предела прочности изделий из чугуна с вермикулярным графитом
2.5 Разработка методики моделирования состава изделий из композиционных материалов для обучения каскадной нейронной сети на основе генетического алгоритма (на примере изделия из ЧВГ)
2.6 Разработка базы прецедентов
2.7 Выводы по главе
ГЛАВА 3 РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНОЙ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ НА ЭТАПЕ ТЕХНОЛОГИЧЕСКОЙ ПОДГОТОВКИ ПРОИЗВОДСТВА ИЗДЕЛИЙ ИЗ КОМПОЗИЦИОННЫХ МАТЕРИАЛОВ С ТРЕБУЕМЫМИ СВОЙСТВАМИ
3.1 Разработка структурной модели автоматизированной системы интеллектуальной поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов
3.2 Модуль обучения автоматизированной системы интеллектуальной поддержки принятия решений
3.3 Модуль моделирования свойств
3.4 Разработка базы знаний
3.5 Разработка базы правил
3.6 Выводы по главе
ГЛАВА 4 ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ АВТОМАТИЗИРОВАННОЙ СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНОЙ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЙ НА ЭТАПЕ ТЕХНОЛОГИЧЕСКОЙ ПОДГОТОВКИ ПРОИЗВОДСТВА ИЗДЕЛИЙ ИЗ КОМПОЗИЦИОННЫХ МАТЕРИАЛОВ
4.1 Разработка алгоритмов работы автоматизированной системы интеллектуальной поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов
4.1.1 Разработка алгоритма работы базы прецедентов
4.1.2 Разработка алгоритма проверки корректности введенных данных
4.1.3 Разработка алгоритма работы блока прогнозирования
4.2 Проектирование базы данных автоматизированной системы интеллектуальной поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов
4.2.1 Проектирование базы данных полимерных композиционных материалов
4.2.2 Проектирование базы данных чугунов с вермикулярным графитом
4.3 Практическая реализация автоматизированной системы интеллектуальной поддержки принятия решений на примере изделия из чугуна с вермикулярным графитом
4.4 Выводы по главе
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ А Справка-отчёт по партиям отливок номенклатуры ЧВГ, микроструктуры образцов с отливок, внешний вид и параметры деталей
ПРИЛОЖЕНИЕ Б Составы полимерных композиционных материалов, внешний вид и параметры футеровочных плит из ПКМ
ПРИЛОЖЕНИЕ В Влияние наполнителей на физико-механические и эксплуатационные свойства полимерных композиционных материалов
ПРИЛОЖЕНИЕ Г Результаты, полученные после применения методов рационального планирования эксперимента и итоговые показатели прогнозных моделей
ПРИЛОЖЕНИЕ Д Листинг реализации базы правил интеллектуальной системы на языке CLIPS
ПРИЛОЖЕНИЕ Е SQL запросы для создания базы данных модуля прогнозирования
ПРИЛОЖЕНИЕ Ж Реализация каскадной нейронной сети на языке C++
ПРИЛОЖЕНИЕ И Технический акт внедрения на изготовление футеровочных плит из полимерных дисперсно-наполненных композиционных материалов
ПРИЛОЖЕНИЕ К Технический акт об использовании результатов кандидатской диссертационной работы
ПРИЛОЖЕНИЕ Л Свидетельство о государственной регистрации программы для ЭВМ
Рекомендованный список диссертаций по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК
Повышение стабильности структуры и свойств ответственных деталей машиностроения из чугуна с шаровидным и вермикулярным графитом2023 год, кандидат наук Закиров Эрнст Сергеевич
Научные основы инновационных решений получения материалов на основе систем Fe-C-Si и Fe-C-Al (чугуны) с рециклированием техногенных отходов машиностроения2020 год, доктор наук Бикулов Ринат Абдуллаевич
Исследование высокотехнологичных композиционных материалов с заданными физико-механическими свойствами для изделий машиностроения2009 год, кандидат технических наук Шафигуллин, Ленар Нургалеевич
Совершенствование технологии получения и свойств машиностроительных заготовок из чугуна с вермикулярным графитом2019 год, кандидат наук Гуртовой Дмитрий Андреевич
Конструкторско-технологическое обеспечение производства деталей машиностроения из дисперсно-упрочненных полимерных композиционных материалов2020 год, кандидат наук Нотин Илья Александрович
Введение диссертации (часть автореферата) на тему «Автоматизированная система интеллектуальной поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов с требуемыми свойствами»
ВВЕДЕНИЕ
Актуальность исследования. Совершенствование процесса технологической подготовки производства в условиях перехода к цифровизации производства в соответствии с концепцией «Индустрия 4.0» приводит к созданию и внедрению в производство автоматизированных информационных систем, которые позволяют сократить сроки решения задач и цикл действующей технологической подготовки производства, а также снизить стоимость за счет моделирования некоторых функций. При этом важно стремиться к большей гибкости системы при принятии решений в автоматическом режиме.
Одной из задач на этапе технологической подготовки машиностроительного производства является обеспечение требуемых свойств изделий из композиционных материалов, которые на сегодняшний день всё больше используются при изготовлении деталей технологического оборудования и машин, что позволяет расширить область их применения в условиях воздействия различных нагрузок, температур и агрессивных сред.
Композиционные материалы широко применяются в автомобильной промышленности при изготовлении ответственных деталей для основных узлов автотехники, таких как: блок цилиндров, картер делителя передач, картер коробки передач, картер сцепления и картер межосевого дифференциала, защитные покрытия, футеровочные плиты, элементы станочной системы, а также используют для усиления конструкций.
Недостаток информации для оценки свойств изделий из композиционных материалов при проектировании процесса их получения приводит к неверному решению задачи по выбору параметров технологического процесса, процентному содержанию вводимых ингредиентов, что, в свою очередь, становится причиной брака на выходе производства [26, 52, 97]. На предприятии данная проблема осложнена еще и тем, что для ее решения необходимо иметь высококвалифицированный и специально обученный состав технологов, что не всегда возможно. Существующие информационные системы, применяемые в
качестве инструментальных средств прогнозирования и принятия решений не обладают достаточным инструментарием для решения задач процесса прогнозирования свойств деталей на этапе технологической подготовки производства, так как являются сложными ввиду необходимости учета большого количества параметров и трудности в описании взаимосвязей между ними с нелинейным характером [17, 20, 21]. Обеспечение требуемых свойств изделий из композиционного материала на этапе технологической подготовки производства возможно при создании автоматизированных информационных систем, работа которых основана на использовании элементов искусственного интеллекта, что дает им возможность быстро адаптироваться и самообучаться при изменении входной информации, а также увеличить скорость реакции системы на изменение исходных данных. Система должна частично заменить специалиста-эксперта в разрешении проблемной ситуации и в автоматизированном режиме делать логические заключения на основе тех знаний и данных, которые хранятся в базе знаний [6, 27, 118]. На основе анализа выявлено, что для условий машиностроительного производства предпочтительной является
автоматизированная система поддержки принятия решений, внедрение которой позволяет обеспечить уменьшение ошибок, вызванных человеческим фактором, снижение процента брака, что в итоге положительно скажется на качестве и себестоимости получаемых деталей.
Имеющиеся задачи и проблемы определяют актуальность работы по формированию автоматизированной информационной системы поддержки принятия решений с элементами искусственного интеллекта, применение которых позволит системе находить решение при изменяющихся условиях на этапе технологической подготовки производства для обеспечения требуемого набора служебных свойств изделий из композиционных материалов.
Степень разработанности темы. Исследованиям в области применения методов и алгоритмов при создании информационных систем с элементами искусственного интеллекта посвящены работы: Городецкого В.И., Климанова В.П., Карцана И.Н., Макарова И.М., Колчина А.Ф., Рыбакова А.В., Ходашинского И.А.,
Писарева А.С., Кабака И.С., Позднеева Б.М., Поспелова Д.А., Тарасова В.Б., Большакова В.И., Дуброва Ю.И., Рассела С., Люгера Дж.Ф. и др.
Цель исследования: повышение эффективности функционирования автоматизированной информационной системы с использованием искусственного интеллекта на этапе технологической подготовки производства изделий из композиционных материалов с требуемым набором свойств.
Задачи исследования. Для достижения поставленной цели в работе необходимо решить следующие научные задачи:
1. Провести анализ ответственных изделий машиностроительного производства, изготавливаемых из композиционных материалов с целью установления взаимосвязи между составом и физико-механическими и эксплуатационными свойствами изделия в зависимости от технических требований, а также основных методов формирования интеллектуальной информационной системы для прогнозирования свойств изделий из композиционных материалов на этапе технологической подготовки машиностроительного производства.
2. Выбрать метод подготовки эксперимента и обработки экспериментальных данных для формирования и пополнения базы знаний автоматизированной информационной системы с элементами искусственного интеллекта.
3. Разработать методику обеспечения физико-механических и эксплуатационных свойств изделий из композиционных материалов машиностроительного производства на этапе технологической подготовки производства с учетом технических требований.
4. Разработать программное обеспечение на основе алгоритмов для организации базы знаний, базы прецедентов и работы автоматизированной информационной системы с элементами искусственного интеллекта для обеспечения свойств изделий из композиционных материалов на этапе технологической подготовки машиностроительного производства в автоматическом режиме.
Объектом исследования являются свойства изделий из композиционных материалов для машиностроительного производства.
Предметом исследования являются методы и алгоритмы работы автоматизированной информационной системы для обеспечения свойств изделий из композиционных материалов.
Научная новизна. В процессе диссертационного исследования получены следующие результаты, обладающие научной новизной:
1. Зависимости влияния состава исследуемых композиционных материалов на физико-механические и эксплуатационные свойства изделий из них, формируемые соответственно техническим требованиям, предъявляемым к деталям машиностроительного производства.
2. Модель базы знаний автоматизированной системы интеллектуальной поддержки принятия решений на этапе технологической подготовки машиностроительного производства изделий из композиционных материалов, разработанная с применением моделирования знаний с помощью продукций, фреймов и нечеткой логики при построении которой разработаны правила ее ведения, реализованные для обеспечения необходимых физико-механических и эксплуатационных свойств.
3. Метод каскадного подхода к обработке информации с применением нейронных сетей на этапе технологической подготовки машиностроительного производства при прогнозировании физико-механических и эксплуатационных свойств изделий из композиционных материалов.
4. Структурная модель автоматизированной информационной системы поддержки принятия решений с применением элементов искусственного интеллекта и кластерного анализа для обеспечения требуемых свойств изделий из композиционных материалов для машиностроительных предприятий на этапе технологической подготовки производства.
Теоретическая значимость заключается в разработанных методиках и алгоритмах проектирования свойств и состава композиционных материалов на основе базы знаний и с применением каскадной нейронной сети.
Практическую значимость работы имеют: инструментальные средства автоматизации обеспечения требуемых свойств изделий машиностроительного производства из композиционных материалов в зависимости от технических требований на этапе технологической подготовки производства.
Показана работоспособность программного обеспечения, что подтверждается свидетельством о государственной регистрации программы для ЭВМ №2020610246 от 10 января 2020 г., актом внедрения на изготовление футеровочных плит из полимерных дисперсно-наполненных КМ от 20 октября 2010 г. (ООО «РенБизнесАвто»), а также актом об использовании результатов кандидатской диссертационной работы от 28 января 2019 г. (ООО «Риэль Инжиниринг»).
Методы исследования. При решении поставленных задач в работе использовались: методы математического анализа и методы построения автоматизированных информационных систем с использованием искусственного интеллекта.
Положения, выносимые на защиту:
1. Структурная модель автоматизированной информационной системы поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов для машиностроительного производства с требуемыми свойствами, основанная на применении элементов искусственного интеллекта и кластерного анализа.
2. Методика формирования базы знаний автоматизированной системы интеллектуальной поддержки принятия решений на этапе технологической подготовки производства изделий из композиционных материалов на основе каскадной нейронной сети, позволяющей упростить и ускорить процесс прогнозирования свойств композиционных материалов за счет выбора определенных каскадов в зависимости от типа композиционного материала.
3. Реализация моделей базы знаний на основе сочетания продукционных моделей, фреймовых моделей и нечеткой логики для выбора множества аналогичных решений при поиске прецедента и формирования новых правил.
Достоверность и обоснованность полученных результатов исследования обеспечивались корректным применением известных научных методов представления и обработки данных, современным математическим аппаратом.
Реализация работы. Диссертационное исследование проведено в рамках научно-исследовательской работы «Построение интеллектуальной системы проектирования, подготовки и управления в машиностроительном производстве» рег. номер ЦИТИС 01201365666 и гранта Минобрнауки России для выполнения научно-исследовательских работ студенческими научными коллективами КФУ 0613/06.13.02292 (субсидия на реализацию программы развития деятельности студенческих объединений) по теме «Разработка интеллектуальной системы для прогнозирования свойств чугунов с вермикулярным графитом».
Результаты диссертационной работы внедрены и использованы в учебном процессе при реализации программы магистратуры по направлению подготовки 15.04.04 «Автоматизация технологических процессов и производств» Набережночелнинского института (филиала) ФГАОУ ВО «Казанский (Приволжский) федеральный университет», для производства опытной партии футеровочных плит из дисперсно-наполненных КМ на предприятии ООО «РенБизнесАвто», а также ООО «Риэль Инжиниринг» при разработке проектной документации и программного обеспечения по теме «Разработка единого программно-аппаратного комплекса по оперативному контролю и учету параметров технологического процесса машиностроительного предприятия на примере литейного предприятия».
Получено свидетельство о государственной регистрации программы для ЭВМ №2020610246 от 10 января 2020 г.
Апробация работы. Теоретические и практические результаты исследования, полученные автором, докладывались и обсуждались на заседаниях кафедры «Автоматизация и управление» (Набережночелнинский институт ФГАОУ ВО «Казанский (Приволжский) федеральный университет») в 2014-2018 г., на заседании кафедры «Автоматизированных систем обработки информации и управления» федерального государственного бюджетного образовательного
учреждения высшего образования «Московский государственный технологический университет «СТАНКИН» в 2020 г., а также на международных научных и научно-практических конференциях: «Образование и наука -производству» (г. Набережные Челны, 2010г.), «Информационные технологии. Автоматизация. Актуализация и решение проблем подготовки высококвалифицированных кадров (ИТАП-2011)» (г. Набережные Челны, 2011г.), «Информационные технологии. Автоматизация. Актуализация и решение проблем подготовки высококвалифицированных кадров (ИТАП-2012)» (г. Набережные Челны, 2012г.), «Инновационные машиностроительные технологии, оборудование и материалы - 2013 (ИМТ0М-2013)» (г. Казань, 2013г.), «Информационные технологии. Автоматизация. Актуализация и решение проблем подготовки высококвалифицированных кадров (ИТАП-2014)» (г. Набережные Челны, 2014г.), «Информационные технологии. Автоматизация. Актуализация и решение проблем подготовки высококвалифицированных кадров (ИТАП-2016)» (г. Набережные Челны, 2015г.), «Инновационные машиностроительные технологии, оборудование и материалы - 2016 (ИМТ0М-2016)» (г. Казань, 2016г.), «Инновационные машиностроительные технологии, оборудование и материалы - 2017 (ИМТОМ-2017)» (г. Казань, 2017г.), «Энергосбережение. Наука и образование» (г. Набережные Челны, 2017г.), «X Камские чтения» (г. Набережные Челны, 2018г.), на Итоговой научной конференции ППС Набережночелнинского института КФУ (г. Казань, 2015), на Итоговой научной конференции сотрудников Казанского университета за 2017 год (г. Казань, 2018 г.), «XI Камские чтения» (г. Набережные Челны, 2019 г.).
Основные положения диссертации отражены в 23 публикациях (из них: 4 - в журналах, индексируемых Web of Science и Scopus, 4 - в журналах, входящих в перечень ведущих рецензируемых научных журналов и изданий, рекомендованных ВАК), включая тезисы докладов, опубликованных в рамках международных и региональных научно-технических и научно-практических конференций.
Соответствие диссертации паспорту специальности. Основные результаты диссертационной работы соответствуют пункту 4 «Теоретические
основы и методы математического моделирования организационно-технологических систем и комплексов, функциональных задач и объектов управления и их алгоритмизация» и пункту 15 «Теоретические основы, методы и алгоритмы интеллектуализации решения прикладных задач при построении АСУ широкого назначения (АСУТП, АСУП, АСТПП и др.)» паспорта научной специальности 05.13.06 - «Автоматизация и управление технологическими процессами и производствами» (в машиностроении).
Структура и объем диссертации. Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы из 121 наименования и десяти приложений. Работа изложена на 135 страницах машинописного текста, содержит 63 рисунка, 7 таблиц и 24 формулы.
ГЛАВА 1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Анализ композиционных материалов, применяемых для деталей машиностроительного производства
Стремление к реализации необычных конструктивных решений приводит к необходимости изобретения новых материалов с улучшенными характеристиками, либо применения традиционных материалов, которые прошли специальную обработку. Прогресс в промышленности неразрывно связан с разработкой и повсеместным внедрением в производство композиционных материалов (далее -КМ), примером которых являются чугуны специального назначения, стали и полимерные композиционные материалы.
КМ состоят из матричного материала-основы и более твердых и прочных компонентов, являющихся наполнителями. Свойства КМ зависят от свойств основы, наполнителей и прочности связи между ними.
Матрица связывает композицию в монолит, придает ей форму и служит для передачи внешних нагрузок арматуре из наполнителей. Классификация композиционных материалов по виду матрицы представлена на рисунке 1 .
Рисунок 1 - Классификация композиционных материалов по виду матрицы
Прочностные характеристики композиционных материалов зависят от соотношения как свойств армирующих элементов и матрицы, так и их связи. Работоспособность композиционных материалов зависит от корректного выбора исходных составляющих и способа их совмещения для обеспечения прочной связи между составляющими при неизменности их первоначальных характеристик [110]. В диссертационном исследовании рассмотрены такие композиционные материалы, как чугун с вермикулярным графитом (далее - ЧВГ) и полимерные композиционные материалы (далее - ПКМ) на основе эпоксидной и полиэфирной смол с наполнителями. Данные материалы выбраны как наиболее перспективные представители композиционных материалов с разным типом матрицы: ЧВГ-металлическая матрица, ПКМ - неметаллическая матрица.
Чугун с вермикулярным графитом с каждым годом находит все более распространенное применение в автомобильной промышленности при изготовлении ответственных деталей для основных узлов автотехники. ЧВГ представляют собой литейные чугуны, обладающие промежуточными механическими и физическими свойствами между серыми чугунами и высокопрочными чугунами, они удачно комбинируют прочность, теплопроводность и прочие свойства, а также обладают хорошими литейными характеристиками. За рубежом (в Германии, Японии, США) из ЧВГ производят ответственные детали судовых двигателей, головки цилиндров крупных морских дизельных двигателей внутреннего сгорания, втулки цилиндров, поршни для судовых двигателей, уникальные физико-механические характеристики ЧВГ становятся все более востребованными при изготовлении ответственных деталей грузовиков. В диссертационном исследовании рассмотрены ответственные детали автомобилей КАМАЗ из ЧВГ, такие как: блок цилиндров, коробка переключения передач, картер делителя передач, картер сцепления и картер межосевого дифференциала [39]. Данные детали работают при значительных ударных нагрузках и в условиях интенсивного трения, в связи с этим предъявляются высокие требования к их прочностным характеристикам, которые могут быть оценены по показателям твердости (ЛБ) и предела прочности (ав). Для получения
прогнозных моделей расчёта твердости и предела прочности была использована справка-отчёт по партиям отливок номенклатуры ЧВГ, заливаемым на формовочной линии литейного производства. На основе этих данных проведён анализ зависимости предела прочности от процентного содержания компонентов чугуна. Справка-отчёт, микроструктуры образцов с отливки, внешний вид и параметры (габариты, масса) анализируемых деталей представлены в приложении А.
Полимерные композиционные материалы являются одним из самых многочисленных и разнообразных видов материалов. Комплекс уникальных эксплуатационных свойств ПКМ позволил им получить широкое применение в области машиностроении. Из них производят защитные покрытия, футеровочные плиты, элементы станочной системы, а также используют для усиления конструкций [58, 106]. Изделия из полимерных композиционных материалов используются в условиях повышенных температур, возникновения ударных, статических и динамических нагрузок, воздействия агрессивных сред. Эти условия определяют интерес к упругим и прочностным свойствам ПКМ. Оценка этих свойств производилась по измеренным величинам, полученным в ходе экспериментальных исследований: предел прочности при одноосном сжатии (осж), твердость (НВ), динамический модуль упругости (Ед), условно-мгновенный модуль упругости (Ео), предел прочности на изгиб (аШг), равновесный модуль упругости (Еув), ударная вязкость (А). Эксплуатационные свойства оценивались значением массопоглощения (т) ПКМ. Состав исследуемых образцов полимерных композиционных материалов, а также внешний вид и параметры футеровочных плит, изготовленных из полученных эпоксидных, полиэфирных, эпоксиполиуретановых наполненных КМ представлены в приложении Б. Физико-механические и эксплуатационные свойства образцов - в приложении В.
1.2 Современные инструментальные средства прогнозирования и поддержки принятия решений для изделий из композиционных материалов
В качестве инструментальных средств прогнозирования и поддержки принятия решений для изделий из композиционных материалов, существует ряд функциональных систем: GRANTA MI, MedeA, Ansys, ProCAST, Abaqus, а также ПолигонСофт.
1. GRANTA MI, ведущая система управления информацией о материалах для организаций. Модуль Hybrid Synthesizer ™ Models позволяют прогнозировать поведение гибридных материалов и конструкций (таких как сэндвич-панели, пены, решетки и композиты) и сравнивать их с другими материалами в проекте выбора. Данный модуль позволяет исследовать и идентифицировать новые гибридные системы, которые демонстрируют уникальные сочетания свойств. Предсказание эквивалентного модуля упругости изгибов сэндвич-панелей из алюминия и сравнение их характеристик с другими материалами [111].
2. MedeA - программное обеспечение (далее - ПО) компании MaterialsDesign, для прогнозирования физических и химических свойств материалов.
В основе моделирования лежит применение квантовой механики, классической механики, методов корреляций, эмпирических данных, а также статистической термодинамики и электродинамики [44].
Недостатки данной системы: очень высокие требования к машинным ресурсам, так как решение таких крупных задач требует распределения их по разным компьютерам, а также использование суперкомпьютера.
3. Ansys - это универсальный программный комплекс, который предназначен для решения задач моделирования в различных областях инженерной деятельности [112].
Работа системы основана на создании конечно-элементной модели, имитации выбранных воздействий и оценки поведения модели. Система предназначена для обрисовки отклика модели на воздействия различного
происхождения. Моделирование с использованием данных моделей осуществляется на суперкомпьютерах.
4. ProCAST - система компьютерного 3D-моделирования литейных процессов для всех процессов литья и литейных сплавов [113]. В основе работы системы - метод конечных элементов, модули соответствуют конкретным физическим процессам, что помогает спрогнозировать микроструктуру сплавов. Также возможна оптимизация параметров технологического процесса.
5. Abaqus - пакет ПО для анализа и прогнозирования, основанный на методе имитационного моделирования и конечно-элементных расчетах на прочность [114]. В качестве достоинства следует отметить возможность решать сложные линейные и нелинейные инженерные задачи.
6. «ПолигонСофт» - система для моделирования и анализа большинства литейных процессов. Система предоставляет возможность прогнозировать механические свойства, визуализировать результаты расчетов, а также просмотр состояния отливки и ее характеристики в процессе моделирования. Системой предусмотрен критериальный анализ и расчет свойств и параметров [115].
В таблице 1 представлены основные параметры программного обеспечения, применяемого для прогнозирования свойств композиционных материалов.
Таблица 1 - Программное обеспечение, используемое для прогнозирования свойств композиционных материалов
Система Поддержка Рекомендуемые Поддержива- Области
операционных машинные емые использования
систем ресурсы форматы
GRANTA Windows ПК (Intel Xeon ANSYS Авиация, космос,
MI (32/64 bit). x3440; 2,53 ГГц Classic, машиностроение,
или лучше; ОЗУ: ANSYS биомедицина,
16 ГБ) WorkBench, нефтегазовая
NX, CATIA, отрасль,
Teamcenter, пожарная
Wildchill и безопасность,
другие проектирование
пакеты. зданий.
MedeA Linux (32/64 bit) Windows (32/64 bit) Многоядерные ПК (х64; 2ГГц; ОЗУ: 4 ГБ), Суперкомпьютеры PBS, OpenPBS, LSF, GridEngine, SLURM. Машиностроение, энергетика, авиация, космос, химия и нефтехимия, полимеры, сплавы, композиты.
ANSYS Linux (32/64 bit) Windows (32/64 bit) ПК (IntelXeonE5 и новее; AMD 16 ядерные и новее; ОЗУ: 4 Гб ОЗУ на ядро), Суперкомпьютеры. IGES, CATIA V4/V5, ENGINEER, Solid Edge, SolidWorks, Unigraphics, и другие. Авиация, космос, машиностроение, биомедицина, нефтегазовая отрасль, пожарная безопасность, проектирование мостов и зданий, оборудования станков.
ProCAST Linux (32/64 bit) Windows (32/64 bit) ОЗУ: 8 Гб (рекомендуется 16Гб). IGES, STEP, Parasolid, CATIA, ProE, ANSYS, ABAQUS. Многокомпонентные промышленные сплавы, анализ теплофизических свойств, процессы литья.
Abaqus Linux (32/64 bit) Windows (32/64 bit) HP-UX/PA -RISC ПК (32/64 bit, 2ГГц, ОЗУ: 2 ГБ). VRML, STL, DEFORM, SIMULIA, Abaqus, ANSYS; NASTRAN. Машиностроение, электроника, энергетика, металлургия, нефтедобыча и переработка, общая механика, товары народного потребления.
Полигон Windows ПК (2 ядра, 32/64 Altair Литье в песчаную
Софт (32/64 bit) bit, 2ГГц, ОЗУ: 2 HyperMesh, форму, литье в
ГБ). ANSYS, кокиль, литье по
ProCAST, выплавляемым
Nastran, моделям, литье в
CATIA V5, вакууме, литье
NEU, ISPA. под давлением,
непрерывное
литье, жидкая
штамповка.
Так как обеспечение свойств изделий из композиционных материалов в машиностроительном производстве на этапе технологической подготовки является задачей, в которой трудно разработать адекватную математическую модель, ввиду сложности формализации зависимостей выходных параметров от входных данных критериями оценки возможности применения данных информационных систем для обеспечения необходимых свойств изделий производства являются:
- возможность проектирования материалов с учетом эксплуатационных свойств;
- возможность описания неформализованных зависимостей между физико-механическими, эксплуатационными свойствами и химическим составом материала;
Похожие диссертационные работы по специальности «Автоматизация и управление технологическими процессами и производствами (по отраслям)», 05.13.06 шифр ВАК
Разработка методов и средств совершенствования качества производства отливок поршневых колец2013 год, кандидат наук Арустамян, Арам Иванович
Научные основы инновационных решений получения материалов на основе системы Fe-C-Si и Fe-C-Al с рециклированием техногенных отходов машиностроения2018 год, кандидат наук Бикулов, Ринат Абдуллаевич
Управление качеством процесса проектирования технологической оснастки на основе практической стандартизации проектных решений2010 год, кандидат технических наук Якимович, Екатерина Николаевна
Автоматизация и управление процессом принятия решений при многокритериальном проектировании пильного блока лесопильного станка2017 год, кандидат наук Фунг Ван Бинь
Совершенствование материалов и технологические решения по повышению стойкости штамповой оснастки для горячедеформируемых полуфабрикатов2024 год, кандидат наук Мухаметзянов Ильнар Ринатович
Список литературы диссертационного исследования кандидат наук Клочкова Ксения Валерьевна, 2020 год
// // //
j = 0;
for(NeuroCell* nc = nnfc; nc!=NULL; nc = nc->next) { jold = j;
// // //
sum = 0;
for(Synapse* s = nc->infs; s!=NULL; s = s->next, j++) { chr[i].w[j] = fabs(((double)rand()/RAND MAX <
0.5?1:-1)*(double)rand()/RAND MAX*xchr[i].w[j]+chr[i].w[j]);
j++)
// // // // // // // // };
sum += chr[i].w[j];
};
j = jold; if (sum)
for(Synapse* s = nc->infs; s!=NULL; s = s->next, chr[i].w[j] /= sum;
};
};
return EXIT SUCCESS;
UINT WeightChrPop::RecalculateFF() {
for(UINT ic = 0; ic < this->size; ic++)
this->chr[ic]->RecalculateFF(); return EXIT_SUCCESS;
};
UINT WeightChrPop::RecalculateRank() {
for(UINT ic = 0; ic < this->size; ic++)
this->chr[ic]->RecalculateRank(); return EXIT_SUCCESS;
};
UINT WeightChrPop::Output(ofstream fstr) { fstr << endl;
for(UINT ic = 0; ic < this->size; ic++) { fstr << "CHR";
fstr.width(floor(log10(this->size))+1);
fstr.fill('0');
fstr << ic;
for(UINT iv = 0; iv < this->chr[ic]->GetSize(0); iv++) { fstr.width(12); fstr.fill(' ');
fstr << this->chr[ic]->GetValue(0, iv) << " ";
fstr << "FF " << this->chr[ic]->FF() << endl;
};
fstr << endl; return EXIT_SUCCESS;
};
//ActFncChr implementation
ActFncChr::ActFncChr(MLP* mlp,
double SlopeMin, double SlopeMax, double BiasMin, double BiasMax) { //set chromosome parameters this->ff = 0; this->gcnt = 2; this->rank = 0; this->mlp = mlp; //set chromosome genes this->g = new Gene [this->gcnt];
//activation function slope gene std::srand((unsigned int)std::time(NULL)); strcpy(this->g[0].name, "AFSCHR"); this->g[0].size = this->mlp->SynapseCount(); for(UINT iv = 0; iv < this->g[0].size; iv++)
this->g[0].value[iv] = (double)rand()/RAND_MAX*(SlopeMax -SlopeMin) + SlopeMin;
//activation function offset gene strcpy(this->g[1].name, "AFOCHR"); this->g[1].size = this->mlp->SynapseCount(); for(UINT iv = 0; iv < this->g[1].size; iv++)
this->g[1].value[iv] = (double)rand()/RAND_MAX*(BiasMax -
BiasMin) + BiasMin;
};
ActFncChr::ActFncChr(ActFncChr* afchr) {
this->Copy(afchr);
ActFncChr::~ActFncChr() { //delete genes
for(UINT ig = 0; ig < this->gcnt; ig++) { delete this->g[ig].name; delete [] this->g[ig].value;
};
};
UINT ActFncChr::RecalculateFF() {
//assign activation function parameters to neural network int iaf = 0;
//assign inlet neuro cells activation function parameters for(InletNeuroCell* inc = this->mlp->inl.infc; inc != NULL; inc = static cast<InletNeuroCell*>(inc->next)) {
inc->afs = this->g[0].value[iaf]; inc->afo = this->g[1].value[iaf]; iaf++;
};
//assign intermediate neuro cells activation function parameters for(UINT inl = 0; inl < this->mlp->LayerCount(); inl++)
for(NeuroCell* nc = this->mlp->nl[inl]->nlfc; nc != NULL; nc = static cast<NeuroCell*>(nc->next)) {
nc->afs = this->g[0].value[iaf]; nc->afo = this->g[1].value[iaf]; iaf++;
this->ff = this->mlp->Error(); return EXIT_SUCCESS;
};
UINT ActFncChr::RecalculateRank() { this->rank = 1/this->ff;
};
UINT ActFncChr::Copy(ActFncChr* afchr) {
IChromosome::Copy(afchr); this->mlp = afchr->mlp;
//ActFncChrPop implementation
size, mlp,
SlopeMin, SlopeMax, BiasMin, BiasMax) {
ActFncChrPop::ActFncChrPop(UINT
MLP* double double double double this->size = size;
this->chr = new IChromosome* [this->size]; for(UINT ic = 0; ic < this->size; ic++)
this->chr[ic] = new ActFncChr(mlp, SlopeMin, SlopeMax, BiasMin, BiasMax);
//set mlp activate function parameters to the first chromosome UINT iv = 0;
for(UINT inl = 0; inl < mlp->LayerCount(); inl++)
for(NeuroCell* nc = mlp->nl[inl]->nlfc; nc != NULL; nc = static cast<NeuroCell*>(nc->next)) {
this->chr[0]->SetValue(0, iv, nc->afs); this->chr[0]->SetValue(1, iv, nc->afo); iv++;
};
for(OutletNeuroCell* outc = mlp->outl.outfc; outc != NULL; outc static cast<OutletNeuroCell*>(outc->next)) {
this->chr[0]->SetValue(0, iv, outc->afs); this->chr[0]->SetValue(1, iv, outc->afo); iv++;
};
};
ActFncChrPop::~ActFncChrPop() { delete [] this->chr;
UINT ActFncChrPop::Crossover(ActFncChrPop* afpop,
double CrossoverPerc)
if(this->size != afpop->size)
return ERR_POP_SIZE_MISMATCH; std::srand((unsigned int)std::time(NULL)); double temp = 0; double xval = 0 double yval = 0 for(UINT ic = 0; ic < this->size; ic++)
for(UINT ig = 0; ig < this->chr[ic]->Count(); ig++)
for(UINT iv = 0; iv < this->chr[ic]->GetSize(ig); iv++) if((rand()%100+1) < CrossoverPerc) {
xval = this->chr[ic]->GetValue(ig, iv); yval = afpop->chr[ic]->GetValue(ig, iv); temp = ((double)rand()/RAND_MAX < 0.5?1:-L)*((double)rand()/RAND_MAX*(xval - yval)) + ((xval + yval)/2);
this->chr[ic]->SetValue(ig, iv, temp);
};
// //new xchr assigns value in range [ychr, xchr]
// xchr[i].afs[j] =
(double)rand()/RAND_MAX*(ychr[i].afs[j]-xchr[i].afs[j])+xchr[i].afs[j];
// xchr[i].afo[j] =
(double)rand()/RAND_MAX*(ychr[i].afo[j]-xchr[i].afo[j])+xchr[i].afo[j]; return EXIT_SUCCESS;
};
UINT ActFncChrPop::Mutation(double MutationPerc) { std::srand((unsigned int)std::time(NULL)); double temp = 0; double xval = 0;
for(UINT ic = 0; ic < this->size; ic++)
for(UINT ig = 0; ig < this->chr[ic]->Count(); ig++)
for(UINT iv = 0; iv < this->chr[ic]->GetSize(ig); iv++) if((rand()%100+1) < MutationPerc) {
xval = this->chr[ic]->GetValue(ig, iv); temp = ((double)rand()/RAND_MAX < 0.5?1:-1)*(double)rand()/RAND_MAX*xval + xval;
this->chr[ic]->SetValue(ig, iv, temp);
return EXIT_SUCCESS;
UINT ActFncChrPop::RecalculateFF() {
for(UINT ic = 0; ic < this->size; ic++)
this->chr[ic]->RecalculateFF(); return EXIT_SUCCESS;
};
UINT ActFncChrPop::RecalculateRank() {
for(UINT ic = 0; ic < this->size; ic++)
this->chr[ic]->RecalculateRank(); return EXIT_SUCCESS;
};
UINT ActFncChrPop::Output(ofstream fstr) { fstr << endl;
for(UINT ic = 0; ic < this->size; ic++) { fstr << "CHR";
fstr.width(floor(log10(this->size))+1);
fstr.fill('O');
fstr << ic;
//output chromosome activation function slope fstr << endl << "s: ";
for(UINT iaf = 0; iaf < this->chr[ic]->GetSize(0); iaf++) { fstr.width(12); fstr.fill(' ');
fstr << this->chr[ic]->GetValue(0, iaf) << " ";
};
//output chromosome activation function offset fstr << endl << "o: ";
for(UINT iaf = 0; iaf < this->chr[ic]->GetSize(1); iaf++) { fstr.width(12); fstr.fill(' ');
fstr << this->chr[ic]->GetValue(1, iaf) << " ";
};
//output chromosome fitness function value
fstr << "FF " << this->chr[ic]->FF() << endl;
fstr << endl; return EXIT SUCCESS;
//NeuroNetChr implementation
NeuroNetChr::NeuroNetChr(MLP*
TrainSet* TRAIN_METHOD double double double double double double double double double double
//set chromosome parameters this->ff = 0;
this->gcnt = 1
this->rank = 0;
//set pointer to the neural network this->mlp = mlp;
//set neural network parameters
mlp,
ts,
tm,
LayerCntMin,
LayerCntMax,
NeuroCntMin,
NeuroCntMax,
WeightMax,
WeightMin,
ActFncType,
ActFncSlope,
ActFncBias,
PolarSignalValue) {
this->ts
this->WeightMax
this->WeightMin
this->ActFncType
this->ActFncSlope
this->ActFncBias
= ts;
= WeightMax; = WeightMin; = ActFncType; = ActFncSlope; = ActFncBias;
this->PolarSignalValue = PolarSignalValue; //set chromosome genes
std::srand((unsigned int)std::time(NULL)); this->g = new Gene [this->gcnt];
//neural network dimention gene strcpy(this->g[0].name, "NNCHR");
this->g[0].size = (double)rand()/RAND_MAX*(LayerCntMax -LayerCntMin) + LayerCntMin;
for(UINT iv = 0; iv < this->g[0].size; iv++)
this->g[0].value[iv] = (double)rand()/RAND_MAX*(NeuroCntMax -
NeuroCntMin) + NeuroCntMin;
};
NeuroNetChr::NeuroNetChr(NeuroNetChr* nnchr) { this->Copy(nnchr);
};
NeuroNetChr::~NeuroNetChr() { //delete genes
for(UINT ig = 0; ig < this->gcnt; ig++) { delete this->g[ig].name; delete [] this->g[ig].value;
};
};
UINT NeuroNetChr::RecalculateFF() { //create neural network MLP* nn = new MLP(NULL,
this->g[0].size, (int*)this->g[0].value, this->ts, this->WeightMin, this->WeightMax, this->ActFncType, this->ActFncSlope, this->ActFncBias, this->PolarSignalValue); //teach neural network switch(this->tm) {
case TRAIN_BACK_PROP:
nn->BPT(static_cast<TrainSet*>(this->tps[TRAIN_TRAIN_SET]),
*static cast<double*>(this->tps[TRAIN_BPT_TRAIN_RATE]),
*static cast<double*>(this->tps[TRAIN_BPT_TRAIN_INERTIAL_COEF]),
*static cast<double*>(this-
>tps[TRAIN_ERROR_MAX]),
*static_cast<UINT*>(this->tps[TRAIN_ITERATION_CNT]));
case TRAIN_LEV_MARQ:
nn->LMT(static_cast<TrainSet*>(this->tps[TRAIN_TRAIN_SET]),
*static cast<double*>(this-
>tps[TRAIN_ERROR_MAX]),
*static_cast<UINT*>(this->tps[TRAIN_ITERATION_CNT]),
*static cast<double*>(this->tps[TRAIN_LMT_DERIV_STEP])); default:
break;
};
//calculate teaching error this->ff = nn->Error(); //delete neural network delete nn;
return EXIT_SUCCESS;
};
UINT NeuroNetChr::RecalculateRank() { this->rank = 1/this->ff;
};
UINT NeuroNetChr::Copy(NeuroNetChr* nnchr) { IChromosome::Copy(nnchr); //assign chromosome parameters this->mlp = nnchr->mlp;
this->ts = nnchr->ts;
this->tm = nnchr->tm;
switch(this->tm) {
case TRAIN_BACK_PROP:
//delete orginal training parameters set delete [] this->tps; this->tps = new void* [sizeof(TRAIN_BPT_PARAM_SET)/sizeof(TRAIN_PARAM)];
//set training parameters this->tps[TRAIN_TRAIN_SET]
TrainSet;
this->tps[TRAIN_TRAIN_SET] >tps[TRAIN_TRAIN_SET];
this->tps[TRAIN_BPT_TRAIN_RATE] this->tps[TRAIN_BPT_TRAIN_RATE] >tps[TRAIN_BPT_TRAIN_RATE];
this->tps[TRAIN_BPT_TRAIN_INERTIAL_COEF] this->tps[TRAIN_BPT_TRAIN_INERTIAL_COEF] >tps[TRAIN_BPT_TRAIN_INERTIAL_COEF];
this->tps[TRAIN_ERROR_MAX] this->tps[TRAIN_ERROR_MAX] >tps[TRAIN_ERROR_MAX];
this->tps[TRAIN_ITERATION_CNT] this->tps[TRAIN_ITERATION_CNT] >tps[TRAIN_ITERATION_CNT];
case TRAIN_LEV_MARQ:
//delete orginal training parameters set delete [] this->tps; this->tps = new void* [sizeof(TRAIN_LMT_PARAM_SET)/sizeof(TRAIN_PARAM)];
//set training parameters this->tps[TRAIN_TRAIN_SET] this->tps[TRAIN_TRAIN_SET] >tps[TRAIN_TRAIN_SET];
this->tps[TRAIN_ERROR_MAX] this->tps[TRAIN_ERROR_MAX] >tps[TRAIN_ERROR_MAX];
this->tps[TRAIN_ITERATION_CNT] this->tps[TRAIN_ITERATION_CNT] >tps[TRAIN_ITERATION_CNT];
this->tps[TRAIN LMT DERIV STEP]
= new
= nnchr-
= new double; = nnchr-
= new double; = nnchr-
= new double; = nnchr-
= new UINT; = nnchr-
= new TrainSet; = nnchr-
= new double; = nnchr-
= new UINT; = nnchr-
= new double;
this->tps[TRAIN_LMT_DERIV_STEP] >tps[TRAIN_LMT_DERIV_STEP];
default:
break;
};
this->WeightMax this->WeightMin this->ActFncType this->ActFncSlope this->ActFncBias this->PolarSignalValue
};
= nnchr-
= nnchr->WeightMax; = nnchr->WeightMin; = nnchr->ActFncType; = nnchr->ActFncSlope; = nnchr->ActFncBias; = nnchr->PolarSignalValue;
//NeuroNetChrPop implementation
UINT size,
MLP* mlp,
TrainSet* ts,
TRAIN METHOD tm,
TRAIN PARAM VAL tps,
double LayerCntMin,
double LayerCntMax,
double NeuroCntMin,
double NeuroCntMax,
double WeightMin,
double WeightMax,
double ActFncType,
double ActFncSlope,
double ActFncBias,
double PolarSignalValue) {
this->size = size;
this->chr = new IChromosome* [this->size]; for(UINT ic = 0; ic < this->size; ic++) this->chr[ic] = new NeuroNetChr(mlp,
ts, tm,
LayerCntMin, LayerCntMax,
NeuroCntMin, NeuroCntMax, WeightMin, WeightMax, ActFncType, ActFncSlope, ActFncBias, PolarSignalValue); //set mlp activate function parameters to the first chromosome UINT iv = 0;
this->chr[0]->SetSize(0, mlp->LayerCount()); for(UINT inl = 0; inl < this->chr[0]->GetSize(0); inl++) { this->chr[0]->SetValue(0, iv, mlp->nl[inl]->ncnt); iv++;
};
};
NeuroNetChrPop::~NeuroNetChrPop() { delete [] this->chr;
};
UINT NeuroNetChrPop::Crossover(NeuroNetChrPop* nnpop,
double CrossoverPerc) {
if(this->size != nnpop->size)
return ERR POP SIZE MISMATCH;
std::srand((unsigned int)std::time(NULL));
double temp = 0;
double xval = 0;
double yval = 0;
UINT itv = 0;
UINT start = 0;
UINT lctpop = 0;
UINT lcnnpop = 0;
Gene* tgene = new Gene;
for(UINT ic = 0; ic < this->size; ic++)
for(UINT ig = 0; ig < this->chr[ic]->Count(); ig++) if((rand()%100+1) < CrossoverPerc) { //find new layer count
lctpop = (UINT)rand()%this->chr[ic]->GetSize(ig); lcnnpop = (UINT)rand()%nnpop->chr[ic]->GetSize(ig); //set new gene
tgene->size = lctpop + lcnnpop; tgene->value = new double [tgene->size]; //grab one part from this itv = 0;
start = (UINT)rand()%(this->chr[ic]->GetSize(ig)-
lctpop);
for(UINT iv = start; iv < this->chr[ic]->GetSize(ig)-
lctpop; iv++) {
tgene->value[itv] = this->chr[ic]->GetValue(ig,
iv);
itv++;
};
//grab another one from nnpop
start = (UINT)rand()%(nnpop->chr[ic]->GetSize(ig)-
lcnnpop);
for(UINT iv = start; iv < this->chr[ic]->GetSize(ig)-
lcnnpop; iv++) {
tgene->value[itv] = this->chr[ic]->GetValue(ig,
iv);
itv++;
};
//copy new gene to this
this->chr[ic]->SetSize(ig, tgene->size); for(UINT iv = 0; iv < this->chr[ic]->GetSize(ig);
iv++)
this->chr[ic]->SetValue(ig, iv, tgene-
>value[iv]);
};
return EXIT_SUCCESS;
};
UINT NeuroNetChrPop::Mutation(double MutationPerc) { std::srand((unsigned int)std::time(NULL)); double temp = 0; double xval = 0;
for(UINT ic = 0; ic < this->size; ic++)
for(UINT ig = 0; ig < this->chr[ic]->Count(); ig++)
for(UINT iv = 0; iv < this->chr[ic]->GetSize(ig); iv++) if((rand()%100+1) < MutationPerc) {
xval = this->chr[ic]->GetValue(ig, iv); temp = ((double)rand()/RAND_MAX < 0.5?1:-1)*(UINT)rand()%(UINT)xval + xval;
this->chr[ic]->SetValue(ig, iv, temp);
};
return EXIT_SUCCESS;
};
UINT NeuroNetChrPop::RecalculateFF() {
for(UINT ic = 0; ic < this->size; ic++)
this->chr[ic]->RecalculateFF(); return EXIT_SUCCESS;
};
UINT NeuroNetChrPop::RecalculateRank() {
for(UINT ic = 0; ic < this->size; ic++)
this->chr[ic]->RecalculateRank(); return EXIT_SUCCESS;
};
UINT NeuroNetChrPop::Output(ofstream fstr) { fstr << endl;
for(UINT ic = 0; ic < this->size; ic++) { fstr << "CHR";
fstr.width(floor(log10(this->size))+1);
fstr.fill('0');
fstr << ic;
//output neural network dimention fstr << endl << "DIM ";
for(UINT inn = 0; inn < this->chr[ic]->GetSize(0); inn++) { fstr.width(6); fstr.fill(' ');
fstr << this->chr[ic]->GetValue(0, inn) << " ";
//output chromosome fitness function value fstr << "FF " << this->chr[ic]->FF() << endl;
};
fstr << endl; return EXIT SUCCESS;
//INeuroNet implementation
NNT INeuroNet::Type() { return this->type;
};
void INeuroNet::AddSynapse(INeuroCell* ncFrom,
INeuroCell* ncTo, double Weight) {
Synapse* s = new Synapse(Weight, ncFrom, ncTo);
};
UINT INeuroNet::EraseSynapse(INeuroCell* ncFrom,
INeuroCell* ncTo) { for(Synapse* s = ncTo->infs; s != NULL; s = s->nctonext) if(s->ncfrom == ncFrom) { delete s;
return EXIT_SUCCESS;
};
return ERR_SYNAPSE_NOT_FOUND;
};
void INeuroNet::EraseSynapse(Synapse* delete s;
};
UINT INeuroNet::AttachTrainSet(TrainSet* ts) { if(ts->incnt != this->inl.incnt)
return ERR_INSUFF_INPUT; if(ts->outcnt != this->outl.outcnt) return ERR_INSUFF_OUTPUT;
//attach input neuro cells InletNeuroCell* inc = this->inl.infc; for(int itps = 0; itps < ts->incnt; itps++) { inc->tps = &(ts->ints[itps]);
inc = static cast<InletNeuroCell*>(inc->next);
};
//attach output neuro cells OutletNeuroCell* outc = this->outl.outfc; for(int itps = 0; itps < ts->outcnt; itps++) { outc->tps = &(ts->outts[itps]);
outc = static cast<OutletNeuroCell*>(outc->next);
};
this->ts = ts; return EXIT_SUCCESS;
};
double INeuroCell::AFD() { //calculate activate function derivation double result = 0; switch (this->aft) {
case AFT_HYSTERESIS:
result = this->afs;
if(((this->value-this->afo) >= 1)&&((this->value-this-
>afo) <= 0))
result = 0; break; case AFT_SIGMOID:
result = this->afs*(this->value-this->afo)*(1-(this->value-this->afo));
break; case AFT_BSIGMOID:
result = this->afs*(1-pow((this->value-this->afo), 2)); break; case AFT_TANH:
result = (1+(this->value-this->afo))*(1-(this->value-
this->afo));
break;
case AFT HYSTERESIS UNBOUND:
result break;
= this->afs;
return result;
};
//MLP implementation
MLP::MLP(const char* const UINT const int* const TrainSet* const double const double const AFT const double const double
Name,
LayerCount,
Dimention,
ts,
WeightMin,
WeightMax,
ActFncType,
ActFncSlope,
ActFncBias,
PolarSignalValue) {
const double strcpy(this->name, Name); this->type = NNT_MLP;
std::srand((unsigned int)std::time(NULL)); //create input layer
InletNeuroCell* inc = this->inl.infc;
this->inl.incnt = ts->incnt;
for(int its = 0; its < ts->incnt; its++) {
inc = new InletNeuroCell(&(ts->ints[its]),
ActFncType, ActFncSlope, ActFncBias);
inc->prev = this->inl.inlc;
this->inl.inlc = inc;
inc = static cast<InletNeuroCell*>(inc->next);
};
//create intermediate layer and synapses this->lc = LayerCount;
this->nl = new NeuroLayer* [this->lc];
double w = 0;
Synapse*
= NULL;
s
NeuroCell* nc = NULL;
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.