Главная Рефераты по сексологии Рефераты по информатике программированию Рефераты по биологии Рефераты по экономике Рефераты по москвоведению Рефераты по экологии Краткое содержание произведений Рефераты по физкультуре и спорту Топики по английскому языку Рефераты по математике Рефераты по музыке Остальные рефераты Рефераты по авиации и космонавтике Рефераты по административному праву Рефераты по безопасности жизнедеятельности Рефераты по арбитражному процессу Рефераты по архитектуре Рефераты по астрономии Рефераты по банковскому делу Рефераты по биржевому делу Рефераты по ботанике и сельскому хозяйству Рефераты по бухгалтерскому учету и аудиту Рефераты по валютным отношениям Рефераты по ветеринарии Рефераты для военной кафедры Рефераты по географии Рефераты по геодезии Рефераты по геологии Рефераты по геополитике Рефераты по государству и праву Рефераты по гражданскому праву и процессу Рефераты по делопроизводству Рефераты по кредитованию Рефераты по естествознанию Рефераты по истории техники Рефераты по журналистике Рефераты по зоологии Рефераты по инвестициям Рефераты по информатике Исторические личности Рефераты по кибернетике Рефераты по коммуникации и связи |
Курсовая работа: Моделирование и исследование обрабатывающего участка цеха, производящего обработку деталейКурсовая работа: Моделирование и исследование обрабатывающего участка цеха, производящего обработку деталейФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ РФ ДАЛЬНЕВОСТОЧНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ДВПИ Им. В.В. КУЙБЫШЕВА Институт радиоэлектроники, информатики и электротехники Факультет информационных и компьютерных технологий Кафедра информационных систем управления Пояснительная записка к курсовой работепо дисциплине Моделирование Систем Выполнила: Студентка группы Р-7221 Горгулько О.К. Проверил преподаватель: Васильев А.И. Владивосток 2010 На курсовую работу по дисциплине "Моделирование систем" Студенту Горгулько Ольге Константиновне (группа Р-7221) Руководитель Васильев Анатолий Иванович Тема курсовой работы Моделирование и исследование обрабатывающего участка цеха, производящего обработку деталей. Техническое задание 1. Ознакомиться с рекомендуемой литературой. Дать аналитический обзор проблемы моделирования системы. 2. Теоретический материал: На обрабатывающий участок цеха поступают детали в среднем через 50 мин. Первичная обработка деталей производится на одном из двух станков. Первый станок обрабатывает деталь в среднем 40 мин и имеет до 4% брака, второй соответственно 60 мин и 8% брака. Все бракованные детали возвращаются на повторную обработку на второй станок. Детали, попавшие в разряд бракованных дважды, считаются отходами. Вторичную обработку проводят также два станка в среднем 100 мин каждый. Причем первый станок обрабатывает имеющиеся в накопителе после первичной обработки детали, а второй станок подключается при образовании в накопителе задела больше трех деталей. Смоделировать обработку на участке 500 деталей. Определить загрузку второго станка на вторичной обработке и вероятность появления отходов. Определить возможность снижения задела в накопителе и повышения загрузки второго станка на вторичной обработке. 3. Исходные данные: Интервал между поступлениями деталей распределен по закону Эрланга 3-его порядка (1/λ=17, k=3). Время первичной обработки на первом станке распределено по нормальному закону (Мх = 40, σх = 5). Время первичной обработки на втором станке распределено по нормальному закону (Мх = 60, σх =10). Время вторичной обработки на первом и втором станках распределено по равномерному закону (a = 80, b = 120). 4. Имитационный эксперимент: Необходимо исследовать изменение характеристик системы при изменении интенсивности поступления входного потока, величины задела, емкости первичного склада. 5. Отчетный материал курсовой работы а) Пояснительная записка б) Графический материал 1) Таблица характеристик процесса обслуживания 2) Зависимость критерия эффективности от величины задела 3) Зависимость критерия эффективности от интервала поступления 4) Зависимость загрузки станков 5) Зависимость длины средней очереди 6. Рекомендуемая литература: 1) Моделирование систем: учебно-метод. Комплекс / А. И. Васильев; Дальневосточный государственный технический университет. – Владивосток: Изд-во ДВГТУ, 2008. - 172с. 2) Моделирование систем. Практикум: Учеб. пособие для вузов / Б. Я. Советов, С. А. Яковлев. 3-е изд., стер. – М.: Высш. шк., 2005. – 295 с.: ил. Задание выдано " 23" сентября 2010 г. Руководитель Васильев А. И. Содержание аннотация Введение Задание 1. Построение концептуальной схемы и ее формализация 2. Машинная реализация модели 2.1 Таблица соответствия элементов GPSS и элементов исходной системы 2.2 Блок-схема модели в терминах GPSS 2.3 Текст программы на GPSS 2.4 Результаты моделирования 2.5 Дисперсионный анализ 2.6 Отсеивающий эксперимент 2.7 Оптимизирующий эксперимент 3. Таблица характеристик процесса обслуживания 4. Графики зависимостей 5. Анализ полученных результатов Заключение Список использованной литературы аннотацияВ данной курсовой работе на первом этапе выполняется формализация описания объекта моделирования, строится обобщенная и детальная схема объекта моделирования и разрабатывается алгоритмическое описание работы модели. Кроме того, по указанию преподавателя проводится качественная и количественная аналитические оценки исследуемых характеристик моделируемого объекта. Следующим этапом является алгоритмизация процесса функционирования объекта моделирования, представленного в виде типовой математической схемы, и представление блок – диаграммы (блок схемы).Далее осуществляется формальный переход к тексту программы и "насыщение" его числовыми значениями. После ряда прогонов полученной модели на ЭВМ и получении результатов машинного эксперимента проводится их интерпретация и анализ в терминах объекта моделирования. В качестве средства программной реализации модели в курсовой работе применен язык GPSS (General Purpose System Simulator) [2]. Введение Целью данной курсовой работы является получение практических навыков по созданию имитационных моделей систем массового обслуживания (СМО) с помощью языка имитационного моделирования GPSS/PC. В качестве средства программной реализации модели применен язык GPSS (General Purpose System Simulator) [2]. Пакет моделирования дискретных систем (ПДМС) построен в предположении, что моделью сложной дискретной системы является описание ее элементов и логических правил их взаимодействия в процессе функционирования моделируемой системы. Каждый блок ПДМС имеет свой графический аналог, с помощью которых отображается пространственная конструкция модели, упрощая дальнейшую линеаризацию программы модели. Основой ПДМС являются программы, описывающие функционирование набора объектов для обеспечения заданных программистом маршрутов продвижения динамических объектов, называемых далее транзактами (сообщениями); планирования событий, происходящих в модели, путем регистрации времени наступления каждого события и выполнение их в нарастающей временной последовательности; регистрация статической информации о функционировании модели; продвижения модельного времени в процессе моделирования системы. В ПДМС имеется два основных типа объектов: транзакты и блоки, относящиеся соответственно к динамической и операционной категориям. Практически все изменения состояний модели системы происходят в результате входа транзактов в блоки и выполнения блоками своих функций. В данной работе требуется с помощью пакета моделирования систем GPSS/PC исследовать модель заданной СМО. Задание На обрабатывающий участок цеха поступают детали в среднем через 50 мин. Первичная обработка деталей производится на одном из двух станков. Первый станок обрабатывает деталь в среднем 40 мин и имеет до 4% брака, второй соответственно 60 мин и 8% брака. Все бракованные детали возвращаются на повторную обработку на второй станок. Детали, попавшие в разряд бракованных дважды, считаются отходами. Вторичную обработку проводят также два станка в среднем 100 мин каждый. Причем первый станок обрабатывает имеющиеся в накопителе после первичной обработки детали, а второй станок подключается при образовании в накопителе задела больше трех деталей. Смоделировать обработку на участке 500 деталей. Определить загрузку второго станка на вторичной обработке и вероятность появления отходов. Определить возможность снижения задела в накопителе и повышения загрузки второго станка на вторичной обработке [2]. 1. Построение концептуальной схемы и ее формализация Цель моделирования Необходимо исследовать изменение характеристик системы при изменении выбранных параметров и выбрать оптимальное значение этих параметров. Последовательность имитационного эксперимента Изменение интервала поступления Изменение величины задела Выбор критерия оптимальности системы В качестве критерия оптимальности заданной системы выбран следующий: V = С1Nобр - С2 Nотк - С3(Тпр3+ Тпр4) - С4Nотн ,
где: Nобр –количество обработок Nотк – количество отказов Тпр3 - время простоя первого станка Тпр4 - время простоя второго станка С1, С2 , С3,С4 – весовые коэффициенты 2. Машинная реализация модели 2.1 Таблица соответствия элементов GPSS и элементов исходной системы
2.2 Блок-схема модели в терминах GPSS2.3 Текст программы на GPSSTAU EQU 10 ZADEL EQU 3 OHE EQU 20 KRIT VARIABLE (2#N$ABC1+2#N$ABC2)-2#N$OTH-0.5#X$PROST-1#N$OTK NORM1 VARIABLE (NORMAL(1,40,5)) NORM2 VARIABLE (NORMAL(1,60,10)) ERL3 VARIABLE (GAMMA(1,0,TAU, 3)) RAVNOM VARIABLE (UNIFORM(1,80,120)) GENERATE V$ERL3 ASSIGN 1,0 GATE NU STAN1,BBB AAA1 SEIZE STAN1 ADVANCE V$NORM1 RELEASE STAN1 UNLINK BUF1,AAA1,1 TRANSFER .04,,DDD EEE LINK BUF2,FIFO DDD ASSIGN 1+,1 TEST L P1,2,OTH TRANSFER ,BBB OTH TERMINATE BBB GATE NU STAN2,CCC AAA2 SEIZE STAN2 ADVANCE V$NORM2 RELEASE STAN2 UNLINK BUF1,AAA2,1 TRANSFER .08,EEE,DDD CCC TEST L CH$BUF1,OHE,OTK LINK BUF1,FIFO OTK TERMINATE GENERATE 50000 TERMINATE 1 GENERATE ,,,1 FFF MARK TEST GE CH$BUF2,1 SAVEVALUE PROST+,M1 UNLINK BUF2,ABC1,1 ADVANCE V$RAVNOM TRANSFER ,FFF ABC1 TERMINATE GENERATE ,,,1 KKK MARK TEST G CH$BUF2,ZADEL SAVEVALUE PROST+,M1 UNLINK BUF2,ABC2,1 ADVANCE V$RAVNOM TRANSFER ,KKK ABC2 TERMINATE START 1 2.4 Результаты моделированияTuesday, November 09, 2010 22:22:19 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 50000.000 40 2 0 NAME VALUE AAA1 4.000 AAA2 15.000 ABC1 32.000 ABC2 40.000 BBB 14.000 BUF1 10011.000 BUF2 10008.000 CCC 20.000 DDD 10.000 EEE 9.000 ERL3 10006.000 FFF 26.000 KKK 34.000 KRIT 10003.000 NORM1 10004.000 NORM2 10005.000 OHE 20.000 OTH 13.000 OTK 22.000 PROST 10012.000 RAVNOM 10007.000 STAN1 10009.000 STAN2 10010.000 TAU 10.000 ZADEL 3.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 1680 0 0 2 ASSIGN 1680 0 0 3 GATE 1680 0 0 AAA1 4 SEIZE 1072 0 0 5 ADVANCE 1072 0 0 6 RELEASE 1072 0 0 7 UNLINK 1072 0 0 8 TRANSFER 1072 0 0 EEE 9 LINK 1673 676 0 DDD 10 ASSIGN 111 0 0 11 TEST 111 0 0 12 TRANSFER 105 0 0 OTH 13 TERMINATE 6 0 0 BBB 14 GATE 1384 0 0 AAA2 15 SEIZE 713 0 0 16 ADVANCE 713 1 0 17 RELEASE 712 0 0 18 UNLINK 712 0 0 19 TRANSFER 712 0 0 CCC 20 TEST 1116 0 0 21 LINK 1116 0 0 OTK 22 TERMINATE 0 0 0 23 GENERATE 1 0 0 24 TERMINATE 1 0 0 25 GENERATE 1 0 0 FFF 26 MARK 500 0 0 27 TEST 500 0 0 28 SAVEVALUE 500 0 0 29 UNLINK 500 0 0 30 ADVANCE 500 1 0 31 TRANSFER 499 0 0 ABC1 32 TERMINATE 500 0 0 33 GENERATE 1 0 0 KKK 34 MARK 497 0 0 35 TEST 497 0 0 36 SAVEVALUE 497 0 0 37 UNLINK 497 0 0 38 ADVANCE 497 1 0 39 TRANSFER 496 0 0 ABC2 40 TERMINATE 497 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY STAN1 1072 0.858 40.024 1 0 0 0 0 0 STAN2 713 0.855 59.991 1 1683 0 0 0 0 USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME BUF2 676 0 350.002 1673 677 10460.300 BUF1 0 0 0.663 1116 6 29.707 SAVEVALUE RETRY VALUE PROST 0 458.701 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 1684 0 50009.181 1684 0 1 1683 0 50045.202 1683 16 17 1 0.000 3 0 50052.009 3 30 31 4 0 50052.368 4 38 39 1685 0 100000.000 1685 0 23 2.5 Дисперсионный анализПроведем дисперсионный анализ, чтобы установить, оказывает ли существенное влияние некоторый фактор F [1]. Текст программы GPSS: TAU EQU 17 ZADEL EQU 3 OHE EQU 20 KRIT VARIABLE (2#N$ABC1+2#N$ABC2)-2#N$OTH-0.5#X$PROST-1#N$OTK NORM1 VARIABLE (NORMAL(1,40,5)) NORM2 VARIABLE (NORMAL(1,60,10)) ERL3 VARIABLE (GAMMA(1,0,TAU, 3)) RAVNOM VARIABLE (UNIFORM(1,80,120)) GENERATE V$ERL3 ASSIGN 1,0 GATE NU STAN1,BBB AAA1 SEIZE STAN1 ADVANCE V$NORM1 RELEASE STAN1 UNLINK BUF1,AAA1,1 TRANSFER .04,,DDD EEE LINK BUF2,FIFO DDD ASSIGN 1+,1 TEST L P1,2,OTH TRANSFER ,BBB OTH TERMINATE BBB GATE NU STAN2,CCC AAA2 SEIZE STAN2 ADVANCE V$NORM2 RELEASE STAN2 UNLINK BUF1,AAA2,1 TRANSFER .08,EEE,DDD CCC TEST L CH$BUF1,OHE,OTK LINK BUF1,FIFO OTK TERMINATE GENERATE 50000 TERMINATE 1 GENERATE ,,,1 FFF MARK TEST GE CH$BUF2,1 SAVEVALUE PROST+,M1 UNLINK BUF2,ABC1,1 ADVANCE V$RAVNOM TRANSFER ,FFF ABC1 TERMINATE GENERATE ,,,1 KKK MARK TEST G CH$BUF2,ZADEL SAVEVALUE PROST+,M1 UNLINK BUF2,ABC2,1 ADVANCE V$RAVNOM TRANSFER ,KKK ABC2 TERMINATE Текстовый файл: RES MATRIX ,3,4 TAU EQU 10 RMULT 411 START 1,NP MSAVEVALUE RES,1,1,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 421 START 1,NP MSAVEVALUE RES,1,2,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 431 START 1,NP MSAVEVALUE RES,1,3,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 441 START 1,NP MSAVEVALUE RES,1,4,V$KRIT CLEAR OFF INITIAL X$PROST,0 TAU EQU 15 RMULT 411 START 1 MSAVEVALUE RES,2,1,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 421 START 1,NP MSAVEVALUE RES,2,2,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 431 START 1,NP MSAVEVALUE RES,2,3,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 441 START 1,NP MSAVEVALUE RES,2,4,V$KRIT CLEAR OFF INITIAL X$PROST,0 TAU EQU 20 RMULT 411 START 1,NP MSAVEVALUE RES,3,1,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 421 START 1,NP MSAVEVALUE RES,3,2,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 431 START 1,NP MSAVEVALUE RES,3,3,V$KRIT CLEAR OFF INITIAL X$PROST,0 RMULT 441 START 1,NP MSAVEVALUE RES,3,4,V$KRIT Параметр TAU равен 10 Tuesday, November 09, 2010 21:19:36 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 50000.000 40 2 0 NAME VALUE AAA1 4.000 AAA2 15.000 ABC1 32.000 ABC2 40.000 BBB 14.000 BUF1 10018.000 BUF2 10015.000 CCC 20.000 DDD 10.000 EEE 9.000 ERL3 10006.000 FFF 26.000 KKK 34.000 KRIT 10003.000 NORM1 10004.000 NORM2 10005.000 OHE 20.000 OTH 13.000 OTK 22.000 PROST 10019.000 RAVNOM 10007.000 RES 10008.000 STAN1 10016.000 STAN2 10017.000 TAU 15.000 ZADEL 3.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 1106 0 0 2 ASSIGN 1106 0 0 3 GATE 1106 0 0 AAA1 4 SEIZE 770 0 0 5 ADVANCE 770 1 0 6 RELEASE 769 0 0 7 UNLINK 769 0 0 8 TRANSFER 769 0 0 EEE 9 LINK 1103 99 0 DDD 10 ASSIGN 59 0 0 11 TEST 59 0 0 12 TRANSFER 57 0 0 OTH 13 TERMINATE 2 0 0 BBB 14 GATE 509 0 0 AAA2 15 SEIZE 393 0 0 16 ADVANCE 393 0 0 17 RELEASE 393 0 0 18 UNLINK 393 0 0 19 TRANSFER 393 0 0 CCC 20 TEST 205 0 0 21 LINK 205 0 0 OTK 22 TERMINATE 0 0 0 23 GENERATE 1 0 0 24 TERMINATE 1 0 0 25 GENERATE 1 0 0 FFF 26 MARK 498 0 0 27 TEST 498 0 0 28 SAVEVALUE 498 0 0 29 UNLINK 498 0 0 30 ADVANCE 498 1 0 31 TRANSFER 497 0 0 ABC1 32 TERMINATE 498 0 0 33 GENERATE 1 0 0 KKK 34 MARK 506 0 0 35 TEST 506 0 0 36 SAVEVALUE 506 0 0 37 UNLINK 506 0 0 38 ADVANCE 506 1 0 39 TRANSFER 505 0 0 ABC2 40 TERMINATE 506 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY STAN1 770 0.607 39.406 1 1109 0 0 0 0 STAN2 393 0.472 60.067 1 0 0 0 0 0 USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME BUF2 99 0 48.897 1103 101 2216.538 BUF1 0 0 0.066 205 3 16.214 SAVEVALUE RETRY VALUE PROST 0 361.550 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 1110 0 50001.385 1110 0 1 1109 0 50016.848 1109 5 6 1 0.000 3 0 50027.743 3 30 31 4 0 50079.118 4 38 39 1111 0 100000.000 1111 0 23 Параметр TAU равен 17 Tuesday, November 09, 2010 21:23:40 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 50000.000 40 2 0 NAME VALUE AAA1 4.000 AAA2 15.000 ABC1 32.000 ABC2 40.000 BBB 14.000 BUF1 10018.000 BUF2 10015.000 CCC 20.000 DDD 10.000 EEE 9.000 ERL3 10006.000 FFF 26.000 KKK 34.000 KRIT 10003.000 NORM1 10004.000 NORM2 10005.000 OHE 20.000 OTH 13.000 OTK 22.000 PROST 10019.000 RAVNOM 10007.000 RES 10008.000 STAN1 10016.000 STAN2 10017.000 TAU 15.000 ZADEL 3.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 1106 0 0 2 ASSIGN 1106 0 0 3 GATE 1106 0 0 AAA1 4 SEIZE 770 0 0 5 ADVANCE 770 1 0 6 RELEASE 769 0 0 7 UNLINK 769 0 0 8 TRANSFER 769 0 0 EEE 9 LINK 1103 99 0 DDD 10 ASSIGN 59 0 0 11 TEST 59 0 0 12 TRANSFER 57 0 0 OTH 13 TERMINATE 2 0 0 BBB 14 GATE 509 0 0 AAA2 15 SEIZE 393 0 0 16 ADVANCE 393 0 0 17 RELEASE 393 0 0 18 UNLINK 393 0 0 19 TRANSFER 393 0 0 CCC 20 TEST 205 0 0 21 LINK 205 0 0 OTK 22 TERMINATE 0 0 0 23 GENERATE 1 0 0 24 TERMINATE 1 0 0 25 GENERATE 1 0 0 FFF 26 MARK 498 0 0 27 TEST 498 0 0 28 SAVEVALUE 498 0 0 29 UNLINK 498 0 0 30 ADVANCE 498 1 0 31 TRANSFER 497 0 0 ABC1 32 TERMINATE 498 0 0 33 GENERATE 1 0 0 KKK 34 MARK 506 0 0 35 TEST 506 0 0 36 SAVEVALUE 506 0 0 37 UNLINK 506 0 0 38 ADVANCE 506 1 0 39 TRANSFER 505 0 0 ABC2 40 TERMINATE 506 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY STAN1 770 0.607 39.394 1 1109 0 0 0 0 STAN2 393 0.472 60.067 1 0 0 0 0 0 USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME BUF2 99 0 48.892 1103 101 2216.312 BUF1 0 0 0.067 205 3 16.247 SAVEVALUE RETRY VALUE PROST 0 366.591 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 1110 0 50003.905 1110 0 1 1109 0 50019.368 1109 5 6 1 0.000 3 0 50030.263 3 30 31 4 0 50081.638 4 38 39 1111 0 100000.000 1111 0 23 Параметр TAU равен 30 Tuesday, November 09, 2010 21:25:49 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 50000.000 40 2 0 NAME VALUE AAA1 4.000 AAA2 15.000 ABC1 32.000 ABC2 40.000 BBB 14.000 BUF1 10018.000 BUF2 10015.000 CCC 20.000 DDD 10.000 EEE 9.000 ERL3 10006.000 FFF 26.000 KKK 34.000 KRIT 10003.000 NORM1 10004.000 NORM2 10005.000 OHE 20.000 OTH 13.000 OTK 22.000 PROST 10019.000 RAVNOM 10007.000 RES 10008.000 STAN1 10016.000 STAN2 10017.000 TAU 15.000 ZADEL 3.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 1105 0 0 2 ASSIGN 1105 0 0 3 GATE 1105 0 0 AAA1 4 SEIZE 769 0 0 5 ADVANCE 769 0 0 6 RELEASE 769 0 0 7 UNLINK 769 0 0 8 TRANSFER 769 0 0 EEE 9 LINK 1103 100 0 DDD 10 ASSIGN 59 0 0 11 TEST 59 0 0 12 TRANSFER 57 0 0 OTH 13 TERMINATE 2 0 0 BBB 14 GATE 509 0 0 AAA2 15 SEIZE 393 0 0 16 ADVANCE 393 0 0 17 RELEASE 393 0 0 18 UNLINK 393 0 0 19 TRANSFER 393 0 0 CCC 20 TEST 205 0 0 21 LINK 205 0 0 OTK 22 TERMINATE 0 0 0 23 GENERATE 1 0 0 24 TERMINATE 1 0 0 25 GENERATE 1 0 0 FFF 26 MARK 498 0 0 27 TEST 498 0 0 28 SAVEVALUE 498 0 0 29 UNLINK 498 0 0 30 ADVANCE 498 1 0 31 TRANSFER 497 0 0 ABC1 32 TERMINATE 498 0 0 33 GENERATE 1 0 0 KKK 34 MARK 505 0 0 35 TEST 505 0 0 36 SAVEVALUE 505 0 0 37 UNLINK 505 0 0 38 ADVANCE 505 1 0 39 TRANSFER 504 0 0 ABC2 40 TERMINATE 505 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY STAN1 769 0.606 39.427 1 0 0 0 0 0 STAN2 393 0.472 60.067 1 0 0 0 0 0 USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME BUF2 100 0 48.837 1103 101 2213.843 BUF1 0 0 0.066 205 3 16.214 SAVEVALUE RETRY VALUE PROST 0 421.101 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 1109 0 50006.438 1109 0 1 4 0 50024.776 4 38 39 3 0 50057.518 3 30 31 1110 0 100000.000 1110 0 23 Результаты дисперсионного анализа при TAU = 10, 17, 30: 11/09/10 21:08:33 Model Translation Begun. 11/09/10 21:08:33 Ready. 11/09/10 21:09:08 include "t2.txt" 11/09/10 21:09:08 Simulation in Progress. 11/09/10 21:09:08 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:08 Simulation in Progress. 11/09/10 21:09:08 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Reporting in 1chast.75.1 - REPORT Window. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:09 Simulation in Progress. 11/09/10 21:09:09 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:10 Simulation in Progress. 11/09/10 21:09:10 The Simulation has ended. Clock is 50000.000000. 11/09/10 21:09:32 SHOW anova (res,2,1) 11/09/10 21:09:32 ______________________________________________ 11/09/10 21:09:32 ANOVA 11/09/10 21:09:32 _____________________________________________ 11/09/10 21:09:32 Source of Sum of Degrees of Mean Square F Critical Value 11/09/10 21:09:32 Variance Squares Freedom of F (p=.05) 11/09/10 21:09:32 _____________________________________________ 11/09/10 21:09:32 A 209051347.522 104525673.761 668.815 4.26 11/09/10 21:09:32 _____________________________________________ 11/09/10 21:09:32 Error 1406564.869 9 156284.985 11/09/10 21:09:32 Total 210457912.392 11 11/09/10 21:09:32 ______________________________________________ 11/09/10 21:09:32____________________________________________ 11/09/10 21:09:32 Treatment Level Count Mean Minimum Maximum 95% C.I. (SE) 11/09/10 21:09:32 A 11/09/10 21:09:32 ______________________________________________ 11/09/10 21:09:32 1 4 1823.386 1786.401 1851.373 (1376.269, 2270.503) 11/09/10 21:09:32 2 4 1776.381 1714.503 1823.598 (1329.264, 2223.498) 11/09/10 21:09:32 3 4 -7054.076 -7908.097 -6476.600 (-7501.193,-6606.959) 11/09/10 21:09:32_____________________________________________ 11/09/10 21:09:32 395.3289586 По результатам таблицы ANOVA видно, что параметр TAU является очень важным, так как его F-статистика намного превышает Fкр (668.815 > 4.26). 2.6 Отсеивающий экспериментПроведем отсеивающий эксперимент для определения наиболее важных факторов, влияющих на моделируемую систему. И выберем варьируемые величины исходя из результата опыта [1]. Текст программы GPSS: TAU EQU 17 ZADEL EQU 3 OHE EQU 20 KRIT VARIABLE (2#N$ABC1+2#N$ABC2)-2#N$OTH-0.1#X$PROST-1#N$OTK NORM1 VARIABLE (NORMAL(1,40,5)) NORM2 VARIABLE (NORMAL(1,60,10)) ERL3 VARIABLE (GAMMA(1,0,TAU, 3)) RAVNOM VARIABLE (UNIFORM(1,80,120)) GENERATE V$ERL3 ASSIGN 1,0 GATE NU STAN1,BBB AAA1 SEIZE STAN1 ADVANCE V$NORM1 RELEASE STAN1 UNLINK BUF1,AAA1,1 TRANSFER .04,,DDD EEE LINK BUF2,FIFO DDD ASSIGN 1+,1 TEST L P1,2,OTH TRANSFER ,BBB OTH TERMINATE BBB GATE NU STAN2,CCC AAA2 SEIZE STAN2 ADVANCE V$NORM2 RELEASE STAN2 UNLINK BUF1,AAA2,1 TRANSFER .08,EEE,DDD CCC TEST L CH$BUF1,OHE,OTK LINK BUF1,FIFO OTK TERMINATE GENERATE 50000 TERMINATE 1 GENERATE ,,,1 FFF MARK TEST GE CH$BUF2,1 SAVEVALUE PROST+,M1 UNLINK BUF2,ABC1,1 ADVANCE V$RAVNOM TRANSFER ,FFF ABC1 TERMINATE GENERATE ,,,1 KKK MARK TEST G CH$BUF2,ZADEL SAVEVALUE PROST+,M1 UNLINK BUF2,ABC2,1 ADVANCE V$RAVNOM TRANSFER ,KKK ABC2 TERMINATE Рис.1. Диалоговое окно генератора отсеивающего эксперимента Рис.2. Процедура запуска модели 11/09/10 21:42:30 Model Translation Begun. 11/09/10 21:42:30 Ready. 11/09/10 21:42:30 SEM Procedure registered. 11/09/10 21:42:30 SEM_GETRESULT Procedure registered. 11/09/10 21:42:30 CHAST Procedure registered. 11/09/10 21:42:35 CONDUCT SEM() 11/09/10 21:42:35 **** Experiment in Progress. **** 11/09/10 21:42:35 Simulation in Progress. 11/09/10 21:42:35 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:35 Simulation in Progress. 11/09/10 21:42:35 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:35 "Run 1. Yield=1957.381969130512. TAU=10; ZADEL=3; OHE=5;" 11/09/10 21:42:35 Simulation in Progress. 11/09/10 21:42:35 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:35 Simulation in Progress. 11/09/10 21:42:35 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:35 "Run 2. Yield=1971.143408568981. TAU=10; ZADEL=3; OHE=20;" 11/09/10 21:42:35 Simulation in Progress. 11/09/10 21:42:35 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:35 Simulation in Progress. 11/09/10 21:42:35 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:35 "Run 3. Yield=1924.628865799248. TAU=10; ZADEL=8; OHE=5;" 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:36 "Run 4. Yield=1929.92535412587. TAU=10; ZADEL=8; OHE=20;" 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:36 "Run 5. Yield=-7357.309493947025. TAU=30; ZADEL=3; OHE=5;" 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:36 "Run 6. Yield=-7300.903184660247. TAU=30; ZADEL=3; OHE=20;" 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:36 "Run 7. Yield=-8553.776409936972. TAU=30; ZADEL=8; OHE=5;" 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:42:36 Simulation in Progress. 11/09/10 21:42:36 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:42:36 "Run 8. Yield=-7837.211632305294. TAU=30; ZADEL=8; OHE=20;" 11/09/10 21:42:36_____________________________________________ 11/09/10 21:42:36 Alias Effect Sum of Degrees of F - for Only Critical Value 11/09/10 21:42:36 Group Squares Freedom Main Effects of F (p=.05) 11/09/10 21:42:36 _____________________________________________ 11/09/10 21:42:36 A -9708.0708493249.342 1 1438.956 7.71 11/09/10 21:42:36 B -451.687 408041.624 1 3.115 7.71 11/09/10 21:42:36 AB -414.701 11/09/10 21:42:36 C 198.007 78413.745 1 0.599 7.71 11/09/10 21:42:36 AC 188.478 11/09/10 21:42:36 BC 162.923 11/09/10 21:42:36 ABC 167.156 11/09/10 21:42:36 _____________________________________________ 11/09/10 21:42:36 Error 523972.270 4 11/09/10 21:42:36 Total 503676.981 7 11/09/10 21:42:36 Grand Mean -2908.265 11/09/10 21:42:36 ______________________________________________ 11/09/10 21:42:36 Experiment ended. Фактор А (TAU) является значимым, так как его F-статистика больше Fкр (1438,956>7,71). Факторы В (величина задела) и С (суммарная длина очереди) являются мало значимыми (3,115<7,71), (0,559<7,71). 2.7 Оптимизирующий экспериментПроведем оптимизирующий эксперимент, для того чтобы система нашла автоматически оптимальное решение и сравним его с уже полученным результатом [1]. TAU EQU 10 ZADEL EQU 3 OHE EQU 20 KRIT VARIABLE (2#N$ABC1+2#N$ABC2)-2#N$OTH-0.1#X$PROST-1#N$OTK NORM1 VARIABLE (NORMAL(1,40,5)) NORM2 VARIABLE (NORMAL(1,60,10)) ERL3 VARIABLE (GAMMA(1,0,TAU, 3)) RAVNOM VARIABLE (UNIFORM(1,80,120)) GENERATE V$ERL3 ASSIGN 1,0 GATE NU STAN1,BBB AAA1 SEIZE STAN1 ADVANCE V$NORM1 RELEASE STAN1 UNLINK BUF1,AAA1,1 TRANSFER .04,,DDD EEE LINK BUF2,FIFO DDD ASSIGN 1+,1 TEST L P1,2,OTH TRANSFER ,BBB OTH TERMINATE BBB GATE NU STAN2,CCC AAA2 SEIZE STAN2 ADVANCE V$NORM2 RELEASE STAN2 UNLINK BUF1,AAA2,1 TRANSFER .08,EEE,DDD CCC TEST L CH$BUF1,OHE,OTK LINK BUF1,FIFO OTK TERMINATE GENERATE 50000 savevalue kr,V$KRIT TERMINATE 1 GENERATE ,,,1 FFF MARK TEST GE CH$BUF2,1 SAVEVALUE PROST+,M1 UNLINK BUF2,ABC1,1 ADVANCE V$RAVNOM TRANSFER ,FFF ABC1 TERMINATE GENERATE ,,,1 KKK MARK TEST G CH$BUF2,ZADEL SAVEVALUE PROST+,M1 UNLINK BUF2,ABC2,1 ADVANCE V$RAVNOM TRANSFER ,KKK ABC2 TERMINATE Рис.3. Диалоговое окно генератора оптимизирующего эксперимента Рис.4. Процедура запуска модели 11/09/10 21:57:57 Model Translation Begun. 11/09/10 21:57:57 Ready. 11/09/10 21:57:57 RSM Procedure registered. 11/09/10 21:57:57 RSM_MOVE Procedure registered. 11/09/10 21:57:57 RSM_FULLPLUSCENTER Procedure registered. 11/09/10 21:57:57 RSM_AUGMENTED Procedure registered. 11/09/10 21:57:57 RSM_CENTERTHEFACTORS Procedure registered. 11/09/10 21:57:57 RSM_GETRESULT Procedure registered. 11/09/10 21:57:57 CHAST Procedure registered. 11/09/10 21:58:02 CONDUCT RSM() 11/09/10 21:58:02 **** Experiment in Progress. **** 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:58:02 "Run 1. Yield=1961.381969130512. TAU=10; ZADEL=3;" 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:58:02 "Run 2. Yield=1938.857372592189. TAU=10; ZADEL=8;" 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:58:02 "Run 3. Yield=-1942.06772808578. TAU=20; ZADEL=3;" 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:58:02 "Run 4. Yield=-1513.918579316969. TAU=20; ZADEL=8;" 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:58:02 "Run 5. Yield=1908.306844669816. TAU=15; ZADEL=5.5;" 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:58:02 "Run 6. Yield=1950.7224334872. TAU=15; ZADEL=5.5;" 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 50000.000000. 11/09/10 21:58:02 Simulation in Progress. 11/09/10 21:58:02 A Simulation in an Experiment has ended. Clock is 100000.000000. 11/09/10 21:58:02 "Run 7. Yield=1913.700634287524. TAU=15; ZADEL=5.5;" 11/09/10 21:58:02 Using Model: 11/09/10 21:58:02 Y = -1374.78 -552.588 A +3477.12 B 11/09/10 21:58:02 +9.01347 A B 11/09/10 21:58:02 -81.1763 A^2 -324.705 B^2 11/09/10 21:58:02 Predicted optimum yield is 1812.81. 11/09/10 21:58:02 Optimum is in the local Experimental Region. 11/09/10 21:58:02 RSM_FitSurfaceToData() returns 4. 11/09/10 21:58:02 Experiment ended. Оптимальное значение критерия V отражается в матрице LAB_BESTYIELDS, и оно равно 1812,810. Соответствующие этому результату: TAU равен 12,736, а ZADEL равен 5,531. В результате проведения эксперимента получили следующую функцию регрессии, связывающую реакцию (критерий оптимизации V) с факторами TAU (фактор А) и ZADEL (фактор В): Y = - 1374,78 – 552,588 A +3477,12 B + 9,01347 A B – 81,1763 A^2 – 324,705 B^2 Проведем эксперимент для полученных значений: TAU = 15 ZADEL = 6 OHE = 20 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 50000.000 41 2 0 NAME VALUE AAA1 4.000 AAA2 15.000 ABC1 33.000 ABC2 41.000 BBB 14.000 BUF1 10010.000 BUF2 10008.000 CCC 20.000 DDD 10.000 EEE 9.000 ERL3 10006.000 FFF 27.000 KKK 35.000 KR 10013.000 KRIT 10003.000 NORM1 10004.000 NORM2 10005.000 OHE 20.000 OTH 13.000 OTK 22.000 PROST 10011.000 RAVNOM 10007.000 STAN1 10009.000 STAN2 10012.000 TAU 15.000 ZADEL 6.000 LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 1094 0 0 2 ASSIGN 1094 0 0 3 GATE 1094 0 0 AAA1 4 SEIZE 747 0 0 5 ADVANCE 747 0 0 6 RELEASE 747 0 0 7 UNLINK 747 0 0 8 TRANSFER 747 0 0 EEE 9 LINK 1086 91 0 DDD 10 ASSIGN 71 0 0 11 TEST 71 0 0 12 TRANSFER 63 0 0 OTH 13 TERMINATE 8 0 0 BBB 14 GATE 508 0 0 AAA2 15 SEIZE 410 0 0 16 ADVANCE 410 0 0 17 RELEASE 410 0 0 18 UNLINK 410 0 0 19 TRANSFER 410 0 0 CCC 20 TEST 192 0 0 21 LINK 192 0 0 OTK 22 TERMINATE 0 0 0 23 GENERATE 1 0 0 24 SAVEVALUE 1 0 0 25 TERMINATE 1 0 0 26 GENERATE 1 0 0 FFF 27 MARK 501 0 0 28 TEST 501 0 0 29 SAVEVALUE 501 0 0 30 UNLINK 501 0 0 31 ADVANCE 501 1 0 32 TRANSFER 500 0 0 ABC1 33 TERMINATE 501 0 0 34 GENERATE 1 0 0 KKK 35 MARK 494 0 0 36 TEST 494 0 0 37 SAVEVALUE 494 0 0 38 UNLINK 494 0 0 39 ADVANCE 494 1 0 40 TRANSFER 493 0 0 ABC2 41 TERMINATE 494 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY STAN1 747 0.597 39.945 1 0 0 0 0 0 STAN2 410 0.496 60.502 1 0 0 0 0 0 USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME BUF2 91 0 47.680 1086 91 2195.234 BUF1 0 0 0.060 192 3 15.569 SAVEVALUE RETRY VALUE PROST 0 983.181 KR 0 1875.682 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 1098 0 50004.141 1098 0 1 3 0 50004.194 3 31 32 4 0 50024.576 4 39 40 1099 0 100000.000 1099 0 23 3. Таблица характеристик процесса обслуживания Максимальное значение критерия эффективности V будем искать, изменяя параметр TAU и величину задела [1]. V = С1Nобр - С2 Nотк - С3(Тпр3+ Тпр4) - С4Nотн ,
где: Nобр –количество обработок Nотк – количество отказов Тпр3 - время простоя первого станка Тпр4 - время простоя второго станка С1, С2 , С3,С4 – весовые коэффициенты Весовые коэффициенты: Таблица 1 Таблица характеристик процесса обслуживания
Максимальное значение критерия эффективности (V=1712,65) было достигнуто при TAU = 16, а величина задела равна 3. 4. Графики зависимостей Рис.5. Зависимость критерия эффективности от величины задела. Рис.6. Зависимость критерия эффективности от интервала поступления. Рис.7. Зависимость количества раз, когда станок занят от интервала поступления. Рис.8. зависимость коэффициента использования станков от интервала поступления. 5. Анализ полученных результатов В результате проведенного процесса моделирования были получены экспериментальные данные и построены графики зависимостей. Из графика зависимости критерия эффективности от интервала поступления сигналов (TAU*3), построенного по результатам значения таблицы характеристик процесса обслуживания видно, что максимальный критерий эффективности при данных коэффициентах был достигнут при интервале поступления сигнала, равным 16 (рис.6). Решение найденное экспериментальным путем с помощью многочисленных прогонов (V=1812,81, TAU=15, ZADEL=6) оказалось близким со значением (V=1712,64, TAU=16, ZADEL=3) найденным программой после проведения оптимизирующего эксперимента, но не точное. Проводя дисперсионный анализ видно, что параметр TAU является очень важным, так как его F-статистика намного превышает Fкр (668.815 > 4.26). Также отсеивающий эксперимент показал, что параметр TAU является большим значением. Заключение Машинное моделирование – это эффективное средство решения сложных задач исследований, экспериментов и проектирования больших систем. В данной работе основное внимание уделялось методам и этапам машинного моделирования в рамках общей методологии моделирования, изложенной в учебнике "Моделирование систем" [2]. Существенное упрощение и ускорение процесса разработки имитационных моделей систем и их программной реализации достигаются при использовании специальных языков моделирования и особенно пакетов программ имитации. В данной работе в качестве основного средства для разработки моделей систем, формализуемых в виде схем массового обслуживания, выбран стандартный пакет моделирования дискретных систем GPSS. Список использованной литературы 1) Моделирование систем: учебно-метод. Комплекс / А. И. Васильев; Дальневосточный государственный технический университет. – Владивосток: Изд-во ДВГТУ, 2008. - 172с. 2) Моделирование систем. Практикум: Учеб. пособие для вузов / Б. Я. Советов, С. А. Яковлев. – 3-е изд., стер. – М.: Высш. шк., 2005. – 295 с.: ил. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||