Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

на тему Построение аналитической и имитационной моделей непрерывностохастической системы Вариант 7

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 20.5.2024

Министерство образования Республики Беларусь

Учреждение образования

«Белорусский государственный университет информатики и радиоэлектроники»

Кафедра программного обеспечения информационных технологий

ОТЧЁТ

по лабораторной работе №4

по курсу «Системный анализ и машинное моделирование»

на тему

«Построение аналитической и имитационной моделей непрерывно-стохастической системы»

Вариант 7

Проверил:

Мельник Н.И.

Выполнил:

студент гр. 851001

Касперович В.Л.

Минск 2011

  1.  ЦЕЛЬ РАБОТЫ

Построение аналитической и имитационных моделей непрерывно-стохастической системы и расчет параметров данной системы с использованием построенных моделей.

  1.  ИСХОДНЫЕ ДАННЫЕ К РАБОТЕ

На вход n – канальной СМО с отказами поступает поток заявок с интенсивностью  = 6 заявок в час. Среднее время обслуживания одной заявки 0.8 часа. Каждая обслуженная заявка приносит доход 4 у.е. Содержание одного канала обходится 2 у.е./час. Определить экономически целесообразное количество каналов.

  1.  РАСЧЕТ МОДЕЛИ Q-СХЕМЫ

В данном случае мы имеем дело с системой вида M/M/n с отказами. Её схема представлена на рис.1.

Рис.1. Q-схема

Процесс, происходящий в этой системе, является процессом размножения и гибели. Исходя из этого, построим диаграмму интенсивностей переходов (ДИП), показанную на рис.2.

Максимальное число заявок в системе – n (по 1 заявке в каждом из каналов), минимальное – 0.

На основании ДИП построим систему уравнений по следующему правилу: встречные потоки через сечение ДИП всегда равны между собой:

Рис.2. ДИП Q-схемы

Обозначим ;

Исходя из того, что сумма вероятностей всех состояний системы равна 1 (нормировочное уравнение), получим:т.е. формулу Эрланга.

Общее число обработанных заявок будет равно где t – период времени работы СМО, A – её абсолютная пропускная способность, n – число каналов; прибыль в таком случае составит у.е. Затраты на функционирование системы будут равны у.е.

Необходимо подсчитать экономически выгодное число каналов, т.е. найти максимум функции поскольку t=const, для задачи экстремизации эту величину можно не учитывать, т.е. максимизировать функцию . При подставленных значениях формула будет иметь вид .

Экстремизацию этой функции осуществим при помощи пакета MATLAB, выполнив следующий скрипт:

function [numchan,profit]=QScheme(inpint,proctime,chansum,oneprof,tm)

%Models effectivity of Erlang M/M/n Q-scheme.

for i=1:1:20

 A(i) = ((inpint*proctime)^i)/factorial(i);

 B(i) = oneprof*inpint*(1-A(i)*(1/(1+sum(A(1:i)))))-chansum*i;

end;

plot(B);

[C,num] = max(B);

numchan=num;

profit=C*tm;

При исходных данных, соответствующих варианту, получим: наиболее эффективное количество каналов – 6; прибыль, полученная при этом – 775 у.е.

При построении имитационной модели получено: наиболее эффективное количество каналов – 6; прибыль, полученная при этом – 850-900 у.е. (в среднем).

Исходный код имитационной модели находится в приложении А, графики зависимостей, построенные при аналитическом и имитационном моделировании соответственно, – в приложении Б.

  1.  ВЫВОДЫ

В данной работе была исследована непрерывно-стохастическая модель (Q-схема). Для нее был построена диаграмма интенсивностей переходов, на основе которой были посчитаны вероятности состояний СМО. Были посчитаны необходимые характеристики системы и сравнены с результатами, получившимися при имитационном моделировании.

ПРИЛОЖЕНИЕ А. ИСХОДНЫЙ КОД ИМИТАЦИОННОЙ МОДЕЛИ

класс MainForm (интерфейс)

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Windows.Forms;

using System.IO;

using System.Linq;

namespace SAMM_5_6

{

   public partial class MainForm : Form

   {

       public MainForm()

       {

           InitializeComponent();

       }

       private void button1_Click(object sender, EventArgs e)

