Why does patternsearch decrease mesh size without function evaluation?

1 view (last 30 days)
Dear all, I'm using patternsearch to find the minimum of a user-defined function. However, I think I fail to parametrize the patternsearch algorithm in an appropriate way. Unfortunately, the patternsearch algorithm refines the mesh size to smaller values without calling the objective function. This is the diagostic information I get:
Diagnostic information.
objective function = @(x)PF_objfun_loading_NEW(x,api,vscs(2:size(vscs,1),:),vscs(1,:),outages,lines)
1 Inequality constraints
0 Equality constraints
1 Total number of linear constraints
X0 = -500
Modified options:
options.TolMesh = 0.1
options.TolCon = 1e-06
options.TolX = 1e-06
options.TolFun = 1e-06
options.TolBind = 0.001
options.MaxIter = 7000
options.TimeLimit = Inf
options.MaxFunEvals = '2000*numberofvariables'
options.MeshContraction = 0.5
options.MeshExpansion = 2
options.MeshAccelerator = 'off'
options.MeshRotate = 'on'
options.InitialMeshSize = 1000
options.InitialPenalty = 10
options.PenaltyFactor = 100
options.ScaleMesh = 'on'
options.MaxMeshSize = Inf
options.PollMethod = 'gpspositivebasis2n'
options.CompletePoll = 'on'
options.PollingOrder = 'consecutive'
options.CompleteSearch = 'off'
options.Display = 'diagnose'
options.PlotFcns = { @psplotbestf @psplotmeshsize @psplotfuncount @psplotbestx }
options.PlotInterval = 1
options.Cache = 'on'
options.CacheSize = 1000000
options.CacheTol = 2.2204e-16
options.Vectorized = 'off'
End of diagnostic information.
Iter f-count f(x) MeshSize Method
0 1 5.04584 1000
1 1 5.04584 500 Refine Mesh
2 1 5.04584 250 Refine Mesh
3 1 5.04584 125 Refine Mesh
4 1 5.04584 62.5 Refine Mesh
5 1 5.04584 31.25 Refine Mesh
6 1 5.04584 15.63 Refine Mesh
7 1 5.04584 7.813 Refine Mesh
8 1 5.04584 3.906 Refine Mesh
9 1 5.04584 1.953 Refine Mesh
10 1 5.04584 0.9766 Refine Mesh
11 1 5.04584 0.4883 Refine Mesh
12 2 5.04584 0.2441 Refine Mesh
13 4 5.04584 0.1221 Refine Mesh
14 6 5.04522 0.2441 Successful Poll
15 8 5.04522 0.1221 Refine Mesh
16 10 5.04522 0.06104 Refine Mesh
Optimization terminated: mesh size less than options.TolMesh.
I'm wondering why the patternsearch algorithm decreases the mesh size within iteration 1 to 13 without evaluating the objective function (f-count remains 1).
Can anybody help?
Kind regards, Sven

Answers (1)

Alan Weiss
Alan Weiss on 29 Jun 2015
We didn't see your patternsearch call. Perhaps your bounds are well within the rather large initial mesh that you gave, so that patternsearch cannot evaluate a mesh point without stepping out of the bounds. But this is just a guess. For more help, post your call, bounds, and your linear inequality constraint.
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!