Hello, everybody!

If it is convenient for you, I wish you can help me review the following program. Thank you very much in advance. I want to obtain the coefficient values of c0, n, s0, ks, h1, h2, kp, A, B for the ODE system.

restart;

cdm_ode := diff(y1(t), t) = c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t)), diff(y2(t), t) = ks*y2(t)^(1/3)*(1-y2(t)), diff(y3(t), t) = h1*(1-y3(t)/h2)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(sigma*(1-y2(t))), diff(y4(t), t) = (1/3)*kp*(1-y4(t))^4, diff(y5(t), t) = A*B*y1(t)^(B-1)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t)), diff(y6(t), t) = y6(t)*c0*(y6(t)*(1-y3(t))/(s0*(1-y4(t)*(1-y5(t)))))^n/(1-y2(t));

tol_t := 3600;

sol := dsolve([cdm_ode, y1(0) = 0, y2(0) = 0, y3(0) = 0, y4(0) = 0, y5(0) = 0, y6(0) = 175], numeric, range = 0 .. tol_t, output = listprocedure, parameters = [c0, n, sigma, s0, ks, h1, h2, kp, A, B]);

err := proc (c0, n, s0, ks, h1, h2, kp, A, B) local st1, st2, sv1, sv2, sv; sol(parameters = [c0, n, 175, s0, ks, h1, h2, kp, A, B]); st1 := subs(sol, y1(t)); sv1 := [st1(1), st1(100), st1(210), st1(2500), st1(2800), st1(3000)]; sol(parameters = [5.7/10^6, 10.186, 175, 200, 1/20000000, 10000, .269, 1.5/10^7, 1.5, 2]); st2 := subs(sol, y1(t)); sv2 := [st2(1), st2(100), st2(210), st2(2500), st2(2800), st2(3000)]; sv := add((sv1[i]-sv2[i])^2, i = 1 .. 6); sv end proc;

with(GlobalOptimization);

GlobalSolve(err, c0 = 0 .. 1, n = 1 .. 20, s0 = 150 .. 250, ks = 0 .. 1, h1 = 100 .. 15000, h2 = 0 .. .5, kp = 0 .. 1, A = .5 .. 2, B = 1 .. 5);

Error, (in GlobalOptimization:-GlobalSolve) `InertForms` does not evaluate to a module