Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

mu_po_oformleniyu_mat_razdela_k_i_dp

.pdf
Скачиваний:
4
Добавлен:
12.03.2015
Размер:
1.08 Mб
Скачать

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

"ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

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

для студентов специальностей 230102, 230104, направления 230100

Форма обучения очная и заочная

Ижевск 2009

2

УДК 519.87(07)

М54

Рецензент: А.Г. Ложкин, к.т.н., доцент кафедры АСОИУ ИжГТУ.

Ермилов В.В., Исенбаева Е.Н., Кучина Т.Л., Кучуганов В.Н., Соболева Н.В., Соловьева А.Н. Под редакцией В.Н. Кучуганова. Методические указания по оформлению математического раздела курсовых и дипломных проектов. – Ижевск: Издательство ИжГТУ, 2008 г. – 50 с.

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

Учебное пособие предназначено для студентов специальностей 230102, 230104, направления 230100.

Рекомендовано к изданию на заседании кафедры "Автоматизированные системы обработки информации и управления" ИжГТУ (протокол №8 от 11.12.2008 г.).

Кучуганов В.Н., составление, 2009

Издательство ИжГТУ, 2009

 

3

 

 

СОДЕРЖАНИЕ

 

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

4

1.

ОСНОВНЫЕ ПОНЯТИЯ........................................................................................

5

2.

МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ “КОМПЛЕКТАЦИЯ

 

ПРОИЗВОДСТВА” (ФРАГМЕНТ)............................................................................

8

3.

МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ ПОСТРОЕНИЯ

 

ВЫПУКЛОЙ ОБОЛОЧКИ НАБОРА ТОЧЕК........................................................

10

 

3.1. Математическая модель выпуклой оболочки набора точек на плоскости11

 

3.2. Задача построения выпуклой оболочки набора точек ................................

11

4.

МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ "ПРИНЯТИЕ РЕШЕНИЙ

В УСЛОВИЯХ ОПРЕДЕЛЕННОСТИ" ...................................................................

13

5.

МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ "ОПТИМИЗАЦИЯ

 

ПЛАНИРОВАНИЯ ПЕРЕВОЗОК"..........................................................................

17

 

5.1. Анализ целевой функции ...............................................................................

18

 

5.2. Построение начального плана .......................................................................

20

 

5.3. Описание контрольного примера..................................................................

24

6.

МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ НАХОЖДЕНИЯ

 

МАКСИМАЛЬНОЙ ПЛОЩАДИ ОКРУЖНОСТИ ВНУТРИ

 

ЧЕТЫРЕХУГОЛЬНИКА ..........................................................................................

26

Основанная литература.............................................................................................

50

Дополнительная литература.....................................................................................

50

4

ВВЕДЕНИЕ

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

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

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

5

1.ОСНОВНЫЕ ПОНЯТИЯ

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

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

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

На одной модели, как правило, решается несколько задач.

Задача может быть решена разными методами (способами).

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

Всякий процесс или объект (искусственный) предназначен для выпол-

нения каких-то функций.

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

Математическая модель – приближенное описание какого-либо класса явлений внешнего мира, выраженное с помощью математической символики

[1].

Математическая модель устанавливает соотношения (зависимости и ограничения) между совокупностью переменных [2] в виде системы уравнений и ограничений.

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

Таким образом, понятие "задача" уже, чем понятие "модель".

Математическая постановка задачи включает:

1. Словесная формулировка задачи – это сущность задачи и сущность метода еѐ решения.

6

2. Математическая постановка задачи:

-исходные данные;

-выходные данные;

-цель, критерии оценки (отбора);

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

мической (пошаговой). Возможно и их сочетание, как например, в гл.6, где задача разбита на подзадачи (шаги), решаемые методами аналитической геометрии.

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

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

3. Доказательство – подтверждение правильности выбранного метода:

-математическое или

-на примерах (программа, калькулятор и т.п.).

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

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

Если задача разложена на подзадачи (что весьма приветствуется), то дополнительно нужно описать общий алгоритм.

Пример. Расчет количества услуг.

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

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

Дата начала расчетного периода: DateStart. Дата окончания расчетного периода: DateFin.

Множество оказанных услуг: ServInfo={servinfoi, i = 0,…,L}, где L – количество оказанных услуг.

Услуга: servinfoi = < shifri, datai, fioi >,

