@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:
Service Center |
@foreach (var n in mva.Nodes)
{
#@(n.Label) |
}
Mean Number of Customers L(i) |
@foreach (var r in results)
{
@(r.MeanNumberOfCustomers.ToString("N4"))
|
}
Mean Response Time R(i) |
@foreach (var r in results)
{
@(r.MeanResponseTime.ToString("N4")) |
}
Throughput X(i) |
@foreach (var r in results)
{
@(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++);
}
}