Визначення оптимального розподілу робітників служби таксі для максимального збільшення прибутку

Автор: Пользователь скрыл имя, 20 Ноября 2012 в 17:20, курсовая работа

Описание работы

При дослідженні систем основоположними поняттями є система і модель. Система являє собою сукупність об'єктів разом з відносинами між ними і їх атрибутами. Під об'єктами ми розуміємо частини або компоненти, якими можуть бути підсистеми або елементи. Атрибути це властивості об'єктів. Відношення задають певний закон взаємодії об'єктів. Науковою основою моделювання є теорія подібності, в якій основну роль відіграє метод аналогій, тобто схожості об'єктів по якихось ознаках. Подібні об'єкти називаються аналогами. Метод аналогій дає можливість встановити співвідношення еквівалентності.

Содержание

1 АНАЛІЗ МОЖЛИВИХ МЕТОДІВ ВИРІШЕННЯ ПОСТАВЛЕНОЇ ЗАДАЧІ 7
2 РОЗРОБКА КОНЦЕПТУАЛЬНОЇ МОДЕЛІ 10
2.1 ВИЗНАЧЕННЯ СТРУКТУРИ МОДЕЛІ 10
2.2 ВХІДНІ И ВИХІДНІ ЗМІННІ 11
2.3 ПАРАМЕТРИ МОДЕЛІ 11
2.4 ФУНКЦІОНАЛЬНІ ЗАЛЕЖНОСТІ, ЩО ОПИСУЮТЬ ПОВЕДІНКУ ЗМІННИХ І ПАРАМЕТРІВ 11
2.5 ОБМЕЖЕННЯ НА ЗМІНУ ВЕЛИЧИН 11
2.6 ЦІЛЬОВА ФУНКЦІЯ СИСТЕМИ 12
3 ВИБІР МОВИ МОДЕЛЮВАННЯ 13
3.1 ЗАСОБИ ГЕНЕРАЦІЇ ВИПАДКОВИХ ЧИСЕЛ 13
3.2 СБІР СТАТИСТИКИ 13
3.3 ВІДЛАДКА ПРОГРАМИ 14
3.4 НАЯВНІСТЬ ЗАСОБІВ СТВОРЕННЯ ПРОГРАМ 14
3.5 МОЖЛИВІСТЬ РЕДАГУВАННЯ МОДЕЛІ 15
4 РОЗРОБКА ІМІТАЦІЙНОЇ МОДЕЛІ І ОПИС ЇЇ ФУНКЦІОНУВАННЯ 16
4.1 СТРУКТУРНА СХЕМА ІМІТАЦІЙНОЇ МОДЕЛІ 16
4.2 ОПИС ІМІТАЦІЙНОЇ МОДЕЛІ 18
4.2 ОПИС ПРОГРАМНОЇ РЕАЛІЗАЦІЇ ІМІТАЦІЙНОЇ МОДЕЛІ 18

Работа содержит 1 файл

Курсовая - 13 вариант.docx

— 89.13 Кб (Скачать)

2.5 Обмеження на зміну величин

Згідно умови N1+N2 має бути величина стала. Оскільки ми оперуємо величинами багатоканальних пристроїв то N1≥1 і N1≥1. Отже маємо таку систему нерівностей:

2.6 Цільова функція системи

Розв’язком задачі є якнайбільше збільшення доходу. Виклик таксі коштує 3 руб і проїзд 1 км коштує 60 коп. Але також заробітна платня кожного робітника 14 руб. Тож цільова функція буде мати такий вид:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 ВИБІР МОВИ  МОДЕЛЮВАННЯ

В якості мови моделювання була обрана мова GPSS\World Plus, на якій можна розробити імітаційне моделювання складних дискретних систем

Мова GPSS – мова декларативного типу, побудована по принципу об’єктно-орієнтованої мови. Основними елементами цієї мови є транзакти і блоки, які відображають, відповідно, динамічні і статичні об’єкти змодельованої системи.

Вона була вибрана за наступних міркувань:

      1. є добре написане керівництво для користувачів (див. Літературу);
      2. транслятор забезпечує хорошу діагностику помилок;
      3. мова знайома нам з інших робіт по моделюванню;
      4. транслятор забезпечує зручне виведення зібраної статистики та результатів.