где shifri – шифр i-той услуги;

datai – дата оказания i-той услуги;

fioi – фамилия, имя, отчество оказавшего i-тую услугу.

7

Наименование и шифр рассчитываемой услуги: Name, ShifrC.

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

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

ServNamePeriod ServInfo.

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

ServNameCount.

Алгоритм (метод):

1.Установить ServNamePeriod = 0.

2.Если для множества ServInfo существует такое i, что шифр услуги ser-

vinfoi совпадает с заданным и дата исполнения лежит внутри заданного периода, то такая услуга помещается в искомое множество ServNamePeriod:

L

i(shifri = ShifrC) (DataStart datai < DataFin) ( servinfoi ServNa-

i 1

mePeriod) (ServNamePeriod servinfoi).

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

Count(ServNamePeriod, ServNameCount).

Доказательство.

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

Задано наименование услуги – окрашивание волос и период – август. В результате получаем таблицу 2 и количество этих услуг, равное 3.

 

 

 

Таблица 1

 

 

 

 

Шифр услуги

Наименование услуги

Дата оказания услуги

Ф.И.О. оказавшего услугу

1

Стрижка простая

01.01.2006

Ефимова Е.Е.

1

Стрижка простая

02.01.2006

Иванова И.И.

2

Стрижка модельная

15.02.2006

Петрова П.П.

3

Укладка

17.07.2006

Сидорова С.С.

3

Укладка

18.07.2006

Петрова П.П.

4

Окрашивание волос

07.08.2006

Антонова А.А.

4

Окрашивание волос

08.08.2006

Волкова В.В.

4

Окрашивание волос

09.08.2006

Антонова А.А.

5

Колорирование

10.09.2006

Волкова В.В.

6

Мелирование

20.12.2006

Ефимова Е.Е.

6

Окрашивание волос

20.12.2006

Петрова П.П.

 

 

 

Таблица 2

 

 

 

 

Шифр услуги

Наименование услуги

Дата оказания услуги

Ф.И.О. оказавшего услугу

4

Окрашивание волос

07.08.2006

Антонова А.А.

4

Окрашивание волос

08.08.2006

Волкова В.В.

4

Окрашивание волос

09.08.2006

Антонова А.А.

8

2. МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ “КОМПЛЕКТАЦИЯ ПРОИЗВОДСТВА” (ФРАГМЕНТ)

Под задачей комплектации производства в АСУ механосборочного цеха понимается обеспечение сборки изделий комплектующими узлами и деталями, поступающими из других цехов путѐм подготовки соответствующих ведомостей.

В приборостроении под собираемыми изделиями понимаются системы или стойки.

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

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

N_цех – множество цехов изготовителей ДСЕ; №_зак – множество номеров заказов; №_ДСЕ – множество децимальных номеров ДСЕ;

№_ДСЕ = {№_дсе1 , №_дсе2 ,…, №_дсеn}; n – количество видов ДСЕ;

K_ком – количество комплектов ДСЕ;

N_вед_ш – множество номеров комплектовочных ведомостей-шаблонов; N_вед – множество номеров комплектовочных ведомостей;

Action – событие; Action {Новая ведомость, Новая ведомость по шаблону};

T_оп – тип собираемого изделия; Т_оп {сборка, стойка, система}; Т_вед – тип ведомости; Т_вед {потребность, дефицит, требование}; Состав_изделий – описание состава собираемых изделий (сборок, стоек,

систем) с указанием цехов-изготовителей, заказов, количества ДСЕ и входимости одного ДСЕ в другое:

Состав_изделий = {ДСЕ1, ДСЕ2, …, ДСЕm}; m – количество видов ДСЕ в составе изделия;

ДСЕi Состав_изделий и ДСЕi = <№_закi, №_дсе_1i, №_дсе_2i,№_цехi,

K_потрi>,

 

где №_закi

№_зак;

№_дсе_1i

№_ДСЕ;

№_дсе_2i

№_ДСЕ и ДСЕ с номером №_дсе_1i входит в состав ДСЕ с

номером №_дсе_2i;

№_цехi

N_цех;

K_потрi – потребность в ДСЕ с номером №_дсе_1i, в штуках; ДСЕ_в_заказах – множество номеров заказов с указанием собираемых

изделий:

ДСЕ_в_заказах = {<№_зак1, №_дсе1>,<№_зак2, №_дсе2>, …,<№_закk,

№_дсеk>},

