@page "/mva" @using Esiur.Analysis.Queueing @using Blazor.Extensions @using Blazor.Extensions.Canvas @using Blazor.Extensions.Canvas.Canvas2D @using Esiur.Analysis.Graph @using static Esiur.Analysis.Queueing.MeanValueAnalysis @inject IJSRuntime JsRuntime;

Topic 3: Mean Value Analysis

Prof. Dr. Emad Al-Hemiary - Al-Nahrain University

Topic 3: Mean Value Analysis
Customers: @foreach (var n in mva.Nodes) { } @foreach (var r in results) { } @foreach (var r in results) { } @foreach (var r in results) { }
Service Center#@(n.Label)
Mean Number of Customers L(i) @(r.MeanNumberOfCustomers.ToString("N4"))
Mean Response Time R(i)@(r.MeanResponseTime.ToString("N4"))
Throughput X(i) @(r.Throughput.ToString("N4"))
Normalization Constant @(results.Length == 0 ? 0 : results[0].NormalizationConstant.ToString("N6"))
@code { private Esiur.Analysis.Queueing.MeanValueAnalysis mva; private int customers = 1; private MVAResult[] results = new MVAResult[0]; protected override void OnInitialized() { var queues = new Queue[] { new Queue() { ServiceRate = 2, VisitRatio = 1 , Label = "1"}, new Queue() { Servers = 1 , ServiceRate = 1, VisitRatio = 0.2, Label = "2" }, new Queue(){Servers = 1, ServiceRate = 2, VisitRatio = 0.3, Label = "3" }, new Queue(){Servers = 1, ServiceRate = 4, VisitRatio = 0.5, Label = "4"}}; mva = new Esiur.Analysis.Queueing.MeanValueAnalysis(queues); base.OnInitialized(); } private void Process() { results = mva.Process(customers++); } }