N = 
y = @(x) (1.002)-((1-exp(-0.00003*x))./(0.00003*(x+1.5)+(0.00063*(1-exp(-0.00003*x)))));
fplot(y, [-2, 10])
fplot(y, [-1.5 -1.498])
fplot(y, [5 1000])
syms x
[N,D] = numden(y(x))
vpasolve(D)
So near -1.49906 is indeed a minimum, since it is a critical point of the function. ga() was correct to find it.
On the positive side, the minimum is somewhere near 300.
If you want to constraint to positive values, then use a lb parameter to ga:
A = [];
b = [];
Aeq = [];
beq = [];
lb = 24;
ub = 720;
[x,y]=ga(y, 1, A, b, Aeq, beq, lb, ub)
Your bug was in providing lb and ub in the slots reserved for A and b.