       {

           StreamWriter sw = new StreamWriter("1.csv");

           double[] values = new double[20];

           chart1.Series.Clear();

           System.Windows.Forms.DataVisualization.Charting.Series DataSer_1 = new System.Windows.Forms.DataVisualization.Charting.Series();

           DataSer_1.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;

           DataSer_1.Color = Color.Red;

           DataSer_1.Name = "";

           for (int i = 1; i <= 20; i++)

           {

               QueueSystem qs = new QueueSystem(i, 100,Int32.Parse(textBox1.Text),Double.Parse(textBox2.Text),Double.Parse(textBox3.Text),Double.Parse(textBox4.Text));

               values[i - 1] = qs.Operate();

               sw.WriteLine(Convert.ToString(i) + ';' + Convert.ToString(values[i - 1]));

               DataSer_1.Points.AddXY((double)i, values[i - 1]);

           }

           sw.Close();

           double max = values.Max();

           label1.Text = "Целесообразное количество каналов: " + Convert.ToString(values.ToList().IndexOf(max) + 1);

           label2.Text = "Максимальная прибыль: " + Convert.ToString(max) + " у.е.";

           chart1.ResetAutoValues();

           chart1.Series.Add(DataSer_1);

       }

   }

}

– класс QueueSystem (моделирование СМО)

using System;

using System.Collections.Generic;

namespace SAMM_5_6

{

   class QueueSystem

   {

       private List<int> channels; //хранится время для освобождения всех каналов

       private List<int> timeDemands;

       double t, val;

       int numHours;

       Random rnd, rnd1, rnd2;

       int intens;

       double proctime, sum, demandpay, profit = 0;

       public QueueSystem(int numChannels, int _numHours, int _intens, double _proctime, double _sum, double _demandpay)

       {

           timeDemands = new List<int>();

           channels = new List<int>();

           rnd = new Random();

           rnd1 = new Random();

           rnd2 = new Random();

           for (int i = 0; i <= numChannels - 1; i++)

           {

               channels.Add(0);

           }

           numHours = _numHours;

           intens = _intens;

           proctime = _proctime;

           sum = _sum;

           demandpay = _demandpay;

       }

       private void addNewDemand()

       {

           t = (float)rnd2.Next(800) / 1000*proctime;

           val = (rnd1.Next(1000000) % 2 == 0) ? (proctime - t) : (proctime + t);

           int fr = channels.IndexOf(0);

           if (fr >= 0) //есть свободный канал

           {

               channels[fr] = (int)(val * 60);

           }

       }

       private void Minute(int order)

       {

           foreach (int k in channels)

           {

               if (k == 1) profit += demandpay;

           }

           for (int i = 0; i <= channels.Count - 1; i++)

               if (channels[i] != 0)

                   channels[i]--;

           if (timeDemands.Count != 0)

           {

               while ((timeDemands.Count>0)&&(timeDemands[0] == order))

               {

                   timeDemands.RemoveAt(0);

                   addNewDemand();

               }

           }

       }

       private void Hour()

       {

           for (int i = 0; i <= intens-1; i++)

           {

               timeDemands.Add(rnd.Next(60));

           }

           timeDemands.Sort();

           for (int j = 0; j <= 59; j++)

           {

               Minute(j);

           }

 

       }

       public double Operate()

       {

           for (int i = 0; i <= numHours - 1; i++)

           {

               Hour();

           }

           return (profit-numHours*channels.Count*sum);

       }

   }

}

ПРИЛОЖЕНИЕ Б. ГРАФИКИ ЗАВИСИМОСТЕЙ

– при аналитическом моделировании:

      

– при имитационном моделировании:




1. Кришталевий Апельсин
2. Методы, применяемые на этапе диагностики проблемы и формулирования ограничений и критериев
3. Grmmticl clsses of words differentited on the bsis of their semntic morphologicl syntctic propeties; the grmmticl ctegory or word group in lnguge to which words my be ssigned on the bsis of how t
4. Задание 1 Определить де бройлеровскую длину волны протона кинетическая энергия которого равна энергии поко
5. Анализ платежеспособности и финансовой устойчивости Енотаевского райпотребсоюза
6. один из методов экономического управления
7. Лекция 3 НАРОДНОЕ ВОСПИТАНИЕ В НАСЛЕДИИ КЛАССИКОВ ПЕДАГОГИКИ Взаимодействие народной педагогики нар
8. 1939 австрийский невропатолог психиатр психолог
9. Статья- Казнь в средневековом городе- зрелище и судебный ритуал
10. Статья- Стратегические плюсы и минусы различных видов маркетинговых каналов
11. Ввод текста осуществляется в позицию текстового курсора который в документе имеет вид мигающей вертикальн
12. Тема- Региональная политика государства 1
13. Subject coincides with subject of sciences
14. Курсовая работа- Методы и средства защиты от вибрации
15.  Вежливость представляет собой моральное качествоопределяющее обычную любезность человека в цивилизованн
16. Модуль п~ніні~ атауы- ~аза~ тілі В1 де~гей Та~ырыптар Тапсыру.
17. пелены перед глазами
18. ПИКОВОЙ ДАМЫ В ПРЕСТУПЛЕНИИ И НАКАЗАНИИ Связь двух названных произведений интересовала многих ис
19. Где я Она подняла взгляд и осмотрелась
20. На повороте жениха и его свиту встречают дядьки невесты и родственники перекрывают дорогу