Реферат: Разработка и исследование имитационной модели разветвленной СМО (системы массового обслуживания) в среде VB5
Работа посвящена созданию программы, позволяющей моделировать процесс прохождения потока заявок (закон распределения времени между поступлением заявок экспоненциальный или нормальный) по рабочим станциям (одноканальным СМО с неограниченной очередью; закон распределения времен обслуживания экспоненциальный или нормальный; максимальное число рабочих станций 10), с возможностью ветвления, объединения потоков и отбраковки заявок. Программа позволяет на основании результатов моделирования рассчитывать основные характеристики СМО, а также рассчитывать некоторые средние показатели СМО по формулам. Для создания программы выбрана среда программирования Visual Basic 5.
Исследование модели включает проведение с помощью программы ряда экспериментов для различных систем и сравнение результатов, полученных на основании имитационного моделирования, с результатами расчета по формулам. Цель исследования — сделать выводы о возможности применения приближенных формул расчета средних показателей для различных вариантов систем.
Содержание.
Глава 1 Введение 6
Глава 2 Математическое описание модели 11
Глава 3 Создание программы 27
Глава 4 Исследование модели 46
Глава 5 Экономическая часть 63
Глава 6 Охрана труда 81
Глава 7 Заключение 87
Список литературы 89
Приложение
Глава 1
Введение
1.1 Актуальность разработки и перспективы применения программы
В современном мире существенно повысилась доступность компьютерной техники, которая стала применяться в самых различных научных и производственных областях. В связи с этим выросла аудитория потенциальных потребителей компьютерных программ и следовательно увеличилась целесообразность их создания.
Каждому из нас часто приходится сталкиваться с работой своеобразных систем, называемых системами массового обслуживания (СМО). Примерами таких систем могут служить: телефонные станции, ремонтные мастерские, билетные кассы, справочные бюро, банки, магазины, парикмахерские и т. п. Каждая из этих систем состоит из какого-то числа обслуживающих единиц (каналов обслуживания) Такими каналами могут быть: линии связи, рабочие точки, кассиры, продавцы, лифты, автомашины и др.
Всякая СМО предназначена для обслуживания некоторого потока заявок (или «требований»), поступающих в какие-то случайные моменты времени. Обслуживание заявки продолжается некоторое время, после чего канал освобождается и готов к приему следующей заявки. Случайный характер потока заявок и времен обслуживания приводит к тому, что в какие-то периоды времени на входе СМО скапливается излишне большое число заявок (они либо становятся в очередь, либо покидают СМО необслуженными); в другие же периоды СМО будет работать с недогрузкой или вообще простаивать.
Последовательная линейная структура СМО характерна, например, для поточных (автоматических и неавтоматических) линий конвейерного типа. Различие во времени обработки деталей на таких линиях связано, в основном, с процессами «отказа» и «восстановления».
Гибкая производственная система (ГПС) — это система с высокой степенью автоматизации, предназначенная для изготовления деталей различных видов, выпускаемых малыми и средними партиями. Она включает группу станков с числовым программным управлением для автоматической механической обработки, систему загрузки и разгрузки заготовок и конвейерную систему транспортирования заготовок от одной операции до следующей, электронно-вычислительную машину, систему программного обеспечения для руководства и управления всем объемом работ, составляющую математическое обеспечение автоматизированного комплекса.
Если рассматривать структуру гибких производственных систем, то для них время обработки деталей будет существенно различаться, так как в гибких производственных системах появляется возможность обрабатывать разные детали и использовать различные маршруты обработки. ГПС, в отличие от поточных линий, необходимо рассматривать уже не как линейную и последовательную, а как сложную разветвленную структуру. Как в ГПС, так и в поточных линиях необходимо также предусмотреть возможность отбраковки обрабатываемых деталей на различных стадиях обработки.
Данная программа дает возможность смоделировать как линейную, так и разветвленную структуру. Программа может использоваться для оптимизации процесса обслуживания. Смоделировав структуру автоматической линии, гибкой производственной системы или структуру системы обслуживания какого-либо предприятия (или производственного участка), пользователь может с помощью данной программы исследовать эту структуру. Проведя анализ, можно выявить «слабые» места в системе или осознать необходимость введения в нее каких-либо дополнительных элементов. Далее можно, меняя различные параметры в программе, достигать оптимального соотношения простоев и очередей.
Оптимизация процесса обслуживания способна существенно повысить эффективность работы предприятия.
Все вышеперечисленное подтверждает актуальность создания разрабатываемой программы.
1.2 Постановка задачи (обобщенное описание модели).
На вход системы из N станций поступает поток заявок с заданным законом распределения времени прихода (экспоненциальным или нормальным). Задаются параметры распределения, количество станций и связи между ними и число заявок. Также задаются закон распределения времени обслуживания заявок на станциях (экспоненциальный или нормальный), параметры распределения и вероятности отбраковки заявок по станциям. Предусмотрены два варианта расчета показателей — с помощью имитационной модели и по формулам.
1. При имитационном моделировании для каждой станции рассчитываются:
1.1 Среднее время ожидания обслуживания;
1.2 Среднее время простоя станции;
1.3 Максимальная длина очереди;
1.4 Число снятых заявок;
1.5 Коэффициент использования;
1.6 Среднее время нахождения заявки на станции;
1.7 Максимальное время нахождения заявки на станции.
Также выводятся общие показатели системы:
1.8 Общее время прихода N заявок;
1.9 Время выхода последней заявки;
1.10 Общий коэффициент использования системы по времени;
1.11 Общий коэффициент использования системы по числу заявок.
2. При расчете по формулам для каждой станции рассчитываются:
2.1 Среднее время ожидания обслуживания;
2.2 Среднее время простоя станции;
2.3 Средняя число заявок в очереди;
2.4 Среднее время нахождения заявки на станции;
В некоторых случаях расчет по формулам не способен предоставить корректные результаты и интересующие показатели можно рассчитывать только с помощью имитационной модели.
1.3 Обоснование выбора среды программирования Visual Basic 5
Начиная изучать что-то новое, полезно посмотреть и в недалекое прошлое. Особенно это касается программирования, которое в последние десять лет развивается просто фантастическими темпами.
Очень давно, лет тридцать назад, произошел массовый переход от машинных кодов к языкам программирования (типа Algol, Cobol, PL/1) и широкому использованию методов структурного программирования. Программы стали модульными, состоящими из подпрограмм. Появились библиотеки готовых подпрограмм, облегчающие многие задачи, но все равно программистам хватало трудностей, особенно при разработке пользовательского интерфейса.
В конце 80-х—начале 90-х годов появились системы, где применялось объектно-ориентированное программирование, в частности, языки Object Pascal, C++ и др. Программы стали строиться не из больших по размеру процедур и функций, перерабатывающих сложные структуры данных, а из сравнительно простых кирпичиков -объектов, в которых находились данные и подпрограммы их обработки. Гибкость объектов позволила просто приспосабливать их для различных целей, прилагая при этом минимум усилий. Программисты обзавелись готовыми библиотеками объектов, но, как и раньше, интерфейс каждый делал по-своему.
В начале 90-х годов началось широкое распространение графического пользовательского интерфейса, который с появлением операционной системы Windows 3.1 и особенно Windows 95 был практически стандартизирован. Несмотря на критику, эти системы завоевали мир, и Windows-стандартам осталось только подчиняться. Однако соблюдать новые стандарты интерфейса при разработке собственных программ оказалось совсем не легко, так как для этого не было хороших средств. Разработка приложений для Windows была уделом избранных, поэтому первые годы Windows стали для программистов сложным испытанием.
В 1993 году появилась первая система визуального программирования Visual Basic. Она стала незаменимой для всех, желающих быстро создавать Windows-приложения. Строительными блоками программы стали компоненты—объекты, имеющие визуальное представление на стадии проектирования и во время работы. Проектирование пользовательского интерфейса упростилось на порядок.
В 1995 году фирма Borland выпустила среду Delphi, которая позволила программистам создавать собственные компоненты и строить из них высокоэффективные приложения, что стимулировало развитие новой индустрии компонентов. В 1997 году появилась среда C++Builder — полный аналог Delphi, в котором используется язык C++ (вместо Object Pascal).
В дальнейшем появлялись новые усовершенствованные версии Delphi, C++Builder и Visual Basic, предоставляющие пользователям дополнительные возможности.
Сегодня компьютерный мир переживает революцию Internet, которая в первую очередь является революцией в сфере информационных услуг. Internet повлиял и на технологию программирования, подарив миру мобильный интерпретируемый язык Java. Новый язык позволил создавать графические приложения, работающие на любых платформах, будь то Windows, OS/2, Unix и др. Однако технология Java находится в развитии и еще не устоялась, чтобы использоваться для создания коммерческих приложений. Поэтому на практике пока лучше использовать хорошо проверенные Delphi, C++Builder и Visual Basic. Кстати, эти системы содержат и компоненты для доступа к Internet.
Сегодня любой опытный менеджер знает, что браться за новый проект нужно только в том случае, если его можно закончить в строго определенный и достаточно короткий срок. Сотни гениальных программ канули в Лету только потому, что устарели уже на стадии реализации. Особенно остро эта проблема стоит сейчас, когда одна фирма дышит в затылок другой, причем производят они очень похожие продукты. Одних текстовых редакторов десятки, не говоря уже об утилитах общего назначения, переводчиках и т. д. Одна из сред, в которой быстрее всего можно реализовать проект, это среда Visual Basic.
Глава 2
Математическое описание модели.
Данный раздел описания базируется на работах Е. С. Вентцель.
2.1 Марковские случайные процессы.
Случайный процесс, протекающий в системе, называется марковским, если для любого момента времени t0 вероятностные характеристики процесса в будущем зависят только от его состояния в данный момент t0 и не зависят от того, когда и как система пришла в это состояние
Пусть в момент t0 система находится в определенном состоянии S0. Мы наблюдаем процесс со стороны и в момент t0 знаем состояние системы S0 и всю предысторию процесса, все, что было при t < t0. Нас интересует будущее (t > t0). В точности невозможно его предугадать, так как процесс — случайный, а значит — непредсказуемый. Но вероятностные характеристики процесса в будущем мы найти можем. Например, вероятность того, что через некоторое время ? система S окажется в состоянии S1 или сохранит состояние S0, и т. п.
Для марковского случайного процесса такое «вероятностное предсказание» оказывается гораздо проще, чем для немарковского. Если процесс — марковский, то предсказывать можно, только учитывая настоящее состояние системы S0 и забыв о его «предыстории» (поведении системы при t < t0). Само состояние S0, разумеется, зависит от прошлого, но как только оно достигнуто, о прошлом можно забыть. В марковском процессе «будущее зависит от прошлого только через настоящее».>
На практике часто встречаются процессы, которые если не в точности марковские, то могут быть в каком-то приближении рассмотрены как марковские. Пример: система S — группа самолетов, участвующих в воздушном бою. Состояние системы характеризуется числом самолетов «красных» — x и «синих» — y, сохранившихся (не сбитых) к определенному моменту. В момент t0 нам известны численности сторон — x0 и y0. Нас интересует вероятность того, что в момент времени t0 + ? численный перевес будет на стороне «красных». В первую очередь эта вероятность будет зависеть от того, в каком состоянии находится система в момент t0, а не от того, когда и в какой последовательности погибали сбитые до момента t0 самолеты.
В сущности, любой процесс можно рассматривать как марковский, если все параметры из «прошлого», от которых зависит «будущее», включить в «настоящее». Например, пусть речь идет о работе некоторого технического устройства; в момент t0 оно еще исправно, и нас интересует вероятность того, что оно проработает еще время ?. Если за настоящее состояние системы считать просто «система исправна», то процесс безусловно немарковский, потому что вероятность того, что она не откажет за время ?, зависит, в общем случае, от того, сколько времени она уже проработала и когда был последний ремонт. Если оба эти параметра (общее время работы и время после последнего ремонта) включить в настоящее состояние системы, то процесс можно будет считать марковским. Однако такое «обогащение настоящего за счет предыстории» далеко не всегда бывает полезно, поэтому в дальнейшем, говоря о марковском процессе, будем подразумевать его простым, с небольшим числом параметров, определяющих «настоящее».
На практике марковские процессы в чистом виде обычно не встречаются, но нередко приходится иметь дело с процессами, для которых влиянием «предыстории» можно пренебречь. При изучении таких процессов можно с успехом применять марковские модели.
В исследовании операций большое значение имеют так называемые марковские случайные процессы с дискретными состояниями и непрерывным временем. Процесс называется процессом с дискретными состояниями, если его возможные состояния S1, S2, S3,... можно заранее перечислить (перенумеровать), и переход системы из состояния в состояние происходит «скачком», практически мгновенно. Процесс называется процессом с непрерывным временем, если моменты возможных переходов из состояния в состояние не фиксированы заранее, а неопределенны, случайны, т. е. если переход может осуществиться в любой момент времени. При анализе случайных процессов с дискретными состояниями удобно пользоваться геометрической схемой — так называемым графом состояний. Состояния системы изображаются прямоугольниками (или кругами, или точками), а возможные переходы из состояния в состояние — стрелками, соединяющими состояния. Мы будем изображать состояния прямоугольниками, в которых записаны обозначения состояний: S1, S2,..., Sn.
Потоком событий называется последовательность однородных событий, следующих одно за другим в случайные моменты времени. Например: поток вызовов на телефонной станции; поток отказов (сбоев) ЭВМ; поток железнодорожных составов, поступающих на сортировочную станцию, и т. д.
Важной характеристикой потока событий является его интенсивность ? — среднее число событий, приходящееся на единицу времени. Интенсивность потока может быть как постоянной (?= const), так и переменной, зависящей от времени t. Например, поток автомашин, движущихся по улице, днем интенсивнее, чем ночью, в часы пик — интенсивнее, чем в другие часы.
Поток событий называется регулярным, если события следуют одно за другим через определенные, равные промежутки времени. На практике чаще встречаются потоки нерегулярные, со случайными интервалами.
Поток событий называется стационарным, если его вероятностные характеристики не зависят от времени. Поток событий называется потоком без последействия, если для любых двух непересекающихся интервалов времени t1 и t2 число событий, попадающих на один из них, не зависит от того, сколько событий попало на другой. По сути это означает, что события, образующие поток, появляются в те или иные моменты времени независимо друг от друга, причем каждое вызвано своими собственными причинами.
Поток событий называется ординарным, если события в нем появляются поодиночке, а не группами по несколько сразу. Например, поток клиентов, направляющихся в парикмахерскую или к зубному врачу, обычно ординарен, чего нельзя сказать о потоке клиентов, направляющихся в загс для регистрации брака. Поток поездов, подходящих к станции, ординарен, а поток вагонов — неординарен. Если поток событий ординарен, то вероятностью попадания на малый интервал времени t двух или более событий можно пренебречь.
Поток событий называется простейшим (или стационарным пуассоновским), если он обладает сразу тремя свойствами: стационарен, ординарен и не имеет последействия. Название «простейший» связано с тем, что процессы, связанные с простейшими потоками, имеют наиболее простое математическое описание. Самый простой, на первый взгляд, регулярный поток не является «простейшим», так как обладает последействием: моменты появления событий в таком потоке связаны жесткой функциональной зависимостью.
Простейший поток играет среди других потоков особую роль. А именно, при наложении (суперпозиции) достаточно большого числа независимых, стационарных и ординарных потоков (сравнимых между собой по интенсивности) получается поток, близкий к простейшему.
Для простейшего потока с интенсивностью ? интервал между соседними событиями имеет так называемое экспоненциальное распределение с плотностью
(t > 0) (1)
Величина ? в формуле (1) называется параметром показательного закона. Для случайной величины Т, имеющей экспоненциальное распределение, математическое ожидание mT есть величина, обратная параметру, а среднее квадратическое отклонение ?T равно математическому ожиданию:
(2)
В теории вероятностей в качестве «меры случайности» неотрицательной случайной величины нередко рассматривают так называемый коэффициент вариации:
(3)
Из формул (2), (3) следует, что для показательного распределения ?T = 1, т. е. для простейшего потока событий коэффициент вариации интервалов между событиями равен единице.
Очевидно, что для регулярного потока событий, у которого интервал между событиями вообще не случаен (?T = 0), коэффициент вариации равен нулю. Элементом вероятности называется вероятность попадания на этот интервал хотя бы одного события потока. Легко доказать, что элемент вероятности (с точностью до малых величин более высокого порядка по сравнению с ?t) равен:
(4)
т. е. для простейшего потока элемент вероятности равен интенсивности потока, умноженной на длину элементарного интервала. Элемент вероятности, в силу отсутствия последействия, совершенно не зависит от того, сколько событий и когда появлялись ранее.
Нормальное распределение занимает центральное место среди непрерывных распределений. Его плотность определяется формулой:
F(t) = (5)
где ? > 0, m — параметры распределения. При ? = 1 и m = 0 имеет место стандартное нормальное распределение с плотностью:
F(t) = (6)
Пусть рассматривается система S, имеющая n возможных состояний S1, S2,..., Sn. Назовем вероятностью i-го состояния вероятность pi(t) того, что в момент t система будет находиться в состоянии Si. Очевидно, что для любого момента сумма всех вероятностей состояний равна единице.
Имея в своем распоряжении размеченный граф состояний, можно найти все вероятности состояний pi(t) как функции времени. Для этого составляются и решаются так называемые уравнения Колмогорова — дифференциальные уравнения особого вида, в которых неизвестными функциями являются вероятности состояний.
Что будет происходить с вероятностями состояний при t ? ? ? Будут ли p1(t), p2(t),... стремиться к каким-то пределам? Если эти пределы существуют и не зависят от начального состояния системы, то они называются финальными вероятностями состояний. В теории случайных процессов доказывается, что если число n состояний системы конечно и из каждого из них можно (за конечное число шагов) перейти в любое другое, то финальные вероятности существуют.
Финальную вероятность состояния Si можно истолковать как среднее относительное время пребывания системы в этом состоянии.
Граф состояний для схемы гибели и размножения имеет вид, показанный на рис. 1. Особенность этого графа в том, что все состояния системы можно вытянуть в цепочку, в которой каждое из средних состояний связано прямой и обратной стрелкой с каждым из соседних состояний — правым и левым, а крайние состояния — только с одним соседним состоянием. Термин «схема гибели и размножения» ведет начало от биологических задач, где подобной схемой описывается изменение численности популяции.
Wсист — среднее время пребывания заявки в системе;
WочL оч Lоч — среднее число заявок в очереди;
Wоч — среднее время пребывания заявки в очереди
? — интенсивность потока обслуживаний; ? — интенсивность потока заявок
? /? = ? (приведенная интенсивность потока заявок)
? — среднее число заявок, приходящее за среднее время обслуживания одной заявки
рис. 1
2.2 Классификация систем массового обслуживания
При исследовании операций часто приходится сталкиваться с работой систем массового обслуживания. СМО могут быть одноканальными и многоканальными.
Процесс работы СМО представляет собой случайный процесс с дискретными состояниями и непрерывным временем; состояние СМО меняется скачком в моменты появления каких-то событий (прихода новой заявки, окончания обслуживания, момента, когда заявка, которой «надоело ждать», покидает очередь).
Предмет теории массового обслуживания — построение математических моделей, связывающих заданные условия работы СМО (число каналов, их производительность, правила работы, характер потока заявок) с интересующими нас характеристиками — показателями эффективности СМО, описывающими, с той или другой точки зрения, ее способность справляться с потоком заявок. В качестве таких показателей (в зависимости от обстановки и целей исследования) могут применяться разные величины, например: среднее число заявок, обслуживаемых СМО в единицу времени; среднее число занятых каналов; среднее число заявок в очереди и среднее время ожидания обслуживания; вероятность того, что число заявок в очереди превысит какое-то значение, простои, и т. д.
Математический анализ работы СМО очень упрощается, если процесс этой работы — марковский. Для этого достаточно, чтобы все потоки событий, переводящие систему из состояния в состояние (потоки заявок, «потоки обслуживания»), были простейшими. Если это свойство нарушается, то математическое описание процесса становится гораздо сложнее и довести его до явных, аналитических формул удается лишь в редких случаях. Однако аппарат простейшей, марковской теории массового обслуживания может пригодиться для приближенного описания работы СМО даже в тех ситуациях, когда потоки событий — не простейшие. Во многих случаях для принятия разумного решения по организации работы СМО вовсе и не требуется точного знания всех ее характеристик — зачастую достаточно и приближенного, ориентировочного.
Системы массового обслуживания делятся на типы (или классы) по ряду признаков. Первое деление: СМО с отказами и СМО с очередью. В СМО с отказами заявка, поступившая в момент, когда все каналы заняты, получает отказ, покидает СМО и в дальнейшем процессе обслуживания не участвует. Примеры СМО с отказами встречаются в телефонии: заявка на разговор, пришедшая в момент, когда все каналы связи заняты, получает отказ и покидает СМО необслуженной. В СМО с очередью заявка, пришедшая в момент, когда все каналы заняты, не уходит, а становится в очередь и ожидает возможности быть обслуженной. На практике чаще встречаются (и имеют большее значение) СМО с очередью; недаром теория массового обслуживания имеет второе название: «теория очередей».
СМО с очередью подразделяются на разные виды, в зависимости от того, как организована очередь — ограничена она или не ограничена. Ограничения могут касаться как длины очереди, так и времени ожидания (так называемые «СМО с нетерпеливыми заявками»). При анализе СМО должна учитываться также и «дисциплина обслуживания» — заявки могут обслуживаться либо в порядке поступления (раньше пришла, раньше обслуживается), либо в случайном порядке. Нередко встречается так называемое обслуживание с приоритетом — некоторые заявки обслуживаются вне очереди. Приоритет может быть как абсолютным — когда заявка с более высоким приоритетом «вытесняет» из-под обслуживания заявку с низшим, так и относительным — когда начатое обслуживание доводится до конца, а заявка с более высоким приоритетом имеет лишь право на лучшее место в очереди.
Существуют СМО с так называемым многофазовым обслуживанием, состоящим из нескольких последовательных этапов или «фаз» (например, покупатель, пришедший в магазин, должен сначала выбрать товар, затем оплатить его в кассе, после чего получить на контроле).
Кроме этих признаков, СМО делятся на два класса: «открытые» и «замкнутые». В открытой СМО характеристики потока заявок не зависят от того, в каком состоянии находится сама СМО (сколько каналов занято). В замкнутой СМО — зависят. Например, если один рабочий обслуживает группу станков, время от времени требующих наладки, то интенсивность потока «требований» со стороны станков зависит от того, сколько их уже неисправно и ждет наладки. Это — пример замкнутой СМО.
Рассмотрим вывод упомянутой ранее формулы Литтла, связывающей (для предельного, стационарного режима) среднее число заявок Lсист, находящихся в системе массового обслуживания (т. е. обслуживаемых или стоящих в очереди), и среднее время пребывания заявки в системе Wсист.
Рассмотрим любую СМО (одноканальную, многоканальную, марковскую, немарковскую, с неограниченной или с ограниченной очередью) и связанные с нею два потока событий: поток заявок, прибывающих в СМО, и поток заявок, покидающих СМО. Если в системе установился предельный, стационарный режим, то среднее число заявок, прибывающих в СМО за единицу времени, равно среднему числу заявок, покидающих ее, так как оба потока имеют одну в ту же интенсивность ?.
Обозначим: X(t)—число заявок, прибывших в СМО до момента t, Y(t) — число заявок, покинувших СМО до момента t. И та, и другая функции являются случайными и меняются скачком (увеличиваются на единицу) в моменты приходов заявок (X(t)) и уходов заявок (Y(t)). Для любого момента t их разность Z(t) = X(t) - Y(t) — это число заявок, находящихся в СМО.
Рассмотрим очень большой промежуток времени T и вычислим для него среднее число заявок, находящихся в СМО. Оно будет равно интегралу от функции Z(t) на этом промежутке, деленному на длину интервала T:
(7)
Данный интеграл представляет собой площадь фигуры, заключенной между X(t) и Y(t). Фигура состоит из прямоугольников, каждый из которых имеет высоту, равную единице, и основание, равное времени пребывания в системе соответствующей заявки (первой, второй и т. д.). Обозначим эти времена как t1, t2,... Правда, под конец промежутка Т некоторые прямоугольники войдут в эту фигуру не полностью, а частично, но при достаточно большом Т этим можно пренебречь. Таким образом, можно считать, что
, (8)
где сумма распространяется на все заявки, пришедшие за время Т.
Разделим правую и левую часть (8) на длину интервала Т. Получим, с учетом (7):
(9)
Разделим и умножим правую часть (9) на интенсивность ?:
(10)
Величина T? — это среднее число заявок, пришедших за время Т. Если мы разделим сумму всех времен ti на среднее число заявок, то получим среднее время пребывания заявки в системе Wсист- Итак,
(11)
Это и есть формула Литтла: для любой СМО, при любом характере потока заявок, при любом распределении времени обслуживания, при любой дисциплине обслуживания среднее время пребывания заявки в системе равно среднему числу заявок в системе, деленному на интенсивность потока заявок.
Точно таким же образом выводится вторая формула Литтла, связывающая среднее время пребывания заявки в очереди Wоч и среднее число заявок в очереди Lоч.
Lоч = ? Wоч
2.3 Варианты систем массового обслуживания
1. n-канальная СМО с отказами
A — абсолютная пропускная способность (среднее число заявок, обслуживаемых в единицу времени);
Q — относительная пропускная способность (средняя доля пришедших заявок, обслуживаемых системой);
Pотк — вероятность того, что заявка покинет СМО необслуженной;
— среднее число занятых каналов; ;
; ;
; ;
;
2. Одноканальная СМО с неограниченной очередью
Pзан — вероятность того, что канал занят; Lоб — среднее число заявок под обслуживанием
; ;
;
;
; ;
; Lоч ;
Wоч
3. Одноканальная СМО с неограниченной очередью, простейшим потоком заявок и произвольным распределением времени обслуживания
На одноканальную СМО поступает простейший поток заявок с интенсивностью ?. Время обслуживания имеет произвольное распределение с математическим ожиданием и коэффициентом вариации ??. ?? — отношение среднего квадратического отклонения времени обслуживания к его математическому ожиданию.
Формулы Полячека — Хинчина:
Lоч ; Lсист
Далее, согласно формуле Литтла:
Wоч ; Wсист
4. Одноканальная СМО с произвольным потоком заявок и произвольным распределением времени обслуживания
Рассматривается одноканальная СМО с неограниченной очередью, на которую поступает произвольный поток заявок с интенсивностью ? и коэффициентом вариации ??, 0 < ?? < 1. Время обслуживания также имеет произвольное распределение со средним значением и коэффициентом вариации ??, 0 < ?? < 1. Для этого случая точных аналитических формул получить не удается; можно только приближенно оценить среднюю длину очереди, ограничить ее сверху и снизу.>
Lоч
Если входящий поток — простейший, то обе оценки — верхняя и нижняя — совпадают, и получается формула Полячека — Хинчина. Для грубо приближенной оценки средней длины очереди М. А. Файнбергом получена формула:
Lоч Lсист = Lоч + ?
Средние времена пребывания заявки в очереди и в системе вычисляются через Lоч и Lсист по формуле Литтла делением на ?
2.4 Математическое описание разрабатываемой модели.
На вход системы из N станций поступает поток заявок с заданными (экспоненциальным или нормальным) законом распределения времени прихода, интенсивностью входного потока ? и, при нормальном распределении, коэффициентом вариации ??. Каждая станция рассматривается, как одноканальная СМО с неограниченной очередью. На каждой станции задано среднее время обслуживания и, при нормальном распределении, коэффициент вариации ??. На выходе станций поток заявок может ветвиться, также может происходить отбраковка заявок. Это изменяет интенсивность входного потока на последующих станциях.
При имитационном моделировании поэтапно имитируется (с использованием генератора случайных чисел) весь описанный процесс: моделируются входной поток и потоки обслуживаний, имитируются процессы ветвления и объединения потоков, а также процесс отбраковки заявок.
Расчетно-формульная модель такой системы может рассматриваться только в случае, когда существуют финальные вероятности. Для таких СМО финальные вероятности существуют только тогда, когда станции не перегружены, т. е для всех станций выполняется условие ()
Глава 3
Создание программы
3.1 Структура программы
Выделим основные составные части проекта: Form1 («Задание связей между рабочими станциями») — форма для создания связей между станциями, FormTabl («Создание матрицы связей») — форма для задания коэффициентов связей, FormMultiMass («Модель многофазной многопоточной системы обслуживания») — форма для ввода входных параметров, FormRes («Результаты моделирования многофазной системы обслуживания») — форма для вывода результатов моделирования, ModStation1 — основной вычислительный модуль.
На Form1 помещены следующие компоненты: Frame — для разделения формы на несколько областей, Line и Shape — для графического отображения связей между станциями, CommandButton — для обозначения станций, реализации процедуры задания связей между станциями и перехода к другим формам.
На FormTabl помещены компоненты: Label — для обозначения названий строк и столбцов матрицы связей, TextBox — для обозначения матрицы связей и ввода коэффициентов, CommandButton — для запуска проверки правильности задания коэффициентов связей и перехода к другим формам.
На FormMultiMass помещены компоненты: Frame — для разделения формы на несколько областей, TextBox — для ввода параметров, Label — для обозначения названия вводимого параметра, OptionButton — для организации выбора типа распределения, ProgressBar — для обозначения прохождения процесса моделирования, CommandButton — для начала ввода параметров, запуска процесса моделирования, перехода к другим формам и выхода из программы.
На FormRes помещены компоненты: SSTab — для разделения формы на две страницы (графиков и числовых результатов), Frame — для разделения страницы числовых результатов на несколько областей, Label — обозначения названия выводимого показателя, PictureBox — для вывода графических результатов моделирования, TextBox — для вывода числовых результатов моделирования, CommandButton — для возвращения к формам, используемым для ввода входных параметров.
3.2 Алгоритм работы программы
Рассмотрим обобщенный алгоритм работы программы, представленный укрупненными блоками, затем более детально рассмотрим реализацию каждого из блоков и приведем описание используемых переменных и функций.
Обобщенный алгоритм работы программы показан на рис. 2:
Начало
Ввод исходных данных
Н Ввод Д
корректен?
Создание массива переходов Н Расчет по
формулам?
Переход к первой станции Д
Создание входного массива на текущей станции
Расчет по имита- Расчет по
ционной модели формулам
Нужна Д
сортировка?
Сортировка Вывод рассчитанных
Н показателей
Создание выходного массива на текущей станции
Н Продолжать
работу?
Н Последняя Конец
станция?
Переход к Д
следующей Д
станции рис. 2
Программу можно поделить на две части: имитационная модель системы и расчетно-формульная модель. Для начала функционирования любой модели необходимо задать ряд входных параметров. Пользователь должен выбрать тип распределения времени прихода заявок на первую станцию (экспоненциальное — DistIndex = 0 или нормальное — DistIndex = 1) и тип распределения времени обслуживания заявок по станциям (экспоненциальное — DistIndex1 = 0 или нормальное — DistIndex1 = 1). Выбор осуществляется с помощью связанных пар компонентов OptionButton. Также пользователь задает количество рабочих станций — m (m = 1 — 10), число заявок на входе — n, среднее время между заявками во входном потоке — Ta и, при нормальном распределении на входе, стандартное отклонение (в % от среднего) — DTa (перечисленные параметры вводятся с помощью компонентов TextBox). Затем, при помощи компонентов CommandButton на форме «Задание связей между рабочими станциями», задаются связи между станциями, каждая из которых обозначаются линией, соединяющей две станции с кружком на том конце, куда связь приходит, далее, с помощью матрицы связей на форме «Создание матрицы связей», задаются весовые коэффициенты связей — pi(i). Матрица составлена из компонентов TextBox. Далее, для каждой станции, также при помощи компонентов TextBox, задается среднее время обслуживания — Ts(k), вероятность снятия заявки на выходе i-ой станции — Pr(k) и, при нормальном распределении времени обслуживания, стандартное отклонение (в % от среднего) — DTs(k).
После ввода весовых коэффициентов связей предусмотрена процедура проверки на корректность ввода. В случае некорректного задания коэффициентов, пользователю выдается сообщение об этом — MsgBox, и строка матрицы связей, в которой были заданы некорректные значения, очистится. Корректность проверяется через суммарные коэффициенты перехода: суммарный коэффициент перехода в конце каждой строки должен равняться единице. Так как коэффициенты определены типом Single, то для избежания ошибок, которые могут возникнуть в результате погрешности вычислений, производимых с переменными этого типа, проверка на равенство 1 заменяется проверкой на принадлежность интервалу (0.9999; 1.0001).
Далее, рассмотрим отдельно структуру каждой части.
3.3 Расчетно-формульная модель.
При расчете показателей по формулам, после задания пользователем всех необходимых входных параметров, производится расчет выходных параметров. Вначале рассчитываются доля заявок (от исходного количества заявок, пришедшего на первую станцию), пришедшая на последующие станции — kz(k) и среднее время между заявками на входе каждой станции (величина, обратная интенсивности входного потока) — kf(k).
Далее, происходит расчет показателей по формулам, соответствующим типам распределения входного потока и потоков обслуживания, и вывод результатов расчета (см. главу 2).
3.4 Имитационная модель
При расчете показателей с помощью имитационного моделирования вначале создается двумерный массив переходов — a1(i, k), где k — номер станции, а i — номер заявки. При создании данного массива с использованием случайных чисел, имитируются процесс прохождения заявок по станциям (на основании заданных коэффициентов переходов) и процесс отбраковки заявок (на основании заданных вероятностей снятия заявок на выходе станций). Если заявка пришла на станцию, то массиву в этой позиции присваивается значение 1; если же заявка не пришла на станцию, то массиву в данной позиции присваивается нулевое значение. Одновременно с созданием массива переходов производится расчет количества снятых заявок по станциям — NumRef(k).
Далее, для каждой станции формируется входной массив (времен прихода заявок на станцию) — a2(i, k) и выходной массив (времен выхода заявок со станции) — a3(i, k), где k — номер станции, а i — номер заявки. Входной массив первой станции образуется с использованием вспомогательной функции Rexp(T As Single) — для экспоненциального распределения (или функции Rnorm(MT As Single, DT As Single) — для нормального распределения). Выходной массив первой станции образуется из входного массива, с использованием тех же функций и функции Gener(nst As Integer). Входные массивы последующих станций образуются в соответствии с массивом переходов из выходных массивов предыдущих станций. В случае, когда заявки попадают на вход данной станции с нескольких станций (sort > 1), производится сортировка времен прихода заявок по возрастанию, с использованием вспомогательной функции Sort1(nst As Integer). После создания входного массива, на каждой последующей станции, создается выходной массив, с использованием входного массива и вспомогательных функций: Gener(nst As Integer), Rexp(T As Single) и Rnorm(MT As Single, DT As Single).
Функции Rnorm(MT As Single, DT As Single) и Rexp(T As Single) преобразуют случайную величину X, равномерно распределенную на интервале (0;1) — Rnd, в случайную величину Y, распределенную, соответственно, по нормальному или экспоненциальному закону и предназначены для генерации нормального и экспоненциального распределения с заданными параметрами.
Функция Sort1(nst As Integer) — реализует алгоритм пирамидальной сортировки. Этот алгоритм требует операций. В нашем случае, сортируются не элементы, а индексный массив, причем таким образом, чтобы нулевые элементы исключались из сортировки (см. рис. 3).
Д i1 = j1 Н R1 >=
a2(Ind(1), nst) = R1 a2(Ind(j1),nst)?
j1 = 2j1
Конец Д
a2(Ind(i1), nst) = a2(Ind(j1), nst)
рис. 3
Функция Gener(nst As Integer) предназначена для генерации, с учетом нахождения заявок в очереди и простоев станции, выходного массива из входного. Она позволяет, учитывая тип распределения времени обслуживания и отбрасывая не пришедшие на станцию элементы, получить времена выхода заявок со станции(см. стр П2 приложения)
Далее, происходит расчет всех необходимых показателей, с использованием созданных массивов времен поступления и выхода заявок со станций и вывод результатов расчета (см. стр П30 приложения).
Результаты расчета выводятся, как численные показатели — с помощью компонентов TextBox и в виде гистограмм, с использованием компонентов PictureBox.
3.5 Сценарий работы программы
Сразу после старта программы на экране появляется форма «Модель многофазной многопоточной системы обслуживания» Эта форма предназначена для ввода исходных данных. В правом верхнем углу на данной форме расположена надпись «Исходные данные». Ниже помещаются общие параметры, которые пользователь должен ввести для исследования работы системы. Общие параметры включают:
Количество рабочих станций — K;
Распределение времени между заявками (экспоненциальное или нормальное);
Число заявок на входе в систему — N;
Среднее время между заявками;
Стандартное отклонение [в % от среднего] —для нормального распределения.
Общие параметры представлены в виде окон для ввода значений, с пояснением, какой параметр пользователь будет вводить в данное окно. Пользователь выбирает, как распределено время между заявками и, в зависимости от выбора, при указании нормального распределения появляется, а при выборе экспоненциального распределения исчезает окно для ввода значения стандартного отклонения.
Для ввода параметров пользователь должен щелчком мыши нажать на помещенную внизу формы кнопку «Ввод». После нажатия все окна для ввода общих параметров высветятся голубым цветом и станут активными. Пользователь должен ввести значения во все активные окна, перемещая курсор с помощью мыши, щелкая ею в том окне, куда он собирается ввести следующий параметр.
После ввода всех необходимых параметров необходимо повторно нажать на кнопку «Ввод» для задания связей между рабочими станциями. В случае ввода количества станций превышающего предусмотренные работой программы 10, после нажатия на кнопку «Ввод» пользователю выдается сообщение об ошибке: «Количество станций не более 10 [десяти]!» и для дальнейшей работы необходимо изменить значение на корректное.
После повторного нажатия на кнопку «Ввод», на экране появляется форма «Задание связей между рабочими станциями». В левом верхнем углу данной формы расположены три кнопки: «Создать связь», «Убрать связь» и «Загрузить связи». В зависимости от количества рабочих станций, заданного пользователем в общих параметрах, на форме расположены от 1 до 10 рабочих станций. Каждая станция представлена в виде двух кнопок (левой и правой), вплотную прилегающих друг к другу. Левая кнопка станции обозначена «S» (Station), а правая показывает номер данной рабочей станции (от 1 до 10). Для задания связей между станциями нужно:
1. Нажать на кнопку «Создать связь»;
(далее вводятся все необходимые связи)
2. Нажать на правую кнопку (с указанием номера) той станции, откуда пойдет связь;
3. Нажать на левую кнопку (с обозначением «S» ) той станции, куда пойдет связь.
Чтобы убрать связь между станциями, нужно:
1. Нажать на кнопку «Убрать связь»;
(далее удаляются все необходимые связи)
2. Нажать на правую кнопку (с указанием номера) той станции, откуда идет связь;
3. Нажать на левую кнопку (с обозначением «S» ) той станции, куда идет связь.
Возможно задать только связи, идущие от станции с меньшим номером к станции с большим номером.
Связи обозначаются линиями, соединяющими станции, с кружком на том конце, куда приходит связь.
Чтобы ввести связи, нужно нажать на кнопку «Загрузить связи».
После нажатия на кнопку «Загрузить связи», на экране появляется форма «Создание матрицы связей». Эта форма представляет собой матрицу коэффициентов связи между станциями. В зависимости от того, какие связи задал пользователь в форме «Задание связей между рабочими станциями», становятся активными соответствующие этим связям поля матрицы (окна для ввода значений коэффициентов связи). Строки матрицы пронумерованы от 1 до 9, столбцы пронумерованы от 2 до 10. Строка обозначает ту станцию, откуда идет связь, столбец — ту станцию, куда связь приходит. В активные окна пользователь должен внести значения коэффициентов связей, соответствующих вероятностям того, что заявка пойдет именно по данному каналу связи. Внизу этой формы расположены три кнопки: «Возврат», «Проверить» и «Загрузить». После того, как пользователь задал значения всех коэффициентов, он должен нажать на кнопку «Проверить» для проверки корректности введенных значений. Так как сумма вероятностей выхода заявки со станции по всем каналам должна быть равна единице, то по каждой станции проводится проверка выполнения этого условия и значение приводится к корректному (вероятность последней, задаваемой по строке связи, считается как единица минус сумма вероятностей всех предыдущих связей по этой строке). Если сумма вероятностей всех связей, кроме последней больше единицы, то пользователю выдается сообщение «Суммарная вероятность не может быть больше единицы!» и все окна этой строки очистятся, после чего пользователь должен заново задать эти значения и повторить проверку корректности. После проверки корректности нужно загрузить значения коэффициентов, нажав на кнопку «Загрузить». Кнопка «Возврат» позволяет вернуться в форму «Задание связей между рабочими станциями».
После нажатия на кнопку «Загрузить» на экране появляется форма «Модель многофазной многопоточной системы обслуживания» для задания параметров рабочих станций. Параметры рабочих станций располагаются под общими параметрами и включают:
Распределение времени обслуживания для всех станций (экспоненциальное или нормальное);
Среднее время обслуживания для каждой станции;
Вероятность снятия заявки на выходе i-ой станции;
Стандартное отклонение [в % от среднего] —для нормального распределения.
В зависимости от количества рабочих станций, указанного в общих параметрах (от 1 до 10) станет активным аналогичное количество окон для ввода каждого параметра (параметры рабочих станций вводятся для каждой станции в отдельности). Пользователь выбирает, как распределено время обслуживания станций и, в зависимости от выбора, при указании нормального распределения появляется, а при выборе экспоненциального распределения исчезает ряд окон для ввода значений стандартных отклонений.
Внизу формы, под параметрами рабочих станций, рядом с кнопкой «Ввод» располагаются кнопки «Старт», «По формулам», «Повтор» и «Стоп». Для начала имитационного моделирования после ввода общих параметров и параметров рабочих станций необходимо нажать на кнопку «Старт». Для запуска расчета по формулам необходимо нажать на кнопку «По формулам». При указании пользователем в параметрах рабочих станций вероятности снятия заявки на выходе какой-либо станции большей или равной единице после нажатия на кнопку «Старт» или кнопку «По формулам» пользователю выдается сообщение об ошибке: «Вероятность не может быть больше единицы!!!» и для дальнейшей работы необходимо изменить значение на корректное. Кнопка «Повтор» предназначена для повторения процесса моделирования, кнопка «Стоп» завершает работу программы.
После нажатия на кнопку «Старт» или на кнопку «По формулам» происходит моделирование и на экране появляется форма «Результаты моделирования многофазной системы обслуживания». Эта форма состоит из двух частей (представленные на двух страницах): «Графики» и «Числовые результаты». Для выбора страницы в верхней части формы помещены две закладки «Графики» и «Числовые результаты», при нажатии на которые пользователь сможет ознакомиться соответственно с графическими или числовыми результатами.
При нажатии на закладку «Графики», на экране появятся графические результаты моделирования. Они представлены шестью окнами с графическим отображением шести параметров для заданных в исходных данных значений. Параметры при имитационном моделировании включают:
Среднее время ожидания;
Среднее время простоя;
Максимальная длина очереди;
Число снятых заявок;
Среднее время нахождения заявки на станции;
Максимальное время пребывания заявки на станции.
Параметры при расчете по формулам включают:
Среднее время ожидания обслуживания;
Среднее время простоя станции;
Среднее число заявок в очереди;
Среднее время нахождения заявки на станции.
Над каждым окном указано, какой из перечисленных параметров в нем представлен. Также над графиком выводится максимальное значение выводимого параметра.
Информация в окнах представлена в виде гистограммы. В зависимости от количества рабочих станций, указанного в общих параметрах, гистограмма состоит из соответствующего числа столбцов. Для удобства столбцы выделены разными цветами. Длина максимального столбца представлена в численном виде в правом верхнем углу окна. Длина остальных столбцов показана в масштабе от максимального.
При нажатии на закладку «Числовые результаты», на экране появятся числовые результаты моделирования. При имитационном моделировании они включают для каждой станции:
Среднее время ожидания обслуживания;
Среднее время простоя станции;
Максимальная длина очереди;
Число снятых заявок;
Коэффициент использования;
Среднее время нахождения заявки на станции;
Максимальное время нахождения заявки на станции.
В нижней части формы помещены общие показатели, которые рассчитываются только при имитационном моделировании. Они включают:
Общее время прихода N заявок;
Время выхода последней заявки;
Общий коэффициент использования системы по времени;
Общий коэффициент использования системы по числу заявок.
При расчете по формулам числовые результаты моделирования включают для каждой станции:
Среднее время ожидания обслуживания;
Среднее время простоя станции;
Среднее число заявок в очереди;
Среднее время нахождения заявки на станции.
Внизу формы «Результаты моделирования многофазной системы обслуживания» расположена кнопка «Возврат», позволяющая вернуться в исходную форму.
3.6 Интерфейс программы
Далее представлены примеры интерфейса программы.
Глава 4
Исследование модели
Вначале рассмотрим системы, состоящие из одной станции и, в зависимости от типа распределения входного потока и потока обслуживания, получим экспериментальные данные имитационного моделирования и сравним их с результатами расчета по формулам. Далее исследуем системы, состоящие из двух станций (с выхода первой станции все заявки попадают на вход второй). Затем исследуем системы, состоящие из большего количества станций и имеющие разветвленную структуру.
Ta — среднее время между заявками; DTa — стандартное отклонение среднего времени между заявками (в процентах от среднего); Ts(i) — среднее время обслуживания; DTs(i) — стандартное отклонение среднего времени обслуживания (в процентах от среднего); Pr(i) — вероятность снятия заявки на выходе i-ой станции; WTi — среднее время ожидания обслуживания; IDTi — среднее время простоя станции; Tmidi — среднее время нахождения заявки на станции; , , — среднее арифметическое от всех значений данного показателя, полученных в результате имитационного моделирования; , , — отклонение среднего арифметического значения данного показателя от теоретического значения (в процентах); i = 1, 2, 3,... — номер станции.
1. 1 станция; 32000 заявок; 10 экспериментов; экспоненциальное распределение входного потока и потока обслуживания; Ta = 10; Ts(1) = 5; Pr(1) = 0
По формулам:
MAX = -4.1% MIN = -10.5%
MAX = +0.9% MIN = -1%
MAX = -0.5% MIN = -1.3%
Получилось, что при экспоненциальном распределении входного потока заявок экспериментальные данные близки к теоретическим, а при нормальном существенно различаются. Это связано с тем, что для входного потока, не являющегося простейшим, существуют только формулы для грубо приближенной оценки параметров, которые являются применимыми только для узкого круга задач, с определенным соотношением входных параметров.
Далее исследуем систему из 2 станций, на вход которой поступает поток заявок с экспоненциальным распределением времени прихода. С выхода первой станции все заявки попадают на вход второй. В зависимости от типа распределения потока обслуживания получим экспериментальные данные имитационного моделирования и сравним их с результатами расчета по формулам.
8. 2 станции; 32000 заявок; 10 экспериментов; экспоненциальное распределение входного потока, нормальное распределение времени обслуживания; Ta = 10; Ts(1) = 5; DTs(1) = 0; Pr(1) = 0; Ts(2) = 5; DTs(2) = 0; Pr(2) = 0
По формулам:
MAX = +3% MIN = -2.5%
MAX = +1.3% MIN = -1.2%
MAX = +1% MIN = -1.3%
MAX = +7.1% MIN = -2.7%
MAX = +1.2% MIN = -1.1%
MAX = +3.8% MIN = -1.8%
Полученные результаты показывают, что при экспоненциальном распределении потока обслуживания на первой станции характер распределения на последующей станции сохраняет входное экспоненциальное распределение, при нормальном — распределение меняется. Дальнейшие исследования проведем для различного количества станций и различных связей между ними при экспоненциальном распределении входного потока и потока обслуживания.
32000 заявок; 10 экспериментов; Экспоненциальное распределение входного потока и времени обслуживания
MAX = +2.8% MAX = +10.7% MAX = +11.1% MAX = +17.3%
MIN = -7.5% MIN = -2.7% MIN = -3.7% MIN = -10.3%
MAX = +6.2% MAX = +3.4% MAX = +2.8% MAX = +5.8%
MIN = -5.7% MIN = -3.3% MIN = -1.8% MIN = -10.1%
MAX = +2.3% MAX = +5% MAX = +5% MAX = +14.1%
MIN = -6% MIN = -1.7% MIN = -1.7% MIN = -8.3%
На основании проведенных экспериментов для различных систем и сравнения полученных результатов имитационного моделирования и расчета по формулам сделаны следующие выводы:
1. При нормальном распределении входного потока заявок результаты имитационного моделирования расходятся с результатами расчета по формулам для приближенной оценки показателей. Это связано с тем, что для входного потока, не являющегося простейшим, существуют только формулы для грубо приближенной оценки параметров, которые являются применимыми для узкого круга задач, с определенным соотношением входных параметров.
2. При экспоненциальном распределении входного потока заявок и нормальном распределении времен обслуживания результаты имитационного моделирования близки к результатами расчета по формулам для первой станции и расходятся с ними на последующих станциях, так как нормальное распределение времени обслуживания на станции меняет на выходе экспоненциальный характер входного потока, поэтому входной поток на следующей станции будет иметь распределение, отличное от экспоненциального.
3. При экспоненциальном распределении входного потока заявок и экспоненциальном распределении времен обслуживания результаты имитационного моделирования близки к результатами расчета по формулам для любых систем. Экспоненциальный характер распределения входного потока в этом случае сохраняется на всех станциях, вне зависимости от значений средних времен обслуживания на станциях, от ветвления и объединения потоков.
Глава 5
Экономическая часть
5.1 Характеристика разрабатываемого программного
обеспечения
Разрабатываемое ПО предназначено для моделирования и исследования разветвленных систем массового обслуживания. Программа может либо имитировать процесс обработки заявок системой с заданными пользователем параметрами и рассчитать некоторые показатели либо, когда это возможно, рассчитать ряд средних параметров по формулам. С помощью данной программы можно смоделировать структуру автоматической линии, гибкой производственной системы или структуру системы обслуживания какого-либо предприятия (или производственного участка) и исследовать эту структуру. Проведя анализ, можно выявить «слабые» места в системе или осознать необходимость введения в нее каких-либо дополнительных элементов. Далее можно, меняя различные параметры в программе, достигать оптимального соотношения простоев и очередей.
Оптимизация процесса обслуживания способна существенно повысить эффективность работы предприятия.
Потребителями данного программного обеспечения могут стать крупные организации, обладающие достаточно сложной структурой, которая может быть смоделирована и оптимизирована данной программой. Программа может быть использована в самых различных областях, так как систему из практически любой предметной области можно представить в виде разветвленной СМО. Однако, основными пользователями должны стать крупные производственные предприятия и крупные финансовые организации.
Число таких предприятий и организаций в Москве — примерно 2000, из них примерно 50% имеют сложные структуры, которые можно смоделировать и оптимизировать с помощью данной программы.
Потенциальная емкость рынка для разработанного ПО составит:
Пемк = 2000*0,5 = 1000 (шт.)
Предпринимался ряд попыток для создания программ, которые могли бы моделировать и количественно исследовать сложные системы, однако в настоящее время наблюдается отсутствие такого ПО в крупных пакетах статистических программ, так как ни один из вариантов не смог полностью соответствовать требованиям пользователей. В то же время существует ряд статистических программ другой направленности, которые будут конкурировать с данной программой на рынке статистических программ.
В связи со средним уровнем конкуренции на рынке статистических программ реально можно рассчитывать на долю рынка в 10%. Тогда объем продаж составит в течение года 100 экземпляров.
5.2 Организация разработки программного
обеспечения
Цель этого раздела — спроектировать последовательность выполнения работ по созданию ПО, определить их продолжительность, построить расписание выполнения работ и график загрузки исполнителей, провести оптимизацию процесса создания ПО по выбранному критерию.
Для организации процесса создания ПО целесообразно использовать метод сетевого планирования и управления.
5.2.1 Перечень событий и работ
Шифр собы-тия Содержание события Шифр работы Содержание работы Трудо-емкость работы (чел.дн.) Число испол-ните-лей (чел.) Про-должи-тель-ность работы (дн.)
1 Получение задания 1-2 Работа над заданием 2 2 1
2 Задание согласовано и утверждено 2-3 Поиск литературы 7 1 7
2-4 Разработка модели разветвленной СМО 6 1 6
3 Поиск литературы завершен 3-6 Изучение литературы по теории массового обслуживания 10 1 10
4 Модель разработана 4-5 Разработка алгоритма программы 10 1 10
5 Алгоритм программы разработан 5-7 Выбор среды программиро-вания и создание программы 30 1 30
6 Изучение литературы по теории массового обслуживания закончено 6-7 Расчет теоретически ожидаемых показателей по формулам 5 1 5
7 Программа создана и теоретические показатели рассчитаны 7-8 Отладка программы 12 1 12
8 Отладка программы закончена 8-9 Проведение исследований 30 1 30
8-10 Составление документации 30 1 30
9 Исследования завершены 9-10 Фиктивная работа 0 0 0
10 Документация составлена 10-11 Сдача работы 2 2 1
11 Работа сдана
Tiр = max путь до i-го события, Tjр = max путь до j-го события,
tijро = Tiр + tij, Tjр = max ?tijро}
Tin = Tkn – max путь от i в k, Tjn = Tkn – max путь от j в k,
tijпн = Tjn - tij, Rj = Tjn – Tjp,
Rijч = Tjp - tijро, Rijn = Tjn - tijро.
Tнр — ранний срок свершения начального события (определяется привязкой сетевого графика к текущему отсчету времени. Его значение принимают равным нулю)
Tiр — ранний срок свершения i-го события (момент времени, раньше которого событие i не может произойти)
Tjр — ранний срок свершения j-го события
tijрн — ранний срок начала работы (момент времени, раньше которого работа ij не может начаться. Он всегда совпадает с ранним сроком свершения предыдущего события)
tijро — ранний срок окончания работы (момент времени, раньше которого работа не может быть окончена)
Tin — поздний срок свершения i-го события (позже которого событие i происходить не должно)
Tjn — поздний срок свершения j-го события
Tкn — поздний срок свершения конечного события (всегда равен раннему сроку его свершения)
tijпн — поздний срок начала работы ij (позже которого работа ij не должна начаться)
Rj — резерв времени для события — интервал времени, на который можно задержать свершение события по отношению к раннему сроку его наступления. При этом задержка должна быть такой, чтобы не изменился поздний срок свершения конечного события
Rijч — частный резерв времени — интервал времени, на который можно задержать или удлинить работу ij при условии, что последующее событие сможет наступить в свой ранний срок
Rijn — полный резерв времени — интервал времени, на который можно задержать или удлинить работу ij при условии, что последующее событие наступит в свой поздний срок
5.3 Определение экономических показателей для разрабатываемого программного обеспечения
5.3.1 Определение суммарных затрат на разработку ПО
5.3.1.1 Расчет прямых материальных затрат
К прямым материальным затратам относятся затраты на материалы и комплектующие, необходимые для выполнения данной разработки и полностью включаемые в ее стоимость. Учитывают затраты на материалы и комплектующие, целевым назначением идущие на данную разработку.
№ п/п Элемент материальных затрат Цена за шт., руб. Количество, шт. Общая стоимость, руб.
1 2 3 4 5
1 Набор канцелярских принадлежностей 20 2 40
2 Бумага (1 пачка) 100 1 100
3 Дискеты (1 упаковка) 100 1 100
4 Картридж 300 2 600
ИТОГО: 840
5.3.1.2 Расчет затрат на основную заработную плату
Затраты на основную заработную плату разработчиков ПО определяют как произведение среднемесячной, среднедневной или среднечасовой заработной платы разработчиков на трудоемкость разработки ПО по всем стадиям, выраженную соответственно в месяцах, днях и часах.
№ Категории работающих Заработная плата, руб./дн. Шифры выполняемых работ Общая продолжи-тельность работ, дн. Основная заработ-ная плата, руб.
1 2 3 4 5 6
1 Инженер-математик 150 1-2, 2-3, 3-6, 6-7, 8-10, 10-11 54 8100
2 Инженер-программист 150 1-2, 2-4, 4-5, 5-7, 7-8, 8-9, 10-11 90 13500
ИТОГО: 21600
5.3.1.3 Расчет затрат на дополнительную заработную плату
Дополнительная заработная плата определяется в размере 12% от основной.
21600 * 0,12 = 2592 руб.
5.3.1.4 Отчисления на социальные нужды
В 2000г. суммарный процент отчислений на социальные нужды составил 38,5%.
(21600 + 2592) * 0,385 = 9313,92 руб.
5.3.1.5 Расходы на приобретение, содержание и эксплуатацию комплекса технических средств (КТС)
Весь КТС предназначен не только для выполнения данной задачи, поэтому будем учитывать только текущие расходы.
Расчет общей стоимости КТС.
№ Элемент КТС Цена за шт., руб. Количество, шт. Общая стоимость, руб.
1 2 3 4 5
1 AMD K6/2-300/ DIMM 32Mb PC-100/ HDD 4,3Gb/ VIDEO 4Mb/ MONITOR 15’’ LG 12796,5 1 12796,5
2 Celeron 366/ DIMM 64Mb PC-100/ HDD 8,4Gb/ VIDEO 8Mb/ MONITOR 15’’ SAMSUNG 14934 1 14934
3 Принтер EPSON STYLUS 480 1852,5 1 1852,5
В стоимость часа работы КТС включают следующие затраты:
а) амортизационные отчисления, приходящиеся на 1 час работы КТС.
Норму амортизации для компьютерной техники примем равной 0,25.
Ач = Фперв*а / Fд
Ач — амортизационные отчисления, приходящиеся на 1 час работы КТС
Фперв — первоначальная стоимость КТС или его отдельных элементов
а — норма амортизации
Fд — фонд времени работы КТС за год
1. AMD K6/2-300 Ач = 12796,5*0,25/3000 = 1,066375 руб / ч.
2. Celeron366 Ач = 14934*0,25/3000 = 1,2445 руб / ч.
3. Принтер Ач = 1852,5*0,25/2000 = 0,2315625 руб / ч.
б) затраты на силовую электроэнергию, приходящиеся на 1час работы КТС.
Стоимость 1 кВт*час в настоящее время составляет 1,14 руб.
Соответственно:
1. AMD K6/2-300 0,15*1,14 = 0,171 руб / ч
2. Celeron366 0,15*1,14 = 0,171 руб / ч
3. Принтер 0,05*1,14 = 0,057 руб / ч
в) затраты на текущий ремонт и профилактику, приходящиеся на 1 час работы КТС:
Процент затрат примем 5% или 0,05
1. AMD K6/2-300 12796,5*0,05/3000 = 0,213275 руб / ч.
2. Celeron366 14934*0,05/3000 = 0,2489 руб / ч.
3. Принтер 1852,5*0,05/2000 = 0,0463125 руб / ч.
г) возмещение износа малоценных и быстроизнашивающихся предметов (МБП), приходящиеся на 1 час работы КТС.
Процент затрат примем 5% или 0, 05:
1. AMD K6/2-300 12796,5*0,05/3000 = 0,213275 руб / ч.
2. Celeron366 14934*0,05/3000 = 0,2489 руб / ч.
3. Принтер 1852,5*0,05/2000 = 0,0463125 руб / ч.
Таким образом, расходы на КТС составят:
1. AMD K6/2-300 8*30*(1,066375 + 0,171 + 0,213275 + 0,213275) =
= 399,34 руб.
2. Celeron366 8*72*(1,2445 + 0,171 + 0,2489 + 0,2489) =
= 1102,06 руб.
3. Принтер 8*5*(0,2315625 + 0,057 + 0,0463125 + 0,0463125) = = 15,47 руб.
ИТОГО: 1516,87 руб.
5.3.1.6 Износ нематериальных активов (НА)
АНА — износ нематериальных активов, руб
Фперв.НА — первоначальная стоимость НА, руб.
tисп — время использования НА для выполнения данной разработки, час
ТНА — срок полезного использования НА, лет
tобщ — общее время использования НА за год, час
= 136,8 руб.
= 191,52 руб.
Состав НА Стоимость НА, руб. Tисп,, час. АНА, руб.
1 2 3 4
MS Office97 3420 240 136,8
Visual Basic 5 1995 576 191,52
ИТОГО: 328,32
5.3.1.7 Накладные расходы
В их состав включаются затраты на амортизацию, ремонт и содержание помещений, расходы на освещение, отопление, кондиционирование воздуха, расходы на различные средства связи, расходы на охрану помещения и т. д.
Примем размер накладных расходов как 100% от основной заработанной платы. Таким образом, сумма накладных расходов составит 21600 руб.
Смета затрат на разработку ПО.
№ п/п Элемент затрат Сумма, руб.
1 2 3
1 Прямые материальные затраты 840
2 Основная заработная плата 21600
3 Дополнительная заработная плата 2592
4 Отчисления на социальные нужды 9313,92
5 Содержание и эксплуатация КТС 1516,87
6 Износ нематериальных активов 328,32
7 Накладные расходы 21600
ИТОГО: 57791,11
5.3.2 Расчет ориентировочной цены ПО
Так как разрабатываемое ПО специализированное и круг потребителей точно определен, то ориентировочную цену определяют по формуле:
ЦПО = C / n + Здоп + П
n — установленное число потребителей; Здоп — дополнительные затраты, возникающие при продаже ПО каждому потребителю (стоимость комплекта документации, дискет и т.п.); П — прибыль, рассчитываемая в процентах от C /n + Здоп.
Приведенное ниже исследование показало высокую экономическую эффективность разработки, поэтому примем процент прибыли равным 140%.
ЦПО = 57791,11 / 100 + 25 + 844,08 = 1447 руб
5.3.3 Выявление факторов, определяющих эффективность применения разработанного ПО
Для оценки эффективности использования разработанного ПО у потенциального потребителя необходимо выявить факторы, определяющие эффективность. Такими факторами, в данном случае, могут быть: оптимизация производственной структуры и увеличение производительности труда.
5.4 Определение показателей экономической эффективности использования разработанного ПО
Пример возможного использования данного ПО:
Рассмотрим подразделение (малый дистрибуционный центр) крупного предприятия (полиграфического комбината), состоящее из четырех отделов. Подразделение занимается доставкой книг по заявкам. В каждом отделе работают по четыре человека (все сотрудники подразделения имеют одинаковую квалификацию, должность (программист) и зарплату). Первый из отделов принимает заказы от клиентов, переводит заказы в стандартную компьютерную форму и распределяет их между вторым и третьим отделом. Второй и третий отделы обрабатывают заказы (с помощью автоматизированной системы подбирают и упаковывают книги) и передают их четвертому отделу, в котором производится окончательное оформление и высылка готовых заказов клиентам. Над каждым из заказов одновременно работают все сотрудники отдела, поэтому каждый отдел может одновременно работать только с одним заказом. Следовательно, каждый из отделов можно рассматривать, как одноканальную СМО. Среднее время обработки одного заказа каждым отделом, при наличии в отделе четырех человек, составляет восемь минут. Существует вероятность отбраковки заявок: на выходе первого отдела отбраковываются неправильно оформленные заказы (средняя вероятность отбраковки = 10%), на выходах второго и третьего отделов — заказы с бракованными экземплярами и плохо упакованные заказы (средняя вероятность отбраковки = 5%).
5.4.1 Математическая модель системы
Рассматриваемая система состоит из четырех одноканальных СМО. На вход системы поступает поток заявок (распределение входного потока близко к экспоненциальному). Среднее время между заявками составляет 10 минут. Поток обслуживаний на СМО также имеет распределение, близкое к экспоненциальному. Каждая из СМО, в изначальном варианте, имеет среднее время обслуживания 8 минут. Вероятность отбраковки заявок на выходе первой СМО составляет 10%, на выходах второй и третьей СМО — по 5%, на выходе четвертой — 0%.
Коэффициенты связи между станциями составляют:
1 — 2 =0,5; 1 — 3 = 0,5; 2 — 4 = 1; 3 — 4 = 1
Из перечисленных параметров мы можем изменить (для оптимизации системы) коэффициенты связей или среднее время обслуживания по станциям, за счет перераспределения персонала по отделам.
Так как второй и третий отделы выполняют одни и те же функции с одинаковым средним быстродействием, то соотношение коэффициентов связи по 0,5 является обоснованным.
Попробуем оптимизировать систему, меняя среднее время обслуживания по станциям. Будем считать, что численность персонала обратно пропорциональна среднему времени обслуживания. Выявим численную зависимость этих параметров:
Так как входной поток и потоки обслуживания имеют распределение, близкое к экспоненциальному, и среднее время между заявками больше среднего времени обслуживания, на каждой из станций (финальные вероятности существуют), то для расчета показателей можно пользоваться расчетно-формульной части программы.
Посчитаем для исходного состояния системы средние значения времени ожидания заявки в очереди, простоя станции и времени нахождения заявки на станции (для каждой станции).
n1 =n2 = n3 = n4 = 4
Ts1 = Ts2 = Ts3 = Ts4 = 8
1 станция 2 станция 3 станция 4 станция
WT 32,00 4,50 4,50 17,31
IDT 2,00 14,22 14,22 3,69
Smid 40,00 12,50 12,50 25,31
Суммарное время нахождения заявки в системе равно Smid1 + Smid2 (Smid3) + Smid4
При уменьшении времени ожидания на первой станции произошло существенное увеличение этого показателя на второй и третьей станциях. Сократился простой системы, но время обработки заявки системой увеличилось. Но, в данном случае, параметром оптимизации является именно время обработки, поэтому, такая перестановка сотрудников не дает желаемого эффекта. Вернем по одному сотруднику из первого отдела во второй и третий отделы.
Эта перестановка дает уже большой положительный эффект. Теперь, наибольшее время заявки обрабатываются на четвертой станции. Направим сотрудника из первого отдела в четвертый.
Эта перестановка дает максимальный положительный эффект, будем считать такое распределение персонала оптимальным.
Система сможет обработать на (77,81 - 52,41) / 77,81 — на 32,64% больше заявок.
Среднее значение чистой прибыли подразделения из расчета на одну операцию составляет 25 рублей.
До проведения оптимизации в год выполнялось:
2000*60 / 77,8 = 1542 операции
После оптимизации:
2000*60 / 52,41 = 2290 операций
Общая численность персонала не изменилась, дополнительные вложения составили 1447 рублей.
Чистая дополнительная прибыль подразделения за год составит
(2290 - 1542)*25 - 1447 = 17253 рубля.
Срок окупаемости без учета дисконтирования определяют по формуле:
Ток = Цпо / (ЧПдоп + Цпо)
Ток = 1447 / (17253 + 1447) = 0,077 года
При использовании программы для оптимизации системы, рассмотренной в примере, удалось увеличить пропускную способность системы более чем на 30%.
Вывод: данное ПО является эффективным для потребителя и может приносить значительную экономическую выгоду.
Глава 6
Охрана труда
6.1 Опасные и вредные производственные факторы при работе на ПЭВМ
В настоящее время для широкого распространения любой продукции, в том числе и программного обеспечения, необходимо соблюдение соответствия продукции не только российским, но и международным стандартам. Особую значимость это приобретает сейчас, когда ускоряются процессы интеграции России в мировое экономическое сообщество. В век технического прогресса и в условиях нарастающего в глобальных масштабах загрязнения окружающей среды вопросы, связанные с экологией и безопасностью жизнедеятельности, приобретают все большую актуальность.
Данная работа опирается на ГОСТ 12.3.001 — 75 (Процессы производственные. Общие требования безопасности), ГОСТ 12.2.003 — 75 (Оборудование производственное. Общие требования безопасности), ГОСТ 12.1.003 — 83 (Шум. Общие требования безопасности), СанПиН 2.2.4 — 96 (Гигиенические требования к микроклимату производственных помещений) и на международные стандарты ISO 14000.
В этом разделе рассматриваются производственные факторы, которые могут отрицательно влиять на здоровье и работоспособность оператора ЭВМ, и мероприятия по организации оптимальных условий труда. Условия труда и организация рабочего места оказывают большое влияние на производительность. Одной из основных задач организаторов работы является обеспечение таких условий, при которых труд оператора должен быть не только высокопроизводительным, но также безопасным и комфортным.
Вредные производственные факторы влияющие на трудоспособность оператора.
Основной рабочей позой оператора является поза «сидя». При проектировании рабочего места следует отметить, что физиологически не оправдана фиксированная рабочая поза. Она вызывает нарушение кровообращения в нижних конечностях и органах тазовой области, приводящее к профессиональным заболеваниям (варикозному расширению вен и др.). При ограниченной двигательной активности нарушаются функции организма (опорно-двигательного аппарата, кровообращения, дыхания, пищеварения), возникает опасность гиподинамии.
Большой объем информации, постоянное внимание, напряженная работа памяти — все это накладывает отпечаток на деятельность центральной нервной системы, ее высший отдел — кору головного мозга. Вследствие постоянной умственной работы человек утомляется.
На оператора также влияет и излучение. Так, например, электронно-лучевая трубка создает действие концентрированного потока электронов, а система строчной и кадровой развертки создает слабый поток электромагнитного излучения. Длительное воздействие электромагнитного поля на организм человека может вызвать нарушение функционального состояния нервной и сердечно-сосудистой систем.
Важнейшим фактором при создании нормальных условий труда является освещение рабочего места. Практически возникает необходимость как естественным, так и искусственным светом. Зачастую люди, постоянно работающие за компьютером используют максимальную яркость экрана и отключают освещение. Контрастная, хорошая видимость является кажущимся и на самом деле ведут к повреждению органов зрения.
6.2 Конструктивные и технические решения. Организационные мероприятия по обеспечению безопасности труда
Рабочее место. При ежедневной работе с компьютером человек испытывает ряд негативных воздействий, избежать которые можно путем правильной организации рабочего дня и рабочего места оператора.
Поэтому особенного внимания заслуживает проектирование рабочего кресла для лиц, постоянно выполняющих работу сидя за компьютером. Необходимо, чтобы давление тела на площадь опоры было равномерно распределено. Это возможно тогда, когда кресло в наибольшей степени соответствует анатомическому строению человека. В настоящее время широко используются кресла со спинкой на шарнире. Этот элемент дает возможность регулировать наклон тела во время работы за компьютером, а также возможность кратковременного отдыха.
Конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования с учетом его количества и конструктивных особенностей.
Экран видеомонитора должен находиться от глаз оператора на оптимальном расстоянии 600-700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов. Необходимо использовать специально разработанные защитные экраны, приэкранные фильтры и другие средства индивидуальной защиты, сводящие практически к нулю влияние на человека электромагнитного излучения.
Режим труда. Производственная гимнастика, изменение рабочей позы во процессе работы — общие меры по снижению утомляемости и монотонности труда.
Основными направлениями предупреждения утомляемости является: оптимальная организация труда и отдыха, часовым обеденным перерывом и дополнительными короткими (5-10 мин.) перерывами для отдыха, устанавливаемыми в момент развития утомления. Огромную роль в снижении утомляемости играет регулярное проветривание помещения. Приток свежего воздуха в помещение стимулирует работу головного мозга, улучшает кровообращение, снижает утомляемость. Количество воздуха, поступающего в помещение, следует определять отдельно для теплого, холодного и переходного периодов года с учетом его плотности, соответствующей нормальным условиям.
Музыкальное сопровождение труда чрезвычайно благотворно влияет на творческую деятельность, как успокаивающий фон, создающий творческое настроение, уменьшающий внешние раздражающие воздействия: рокот автомобиля, громкие разговоры и т.д.
Помещение должно быть светлым, просторным и уютным. Оно не должны граничить с помещениями, в которых уровни шума и вибрации превышают нормируемые значения (механические цеха, мастерские и т.п.).
Помещения оператора должны оборудоваться системами отопления, кондиционирования воздуха или эффективной приточно-вытяжной вентиляцией. Каждый день в помещении должна проводиться влажная уборка.
Важное влияние на условия работы оператора ЭВМ оказывает фон, используемый на экране дисплея. По возможности интерьер должен «сглаживать» влияние однообразного фона дисплея.
Стены помещения должны быть окрашены в светлые пастельные тона, например: розовые, если окна выходят на север или голубые, когда окна выходят на юг. Резкие орнаменты раздражающие зрение, их надо избегать.
Микроклимат оказывает большое влияние на здоровье оператора и его производительность. Температура помещения поддерживается в пределах 21-220С, а летом повышается; так при 320С внешней температуры, температура в рабочем помещении может быть повышена только до 260С. На окнах, выходящих на юг, желательно установить жалюзи. Отопительная система должна исправно действовать, легко и безотказно регулироваться.
Относительная влажность воздуха в помещении должна находиться в пределах 20-80%. Минимальный объем воздуха для каждого рабочего места 10-15 м3. При наличии рециркуляционной или вытяжной вентиляции подача свежего воздуха на каждое рабочее место составляет 20-30 м3 в час. Движение воздуха не должно ощущаться в виде неприятного сквозняка; кратковременное открытие окон легче переносится, чем постоянный легкий воздушный поток.
Курение допускается только в специально отведенных местах.
Оптимальные нормы микроклимата для помещений с видео-дисплейным терминалом (ВДТ) и персональной электронно-вычислительной машиной (ПЭВМ).
Период года Категория работ Температура воздуха, ? С Относительная влажность воздуха, % Скорость движения воздуха, м/с
Холодный Легкая — 1а 22-24 40-60 0,1
Теплый Легкая — 1а 23-25 40-60 0,1
Освещение используется как естественное, так и искусственное. Естественное освещение поступает через светопроемы, которые должны находиться слева от оператора, но допускается и их нахождение справа. Необходимо стремиться максимально использовать дневной свет, не загораживая окна плотными шторами или густыми растениями. Но, с другой стороны, следует избегать слишком яркого солнечного света на рабочем месте, то есть не должно быть резких контрастов и ослепляющего света. В светлое время суток при равномерном освещении помещения яркость экрана должна быть средней. Но, и при увеличении яркости в темное время суток не следует отказываться от искусственного освещения, создавая сильный контраст между яркостью экрана и освещенностью рабочего помещения.
Таким образом при планировании работ необходимо проводить следующие мероприятия:
* правильное оборудование рабочего места (использовать специально разработанные кресла, столы);
* правильное освещение помещения и рабочего места;
* использование защитных экранов, приэкранных фильтров и др. средств индивидуальной защиты;
* производственная гимнастика;
* рациональное чередование работы и отдыха (включая часовой обеденный перерыв и кратковременный отдых);
* регулярное проветривание помещения;
* эстетичность интерьера.
Глава 7
Заключение
Создана программа, позволяющая моделировать процесс прохождения потока заявок (закон распределения времени между поступлением заявок экспоненциальный или нормальный) по рабочим станциям (одноканальным СМО с неограниченной очередью; закон распределения времен обслуживания экспоненциальный или нормальный; максимальное число рабочих станций 10), с возможностью ветвления, объединения потоков и отбраковки заявок. Программа предоставляет возможность на основании результатов моделирования рассчитывать основные характеристики СМО, а также производить расчет некоторых средних показателей СМО по формулам.
С помощью программы проведен ряд экспериментов для различных систем, и получены результаты имитационного моделирования и расчета по формулам, на основании сравнения которых сделаны выводы о возможности применения приближенных формул расчета средних показателей для различных вариантов систем.
Существует несколько путей развития данной программы. Возможно в дальнейшем предусмотреть проведение исследования в программе других типов СМО, увеличить максимальное количество рабочих станций. Возможно создать надстройку к программе, позволяющую автоматически производить статистическую обработку результатов моделирования.
Список литературы:
1. Белянин П. Н., Лещенко В. А. Гибкие производственные комплексы — М.: Машиностроение, 1984
2. Вентцель Е. С. Исследование операций. Задачи. Принципы. Методология. — М.: Наука, 1988
3. Вентцель Е. С., Овчаров Л. А. Теория вероятностей — М.: Наука, 1973
4. Гигиена труда. Гигиенические критерии оценки условий труда по показателям вредности и опасности факторов производственной среды, тяжести и напряженности трудового процесса — М.: Госкомсанэпиднадзор России, 1994.
5. Гринева С. Н., Игнатова Л. А., Колпаков В. И. Оптимизация использования производственных ресурсов методами сетевого планирования — М.: Мосстанкин, 1987
6. Гурин Л. С., Дымарский Я. С., Меркулов А. Д. Задачи и методы оптимального распределения ресурсов — М.: Сов. Радио, 1968
7. Давыдов Э. Г. Исследование операций: Учебное пособие для студентов вузов — М.: Высшая школа, 1990
8. Дегтярев Ю. И. Исследование операций — М.: Высшая школа, 1986
9. Дипломное проектирование. Методические указания по охране труда — М.: Мосстанкин, 1988
10. Еленева Ю. А., Коршунова Е. Д. Организация и экономика разработки программного обеспечения — М.:МГТУ «Станкин», 1997
11. Игнатова Л. А. Сетевой график технической подготовки производства — М.: Мосстанкин, 1975
12. Курсовые задания по охране труда и окружающей среды — М.: Мосстанкин, 1988
13. Лабскер Л. Г., Бабешко Л. О. Теория массового обслуживания в экономической сфере — М.: Банки и биржи, 1998
14. Пронин Л. Н., Филиппов Н. А. Случайные величины. Элементы теории массового обслуживания — СПб, 1995
15. Санитарные правила и нормы — М.: 1999
16. Соха Дж., Рахмел Д., Холл Д. Изучи сам Visual Basic 5 — Мн.: Попурри, 1998