Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Can you please help me to get the MMCQ Multiserver Finite queuing validation all pass for the call center ? here is the requirements:Key Performance

Can you please help me to get the MMCQ Multiserver Finite queuing validation all pass for the call center ? here is the requirements:Key Performance Parameters
1. The call center shall be able to handle on average at least 2 calls per minute.
2. The call center shall maintain a customer satisfaction score of greater than 5
3. A customer shall have no more than a 1% chance of the hold lines being full.
4. A customer shall have no more than a 1 min average hold time.
5. The call center shall have an availability greater than 0.999
6. The call center shall average maintenance cost per call shall be less than $% Part 1: Define parameters
c =2; % Number of servers
lambda =2; % Average Arrival Rate per minute
mu =0.1; % Service rate
Nwait =15; % Number of waiting customers
% Part 2: Call the MMCQ function and retrieve results
[Ws, Wq, c_util, p_drop, p_state]= MMCQ(1,0.5,4,5);
% Part 3: Define a relative error function
rel_error = @(x, y) abs(x - y)/ y;
% Part 4: Validate and print results
fprintf("Ws: %6.3f
", Ws);
fprintf("Wq: %6.3f
", Wq);
fprintf("c_util: %6.3f
", c_util);
fprintf("p_drop: %8.5f
", p_drop);
fprintf("State Probabilities: ");
for i =1:Nwait +1
i=0:1:10;
fprintf("p_state(%d): %f,", i, p_state(i));
end
fprintf("
");
% Part 5: Validate and print "PASS" or "FAIL" for each metric
if rel_error(Ws,2.1557)<0.005
fprintf("Ws %6.3f PASS
", Ws);
else
fprintf("Ws %6.3f FAIL
", Ws);
end
if rel_error(Wq,0.1557)<0.005
fprintf("Wq=%6.3f PASS
", Wq);
else
fprintf("Wq=%6.3f FAIL
", Wq);
end
if rel_error(cutil,0.4986)<0.005
fprintf("c_util %6.3f PASS
", cutil);
else
fprintf("c_util %6.3f FAIL
", cutil);
end
if rel_error(p_drop, 0.00272)<0.005
fprintf("p_drop =%8.5f PASS
", p_drop);
else
fprintf("p_drop =%8.5f FAIL
", p_drop);
end
% Part 6: Corrected p_state initialization
p_state =[-0.010609,-0.021217,-0.021217,-0.014145,-0.0070725,-0.05658,0.0,0.0,0.0,0.01];
% Part 7: Check if the sum of probabilities is close to 1
if abs(sum(p_state)-1)<1e-5
disp("The probabilities sum to 1. Test PASSED.");
else
disp("The probabilities do not sum to 1. Test FAILED.");
end
% Part 8: Assuming 10 states
num_states =15;
fprintf("The probability of being in state %d is %f.
", Nwait, p_state(Nwait +1));
disp("Extra Tests PASSED.");function [Ws, Wq, c_util, p_drop, p_state]= MMCQ(lambda, mu, c, Nwait)
% Calculate the utilization factor
rho = lambda / mu;
% c_bar = rho *(1+(c * rho)^(c -1)/ factorial(c -1)/(1- rho)^2); % Fix c_bar calculation
% Calculate p0(probability of no customers in the system)
p0_denom = sum((c * rho).^(0:(c -1))/ factorial(0:(c -1)))+(c * rho)^c / factorial(c)/(1- rho); % Fix p0_denom calculation
p0=1/ p0_denom;
p_state = zeros(1, Nwait +1);
p_state(1)= p0;
% Calculate pN (probability of having N customers in the system)
for i =1:Nwait
if i <= c
p_state(i +1)=(rho^i / factorial(i))* p0;
else
p_state(i +1)=(rho^i / factorial(c)*(c^(i - c)))* p0; % Fix the p_state calculation
end
end
% Calculate lambda_loss and lambda_eff
lambda_loss = lambda * p_state(Nwait +1);
lambda_eff = lambda - lambda_loss;
% Calculate Lq (average number of customers in the queue)
Lq = sum((0:Nwait).* p_state);
% Calculate Ls (average number of customers in the system)
Ls = Lq + lambda_eff / mu;
% Calculate the utilization
c_bar = Ls - Lq;
c_util = c_bar / c;
% Calculate p_drop (probability of a customer being dropped)
p_drop = p_state(Nwait +1);
% Calculate Ws and Wq
Ws = Ls / lambda_eff;
Wq = Lq / lambda_eff;
end

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions