Sergey Moiseev

Sergey Moiseev

398 Reputation

13 Badges

15 years, 57 days
Sergey N. Moiseev received M.S., Ph.D. and Dr.Sc. degrees in radio physics from the Voronezh State University, Voronezh, Russia in 1986, 1993 and 2003, respectively. From 1984 to 2003 the topics of his research have included theory and methods of signal processing, nonlinear optimization, decision-making theory, time series prediction, statistical radio physics, ionosphere sporadic channel models. He is currently a principal scientist in the JSC Kodofon, Voronezh, Russia. His current research interests are wide spread in the area of the communications.

MaplePrimes Activity


These are replies submitted by Sergey Moiseev

Acer assumption is true. The exact solution is

f=4
[a=1, b=1, t=sqrt(2)/2, u=sqrt(2)/2, c=sqrt(2)].

Acer assumption is true. The exact solution is

f=4
[a=1, b=1, t=sqrt(2)/2, u=sqrt(2)/2, c=sqrt(2)].

@Markiyan Hirnyk Yes, the constraints are slightly violated. You may decrease feasibilitytolerance option: feasibilitytolerance =10^(-9). By the way, MMA cannot solve this task and give the message: "NMinimize was unable to generate any initial points satisfying the inequality constraints"

@Markiyan Hirnyk Yes, the constraints are slightly violated. You may decrease feasibilitytolerance option: feasibilitytolerance =10^(-9). By the way, MMA cannot solve this task and give the message: "NMinimize was unable to generate any initial points satisfying the inequality constraints"

Nice wrapper not only for DirectSearch commands but also for other commands that can take very long evaluation time.

As for DataFit with option strategy=globalsearch, this repeater procedure actually performs multistart global optimization, starting several times from one initial point. The option optimizer=globaloptima does the same work but starting from the set of random selected (or user-defined) points. Of course, we can feed any other command to the reapeter procedure and obtain valuable intermediate information if the optimization process is very long. Very helpful wrapper.

Unfortunately, DirectSearch does not use very helpful command userinfo(...).

@pagan It is good results for GlobalOptimization package without using multistart strategy. I try use Search command from DirectSearch package with option strategy=globalsearch and with your parameter constraints. In this case Search performes rather global optimization but without using multistart strategy. Because Search with option strategy=globalsearch use some random steps, we must run Search command several times. Each run take about 10 sec (Intel Core 2 Duo 3.00 GHz processor). In 70% cases Search was trapped in local minimums but in 30% cases the result was as follows:

DirectSearch:-DataFit(F, [a=0..10, b=-10..10, c=0..100, d=0..7, e=0..4],
X, Y, x, strategy=globalsearch);
[0.0000627585732192453562,  [
a = 2.61748324908412,
b = 1.7194930197036,
c = 2.30924692192491,
d = 1.5033324920398,
e = 1.84597022713124], 6765]

This result is very close to GlobalSolve() result. By the way, it seems, there are two global minimums, because may be b=-b.

@pagan It is good results for GlobalOptimization package without using multistart strategy. I try use Search command from DirectSearch package with option strategy=globalsearch and with your parameter constraints. In this case Search performes rather global optimization but without using multistart strategy. Because Search with option strategy=globalsearch use some random steps, we must run Search command several times. Each run take about 10 sec (Intel Core 2 Duo 3.00 GHz processor). In 70% cases Search was trapped in local minimums but in 30% cases the result was as follows:

DirectSearch:-DataFit(F, [a=0..10, b=-10..10, c=0..100, d=0..7, e=0..4],
X, Y, x, strategy=globalsearch);
[0.0000627585732192453562,  [
a = 2.61748324908412,
b = 1.7194930197036,
c = 2.30924692192491,
d = 1.5033324920398,
e = 1.84597022713124], 6765]

This result is very close to GlobalSolve() result. By the way, it seems, there are two global minimums, because may be b=-b.

It is very good initial point. We can take more coarse initial point.

with(DirectSearch):

X := Vector([seq(.1*j, j = 0 .. 16), 1.65], datatype = float):
Y := Vector([2.61, 2.62, 2.62, 2.62, 2.63, 2.63, 2.74, 2.98, 3.66,5.04, 7.52, 10.74, 12.62, 10.17, 5, 2.64, 11.5, 35.4], datatype = float):
F := a*cosh(b*x^c*sin(d*x^e));

startpoint:=initialpoint=[a=3,b=-2,c=2,d=1,e=2];

sol:=DirectSearch:-DataFit(F,X,Y,x,startpoint);

f:=eval(F,sol[2]);
p1:=plot(,style=point):
p2:=plot(f,x=min(X)..max(X)):
plots:-display(p1,p2);

It is very good initial point. We can take more coarse initial point.

with(DirectSearch):

X := Vector([seq(.1*j, j = 0 .. 16), 1.65], datatype = float):
Y := Vector([2.61, 2.62, 2.62, 2.62, 2.63, 2.63, 2.74, 2.98, 3.66,5.04, 7.52, 10.74, 12.62, 10.17, 5, 2.64, 11.5, 35.4], datatype = float):
F := a*cosh(b*x^c*sin(d*x^e));

startpoint:=initialpoint=[a=3,b=-2,c=2,d=1,e=2];

sol:=DirectSearch:-DataFit(F,X,Y,x,startpoint);

f:=eval(F,sol[2]);
p1:=plot(,style=point):
p2:=plot(f,x=min(X)..max(X)):
plots:-display(p1,p2);

I have the same problem for Firefox (Windows Vista) - cannot post, answer questions,vote and so on. To post I now use Internet Explorer.

@mois This error occur due to memory limit and bad Maple memory managment. Remedy is: save the last results, restart worksheet and  continue computation starting from the last result.

@mois This error occur due to memory limit and bad Maple memory managment. Remedy is: save the last results, restart worksheet and  continue computation starting from the last result.

@herclau option step=value set only initial search step. During optimization step adaptively changed. Option evaluationlimit=value set maximum number of objective  function evaluations. If search termination conditions are met before that value is reached then number of objective  function evaluations will be less then evaluationlimit value.

@herclau option step=value set only initial search step. During optimization step adaptively changed. Option evaluationlimit=value set maximum number of objective  function evaluations. If search termination conditions are met before that value is reached then number of objective  function evaluations will be less then evaluationlimit value.

herclau Try also option penaltymethod=true. When Search routine cannot find feasible point or search directions this option can be helpful.

1 2 3 4 5 Page 2 of 5