Главная Архив номеров N-24 сентябрь 2009 ПРИМЕНЕНИЕ ИНТЕЛЛЕКТУАЛЬНОГО ПОИСКА РЕШЕНИЯ ПРИ ПРОЕКТИРОВАНИИ ПОВЕРХНОСТИ СУДОВ С ПОЛНЫМИ ОБВОДАМИ.
 

Авторизация



ПРИМЕНЕНИЕ ИНТЕЛЛЕКТУАЛЬНОГО ПОИСКА РЕШЕНИЯ ПРИ ПРОЕКТИРОВАНИИ ПОВЕРХНОСТИ СУДОВ С ПОЛНЫМИ ОБВОДАМИ. PDF Печать

Корякин Андрей Александрович

Проектирование судна, в подавляющем большинстве случаев, сопряжено с необходимостью поиска путей уменьшения сопротивления, т.к. это один из основных факторов, влияющих на эффективность корабля, как инженерного объекта, поэтому создание судовых обводов с минимальным сопротивлением является важнейшей научной и производственной задачей. В современных условиях сопротивление рассчитывается либо опытным путем (постановкой дорогостоящих экспериментов в опытовых бассейнах), либо применяя различный математические модели, реализованные на ЭВМ, но, следует отметить, что последние обладают недостаточной адекватностью и предсказуемостью, т.е., по сути, численно решаются только некоторые частные задачи. Необходимо добавить, что реализация вышеуказанных моделей не только предъявляет высокие требования к аппаратному обеспечению рабочего места инженера, но и занимает длительное время для расчета.
Расчет необходимо выполнять для нескольких форм поверхностей, чтобы затем выбрать наилучшую. При этом чем больше видов форм (т.е., чем меньше шаг оптимизации обводов), тем более точный результат будет получен, но при этом значительно вырастает время расчета. Кроме того, на каждом шаге необходимо отслеживать правильность формы корпуса (генерируемой программой или создаваемой человеком), а это может сделать только эксперт, опираясь на свой опыт и знания. Привлечение такого специалиста позволяет сократить количество приближений и ускорить процесс, что происходит в основном благодаря тому, что он способен отсечь заведомо неоптимальные обводы. Современные средства автоматизированного проектирования все чаще применяют знания экспертов и другие эмпирические данные для оптимизации процесса проектирования судов. Для этого необходимо эти знания и данные формализовать, и, таким образом, создать модель работы эксперта.
Смоделировать работу эксперта можно при помощи средств искусственного интеллекта. Одним из таких средств является сравнение с эталонными ситуациями. При этом составляется база знаний (БЗ), в которой описываются ситуации и их атрибуты. БЗ можно спроектировать при помощи специальных инструментов, а можно написать программу на каком-либо объектно-ориентированном языке.
Большинство современных судостроительных САПР позволяют создавать судовую поверхность тем или иным способом. Большинство из них в значительной мере являются системами для «рисования» поверхности, т.е. пользователь сам задает (графически или численно) различные параметры формы корпуса (диаметральный батокс, обвод палубы, длину цилиндрической вставки и др.), а компьютер аппроксимирует исходные данные, в результате чего получается судовая поверхность. Далее пользователь редактирует ее при необходимости. Следует заметить, что подобные системы разработаны в основном для производственных целей (конструкторских бюро и т.д.), когда общая концепция судна уже существует и нет необходимости в каких-либо исследованиях, хотя когда проектируется новое судно, или на этапе предпроектных проработок возникает необходимость использовании систем исследовательского проектирования (СИП).
СИП в общем случае меньше завязаны на практику, что позволяет использовать в них методы, трудно применимые или ненужные в обычных САПР (нечеткая логика, теория принятия решений, теория игр, теория принятия решений в развивающихся системах и т.д.). Поэтому применение методов ИИ в СИП является мощным средством увеличения качеств данных систем. По своей структуре СИП близка к экспертной системе (ЭС), и поэтому может быть построена по принципам построения ЭС. Поскольку в рамках одного исследования создать полноценную ЭС затруднительно, то корректнее разрабатываемую СИП будет называть системой, использующей методы ИИ. В настоящей статье освещается опыт создания подобной системы.
В проведенном исследовании была спроектирована база данных (БД) из 7 проектов корпусов судов с полными обводами, в которую были внесены данные по форме корпуса и мореходным качествам (сопротивление движению). Эталонная ситуация - форма обводов судна из БД (т.е. форма корпуса судов, которые принимаются оптимальными) и, если, сгенерированные обводы схожи с ними, то полученная форма считается удачной, далее производится следующее приближение (изменяется какой-либо параметр формы - 8, например). Если приближение имеет большее сходство с эталонными обводами, то как удачный принимается он, а предыдущий отбрасывается, если же он имеет меньшее сходство, то дальнейшее изменения параметра признается нецелесообразным (см. рисунок 1).

Атрибутов ситуаций было введено два - сопротивление движению и коэффициент общей полноты, по приоритету на первом месте сопротивление, т.е. при сравнении сначала проверяется этот атрибут. Правила сравнения были сформулированы в виде функций, содержащих логические выражения, а сами функции инкапсулированы в классы, описывающие сравнение.
Таким образом, предлагаемая методика позволяет отбрасывать заведомо некачественные обводы и тем самым снизить количество итераций при оптимизации судовых обводов. Вместе с тем, необходимо иметь возможность рассчитать параметры построенного корпуса минуя сравнение с эталоном, поскольку исходные данные могут приводить к результатам, существенно отличающимся от эталонных, а компьютер решит, что они не верны. Выполнение этого требования осуществляется настройкой параметров работы системы.
Для проектирования программы был использован объектно-ориентированный язык программирования Delphi (Object Pascal), поскольку он предоставляет всю мощь как объектно-ориентированных возможностей, так и процедурного программирования в относительно простой форме. Кроме того, среда разработки Borland Delphi дает программисту широчайшие возможности при проектировании интерфейса, основанного на VCL, а также множество средств и технологий для работы с базами данных любого типа. Объектно-ориентированное программирование позволяет описать физические закономерности в наглядной форме, поэтому оно используется при создании приложений, использующих ИИ.
В соответствии с описанными выше положениями, система должна выполнять следующие действия:
1. позволять пользователю вносить исходную информацию в дружественной форме;
2. просматривать содержимое БД проектов судов и вносить изменения;
3. производить экспертизу по внесенным правилам;
4. выводить результат в графическом и текстовом виде с объяснением принятого решения.
Для реализации обозначенных выше требований структура программы имеет следующую структуру:

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

