Помощь в написании студенческих работ
Антистрессовый сервис

«Модель предоставления ремонтных услуг» создается в AnyLogic

Курсовая Купить готовую Узнать стоимостьмоей работы

Описана логика модели ремонтных услуг, порядка их оказания и выполнения. Сформулированы правила регламента работы над заявками на разных этапах ее жизненного цикла. Численный эксперимент показал, что на качественном уровне модель обладает устойчивым поведением. Из этого можно сформулировать вывод о ее достоверности. По ее результатам можно сделать вывод о том, что усредненные по реализациям… Читать ещё >

«Модель предоставления ремонтных услуг» создается в AnyLogic (реферат, курсовая, диплом, контрольная)

Содержание

  • ВВЕДЕНИЕ
  • 1. ПОНЯТИЕ СИСТЕМЫ МАССОВОГО ОБСЛУЖИВАНИЯ И ЕЕ СВОЙСТВА
    • 1. 1. Общая характеристика системы массового обслуживания
  • 2. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ СИСТЕМЫ РЕМОНТНЫХ УСЛУГ
    • 2. 1. Постановка задачи
    • 2. 2. Основные допущения и идеализации
    • 2. 3. Разработка имитационной модели
    • 2. 4. Разработка программной логики системы
    • 2. 3. Основные результаты работы программы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Переменная Price_ носит промежуточный характер и описывает стоимость работы, рассчитываемой с учетом штрафов за переделку. Переменная penalityпредставляет собой итоговый штраф за переданную работу. Рассмотрим параметры приложения. Они представляют собой штрафы за просрочку или недоработки и надбавки. Переменная hurryCoeffзадает величину надбавки за срочность как процент от стоимости заказа. Значение по умолчанию составляет 0.

3.Переменная PenalityCoeffзадает величину штрафа за доработку заказа, в случае, если заказ не принята ОТК или возвращен заказчиком. Она определяется как как процент от стоимости заказа. Ее значение по умолчанию составляет 0.

2. Переменная PenalityTimeCoeffзадает величину штрафа за просрочку заказа как процент от стоимости заказа. Ее значение по умолчанию составляет 0.

2. Рассмотрим применяемые массивы данных. В наборах данных dataи data_priceсобирается информация о стоимости сданных работ для последующей визуализации. В наборе данных penalitiesсодержится информация о штарафах, начисленных за выполнение сданных работ. Функции ResultRemontи UpdateRemontмоделировались диаграммами действий, имеющих структуру блок-схем. Список Pricesсодержит данные о ценах, назначаемых мастером за работу определенного типа. Его настройки имеют следующий вид (рисунок 52).Рисунок 52.

Настройки списка PricesНомер строки матрицы списка Pricesсоответствует IDмастера, которому выдается заказ из очереди MasterQueue. Номер столбца отвечает номеру типа работы, выбранной мастером для ремонта. С использование диаграмм действий будем реализовывать программную логику функций ResultRemont и UpdateRemont. Начальная диаграмма функции ResultRemont приведена на рисунке 53. Рисунок 52. Начальная блок-схема функции ResultRemontДалее введем в блок-схему переменные arr, index_I, index_J, а также переменные rowsи cols. Переменный arr отвечает преобразованию списка Pricesв массив для извлечения значения цены за ремонт. IDмастера, сдавшего работу определяется переменной index_I, а тип выполненной им работы — переменной index_J. Переменные rowsи colsописывают число строк и столбцов в матрице arr.

При введении переменных будем использовать компонент Локальная переменная. Процесс добавления переменных приведен на рисунках 53−57Рисунок 53. Основные переменные блок-схемы.

Рисунок 54. Основные переменные блок-схемы.

Рисунок 55. Основные переменные блок-схемы.

Рисунок 56. Основные переменные блок-схемы.

Рисунок 57. Основные переменные блок-схемы.