Імітаційне  моделювання забезпечує можливість випробувань, оцінки і проведення експериментів  з припущенною системою без будь-яких безпосередніх впливів на неї. При  імітаційному моделюванні виконується експеримент з програмою, яка є моделлю системи.

3.1 Засоби генерації випадкових чисел

В процесі  моделювання інтерпретатор GPSS\World Plus автоматично реєструє і корегує інформацію, що відноситься до різних елементів, які використовуються в моделі. Більша частина інформації доступна тільки інтерпретатору. Але до деяких атрибутів об’єктів може звертатися і програміст.

До них  відноситься і числовий атрибут RNj – число, підраховане j-м датчиком випадкових чисел. Всі датчики генерують послідовність рівномірно розподілених випадкових чисел. Це ціле число змінюється від 0 до 999 включно, крім двух випадків:в якості аргументу функції або елемента змінної. В цих випадках RNj буде змінюватись від 0 до 0.999999.

3.2 Сбір статистики

Інтерпретатор GPSS\Word Plus автоматично збирає стандартну статистику по кожному типу об’єктів, зайнятих в моделі, в залежності від того, які об’єкти і як використовуються в моделі, користувач має можливість отримувати додаткову статистику, як в процесі обрахунку моделі, так і по завершенню обрахунку.

Також мова GPSS\Word Plus статистично обробляє данні – знаходить середнє значення змінної, будує для неї 95% ймовірнісний інтервал, визначає рівень впливу параметра на вихідну величину моделі. Варто зазначити, що GPSS не гарантує надійність отриманих оцінок. Про це має потурбуватися користувач.

Для імітаційних стохастичних моделей, працюючих в перехідному режимі, необхідно провести декілька прогонів моделі, кожен з яких має відрізнятися своєю послідовністю псевдовипадкових чисел

3.3 Відладка програми

В мові GPSS\Word Plus для трасування використовують два безоперндних блока TRACE(ввімкнути трасування) і UNTRACE(вимкнути трасування). Цих блоків може бути декілька в моделі. Видаються траси проходження транзактів, тим самим можно подивитись рух транзактів по блокам. За допомогою кнопки STEP можна по крокам рухати транзакти по моделі.

Не варто запускати модель на тривалий час моделювання для  більшого числа транзактів. Якщо в моделі є неузгоджені умови по швидкості входу транзактів в блок и швидкості їх обслуговування в цьому блоці, то будуть виникати нескінченні черги.

3.4 Наявність засобів створення програм

За допомогою  програми GPSS легко можна редагувати модель. Наприклад за допомогою вставки  блоків, яку можна виконати наступним  чином: Edit->Insert Blocks, отримаємо можливість вставити будь-який із існуючих у мові блоків (див. рис. 4.5.1).

Рисунок 4.5.1 – Блоки мови GPSS

 

 

3.5 Можливість редагування моделі

У мові GPSS простий  інтерфейс та саме розуміння її засобів. Тобто, програміст може легко редагувати та перетворювати модель в залежності від необхідних йому результатів  та даних.

 

 

4 РОЗРОБКА ІМІТАЦІЙНОЇ МОДЕЛІ І ОПИС ЇЇ ФУНКЦІОНУВАННЯ

4.1 Структурна схема імітаційної  моделі


 






 










 










 

 





 


 



 


 


 



 






 

4.2 Опис імітаційної моделі

В нашій моделі транзакти імітують клієнтів, які телефонують в службу таксі. Поява клієнтів забезпечується блоками GENERATE та SPLIT. Після появи нового клієнт, він деякий час набирає номер служби – це забезпечує блок ADVANCE. Якщо лінія не зайнята і черга перед таксі не перевищує кількість наявних служби машин (ці умови перевіряє блок TEST), то клієнт з’єднується з оператором і залишає своє замовлення. Це забезпечують блоки ENTER та ADVANCE. Після чого, якщо немає вільних машин, клієнт стає в чергу, звільняючи оператора,за допомогою блоку LEAVE, для прийому наступних замовлень. Коли з’являється вільна машина, вона починає обслуговувати наступного клієнта. Спочатку  вона прямує до місця виклику, після чого відвозить клієнта за замовленням.

Після обслуговування транзакт клієнта поступає на блок TERMINATE.