Для ввода исходных данных используется модуль, позволяющий пользователю заносить, открывать и редактировать файлы с исходной информацией. При этом осуществляется автоматическая проверка вводимой информации на предмет ее корректности (например, главные размерения судна не могут быть нулевыми или отрицательными и т.д.). Также пользователь должен внести настройки различных параметров работы системы (способ рисования обводов, приоритет полей БД и т.д.), поскольку эти настройки непосредственно влияют на качество полученного результата. Затем все внесенные данные заносятся в память в виде массивов, которые далее поступят в решатель.
В состав технологического программного обеспечения входят две вспомогательные программы, которые позволяют пополнять и редактировать базу данных проектов и базу знаний.
БД проектов создана в СУБД MS Access и взаимодействует с клиентским приложением посредством технологии ADO. Она содержит основные сведения по проектам - L, В, Т, Н, 5, а, Р, скорость хода, мощность ГД и т.д. Основное назначение БД-быть источником данных для прототипов, поскольку сравнение с эталоном происходит с данными из БД. При этом сравниваются все имеющиеся данные и вычисляется, на сколько они отличаются от эталонных. У каждого поля данных в БД имеется приоритет, т.е. степень важности. Приоритет устанавливается пользователем. В результате работы системы вычисляется степень соответствия и делается рекомендация с учетом приоритета. Правила, связывающие приоритет и степень соответствия содержатся в БЗ.
База знаний представляет собой текстовый файл, в который вносятся правила обработки данных в БД. В записи правила используются арифметические и логические знаки. Например, запись 5 > 0.85 => а > 0.95, означает, что если пользователь хочет создать судно с коэффициентом общей полноты больше 0,85, то компьютер будет советовать принять коэффициент а не менее 0,95. Знак «=>« означает «следовательно». В начале работы система считывает файл с правилами и заносит их в память. Затем при вызове какой-либо обрабатывающей функции (например, вычисления площади погруженной части шпангоута), результат ее работы сравнивается с данными из БЗ и делается заключение с объяснением. Пользователь может принять рекомендацию или отклонить. Кроме того, он может просмотреть все правила, используемые системой, и, по своему усмотрению исключить из обработки какое-либо. Также имеется возможность пополнять и редактировать БЗ.
Все три перечисленные блока формируют исходные данные для процедур и функций, которые выполняют непосредственные расчеты и выдают результат или рекомендацию пользователю. Это формирование данных для расчетов структурно является препроцессором (см. рисунок 2).
После отработки препроцессора, данные поступают в решатель, где производятся вычисления и выходные данные передаются в постпроцессор, который подготавливает их для отображения пользователю. Формируется текстовая информация с результатами расчета и с объяснениями принятых решений, которая показывается пользователю. Создаются данные для передачи графической информации в AutoCAD, связь с которым осуществляется при помощи СОМ-технологии. Затем пользователь просматривает полученный
результат. Если он его не устраивает, то необходимо менять исходные настройки (тип обвода, способ получения шпангоутов и т.д.).
Генерация обводов производится при помощи полиномов 3-й степени. Этот способ генерации обводов позволяет гибко изменять его форму путем изменения коэффициентов полинома, что придает наглядность и эффективность. Имеется также возможность задать обвод вручную, непосредственным вводом точек. Экспорт в AutoCAD происходит в виде сплайн-функций, интерфейс которых предоставляется библиотекой типов.
В заключение, дадим краткую характеристику нашей системы с информационной точки зрения.
1. По назначению. Система предназначена для помощи проектанту при генерировании судовой поверхности. Но также она может использоваться для обучения, для решения некоторых проектных задач и некоторых других моментов.
2. По типу решаемой задачи - система для конструирования, т.е. разработка объекта с заданными свойствами при соблюдении определенных ограничений. Система со статической предметной областью.
3. По степени сложности структуры наша система является поверхностной, т.е. представление знаний об области исследований осуществляется в виде правил (условие -> действие). Правило определяет образец (эталон) некоторой ситуации, при возникновении которой выполняется правило. При этом поиск решения состоит в выполнении тех правил, образцы которых сопоставляются с текущими данными (текущей ситуацией).
4. По типу используемых методов и знаний - система гибридная, поскольку помимо методов ИИ она содержит различные формализованные методы и алгоритмы. Также использована объектно- ориентированная парадигма программирования.
5. По классу - простая, поскольку она поверхностная и выполнена на персональной ЭВМ.
6. По стадии жизненного цикла - система используется для проработки предпроектных решений и исследовательского проектирования.
Применение полученного комплекса на простых примерах позволило спроектировать корпус судна быстрее традиционных методов, обеспечило большую наглядность и предсказуемость процесса и показало состоятельность предложенного метода.
Автор: Корякин Андрей Александрович
Аспирант, ассистент кафедры «Кораблестроение и авиационная техника»
факультета Морской и Авиационной техники
Нижегородского Государственного технического университета им. Р.Е.Алексеева.

 
Разработка сайтов