<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=382933&amp;view=findpost&amp;p=3368207</guid>
        <pubDate>Thu, 24 Oct 2013 03:50:59 +0000</pubDate>
        <title>gpss Смоделировать работу парикмахерской с тремя креслами</title>
        <link>https://forum.sources.ru/index.php?showtopic=382933&amp;view=findpost&amp;p=3368207</link>
        <description><![CDATA[geka-geka: В итоге получилось так.<br><br><br>SIMULATE<br><br> ZATR FUNCTION RN6,D6<br> 0.1, 500000 / 0.3, 520000 / 0.5, 540000 / 0.7, 560000 / 0.9, 580000 / 1, 600000 ;дискретное распределение<br><br> KRES STORAGE 3 ;память KRES имеет емкость 3 ед.<br><br> *<br> * 1-й сегмент<br> *<br> GENERATE (EXPONENTIAL(1,0,25)) ;транзакт по экспоненциальному закону<br> QUEUE 1 ;входит в очередь<br> ENTER KRES ;занять одно кресло<br> DEPART 1 ;выход из очереди <br> ADVANCE 30,10 ;стрижка<br> LEAVE KRES ;освободить одно кресло<br> SUM1 VARIABLE DUNIFORM(1,800,100)<br> ADVANCE 2,1 ;расчет с кассой<br> SAVEVALUE DOHOD1+,SUM1<br><br> TERMINATE<br><br> *<br> * 2-й сегмент<br> *<br> GENERATE (EXPONENTIAL(1,0,60)) ;транзакт по экспоненциальному закону<br> QUEUE 1 ;входит в очередь<br> ENTER KRES ;занять одно кресло<br> DEPART 1 ;выход из очереди <br> ADVANCE 30,10 ;стрижка<br> ADVANCE 75,15 ;окраска<br> LEAVE KRES ;освободить одно кресло<br> SUM1 VARIABLE DUNIFORM(1,800,100)<br> SUM2 VARIABLE DUNIFORM(1,1000,200)<br> ADVANCE 2,1 ;расчет с кассой<br> SAVEVALUE DOHOD2+,(SUM1+SUM2)<br> SAVEVALUE RASHOD,FN&#036;ZATR ;вычисляем расходы составили<br> SAVEVALUE BALANSE,(X&#036;DOHOD1 + X&#036;DOHOD2 - X&#036;RASHOD) ;вычисляем баланс <br><br> TERMINATE<br> *<br> *3-й сегмент<br> *<br><br> GENERATE (30#10#60)<br> TERMINATE 1<br><br> *<br> *команды управления<br> *<br><br> START 1<br><br><br><br> SAVEVALUE RETRY VALUE<br> DOHOD1 0 6581316.000 <br> DOHOD2 0 5761440.000 <br> RASHOD 0 500000.000 <br> BALANSE 0 11822752.000]]></description>
        <author>geka-geka</author>
        <category>GPSS</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=382933&amp;view=findpost&amp;p=3367908</guid>
        <pubDate>Wed, 23 Oct 2013 09:21:44 +0000</pubDate>
        <title>gpss Смоделировать работу парикмахерской с тремя креслами</title>
        <link>https://forum.sources.ru/index.php?showtopic=382933&amp;view=findpost&amp;p=3367908</link>
        <description><![CDATA[geka-geka: Смоделировать работу парикмахерской с тремя креслами и кассой. <br>Поток клиентов – экспоненциальный со средним временем 25 минут. Стрижка занимает 30±10 минут, расчет с кассой 2±1 минуты, стрижка стоит 800±100 рублей.<br>В среднем каждый час (экспоненциальный закон) приходит клиент на стрижку и окраску волос, окраска волос занимает 60-90 минут. Временные параметры записать в параметры транзакта. Стоимость окраски составляет 1000±200 рублей<br>Рассчитать баланс парикмахерской за месяц, если месячные платежи на содержание парикмахерской (аренда, коммунальные платежи, зарплата сотрудников, материалы) составляет от 500 до 600 тысяч рублей в месяц (задать дискретной случайной функцией с шагом 20 тыс.) <br>Парикмахерская работает 10 часов в день без выходных. Смоделировать 30 дней работы.<br><br><br>Рассуждение.<br>2 потока. 1-й те, кто стригутся. 2-й те, кто сригутся и красятся. Мнококанальное устройство, 3 парикмахера. Очередь общая. Отказов нет. Идет доход от транзактов 1-го и 2-го потоков после их обслуживания. Расходы по окончании месяца в виде дискретной функции.<br><br>пишу такой код<br><br>SIMULATE<br><br>ZATR	FUNCTION	RN6,D6<br>0.1, 500000 / 0.3, 520000 / 0.5, 540000 / 0.7, 560000 / 0.9, 580000 / 1, 600000<br><br>KRES	STORAGE	3		;память KRES имеет емкость 3 ед.<br><br>*<br>* 1-й сегмент<br>*<br>GENERATE		 (EXPONENTIAL(1,0,25))	;транзакт по экспоненциальному закону<br>QUEUE		1		;входит в очередь<br>ENTER		KRES		;занять канал в памяти KRES одно место<br>DEPART		1		;выход из очереди  <br>ADVANCE		30,10		;стрижка<br>LEAVE	 	KRES		;освободить канал в памяти KRES одно место	<br>ADVANCE		2,1		;расчет с кассой<br>SUM1		VARIABLE	DUNIFORM(1,800,100)<br>SAVEVALUE		DOHOD1+,SUM1<br><br>	 <br>TERMINATE<br><br><br>*<br>* 2-й сегмент<br>*<br>GENERATE		 (EXPONENTIAL(1,0,60))	;транзакт по экспоненциальному закону<br>QUEUE		1		;входит в очередь<br>ENTER		KRES		;занять канал в памяти KRES одно место<br>DEPART		1		;выход из очереди  <br>ADVANCE		30,10		;стрижка<br>ADVANCE		75,15		;окраска<br>LEAVE	 	KRES		;освободить канал в памяти KRES одно место	<br>ADVANCE		2,1		;расчет с кассой<br>SUM1		VARIABLE	DUNIFORM(1,800,100)<br>SUM2		VARIABLE	DUNIFORM(1,1000,200)<br>SAVEVALUE		DOHOD2+,(SUM1+SUM2)<br><br>RASHOD	VARIABLE	ZATR<br>SAVEVALUE		RASH,RASHOD		;вычисляем расходы составили<br>BALANS	VARIABLE	DOHOD1 + DOHOD2 - RASH	;вычисляем баланс<br>SAVEVALUE		BAL,BALANS<br><br><br>TERMINATE<br><br>*<br>*3-й сегмент<br>*<br><br>GENERATE		30#10#60<br>TERMINATE		1<br><br>*<br>*команды управления<br>*<br><br>START 		1<br><br><br><br>Ожидал, что в переменную RASHOD запишется одно из значений функции ZATR (500000,520000,540000,560000,580000,600000), а так оказалось 10004.000. Как сделать правильно баланс?]]></description>
        <author>geka-geka</author>
        <category>GPSS</category>
      </item>
	
      </channel>
      </rss>
	