Подготовка (аренда) резервных машин числом Arend
1.Помещение, где находятся исправные резервные швейные машины (их общее число Arend =у)
2.Швейный цех, в
котором имеется Nowon рабочих мест для Nowon швейных машин
•^^- В ремонт
3. Помещение, где находятся неисправные швейные машины, ожидающие ремонта
'й'й'й
4. Ремонтный цех; где работают специалисты' наладчики, число которых Men = /
-О
- 4 - Исправленная машина
Рис. 8.7. Иллюстрация к задаче оптимизашш производственных затрат
в начальный момент решено арендовать Arend машин. Эти ма шины должны некоторое время находиться в как(ш-то помещении и «ждать», пока не выйдет из строя машина в цехе. Далее в процессе выхода из строя и восстановления машин в этом помещении будут находиться машины, число которых - случайная величина. Пребы вание машин в этом помещении является состоянием 1. Пребывание машин в швейном цехе в исправности - состояние 2.
Если какая-либо машина выходит из строя, то она поступит в ремонт только в том случае, если хотя бы один наладчик свободен (не занят ремонтом другой машины). Вероятность такого события, естественно, не равна единице. Поэтому неисправные машины в ожидании ремонта направляются в другое помещение. Пребьшание в этом помещении является состоянием 3.
И, наконец, если подходит очередь ремонта неисправной маши ны, она поступает в ремонтный цех. Ремонт - состояние 4 каждой машины.
Далее начнем строить имитационную модель. Наиболее рацио нальное решение заключается в том, чтобы выбрать машины в каче стве транзактов. В табл. 8.4 приведены типы узлов, имитирующих соответствующие состояния. Количество каналов узла serv в состоя нии 2 равно Nowon, а число каналов узла serv в состоянии 4 - это значение Men.
Единственная проблема, с которой мы немедленно столкнемся, заключается в том, что в данной замкнутой схеме нет генераторов транзактов. В связи с этим непонятно, откуда транзакты попадут в модель. Решение этой проблемы довольно простое: необходимо вве сти в имитационную модель специальную часть, которая называется схемой зарядки. Рассмотрим эту схему и всю модель на рис. 8.8.
Узлы с номерами 1 (queue), 2 (serv), 3 (queue) и 4 (serv) имити руют пребывание машин в состояниях с соответствующими номера ми. Эта замкнутая схема не требует дальнейших комментариев.
Далее рассмотрим схему зарядки, которая состоит из трех узлов: узел 5 (генератор ag), узел 6 (транзактно-управляемый генератор creat) и узел 7 (терминатор term со вспомогательным оператором cheg). Модельное время, в течение которого будем осуществлять эксперимент, задается переменной Protime. Если мы хотим, чтобы это время составляло 3 года, а единицей измерения установим 1 ч, то это время равно 6240,0 ч.
Узел ag генерирует первый транзакт через какой-либо заданный или случайный интервал времени tbeg- Этот интервал можно назвать временем подготовки производства. Сгенерированный первый тран302
закт (назовем его прародителем) войдет в узел creat. В результате из этого узла выйдут Nowon + Are'nd транзактов, которые поступят в узел 1.
Подготовка
производства
Число транзактов: Nowon + Arend
|
jcheg |
|
|
|
|
[перена- |
|
|
|
|
[стройка |
|
|
|
|
|генера- |
|
|
Ожидание |
|
iropa |
Производст |
Машины в ремонте |
|
ремонта |
|
|
во готово |
serv |
queue |
|
|
|
|
|
|
4 |
3 |
|
Схема зарядки |
Схема замкнутой части модели |
Рис. 8.8. Структурная схема модели для решения задачи минимизации производственных затрат
Первые Nowon транзактов без задержки пройдут этот узел и по ступят в узел 2; причем каждый транзакт-машина займет свой канал, т.е. рабочее место. Остальные Arend транзактов останутся в узле 1.
Что касается транзакта-прародителя, то он выйдет из узла creat и войдет в узел term. В этом узле перед уничтожением транзактпрародитель выполнит операцию cheg для перенастройки генератора ag. Эта операция' установит время генерации второго транзакта, рав ное Protime. Учитьюая, что с начала запуска модели уже прошло вре мя tbeg» момент генерации второго транзакта будет равен Protime + + tbeg (т.е. после выполнения модели). Это означает, что второй транзакт не выйдет из генератора во время моделирования.
Далее перейдем к планированию имитационного эксперимента для определения рационального количества резервных машин и чис ла специалистов-наладчиков. Возможность существования опти мального решения вытекает из следующих предпосылок.
Нетрудно представить себе, что если число наладчиков мало или равно нулю, то машины в основном будут неисправны, а затраты на производство - велики из-за простоя рабочих мест. Если же число наладчиков очень велико, то будут большими затраты на згфаботную плату (рис. 8.9,а). Но при отсутствии наладчиков машины по степенно выйдут из строя, а затраты из-за простоя рабочих мест бу дут велики.
Что касается резервных машин, то, если их число мало или равно нулю, затраты на производство будут велики из-за простоя рабочих мест. Если же число арендуемых машин очень велико, то будут большими затраты на их аренду (рис. 8.9,6).
Поэтому можно допустить гипотезу о наличии какой-то поверх ности оптимизации затрат (8.9,в). Однако, учитьшая, что число на ладчиков и количество машин - целые величины, эта поверхность включает в себя только точки с целочисленными координатами Men и Arend.
Необходимо найти минимальное значение на поверхности затрат E,j и соответственно значения координат /opt (переменная Men) njopt (переменная Arend). Не будем применять сложные методы поиска экстремальных значений на поверхности оптимизации затрат. Задача решается методом перебора, так как число возможных вариантов, которые необходимо сравнить, невелико. Однако в более сложных случаях требуется применять регрессионный анализ и строить по верхность отклика 2-го порядка.
Первое, что нужно сделать при проведении имитационного экс перимента, - это привести все времена и темпы затрат к одним еди ницам измерения. С помощью табл. 8.3 получим табл. 8.5 со статья ми ежедневных расходов на производство. В ней три строки. Обо значим значение, указанное в каждой строке, как У4* , ^ = 1,2,3.
|
Статьи ежедневных расходов А/, |
Таблица 8.5 |
|
|
|
(Л= 1,2,3) |
|
Номер |
Вид ежедневных |
Стоимость |
строки |
расходов |
расходов, долл. |
1 |
Дневная заработная плата одного налаачика |
30 |
2 |
Дневная аренда одной машины |
30 |
3 |
Убыток из-за простоя одного рабочего места |
160 |
Arend
Рис. 8.9. Ингерпретация возможности минимизации затрат: а - зависимость затрат от числа арендуемых машин Arend
при фикс1фованном числе наладчиков; б - зависимость затрат от числа наладчиков Men при фиксированном числе арендуемых машин;
в — предполагаемая поверхность оптимизации
3 0 5
Далее потребуется имитационная модель, схема которой была приведена на рис. 8.8. С ее помощью необходимо получить значения загрузки рабочих мест, например, с экрана (рис. 8.10).
ЙПроцпгс Pi |
|
|
|
НастроАки Моделирование Результаты Помоа^ |
|
|
104 |
График задержек в аэяе N* 1 |
queue Теэере машин" |
Мооель "Ман!|Фактура Ко" |
|
|
|
|
|
|
|
# |
|
|
|
|
|
TueOd 2019 06.501998 |
|
|
|
|
Процент вьголиения. 100 |
|
|
|
|
Выполнена. |
|
|
|
|
|
Узел № 2 secv |
52 |
|
|
|
Времй обсл!р)сивания |
|
|
|
k->t» |
153.8 |
|
|
|
|
КоэФ вариации в квмраге |
|
|
|
|
к>с2 |
10 |
|
|
|
|
Всего вошлотранэактов |
|
|
|
|
к->па |
2000 |
|
|
|
|
Количество каналов. |
гб |
|
|
|
к->пс |
50 |
|
|
|
В данньй момент тр-тов' |
|
|
|
|
к->1п |
49 |
00 |
0 0 |
15бао |
|
"Машины в работе" |
312а0 |
|
|
|
|
|
|
Модельное еремя |
62400 |
3arpi)3Ka. |
996X |
^ 1 » с к | <(^г»омесс Plgrlm-41 |
|
|
|
|
|
Рис 8.10. Окно С результатами моделирования |
|
|
Текст модели приведен ниже; |
|
|
#include <Pilgrim.h> |
// Число собственных машин |
int Nowon =50; |
int Men = 3 ; |
// Число наладчиков |
|
int Arend = 3 ; |
// Число арендуемых машин |
float Protime = 6240.0; // Время прогноза 3 года |
forward |
|
|
|
|
{ |
|
|
|
|
modbeg("Мануфактура Ко",7,Protime, |
|
|
|
|
(long)1234567890,none, 1,none,none, 1); |
ag{"Подг. произв.",5,none,none,1.0,zero,zero^ 6); |
network |
{dummy, dummy) • |
|
|
|
top(l): queue("Резерв машин", none, |
2); |
|
|
|
place; |
|
|
|
|
top{2): serv("Maшины в работе",Nowon,none, |
|
|
|
expo,157.0,zero,zero,3); |
|
|
|
place; |
|
|
|
t o p ( 3 ) : |
диеие("Ожид. |
ремонта", |
none, 4); |
t o p ( 4 ) : |
place; |
в |
рем.",Men,none,norm, |
зегу("Машины |
t o p ( 6 ) : |
place;7 . 0 , 3 . 0 , z e r o , 1 ); |
|
creat("Подгот. |
машин",none, |
|
|
place; Nowon+Arend,copy, |
1,7); |
top{7): term("np-Bo |
готово"); |
|
|
|
cheg(5,none,none,Protime,zero,zero,7); |
fault |
|
place; |
|
|
|
|
(123); |
|
|
|
} |
("Factory.doc",1,24,page); |
|
modend |
|
return |
0; |
|
|
|
Построим матрицу загрузок для различных значений числа на ладчиков г и количества швейных машину . Элементы такой матри цы обозначим By. Пример матрицы представлен в виде табл. 8.6. Как было показано выше, в оценочном и не совсем верном расчете, по иск оптимальных значений / и J можно начать со значений / = 3 и j = 3, пропустив меньшие значения (/ - число наладчиков, / = 3,4, 5; j - число арендуемых швейных машин,у = 3,4, 5).
|
Загрузка рабочих мест Вд |
Таблица 8.6 |
|
|
(получается с помощью имитационной модели) |
Число |
Число арендуемых резервных машин |
наладчиков |
3 |
4 |
5 |
|
3 |
0,951 |
0,974 |
0,964 |
4 |
0,986 |
0,979 |
0,978 |
5 |
0,978 |
0,984 |
0.979 |
Далее определим ежедневные затраты на оплату труда наладчи ков и аренду резервных машин. Для этого создадим еще одну мат рицу (табл. 8.7) элементов C,j с той же размерностью, какая сущест вует в табл. 8.6. Элементы этой матрица определяются с помощью табл. 8.5 из соотношения
Ctj=Aii + Ajj, i = 3,4, 5, j = 3,4, 5.
|
|
|
Таблица 8.7 |
Затраты на оплату труда наладчиков |
|
|
и аренду резервных машин Q |
|
Число |
Число арендуемых резервных машин |
наладчиков |
3 |
4 |
5 |
|
3 |
180 |
210 |
240 |
4 |
210 |
240 |
270 |
5 |
240 |
270 |
300 |
Перейцем к определению потерь из-за снижения объемов произ водства по причине простоя рабочих мест. Для этого построим мат рицу (табл. 8.8) элементов Dy с той же размерностью. Элементы этой матрицы определяются с помощью табл. 8.5 и 8.6. Элементы Ду табл. 8.6 - это загрузка оборудования р при конкретных значениях / и у. Поэтому справедливо следующее соотношение:
Ау= Nowon(1-Ву)Аз, / = 3,4,5, j = 3,4,5.
Таблица 8.8 Потери из-за снижения объемов производства Dg
Число |
Число арендуемых резервных машин |
наладчиков |
3 |
4 |
5 |
|
3 |
392 |
208 |
288 |
4 |
112 |
168 |
176 |
5 |
176 |
128 |
168 |
Последнее, что нужно сделать, - это определить суммарные ежедневные затраты на npoi^BOACTBo. Для этого построим матрицу с той же размерностью (табл. 8.9). Элементы матрицы обозначаются Еу и определяются поэлементньш суммированием данных табл. 8.7 и 8.8:
Ey^Cy + Dy, / = 3,4,5,7 = 3,4,5.
Из табл. 8.9 следуют оптимальные значения:
1)количество нанимаемых наладчиков iopt- 4;
2)число арендуемых резервных швейных машину'ор!=3.
Таблица 8.9 Суммарные ежедневные затраты на производство Eg
Число |
Число арендуемых резервных машин |
наладчиков |
3 |
4 |
5 |
|
3 |
571 |
418 |
528 |
• 4 |
322 |
408 |
446 |
5 |
416 |
398 |
468 |
Если бы мы выбрали ранее ошибочно рассчитанные значения /opt= 3 H7opt= 3, то затраты ежедневно составляли бы не 322, а 571 долл. Различие в результатах в данном случае весьма значительно.
В табл. 8.10 представлен стандартный набор выходных данных, автоматически полученных во время прогона варианта имитацион ной модели с конкретными значениями исходных данных.
Результаты моделирования
|
НАЗВАНИЕ МОДЕЛИ: |
Мануфактура Ко |
|
|
ВРЕМЯ МОДЕЛИРОВАНИЯ: |
6241.0 |
|
|
|
|
|
|
|
|
|
№ |
|
|
|
Загруз |
M[t] |
|
Наименование |
Тип |
|
ка, % |
|
уз |
Точка |
сред |
|
узла |
узла |
Путь, |
|
ла |
|
нее |
|
|
|
|
км |
|
|
|
|
|
|
|
1 |
Резерв машин |
queue |
• - |
- |
2.6 |
|
2 |
Машины |
serv |
- |
%=98,6 |
154,9 |
|
|
в работе |
|
|
|
|
|
3 |
Ожидание |
queue |
— |
— |
2,9 |
|
|
ремонта |
|
|
|
|
|
4 |
Машины |
serv |
• |
%=69,7 |
7,1 |
|
|
в ремонте |
|
|
|
|
|
5 |
Подготовка |
ag |
— |
— |
1.0 |
|
|
производства |
|
|
|
|
|
6 |
Подготовка |
creat |
- |
- |
0.0 |
|
|
машин |
|
|
|
|
|
7 |
Производство |
term |
- |
- |
0,0 |
|
|
подготовлено |
|
|
|
|
Таблица 8.10
Лист: 1
квадрат Счет коэфф. чик вариа входов
ции 2,63 1973
1,03 1971
2,9 1921
0,17 1921
0,00 2
1,00 53
1,00 2
8.5
МОДЕЛЬ «ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ РЕСУРСОВ В СЕТИ ПОД УПРАВЛЕНИЕМ UNIX»
Локальная вьиислительная сеть (ЛВС) имеет один процессор, один винчестер и несколько пользовательских терминалов. Пользо ватели посылают операционной системе OS UNIX запросы на вы полнение своих прикладных задач, которые содержат некоторое ко личество операций ввода-вывода (I/O). Посланный запрос поступает на обработку процессором (CPU, число процессоров может быть 1, 2,4 и др.Х По каждому запросу создается процесс, который начинает работать в ЛВС.
Созданному процессу OS UNIX вьщеляет участок памяти (RAM) и затем несколько буферов Ю (ресурсы ЛВС). Процессы, требую щие меньшего объема ресурса, имеют больший приоритет при его вьщелении. Если ресурсов ЛВС недостаточно для вьшолнения оче редного процесса, он ожидает освобождения ресурсов другими про цессами. После этого процесс получает доступ к винчестеру (HDD) для вьшолнения одной операции Ю. Процесс, завершивший свою работу, освобождает занимаемые им ресурсы, возвращая их опера ционной системе. Параметры модели приведены ниже, схема модели показана на рис. 8.11.
Параметр |
Значение |
модели |
параметра |
Количество пользователей |
50 |
Время обдумывания запроса пользователем (среднее), с |
10,00 |
Время обработки процесса в CPU (среднее), с |
0,10 |
Время доступа HDD-винчестера (операция I/O): |
|
минимальное, с |
0,05 |
максимальное, с |
0,15 |
наиболее вероятное, с |
0,10 |
Объем (мощность) ресурса «RAM», Мбайт |
64 |
Объем (мощность) ресурса «Буферы Ю» |
10 |
Вероятность заверщения процесса Ю |
0,20 |
Время моделирования, ч |
8 |