What is the correct meaning of running 'multistart' for a single start point several times?

2 views (last 30 days)
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

Answers (1)

Gokul Nath S J
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

Tags

Community Treasure Hunt

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

Start Hunting!