logo search
Чтоесть / Мое / Конспект лекций Для студентов специальности 080801

8.8. Пример построения модели средствамиIss2000

Цель исследования. Определение наилучшего варианта технологического процесса ремонта и замены оборудования при обеспече­нии минимальной себестоимости производства.

Постановка задачи. Некоторый производственный участок имеет L станков, которые работают 24 ч в сутки. Всего в системе есть М> L станков (из них L - собственных, а остальные арендуют для ре­зерва). Любой из станков может выйти из строя в любое время. Если станок сломался, его заменяют другим, резервным, а сломанный на­правляют для ремонта в мастерскую. Отремонтированный станок возвращается уже как резервный.

В мастерских есть три специализированных участка для ремонта станков. Технологический цикл ремонта начинается на участке диаг­ностики, где определяются причина выхода из строя оборудования и необходимый вид ремонта. Ремонт выполняется в механических и электронных мастерских. Статистические данные анализа выхода из строя станков показали, что 75% случаев составляет отказ электрон­ного оборудования станков, а 25% - механического. Диагностикой занято т1 рабочих, ремонтом механического оборудования – m2, a ремонтом электронного оборудования – т3 рабочих.

Заработная плата рабочих в ремонтной мастерской - W руб. за час, плата за арендованные станки - S руб. в сутки. Почасовой убыток при использовании менее L станков в производстве составляет Q руб. на станок. Убытки возникают вследствие спада производства.

Опыт эксплуатации показывает, что на диагностику расходуется A1±B1 часов, на ремонт сломанного электронного оборудования станка - А2 ± В2 часов, а на ремонт механического оборудования - А3 ± В3 часов (распределение равномерное). Если станок используется в производстве, время наработки на отказ имеет экспоненциальное распределение с параметром Т часов. Время для перевозки станков из цеха в мастерскую и в обратном направлении незначительно, и его не учитывают. Между рабочими в мастерских нет никаких отличий, как и между станками.

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

Описание модели. Система имеет три основные составляющие:

1) количество рабочих в мастерских;

2) максимальное количество станков, которые одновременно на­ходятся в производстве;

3) общее количество станков, которые находятся в системе.

Для моделирования двух первых составляющих используется МКУ. Общее количество станков моделируется транзактами, то есть с ганки являются динамическими объектами, которые «перемещают­ся» с одного места в другое в процессе их использования в системе.

Рассмотрим состояние некоторого станка в процессе полного цикла в системе. Предположим, что станок в данный момент находится в резерве. Тогда МКУ NOWON, используемое для моделирова­ния работающих станков, заполнено, то есть резервные станки не имеют возможности войти в МКУ. Станки, которые находятся в ре­зерве, могут иметь возможность работать, и транзакт, который их моделирует, может сделать это после многочисленных попыток войти в МКУ NOWON, пока одна из них не будет успешной. Проходя сквозь блок ENTER в блок ADVANCE, транзакт моделирует время работы этого станка, пока последний не сломается.

После того, как станок вышел из строя, транзакт покидает МКУ NOWON, давая возможность другим резервным станкам начать работать, и ждет (если в этом есть необходимость) на входе устройства DIAGN (участок диагностики). В этом случае транзакт сыграет роль ремонтируемого станка. После диагностики он входит или в МКУ ELEK, или в МКУ МЕХ, то есть для ремонта электронного или меха­нического оборудования. После выполнения ремонта транзакт снова возвращается к той части модели, где он пробует войти в МКУ NOWON.

Так как общее количество станков, которое находится в системе, равняется М (L - собственных и некоторое количество арендованных для резерва), то это количество задается в начале прогона модели, ис­пользуя ограничитель блока GENERATE.

Данные для моделирования приведены в табл. 8.1.

Таблица 8.1

Построение имитационной модели. Создадим новый проект. По умолчанию он носит имя Untitled.gsg (рис. 8.3). Зададим концеп­туальную структуру модели в виде замкнутой сети СМО, как показа­но на рис. 8.4. Она состоит из одного генератора и четырех МКУ.

Определим свойства генератора. Зададим два арендованных станка, то есть М=52. Генератор только вводит в начальный момент моделирования определенное количество транзактов (52), которые постоянно находятся в модели. Поэтому зададим в свойствах генера­тора (рис. 8.5) детерминированный закон распределения с нулевым временем и ограниченным количеством транзактов (52).

Определим свойства МКУ с именем NOWON. Для времени об­служивания выберем экспоненциальный закон распределения с пара­метром 160 и зададим количество устройств - 50 (рис. 8.6).

Определим свойства МКУ с именем DIAGN (рис. 8.6). Зададим два ремонтника на участке диагностики как начальное количество. Определим равномерное распределение времени для ремонта с пара­метрами 2, 1 ( рис. 8.7).

Аналогично определим свойства МКУ с именем ELEK. Зададим три ремонтника на участке ремонта электронного оборудования как первоначальное количество. Определим равномерное распределение времени для ремонта с параметрами 30, 10.

Аналогично определим свойства МКУ с именем МЕХ. Зададим три ремонтника на участке ремонта механического оборудования как начальное количество. Определим равномерное распределение вре­мени для ремонта с параметрами 45, 5.

Зададим свойства связи для МКУ DIAGN. Выберем передачу транзактов по вероятностному распределению, как показано на рис. 8.8.

Зададим в меню Условия эксперимента время моделирования S640 часов, как показано на рис. 8.9. Сохраним проект построенной имитационной модели в файле С:\Мои документы\proekt.gsg.

