Какие стартовые точки приводят к который область? Для решателя быстрейшего спуска соседние точки обычно приводят к той же области; смотрите Области притяжения. Однако для решателей Optimization Toolbox™, области более сложны.
Постройте MultiStart
стартовые точки из примера, Примера Запущенных с MultiStart, на который наносят цветную маркировку с областью, где они заканчивают.
% rng(14,'twister') % Uncomment the previous line to get the same output ms = MultiStart; opts = optimoptions(@fmincon,'Algorithm','interior-point'); 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],... 'options',opts); [xminm,fminm,flagm,outptm,manyminsm] = run(ms,problem,50); possColors = 'kbgcrm'; hold on for i = 1:size(manyminsm,2) % Color of this line cIdx = rem(i-1, length(possColors)) + 1; color = possColors(cIdx); % Plot start points u = manyminsm(i).X0; x0ThisMin = reshape([u{:}], 2, length(u)); plot(x0ThisMin(1, :), x0ThisMin(2, :), '.', ... 'Color',color,'MarkerSize',25); % Plot the basin with color i plot(manyminsm(i).X(1), manyminsm(i).X(2), '*', ... 'Color', color, 'MarkerSize',25); end % basin center marked with a *, start points with dots hold off
Рисунок показывает центры областей цветным *
символы. Стартовые точки с тем же цветом как *
символ сходится к центру *
символ.
Стартовые точки не всегда сходятся к самой близкой области. Например, красные точки ближе к голубому центру области, чем к красному центру области. Кроме того, многие в синяках стартовые точки ближе к противоположным центрам области.
Пурпурные и красные области мелки, как вы видите в следующем контурном графике.