Следующим элементом блок-схемы является блок логики, реализующий подготовку начальных данных. Добавим в блок-схему после переменных компонент Код, который будет иметь название «Подготовка данных».Тогда блок-схема примет следующий вид (рисунок 58).Рисунок 58. Блок-схема функции ResultRemontНастройки блока «Подготовка данных» приведены на рисунке 59. Рисунок 59. Реализация блока «Подготовка данных"В блоке «Подготовка данных» задаются начальные значения для вычисления цены. Так, по полям myAgent. MasterIDи myAgent.RemontTypeструктуры myAgentопределяется IDмастера, сдавшего работу, и тип выполняемого им ремонта. По этим данным из arrвыбирается начальная цена, которая впоследствии уточняется. В качестве следующего блока алгоритма введем проверку просрочки по времени исполнения заказа.

Для этого воспользуемся компонентом Решение (If.Else), который добавим после блока «Подготовка данных». Дадим соответствующему блоку метку «Проверка просрочки». Тогда блок-схема примет следующий вид (рисунок 60).Рисунок 60. Блок-схема функции ResultRemontНастройки блока «Проверка просрочки» приведены на рисунке 61. Рисунок 61. Реализация блока «Проверка просрочки"Для реализации расчета штрафа за просрочку введем в ветку «true"блока «Проверка просрочки» компонент Код, который будет иметь название «Штраф за просрочку». Тогда блок-схема примет следующий вид (рисунок 62).Рисунок 62. Блок-схема функции ResultRemontНастройки блока «Штраф за просрочку» приведены на рисунке 63. Рисунок 63. Реализация блока «Штраф за просрочку"Следующим шагом после расчета итоговой цены является проверка наличия возможных доработок. Для ее моделирования применим компонент Решение (If.Else), который добавим после блока «Проверка просрочки». Дадим соответствующему блоку метку «Если доработок не было». Тогда блок-схема примет следующий вид (рисунок 64).Рисунок 64. Блок-схема функции ResultRemontНастройки блока «Если доработок не было» приведены на рисунке 65. Рисунок 65. Реализация блока «Если доработок не было"В случае, если доработок не было, добавим условие проверки срочности.

При этом, в соответствии с учетом срочности итоговая цена будет считаться с учетом надбавки. Для этого в ветку «true» блока «Если доработок не было» добавим компонент Решение (If.Else), который назовем «Если заказ не срочный». Тогда блок-схема примет следующий вид (рисунок 66).Рисунок 66. Блок-схема функции ResultRemontРеализация блока «Если заказ не срочный» приведена на рисунке 67. Рисунок 67. Реализация блока «Если заказ не срочный"Для расчета суммы заказов с учетом срочности и без нее добавим блок Код в ветки «false"и «true"блока «Если заказ не срочный». При этом соответствующим компонентам дадим метки «Расчет цены» и «Учет надбавки за срочность». Вид блок-схемы с учетом их добавления показан на рисунке 67. Рисунок 68.

Блок-схема функции ResultRemontНастройки блоков приведены на рисунке 69, 70. Рисунок 69. Реализация блока «Расчет цены"Рисунок 70. Реализация блока «Учет надбавки за срочность"Если доработки имели место, по их числу начисляется штраф в размере процента PenalityCoeffот стоимости работы. При этом, за первую доработку штраф не начисляется. Процесс начисления штрафа смоделируем как вычисление произведения элементов числовой последовательности. Для этого введем переменную Price_, которой зададим значение цены CurrentPrice (рисунок 71).Рисунок 71. Блок-схема функции ResultRemontДля расчета цены введем компонент Цикл For, которому дадим метку «Цикл с учетом доработок» (рисунок 72).Рисунок 72. Блок-схема функции ResultRemontНастройки блока «Цикл с учетом доработок» приведены на рисунке 73. Рисунок 73. Реализация блока «Цикл с учетом доработок"В качестве тела цикла «Цикл с учетом доработок «добавим блок Код, которому зададим метку «Расчет штрафа» (рисунок 74).

Рисунок 74. Блок-схема функции ResultRemontНастройки блока «Расчет штрафа» приведены на рисунке 75. Рисунок 75. Реализация блока «Расчет штрафа"Далее добавим в конец цикла блок Код «Итоговая цена», вычисляющий конечную цену. Тогда блок-схема имеет следующий вид (рисунок 76).Рисунок 76.

