КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Quered2_1.m
% Двухфазная система массового обслуживания
function queue2_1 tm=15; % время окончания функционирования системы; R=2; % число каналов первой фазы k1=0; % количество заявок в очереди первой фазы; k2=0; % количество заявок в очереди второй фазы; M1=2; % емкость первого накопителя; M2=5; % емкость второго накопителя; vvk=[]; % массив времен окончания обработки заявок; otk=0; % количество потерянных заявок; tpn1=0; % время поступления заявки в накопитель первой фазы; vpn1=[]; % массив времен поступления заявок в накопитель первой фазы; tpn2=0; % время поступления заявки в накопитель второй фазы; vpn2=[]; % массив времен поступления заявок в накопитель второй фазы; tpk1=[0,0]; % время начала обработки заявки в каналах первой фазы; tvk1=[0,0]; % время начала обработки заявки в каналах первой фазы; vvk1=[,]; % массив времен поступления заявок в каналы первой фазы; tpk2=0; % время начала обработки заявки в канале второй фазы; tvk2=0; % время окончания обработки заявки в канале второй фазы; vvk2=[]; % массив времен поступления заявок в канал второй фазы; ti=0; % время поступления заявки в систему; vti=[0]; % массив времен поступления заявок; N=1; % параметр источника m=[1,2]; % параметры каналов первой фазы m2=3; % параметр канала второй фазы z=[0,0]; % параметры, характеризующие состояние каналов z2=0; % 0-свободен, 1-занят block=0; % 0-нет блокировки каналов первой фазы, 1-есть l=[0,0]; dt=0.1; % постоянный шаг t0=dt; % начальный момент времени num=0; % количество сгенерированных заявок for t=t0:dt:tm % сначала просмотр изменений состояний в системе q2=0; if tvk2<t && z2==1 z2=0; % если канал второй фазы освободился if k2>0 % и в очереди есть заявки, p2=exprnd(m2); % то заявка из накопителя идет на обслуживание в канал tpk2=tvk2; tvk2=tpk2+p2; k2=k2-1; % количество зявок в очереди уменьшается на одну z2=1; % канал становится занят q2=1; end % vvk2=[vvk2,tvk2]; % массив времен окончания обслуживания заявок каналом второй фазы end if k2==M2 && z2==1 % если канал второй фазы занят и накопитель полон, то block=1; % устанавливается блокировка каналов первой фазы else % иначе block=0; % блокировки нет end for j=1:R if tvk1(j)<t && z(j)==1 && block==0 % если канал первой фазы освободился z(j)=0; l(j)=l(j)+1; if k2==0 && z2==0 % в накопителе второй фазы нет заявок и канал второй фазы свободен p2=exprnd(m2); % заявка из канала первой фазы tpk2=tvk1(j); % переходит в канал второй фазы tvk2=tpk2+p2; q2=1; % vvk2=[vvk2,tvk2]; z2=1; % канал второй фазы становится занят else % канал второй фазы занят или есть очередь tpn2=tvk1(j); % заявка становится в очередь k2=k2+1; vpn2=[vpn2,tpn2]; end if k2==M2 && z2==1 % если канал второй фазы занят и накопитель полон, то block=1; % устанавливается блокировка каналов первой фазы end end if z(j)==0 % если канал первой фазы свободен if k1>0 % есть очередь в накопителе первой фазы p=exprnd(m(j)); tpk1(j)=t; % заявка из накопителя идет на бслуживание в канал tvk1(j)=tpk1(j)+p; z(j)=1; % канал становится занят k1=k1-1; % число заявок в очереди уменьшается на единицу end end end % на момент времени t все состояния системы изменились, % теперь рассмотрим приход новой заявки if q2==1 vvk2=[vvk2,tvk2]; end ql=0; if ti<t % источник сгенерировал заявку q=exprnd(N); ti=ti+q; vti=[vti,ti]; num=num+1; for j=1:R if z(j)==0 && ql==0 % если канал первой фазы свободен и заявка еще не ушла на обслуживание p=exprnd(m(j)); % заявка идет на обслуживание в канал tpk1(j)=ti-q; tvk1(j)=tpk1(j)+p; z(j)=1; ql=1; end end if k1<M1 && ql==0 % если в очереди есть место и заявка еще не обслуживается tpn1=ti-q; k1=k1+1; vpn1=[vpn1,tpn2]; else if k1==M1 && ql==0 % все каналы первой фазы заняты и мест в очереди нет otk=otk+1; % потеря заявки end end end sol=[t,ti,tvk1(1),z(1),tvk1(2),z(2),k1,otk,tvk2,z2,k2,block] end vvk2 n=size(find(vti<tm),2); % количество поступивших заявок; n1=size(find(vvk2<tm),2); % количество обслуженных заявок на выходе из системы; disp(' n k1 k2 otk K1 K2 K3 1 2 3') sol1=[n,k1,k2,otk,l(1),l(2),n1,z(1),z(2),z2] По аналогии с алгоритмом моделирования системы на языке MATLAB строится SF-диаграмма данной СМО. ЗАКЛЮЧЕНИЕ В представленном учебном пособии рассмотрены различные типы поведения динамических систем и типовые математические схемы, используемые для построения математических моделей их функционирования. Основное внимание уделено вопросам разработки имитационных моделей систем с дискретным состоянием. В качестве программных средств использовались средства и возможности универсальной программной системы MATLAB и, главным образом, ее инструментария для визуального программирования и моделирования систем SIMULINK и STATEFLOW. Для каждого из классов математических схем средствами SIMULINK-STATEFLOW на примерах демонстрируется построение имитационных моделей, приводятся блок- схемы моделей систем и результаты моделирования. Для отдельных примеров рассмотрена программная реализация моделей на языке MATLAB.
ЛИТЕРАТУРА 1. Афанасьев В.Н., Колмановский В.Б., Носов В.Р. Математическая теория конструирования систем управления.– М.: Высш. шк., 1989. 2. Бусленко Н.П. Моделирование сложных систем.– М.: Наука, 1968. 3. Гультяев А. Визуальное моделирование в среде MATLAB. Учебный курс.– СПб.: Питер, 2000. 4. Дьяконов В. MATLAB 6. Учебный курс.– СПб.: Питер, 2001. 5. Дьяконов В. SIMULINK 4. Специальный справочник.– СПб.: Питер, 2002. 6. Советов Б.Я., Яковлев С.А. Моделирование систем.– М.: Высш. шк., 1985. 7. Вентцель Е.С. Исследование операций.– М.: Советское радио, 1972. 8. Труб И.И. Объектно-ориентированное моделирование на С++. Учебный курс.– СПб.: Питер, 2006. 9. Сирота А.А., Компьютерное моделирование и оценка эффективности сложных систем. – М.: Техносфера, 2006.
Дата добавления: 2014-12-27; Просмотров: 504; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |