Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Создание имитационной модели процесса. Построение имитационной модели начнем с создания заголовка модели, который может быть представлен, например
Построение имитационной модели начнем с создания заголовка модели, который может быть представлен, например, в таком виде: GPSSW Transp_konv.GPS ************************************** * Моделирование работы системы * * " Транспортный конвейер-рабочий" * ************************************** Далее разобьем всю модель на несколько секторов. В первом секторе введем информацию, необходимую для функционирования системы. Этот сектор может выглядеть так: INITIAL X1, 9 INITIAL X2, 1 INITIAL X3, 12 INITIAL X4, 1 INITIAL X5, 13 INITIAL X6, 2 В этом секторе с помощью оператора INITIAL (Инициализировать) задаются значения сохраняемых величин. Во втором секторе моделируется процесс поступления деталей на обработку, передача деталей не занятому рабочему и обработка детали первым рабочим. Эта часть модели может быть сформирована следующим образом. С помощью оператора GENERATE генерируется поток деталей, поступающих на обработку. Среднее время поступления деталей определяется сохраняемой величиной под номером 1, значение которой должно быть определено заранее. Отклонение от среднего времени определяется сохраняемой величиной под номером 2, значение которой также должно быть определено заранее. Это можно записать так: GENERATE X1, X2 В поле операнда А указывается средний интервал времени между поступлениями требований в систему – X1. В задаче эта величина равна 9. Поле операнда В показывает величину отклонения от среднего интервала времени, равную ±1 единице времени. Таким образом, интервал времени между поступлениями деталей в систему может составлять [8–10] единиц времени включительно. Определение конкретной величины интервала времени выполняется следующим образом. Встроенная подпрограмма случайных чисел (датчик случайных чисел) в интервале [0–1], используя равномерное распределение, определяет случайное число, например 0, 25, затем система моделирования вычисляет искомую величину, используя формулу Х = A + (B – A) × Y, где A и B – соответственно левая и правая границы интервала поступления требований в систему. Искомое случайное число в нашей задаче будет следующим: X = 8 + (10 – 8) × 0, 25 = 8, 5. Передача деталей не занятому рабочему может быть осуществлена с использованием оператора TRANSFER в режиме BOTH (Оба). Если установлен режим передачи требований в один из двух операторов (BOTH), то требованию никогда не запрещается входить в оператор TRANSFER. Если оператор, указанный в поле В, занят, то требование переходит к оператору, указанному в поле С; если и этот оператор занят, то требование остается в операторе TRANSFER и в цепи текущих событий до освобождения занятого оператора в поле С. Это можно записать так: TRANSFER BOTH,, RABO Если первый рабочий занят, то деталь поступает на обработку ко второму рабочему – оператору с меткой RABO – при условии, что он не занят. Если и он занят, то деталь будет ожидать освобождения любого рабочего. Если первый рабочий освободился – а это определяется с помощью пары операторов SEIZE (Занять) и RELEASE (Освободить), – то деталь поступает к первому рабочему, где и производится ее обработка. Это можно записать так: SEIZE RAB1 ADVANCE X3, X4 RELEASE RAB1 TERMINATE Операторы SEIZE и RELEASE с символьным именем RAB1 обеспечивают сбор статистической информации о канале обслуживания – первом рабочем. Оператор ADVANCE моделирует время выполнения операции первым рабочим (задержи вает требование в канале обслуживания). Информация о времени обслуживания (задержки) требования указывается в полях операндов А и В. В поле операнда А представлено среднее время выполнения операции (обслуживания требования), а в поле операнда В – отклонение от среднего времени. Действительное время обслуживания требования определяется так же, как и время поступления деталей (требований) в операторе GENERATE. Так, если датчик случайных чисел выработал число 0, 940, то время обслуживания требования будет следующим: Х = 11 + (13 – 11) × 0, 940 = 12, 88. В третьем секторе моделируется процесс обработки деталей вторым рабочим. Если первый рабочий занят, то деталь поступает на обработку ко второму рабочему при условии, что он не занят. Условие незанятости второго рабочего также определяется с помощью своей пары операторов SEIZE и RELEASE. Это можно записать так: RABO SEIZE RAB2 ADVANCE X5, X6 RELEASE RAB2 TERMINATE Операторы SEIZE и RELEASE определяют соответственно занятость канала обслуживания (рабочего) и его освобождение. Эти два оператора взаимно дополняют друг друга. В поле операнда А операторов указывается имя канала обслуживания (символьное или числовое). Если канал обслуживания занят, то требование не может войти в него. Если канал обслуживания освободился, то при прохождении требования через оператор RELEASE дается сигнал об освобождении канала, и таким образом, следующее требование может поступить на обслуживание. Оператор ADVANCE моделирует время выполнения операции вторым рабочим. В четвертом секторе моделируется время функционирования системы – 480 мин. Это выполняется с помощью оператора GENERATE. В пятом секторе открывается текстовый файл, в который записываются нужные результаты моделирования. Этот сектор может выглядеть так: Fin OPEN (" Transp_konveer_rez.txt"),, Met1 WRITE (Catenate(" Facility =", FC$RAB1)),, Met WRITE (Catenate(" Util. Facility =", FR$RAB1/1000)),, Met WRITE (Catenate(" Facility =", FC$RAB2)),, Met WRITE (Catenate(" Util. Facility =", FR$RAB2/1000)),, Met CLOSE Prob,, Met2 TERMINATE 1 Met TERMINATE 1 Met1 TERMINATE 1 Met2 TERMINATE 1 START 1, NP Оператор OPEN (Открыть) открывает в нашем примере текстовый файл Transp_konveer_rez.txt для вывода конкретных результатов моделирования. Результаты моделирования записываются в открытый текстовый файл с помощью оператора WRITE (Записать). В нашем примере записывается число деталей, прошедших через рабочих, и коэффициент использования рабочих. Это выполняется с помощью соответствующих стандартных числовых атрибутов: FC$RAB1, FR$RAB1, FC$RAB2, FR$RAB2. Затем открытый файл закрывается с помощью оператора CLOSE (Закрыть). Использование каждого оператора в третьем секторе в случае появления ошибок связано с переходом к оператору завершения – TERMINATE (Завершить). Оператор TERMINATE удаляет из системы требования: указанное в поле А число требований покидают систему. START представляет собой управляющий оператор, обеспечивающий выполнение процесса моделирования. Окончательно программа моделирования этой системы будет выглядеть так, как показано на рис. 4.2 и 4.3. Результаты моделирования системы представлены на рис. 4.4. Первая строка: Facility = 26 Рис. 4.2. Начало программы моделирования системы «Tранспортный конвейер–рабочий»
Рис. 4.3. Продолжение программы моделирования системы «Tранспортный конвейер–рабочий»
Рис. 4.4. Результаты моделирования системы «Tранспортный конвейер–рабочий»
показывает число деталей, поступивших к первому рабочему в течение моделируемого времени, то есть смены. Вторая строка: Util. Facility =.6549566083333333 показывает коэффициент использования первого рабочего в течение смены. Третья строка: Facility = 26 показывает число деталей, поступивших ко второму рабочему в течение моделируемого времени, то есть смены. Четвертая строка: Util. Facility =.6749524583333336 показывает коэффициент использования второго рабочего в течение смены.
|