What is the correct meaning of running 'multistart' for a single start point several times?
2 views (last 30 days)
Show older comments
Hello,
I have a simple question.
Imagine that:
1) We wish to perform an optimization problem in which the objective function is differentiable of any order.
2) We wish to use a 'deterministic' optimization algorithm like fmincon
If we consider an initial point x0 then classical algorithms like fmincon should easily tackle this in a single run. Another try should
give us exactly the same solution (given a fixed step size) and fmincon should follow a completely deterministic approach toward the local minimum. Now, consider the following from MATLAB pages
rng default % For reproducibility
ms = MultiStart;
sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3 ...
+ x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4);
problem = createOptimProblem('fmincon','x0',[-1,2],...
'objective',sixmin,'lb',[-3,-3],'ub',[3,3]);
[xmin,fmin,flag,outpt,allmins] = run(ms,problem,30);
My question: Why we need to run the above problem 30 times? There is just a single starting point and there is a fixed default step size (I think, 10^(-6)).
Any idea?
Babak
0 Comments
Answers (1)
Gokul Nath S J
on 20 Apr 2023
Edited: Gokul Nath S J
on 20 Apr 2023
Hi Mohammed,
Based on my understanding, it seems that you would like to know why we need to run the above problem 30 times. Please note that the run command takes three inputs, the thrid one was 30.
The thrid input specifies the STARTPOINTSETS which calls the specified optimization. STARTPOINTSETS is a start point set object or a cell array. Also please note that the argument won't make the specified number of iterations.
For more information on STARTPOINTSETS, kindly type the following code in the command window.
help RANDOMSTARTPOINTSET
Thanks,
Gokul Nath S J
0 Comments
See Also
Categories
Find more on Global or Multiple Starting Point Search in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!