迭代GlobalSearch限制/评估限制问题

11视图(30天)
我有以下。我的问题到n = 20没问题,然后更大的n我得到错误为马克斯迭代或max评估。我怎么能解决高n的代码,所以我可以计算吗?我已经试过,包括参数的MaxEvaluation optimoptions内部,但我不能使它工作。我至少要计算高n足够我可以得到一个输出小于5。我感谢任何帮助。
n = 20;
B = 50;
H = 30;
磅= 0 (2 * n + 1, - 1);
乌兰巴托= 0 (2 * n + 1, - 1);
i = 1: n
乌兰巴托(2张)= B;
乌兰巴托(2 * i) = H;
结束
乌兰巴托(2 * n + 1) =√6 (B H ^ ^ 2 + 2);
X0 =兰德(2 * n + 1, - 1);
i = 1: n
X0(2张*)= B * X0(2张);
X0 (2 * i) = H * X0(2 *我);
结束
X0 (2 * n + 1) = 0;
% X0 2 * n + 1 =√(最低(-minDistances (X0)));
有趣= @ (X) - X(结束)^ 2;
选择= optimoptions (“fmincon”,“算法”,“内点”);
% = @funWithGrad乐趣;
%选择= optimoptions (“fmincon”、“算法”,“内点”,“GradObj”,“上”);
问题= createOptimProblem (“fmincon”,“目标”有趣的,“x0”X0,
“磅”磅,乌兰巴托的乌兰巴托,“nonlcon”@minDistances,“选项”、选择);
X =运行(GlobalSearch、问题);
disp (X(结束));
图(“DefaultAxesFontSize”,18);
情节(X (1:2:2 * n), X (2:2:2 * n),“k”。,“MarkerSize”,20);
viscircles ([X (1:2:2 * n), X (2:2:2 * n)), X(结束)/ 2 * 1 (n, 1),“线型”,“——”);
轴([0 B 0 H]);
标题([“安排”num2str (n),“蓝厅中的表”]);

接受的答案

马里奥苹果
马里奥苹果 2020年10月21日
编辑:马里奥苹果 2020年10月22日
我将分享我的两美分,直到别人更多的知识。
可能 遗传算法 patternsearch 会更适合你的问题吗
你有41个变量, MaxFunctionEvaluations 是41 * 100年和1000年MaxIterations是固定的。说实话我从来没有跑这么多变量的优化。你 应验证 如果fmincon适合这样的问题。您可以使用optimoptions下面更多的信息。
选择= optimoptions (“fmincon”,“算法”,“内点”,
“显示”,“iter-detailed”,“PlotFcn”,“optimplotfval”,
“MaxFunctionEvaluations”,_num_,“MaxIterations”,_num_);_num_ %我不能判断
也许一个建议
X0 (2 * n + 1) =√6 (B H ^ ^ 2 + 2) / 2;
从文档
MaxFunctionEvaluations
最大允许函数值的运算次数,一个正整数。除了所有的默认值算法 内点 100 * numberOfVariables ;为 内点 默认的算法 3000年 。看到 公差和停止条件 迭代和函数计算
MaxIterations
最大允许的迭代次数,一个正整数。除了所有的默认值算法 内点 400年 ;为 内点 默认的算法 1000年 。看到 公差和停止条件 迭代和函数计算

更多的答案(0)

类别

找到更多的在全球搜索或多个起点帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!