Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования»



Скачать 59.88 Kb.
Дата11.10.2012
Размер59.88 Kb.
ТипПояснительная записка


МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
КАФЕДРА № 11

Работу приняла: В.А.Галанина


Пояснительная записка

К курсовой работе

«Поиск аналога объекта проектирования»

выполненной по дисциплине: Интеллектуальны подсистемы САПР.

Работу выполнил

студент гр. 1318: Денисов Павел

Санкт- Петербург

2007 г.
Содержание.


Введение. 3

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

Формализация структуры с помощью семантического графа. 3

Решение. 5

Заключение. 7


Введение.


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

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

  2. Определение степени близости по значениям технических характеристик.

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

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

  1. найден аналог

  2. найдено несколько аналогов, но ни один из них не совпадает на 100 % с техническим заданием.

  3. аналог не обнаружен, то есть требуется оригинальная разработка.

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

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



Целью настоящего проекта является поиск аналога объекта проектирования «Велосипедное колесо» по следующим трем основным параметрам:

  • радиус резьбы гайки

  • масса покрышки

  • диаметр обода

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

Формализация структуры с помощью семантического графа.



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

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

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

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


Рисунок 2. Семантический граф.


На рисунке 2 представлен семантический граф, описывающий велосипедное колесо, ниже приведено описание его вершин.
А-колесо

В1-спица

В2-гайка

В3-обод

С1-резьба

С2-габариты

С3-масса

С4-отверстие

С5-резьба

С6-масса

С7-габариты

D1-диаметр

D2-высота

D4-длина

D5-угол наклона

D6-диаметр отверстия

D7-радиус

D8-глубина

D9-диаметр

D10-диаметр нижнего основания

D11-диаметр верхнего основания

D12-высота

D13-диаметр

Решение.



Ниже представлен листинг программы, выполненной на языке С++ и Рисунок 3, показывающий решение задачи поиска аналога.
AnalogPretender::AnalogPretender(ProjectObject *proj) {

project = proj;

update();

}
void AnalogPretender::update() {

for (int i = 0; i < project->getParametersCount(); i++) {

int current_parameter_index = parameter_name.indexOf(project->getParameterName(i));

if (project->getParameterSelected(i)) {

if (current_parameter_index != -1) {

parameter_tt_value[current_parameter_index] = project->getParameterValue(i);

parameter_lambda[current_parameter_index] = project->getParameterLambda(i);

}

else {

parameter_name.append(project->getParameterName(i));

parameter_value.append(project->getParameterValue(i) * (rand() % 200) / 100);

parameter_tt_value.append(project->getParameterValue(i));

parameter_lambda.append(project->getParameterLambda(i));

}

}

else {

parameter_name.removeAt(current_parameter_index);

parameter_value.removeAt(current_parameter_index);

parameter_tt_value.removeAt(current_parameter_index);

parameter_lambda.removeAt(current_parameter_index);

}

}

emit updated();

}
int AnalogPretender::getParametersCount() {

return parameter_name.size();

}
double AnalogPretender::getMeanAnalogity() {

double sum_analogity = 0;
if (getParametersCount() == 0) {

return 1;

}
for (int i = 0; i < getParametersCount(); i++) {

sum_analogity += getParameterAnalogity(i);

}
return sum_analogity/getParametersCount();

}
QString AnalogPretender::getParameterName(int pos) {

return parameter_name.at(pos);

}
double AnalogPretender::getParameterValue(int pos) {

return parameter_value.at(pos);

}
double AnalogPretender::getParameterTTValue(int pos) {

return parameter_tt_value.at(pos);

}
double AnalogPretender::getParameterLambda(int pos) {

return parameter_lambda.at(pos);

}

double AnalogPretender::getParameterAnalogity(int pos) {

return getParameterAnalogity(pos, getParameterValue(pos));

}
double AnalogPretender::getParameterAnalogity(int pos, double value) {

double relative_difference;

if (getParameterLambda(pos) != 0)

relative_difference = (value - getParameterTTValue(pos))/getParameterLambda(pos);

else {

relative_difference = 0;

}

return 1/(1 + relative_difference * relative_difference);

}
void AnalogPretender::setParameterValue(int pos, double value) {

parameter_value[pos] = value;

emit updated();

}
void AnalogPretender::setParameterTTValue(int pos, double value) {

parameter_tt_value[pos] = value;

emit updated();

}
void AnalogPretender::setParameterLambda(int pos, double lambda) {

parameter_lambda[pos] = lambda;

emit updated();

}


Заключение.



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

  1. определение аргументов -функции по каждому i –му параметру j –го претендента на аналог, значения которого не совпадает с требованиями ТЗ. -функция определяется по следующей формуле:



  1. определение степени аналогичности r(xij/xij_тз)

  2. определение среднего значения степеней аналогичности, согласно формуле



  1. ранжирование аналогов с использованием системы нечетких высказываний.


Похожие:

Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconТехнологии проектирования программного обеспечения для ос windows (Windows Form, asp. Net, Web-сервисы xml) пояснительная записка к курсовой работе по дисциплине: «Операционные среды»
Ос windows, для ознакомления с инструментальной системой и технологией создания и отладки процедурных и объектно-ориентированных...
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconПояснительная записка к курсовой работе по дисциплине «Электроника»
Привести принципиальную и функциональную схемы, список элементов, графики ачх и фчх, временные диаграммы
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconПояснительная записка к контрольно-курсовой работе по курсу: «Моделирование систем»
В настоящее время ЭВМ широко применяется во многих отраслях деятельности человека. Ни одно учреждение не может обойтись в своей работе...
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconДисциплина "Базы данных" Пояснительная записка к курсовой работе Тема: "Библиотека"
Перечень и описание таблиц и их полей (с указанием типов данных и ограничений) в сводной таблице
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconПояснительная записка к курсовой работе по дисциплине «Теория автоматов»
Синтезировать кодовый замок как конечный автомат в функциональном базисе элементов «И», «или», «НЕ» и элементов задержки, если паролем...
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconПояснительная записка к курсовой работе по дисциплине «Теория автоматов»
Ученик может исправить полученную оценку. Завуч может добавить информацию о новом учителе или ученике, а также удалить о выбывших....
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconКонцептуальное и логическое проектирования баз данных
Курсовой проект предназначен для практического освоения проектирования реляционных баз данных (БД). В работе используется трехуровневый...
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconКонцептуальное и логическое проектирования баз данных
Курсовой проект предназначен для практического освоения проектирования реляционных баз данных (БД). В работе используется трехуровневый...
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconПрограмма по моделирования опытов по геометрической оптике
Пояснительная записка курсовой работе по теме: «Кроссплатформенная программа по моделирования опытов по геометрической оптике»
Пояснительная записка к курсовой работе «Поиск аналога объекта проектирования» iconПояснительная записка Техпроцес Электронная версия
Смотр материалов по дипломному проектированию и выполнения графика дипломного проектирования на 2012
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org