Блок-схема функции ResultRemontНастройки блока «Итоговая цена» приведены на рисунке 77. Рисунок 77. Реализация блока «Итоговая цена"В качестве заключительного элемента блок-схемы, в котором подготавливаются итоговые данные, добавим блок кода, которому дадим метку «Итоговые параметры». Тогда окончательная реализация блок-схемы примет следующий вид (рисунок 78).Рисунок 78. Блок-схема функции ResultRemontНастройки блока «Итоговые параметры» приведены на рисунке 79. Рисунок 79. Реализация блока «Итоговые параметры"В блоке «Итоговые параметры» выполняется подготовка выходных данных после расчета цены. Так, в массивах data, data_priceи penalitiesдобавляются данные по итоговой прибыли и штрафу за выполненную работу. Блок-схема функции UpdateRemontпредставлена на рисунке 80. Рисунок 80. Блок-схема функции UpdateRemontТаким образом, в функции UpdateRemontинкрементируется поле myAgent. update, которое увеличивается при отправлении заказа на доработку по решению ОТК или заказчика.

2.3Основные результаты работы программы.

Вид панелей графиков приведен на рисунке 81. Рисунок 81. Панели графиков результатов.

Панель содержит следующие элементы:

гистограмма распределения прибыли от ремонта с учетом штрафов;

гистограмма распределение штрафов за ремонт;

бар, показывающий среднее время анализа заказа;

бар, показывающий среднюю длину очереди MastersQueue;бар, показывающий среднее время ремонта. Исследуем зависимость результатов моделирования в зависимости от параметра интенсивности µэкспоненциального распределения источника заявок. Результаты работы модели при µ=2 приведены на рисунке 82Рисунок 37. Результаты работы модели.

Результаты работы модели при µ =20 приведены на рисунке 83Рисунок 37. Результаты работы модели.

Из приведенных результатов видно, что они имеют динамический характер. При этом прибыль ограничена динамикой изменения тайм-аутов возвращения заказов, а также вероятными штрафами за просрочку или доработки. Увеличение интенсивности потока заявок приводит к повышению нагрузки на блоки выполнения заявок, что приводит к более высокому уровню финансовых потерь по причине штрафов.

ЗАКЛЮЧЕНИЕ

В работе реализованная имитационная модель системы массового обслуживания, описывающая процесс выполнения ремонтных услуг. Применение современных средств визуально-ориентированного программирования позволяет использовать возможности виртуальных средств регистрации и визуализации результатов.

В предложенной модели учтены процессы подачи, принятия и рассмотрения заявки на ремонт. Описана логика модели ремонтных услуг, порядка их оказания и выполнения. Сформулированы правила регламента работы над заявками на разных этапах ее жизненного цикла. Численный эксперимент показал, что на качественном уровне модель обладает устойчивым поведением. Из этого можно сформулировать вывод о ее достоверности. По ее результатам можно сделать вывод о том, что усредненные по реализациям величины на больших временных интервалах моделирования обладают регулярным поведением. При этом статистика результатов в части, качающейся их частотного распределения, во многом связана с моделями функционирования источников заявок и обработки заявок. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫМуха В. С.

Вычислительные методы и компьютерная алгебра: учеб.

метод. пособие. 2-е изд., испр. и доп. Минск: БГУИР, 2010.

— 148 с. Бочаров П. П., Печинкин А. В. Теория массового обслуживания. М.: Изд-во РУДН, 1995. — 529 с. Клейнрок Л. Теория массового обслуживания. М.: Машиностроение, 1979. — 432 сАкоф Р., Сасиени М., Основы исследования операций, М: Мир, 1971.

Боев В. Д. Моделирование в AnyLogic. Пособиедля практических занятий. СПб.: ВАС, 2016. — 412с.

Показать весь текст

Список литературы

  1. В. С. Вычислительные методы и компьютерная алгебра: учеб.-метод. пособие. 2-е изд., испр. и доп. Минск: БГУИР, 2010. — 148 с.
  2. П.П., Печинкин А. В. Теория массового обслуживания. М.: Изд-во РУДН, 1995. — 529 с.
  3. Л. Теория массового обслуживания. М.: Машиностроение, 1979. — 432 с
  4. Р., Сасиени М., Основы исследования операций, М: Мир, 1971.
  5. В.Д. Моделирование в AnyLogic.Пособиедля практических занятий. СПб.: ВАС, 2016. — 412с.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