где k – количество заказов;

9

Для определения состава системы необходимо знать список входящих в неѐ стоек, что можно представить в виде ссылок на заказы:

Zakaz_sos_system = {<№_зак1,№_зак_в1>, <№_зак2, №_зак_в2>, … ,

<№_закl, №_зак_вl>},

где l – количество заказов на стойки; №_зак_вi - номер заказа стойки; №_зак_с – множество заказов стоек:

№_зак_с = {№_зак1, №_зак2, …,№_закl}.

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

Список_документов = {Док1, Док2, …, Докd},

где Докi Список_документов и Докi = <N_ведi, K_комi, №_цехi, №_дсеi, K_потрi>;

d – количество ведомостей;

N_ведi

N_вед;

Vпеч

печатная ведомость; Vпеч {потребность, дефицит, требова-

ние};

I_вед – изменѐнная комплектовочная ведомость.

Метод решения задачи.

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

Если Action = Новая ведомость и T_оп:

= сборка, то входными данными являются №_зак, K_ком, №_дсе. Они используются для формирования списка ДСЕ получаемого из множества.

Состав_изделий:

Action = Новая ведомость & T_оп = Сборка &

<№_зак, №_дсе, x, y, z> Состав_изделий Добавить(<N_вед, K_ком, y, x, z >),

где Добавить – функция добавления элементов из множества Состав_изделий в

множество Список_документов;

= стойка, то входными данными являются №_зак, K_ком. Для формирования списка ДСЕ нам необходимо знать стоечный номер ДСЕ. Его мы определяем, используя множество ДСЕ_в_заказах.

№_зак <№_зак, x> <№_зак, x> ДСЕ_в_заказах №_дсе=x.

Далее формируем список ДСЕ, используя множество Состав_изделий:

Action = Новая ведомость & T_оп

= Стойка & Данные_поиска

Со-

став_изделий

Найдена = TRUE,

 

 

Action = Новая ведомость & T_оп

= Стойка & Данные_поиска

Со-

став_изделий

Найдена = FALSE,

 

 

Найдена = TRUE Добавить(<N_вед, K_ком, y, x, z >);

 

10

= система, то входными данными являются №_зак, K_ком. Система состоит из стоек и других ДСЕ. Значит, нам нужно получить входящие в неѐ стойки (Zakaz_sos_sistem), определить номер ДСЕ каждой стойки (ДСЕ_в_заказах) и сформировать список ДСЕ (Состав_изделий):

№_зак <№_зак, x> <№_зак, x>

Zakaz_sos_sistem

Доба-

вить_з(x),

 

 

 

 

 

 

 

где Добавить_з

– функция добавления

элемента

x

в множество

№_зак_с,

 

 

 

 

 

 

 

( №_зак_спi

№_зак_с) (

№_зак_спi

<№_зак_спi,

x>

<№_зак_спi, x>

ДСЕ_в_заказах

Добавить_д(x),

 

 

 

где Добавить_д

- функция добавления

элемента

x

в множество

№_дсе_с,

 

 

 

 

 

 

 

Action = Новая ведомость & T_оп = Система &

 

 

 

 

Данные_поиска Состав_изделий

Найдена = TRUE,

 

 

 

Action = Новая ведомость & T_оп = Система &

 

 

 

 

Данные_поиска Состав_изделий

Найдена = FALSE.

 

 

 

Найдена = TRUE

Добавить();

 

 

 

 

 

 

Если Action = Новая ведомость по шаблону, то формируем новую ведомость как копию ведомости-шаблона.

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

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

Дефицит. В ней представлены только те ДСЕ, на которые имеется частичный или полный дефицит в кладовой; Требование. В его состав входят ДСЕ, по которым возможна выда-

ча, т.е. остаток в кладовой больше нуля и потребность не равна нулю.

3. МАТЕМАТИЧЕСКАЯ ПОСТАНОВКА ЗАДАЧИ ПОСТРОЕНИЯ ВЫПУКЛОЙ ОБОЛОЧКИ НАБОРА ТОЧЕК

Задача построения выпуклой оболочки для набора точек возникает в процессе выявления компактных кластеров (областей, сгустков) для псевдослучайного распределения каких-либо объектов в пространстве, например, молекул или частиц при исследовании свойств новых материалов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]