Времена ремонта для электронного и механического оборудова­ния будем заносить в таблицы (коллекции), как показано на рис. 8.10. Для этого обозначим маршруты движения транзактов от узла 2 к узлу 4 и от узла 2 к узлу 5.

Зададим верхнюю границу первого частотного интервала 20, ширину интервала 50 и количество интервалов 20 для обоих маршрутов, как показано на рис. 8.11.

Для расчетов потерь производства необходимо добавить в по­строенную модель такие переменные:

* Общее количество станков (собственные и арендованные) OBL N(NODE1)

* Количество ремонтников

РОТО R(DIAGN)+S(DIAGN)+R(MEN)+S(MEN)+R(ELEKT)+S(ELEKT)

* Плата за арендованные станки

РОТ1 (OBL-R(NOWON)-S(NOWON)#65#360

* Плата за аренду и зарплата рабочих в мастерских РОТ2 РОТ1+РОТО#2.75#24#360

* Общие затраты

NEC PROFIT POT2+(R(NOWON)+S(NOWON)-SA(NOWON))#120#24#360

Для задания этих переменных следует вызвать построитель формул. На рис. 8.12 приведен пример формирования перемен­ной POTO.

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

Если переменная задана верно, то нажимаем кнопку Построи­тель и возвращаемся в окно, показанное на рис. 8.12. Нажимаем ОК. Задаем свойство формулы - Общая формула (рис. 8.14).

Аналогично задаем переменные OBL, POT1, РОТ2, N EG PROFIT.

Выберем пункт меню Проект/Построить для построения про­екта proekt.gsg и рассмотрим текст GPSS-программы.

NOR FUNCTION RN1,C25

0,-5/.00003,-4/.00135,-3/.00621,-2.5/.02275,-2

.06681,-1.5/.11507,-1.2/.15866,-l/.21186,-.8/.27425,-.6

.34458,-.4/.42074,-.2/.5,0/.57926,.2/.65542,.4

.72575,.6/.78814,.8/.84134,l/.88493,1.2/.93319,1.5

.97725,2/.99379,2.5/.99865,3/.99997,4/l,5

XPDIS FUNCTION RN1,C24

0,0/.100,.104/.200,.222/.300,.355/.400,.509

.500,.690/.600,.915/.700,1.200/.750,1.380

.800,1.600/.840,1.830/.880,2.120/.900,2.300

.920,2.520/.940,2.810/.9SO,2.990/.960,3.200

.970,3.500/.980,3.900/.990,4.600/.995,5.300

.998,6.200/.999,7/1,8

COLLEC1 TABLE Ml,20,50,20

COLLEC2 TABLE Ml,20,50,20

**********************************************************

POTO_1 FVARIABLE R$DIAGN+S$DIAGN+R$MEX+S$MEX+R$ELEK+S$ELEK

NEG_PROFIT FVARIABLE V$POT2_1+(R$NOWON+S$NOWON-

SA$NOWON)#120#24#360

OBL_1 VARIABLE N$NODE1

POT1_1 FVARIABLE (V$OBL_1-R$NOWON-S$NOWON)#650#360

POT2_1 FVARIABLE V$POT1_1+V$POTO_1#360#7.75

*********** ***********************************************

NOWON STORAGE 50

DIAGN STORAGE 2

LEK STORAGES 3

МЕХ STORAGE 3

10 NODE1 GENERATE 0,,,52, 20

20 TRANSFER ,NODE2

30 NODE2 MARK

40 QUEUE QDIAGN

50 ENTER NOWON,1

40 DEPART QDIAGN

70 ADVANCE 160,FN$XPDIS

SO LEAVENOWON,1

40 TRANSFER ,NODE3

100 NODE3 QUEUE QUEUES

110 ENTER DIAGN,1

120 DEPART QUEUES

130 ADVANCE 2,1

140 LEAVE DIAGN,1

150 TRANSFER .750,NODE4,NODE5

160 NODE4 TABULATE COLLEC1

170 QUEUE QUEUE4

180 ENTER ELEK,1

190 DEPART QUEUE4

200 ADVANCE 30,10

210 LEAVE ELEK,1

220 TRANSFER ,NODE2

230 NODES TABULATE COLLEC2

240 QUEUE QUEUES

250 ENTER MEX,1

260 DEPART QUEUES

270 ADVANCE 45,5

280 LEAVE МЕХ,1

290 TRANSFER ,NODE2

Функция NOR и блок COMTEK TERMINATE всегда вставля­ются в модель. Этот блок необходим для уничтожения транзактов, для которых не выполняются условия (например, превышено время пребывания в очереди). Каждый программный блок узла модели МКУ помечен меткой NODE с номером узла.

Если выполнить эксперимент с построенной моделью, то полу­чим статистические данные (рис. 8.15), значения переменных (рис. 8.16) и таблицы распределения времени для ремонта (рис. 8.17)

Кроме того, ISS 2000 предоставляет возможность нахождения «узкого места» модели. Для этого выбираем пункт меню Про­ект/Построить и нажимаем кнопку «Да» в появившемся диалоге:

Далее выбираем участок модели, в котором требуется найти уз­кое место (рис. 8.18):

Получаем данные о загрузке каждого из узлов определенного участка, о среднем времени пребывания в каждом узле и о потенци­ально узком месте (рис. 8.19):

Как видим, в нашем примере узким местом оказался узел № 5 - ремонт механического оборудования.