Розглянемо випадок, коли лінія була зайнята, чи черга занадто  велика. В цьому випадку клієнт чекає 50 секунд, після чого повторює виклик. Якщо після 12 викликів клієнт так  і залишився не обслуженим, транзакт поступає на блок TERMINATE.

       Таблиця 4.1 Таблиця визначення моделі

 

Елементи GPSS

Трактування

                                Транзакти:

блок GENERATE

Допоміжний  транзакт

блок SPLIT

Надходження клієнтів

                                Пристрої:

telephon

Оператори служби таксі

taxes

Водії таксі

                                Використані параметри транзактів:

wt

кількість викликів клієнтом

sp

швидкість руху автомобіля

rd

шлях проїзду до клієнта

tm

час обслуговування клієнта

                                Змінні:

summ

прибуток за добу

                                Функції:

xpdis

експоненційний розподіл

speed

швидкість руху автомобіля

time

час обслуговування клієнта

road

шлях проїзду до клієнта


 

Одиниця модельного часу – 1 секунда

4.2 Опис програмної реалізації  імітаційної моделі

telephon storage 4  ;БКП телефонних операторів

taxes storage 12  ;БКП водіїв таксі

 

xpdis FUNCTION RN1,C24  ;експоненційний розподіл

0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2

.75,1.38/.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81

.95,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2

.999,7/.9998,8

 

speed FUNCTION RN2,C2 ;функція розподілу швидкості руху автомобіля

0,30/1,61

 

time FUNCTION RN3,C2 ;функція розподілу часу обслуговування клієнта

0,36/1,51

 

road FUNCTION RN4,C6 ;функція розподілу шляху проїзду до клієнта

0,5/0.1,8/.3,9/.55,11/.72,12/.95,20

 

AllTime TABLE  (MP1/60),0,5,50 ;таблиця повного часу обслуговування клієнта

 

GENERATE  ,,,1  ;генерація допоміжного транзакту

SAVEVALUE summ,0  ;Обнуління змінної

clients  ADVANCE  75,fn$xpdis  ;розподіл Ерланга 2го порядку

ADVANCE  75,fn$xpdis

SPLIT  1,clients ;копіювання транзакту для надходження наступних клієнтів

ASSIGN  wt,1

 

caled ADVANCE  25   ;набор номеру

 

TEST NE  R$telephon,0,repeat  ;чи вільна лінія?

TEST L  Q$service,(R$taxes+S$taxes),repeat ;чи не завелика черга?

MARK 1  ;почати відлік часу обслуговування

ENTER telephon  ;початок обслуговування оператором

ADVANCE  120  ;час прийому заявки

LEAVE telephon  ;завершення прийому заявки

TRANSFER  ,serv  ;направлення на обслуговування

 

repeat  TEST NE P$wt,12,term  ;клієнт ще не зробив 12 викликів? 

ASSIGN  wt+,1  ;збільшуємо лічильник викликів на 1 

ADVANCE  50  ;час очікування клієнтом

TRANSFER  ,caled  ;направлення на повторний виклик

 

serv QUEUE  service  ;черга на обслуговування таксі

ENTER  taxes  ;обслуговування таксі

DEPART  service  

ASSIGN  sp+,(fn$speed) ;розрахунок швидкості руху автомобіля

ASSIGN  rd+,(fn$road)  ;розрахунок шляху проїзду до клієнта

ASSIGN  tm+,((fn$time)#60) ;розрахунок часу обслуговування клієнта

ADVANCE  (P$rd/P$sp#3600)  ;час проїду до клієнта

ADVANCE  P$tm  ;час обслуговування клієнта

ASSIGN  paid,(300+P$tm#P$sp/60) ;оплата за обслуговування

LEAVE  taxes  ;звільнити таксі

 

SAVEVALUE summ+,(P$paid/100) ;підсумування добового заробітку

 

TABULATE AllTime ;Вивід повного часу обслуговування клієнта в таблицю

 

term TERMINATE   ;знищення транзактів

 

GENERATE (60#60#24)  ;час генерації - доба

SAVEVALUE summ-,(14#(S$telephon+R$telephon+S$taxes+R$taxes)) ;вирахування з добового заробітку зарплат робітникам 

TERMINATE 1     

START 1

 


Информация о работе Визначення оптимального розподілу робітників служби таксі для максимального збільшення прибутку