I am trying to find the optimal routing probabilities in a Maple procedure where the Mean Value Analysis is used to compute the queueing values. The Maple code is below. It first tries to compute the visit ratios where the probability routing values are the decision variables. There is one specified constraint on the sum of the probability decision variables.

restart;

interface(warnlevel=0): interface(displayprecision = 4): with( plots ):

with(linalg):with( Optimization ); with(Student[NumericalAnalysis]):

[ImportMPS, Interactive, LPSolve, LSSolve, Maximize, Minimize,

NLPSolve, QPSolve]

f:=proc(x1,x2,x3)

global T,lambda,nq,u;

local i,j,pop,Sum;

n:=3;N:=2;M:=3;

#

# Gauss-Seidel iterations

#

A:=Matrix([[1,-x1,-x2],[0,1,-x3],[0,0,1]]);

b:= Vector([1,0,0]);

v := IterativeApproximate(LinearAlgebra:-Transpose(A), b, initialapprox = Vector([1, 3/4, 3/4]), tolerance = 10^(-3), maxiterations = 20, stoppingcriterion = relative(infinity), method = gaussseidel);

mu:=array(1..n,[2.0,1.0,1.0]);

nq:=array(1..M,[0,0,0]);# must initialize queue lengths

for i from 1 to N do

pop:=i;

for j from 1 to M do # mean waiting times

T[j]:=t[j]*(1 + nq[j]) od;

Sum := 0.0;

for j from 1 to M do # mean cycle time

Sum := Sum + v[j]*T[j] od;

for j from 1 to M do #compute the throughputs

lambda[j] := (v[j]*pop)/Sum od;

for j from 1 to M do #compute the queue lengths

nq[j]:= lambda[j]*T[j] od;

for j from 1 to M do #compute the utilizations

u[j]:= lambda[j]*t[j] od;

od;

RETURN(lambda[1]);

end proc;

proc(x1, x2, x3) ... end;

sol := Optimization:-NLPSolve(f, {}, {proc (x1, x2, x3) options operator, arrow; x1+x2+x3-5/3 end proc}, 0 .. 1, 0 .. 1, 0 .. 1, initialpoint = [.75, .25, .6667], assume = nonnegative); 1;

Error, (in Optimization:-NLPSolve) non-numeric result encountered

I am not sure why I get the error message