47647 (608329), страница 2
Текст из файла (страница 2)
mas_z: array of zaeavka;
ochered: integer; // кол-во в очериде
max_l_och: integer; // max длина очереди
name: string;
t_ozhed: real;
ind: integer;
prior: boolean;
end;
Для программного представления аппарата обслуживания - процедура используется следующая запись
type
obsluzh_p=record
mas_ochered: array of ocher;
name: string;
bul: boolean; // занят, свободен
obsl: integer; // кол-во обслуженных
poter: integer; // кол-во потерян заявок
t_obsl_min: real; // время обслуживания
t_obsl_max: real; // время обслуживания
t_prostoy: real; // время простоя
z_obsl: zaeavka;
end;
Для программного представления аппарата обслуживания -койка используется следующая запись
type
obsluzh_k=record
mas_ocher: array of ocher;
bul_k: boolean; // занят, свободен
poter_k: integer; // кол-во потерян заявок
obsl: integer; // кол-во обслуженных
t_prostoy: real; // время простоя
z_obsl: zaeavka;
n_koyki: integer;
end;
Компонент Series1, Series2 служат для построения графиков, характеризующих состояние системы на текущей момент по:
Количеству обслуженных заявок
Количеству потерянных заявок
Времени простоя
Состоянию (занят (1), свободен (0))
Эффективность работы ( (общее время - время порстоя) / общее время).
Ниже приведены глобальные переменные, используемые в программе.
vpz: array of vpotok_z;
koyki: array of obsluzh_k;
proz: array of obsluzh_p;
i,j,k,l,n,m: integer;
s,d,f: string;
p3: real;
k_p,k_o,k_k: integer;
t_1z: real;
kol_koek: integer; // количество коек
t_mod: real; // время моделирования
t_tek: real; // текущее (сколько прошло с момента начала моделирования)
t: real;
indeks: integer;
t_ozhed_v_SMO: real;
file_: file of real;
sfilename: string='';
ind_n: integer;
В программе используются процедуры и функции, которые написаны для удобства работы и понимания программы:
procedure TForm1. Button1Click (Sender: TObject) - процедура добавляющая в систему потоки входных заявок с соответствующими свойствами
procedure TForm1. Button3Click (Sender: TObject) - процедура добавляющая в систему аппарата обслуживания - процедура с соответствующими свойствами
procedure TForm1. SpeedButton1Click (Sender: TObject) - процедура, предназначенная для считывания всех заданных пользователем начальных параметров и запуска таймера
procedure tform1. otchet - процедура создания отчета по результатам моделирования
procedure TForm1. Timer1Timer (Sender: TObject) - процедура моделирования
procedure TForm1. N3Click (Sender: TObject) - процедура сохранения установленных параметров системы
procedure TForm1. N2Click (Sender: TObject) - процедура открытия ранее сохраненных параметров системы
procedure TForm1. N4Click (Sender: TObject) - процедура сохранения отчета с результатами моделирования
procedure TForm1. N15Click (Sender: TObject) - процедура временной остановки моделирования
procedure TForm1. N17Click (Sender: TObject) - процедура очистки текстовых полей
procedure TForm1. TabSet1MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer) - процедура перерисовки графиков для коек
procedure TForm1. TabSet2MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer) - процедура перерисовки графиков для процедур.
Работа всех этих функций и процедур описана в приложении курсового проекта.
5. Руководство пользователя
Исполняемый файл программы, SMO. exe, рекомендуется скопировать в директорию c: \SMO, и создать ярлык программы на рабочем столе.
При запуске программы на несколько секунд появляется окно приветствия изображенное на рисунке 1, после чего оно закрывается и открывается главное окно, состоящее из трех вкладок, первая из них представленное на рисунке 2.
Рисунок 1. Окно приветствия.
Рисунок 2. Главное окно программы, вкладка "начальные параметры СМО".
В верхней половине окна расположены панели для ввода основных параметров работы системы:
Потоков входных заявок
Обслуживающих устройств - процедур
Очередей
После добавления необходимого количества потоков входных заявок, можно произвести настройку параметров каждого из них. При щелчке мышью на соответствующем имени потока появляется окно свойств представленное на рисунке 3.
Рисунок 3. Окно установки свойств потока входных заявок
В данном окне можно установить наименование потока, количество заявок, поступивших за какой - либо промежуток времени, указанный в минутах или часах, и статус заявки, т е простые или приоритетные заявки будет генерировать данный поток.
После добавления необходимого количества обслуживающих устройств - процедур, можно произвести настройку параметров каждого из них. При щелчке мышью на соответствующем имени устройства появляется окно свойств представленное на рисунке 4.
Рисунок 4. Окно установки свойств обслуживающего устройства
В данном окне можно установить наименование, максимальную и минимальную длительность обслуживания заявки в минутах.
При добавлении количества входных потоков заявок автоматически генерируется количество очередей (максимальное их количество 2, для приоритетных и обычных заявок). Для каждой очереди можно произвести настройку параметров. При щелчке мышью на соответствующем имени потока появляется окно свойств представленное на рисунке 5.
Рисунок 5. Окно установки свойств очереди
В данном окне можно установить наименование и максимальную длину очереди.
В нижней половине окна можно настроить:
время моделирования (в годах, неделя, часах или минутах)
время пребывания заявки в системе (в минутах или часах), по истеканию которого заявка покидает систему, не зависимо от того, где она в данный момент находилась
количество койко-мест
рабочие часу (установка которых требуется, когда время моделирования измеряется в неделях или годах), если данные параметры не были установлены, то при необходимости программа их запросит
Также в нижнем левом углу представлено текстовое поле в котором отображается текущее время моделирования.
По нажатию на кнопку "начать моделирование", из текстовых полей считываются все введенные параметра и процесс моделирования начинается.
По нажатию на кнопку "остановить", процесс моделирования временно останавливается.
После начала моделирования на вкладке "Статистика" (Рисунок 6), отображаются данные по текущему состоянию системы.
Рисунок 6. Вкладка "Статистика"
В нижней части окна находится область, характеризующая в процентах время, прошедшее с момента начала моделирования. Графики по койкам и процедурам соответственно отражают информацию по:
количеству обслуженных заявок на каждой койке и процедуре
количеству потерянных заявок на каждой койке и процедуре
время простоя
состояние (свободна 1, занята 0)
эффективность работы
После окончания моделирования выдается сообщение "моделирование закончено" и генерируется отчет, который отображается на вкладке "отчет", который представлен на рисунке 7.
Рисунок 7. Вкладка "Отчет"
В результате расчета коэффициента эффективности 100* (время моделирование - время простоя) /время моделирования по окончанию работы программы, все койки, у которых он меньше 50 рекомендуется удалить для более эффективной работы системы.
В верхней части окна имеется строка меню состоящая из:
Меню файл
открытие ранее сохраненного проекта
сохранение текущего проекта в файл
сохранение отчета по результатам моделирования
выход из программы
Меню правка
очищение таблиц с данными по моделированию
очищение текстовых полей вкладки 1
Меню моделирование
инициирование начала моделирования
остановка моделирования
продолжение моделирования
Меню результаты
вывод результатов в виде таблицы
вывод результатов в виде графика
вывод результатов в смешенном виде (1 и 2)
Меню помощь
вызов справки. Открывается файл SO.html, в котором представлена справка по данной программе
Заключение
В результате работы была разработана упрощенная модель медицинского учреждения - стационар. В модель можно ввести реальные данные, такие как количество мест в стационаре, максимальное время обслуживания в отделении стационара и так далее.
По результатам многократного моделирования с различным числом койко-мест, можно провести статистическое исследование, с целью выявления наиболее оптимальных параметров построения и функционирования стационара
Моделирование предоставляет большие возможности для анализа и проигрывания различных ситуаций в системах массового обслуживания.













