提升代理
解决方案或过程
代理
摊位
当您具有线性约束和整数约束时,代理
可能无法找到任何可行的点或足够不同的可行点来创建替代物。在这些情况下,求解器带有出口标志的退出 -2
(找不到可行的点)或3
(太少的可行点)。有关出口标志的详细信息 -2
, 看No Feasible Point Found。
出口标志3
可以以两种不同的方式发生:
There were too few feasible points to construct an initial surrogate.
替代重置后,很少有可行的观点无法构建替代物。
You can see which case applies by using the替代品
图功能。
options = optimoptions('surrogateopt',,,,'PlotFcn',,,,“代理”);[溶胶,fval exitflag] = surrogateopt(arguments,options);
After each surrogate reset,代理
requires more feasible points to construct the next surrogate. When there are integer constraints,代理
可以用尽可行的点,或者即使有些仍然存在,也无法找到新的可行点
如果代理
has performed at least one reset, then it has successfully searched for a solution. In this case, you might have the solution to the problem.
如果代理
无法创建初始替代,或者是否代理
重置,您想尝试找到另一个解决方案,执行以下步骤。
放松一些约束。
将一些线性约束更改为非线性,这导致求解器不坚持严格的可行性。这可以给予
代理
在构建替代物中使用的更可行的要点。通过选择较大的值来放松一些线性不等式约束
b
vector. You can relax allb
通过添加标量立即值:b= b + 5;
同样,如果您的界限限制导致问题的可行点太少,并且如果对您的问题有意义,请放松界限。采取较大的上限或较小的下限或两者兼而有之。您可以通过添加或减去标量立即放松所有界限。
ub = ub + 3; lb = lb - 1;
No Feasible Point Found
When代理
找不到关于边界,整数约束和线性约束的可行的点,它返回出口标志 -2
。在这种情况下,问题确实是不可行的。
However, the solver can also return exit flag –2
当它无法找到有关非线性不等式约束的可行的点时。即使存在可行的点,有时也会发生这种情况。要进行,请执行步骤Converged to an Infeasible Point。
Solution Might Not Be Optimal
Usually,代理
当它用完功能评估时,停止。这意味着代理
不停止,因为它达到了最佳解决方案。但是,当发生替代重置时,当前溶液通常接近局部最佳。
您如何评估解决方案的质量?通常,这很难做到。以下是研究解决方案以帮助确定其本地质量的一些步骤。但是,没有程序可以保证一个要点是全球解决方案。看Can You Certify That a Solution Is Global?。
如果问题没有整数限制,请查看附近的点。为此,请致电
patternsearch
在返回的解决方案上。设置InitialMeshSize
您要使用的搜索步骤大小的选项。保持patternsearch
从花太多时间来设置最大值
option to1
和USECOLLETETEPOLL
option totrue
:options = optimoptions(“模式搜索”,,,,...“初始测量”,1E-3,...“最大”,1,'UseCompletePoll',真的);
如果您的问题具有非线性约束,请首先将约束转换为表格
patternsearch
accepts using转换替代表格和其他求解器表格之间的非线性约束。如果问题没有整数限制,请尝试运行
Fmincon
starting from the solution. Again, if your problem has nonlinear constraints, first convert the constraints to the form thatFmincon
accepts using转换替代表格和其他求解器表格之间的非线性约束。如果问题使用模拟或ODE求解器,则可能需要为Fmincon
。看优化仿真或普通微分方程。如果问题有整数限制,那么除了尝试运行之外,几乎没有什么可做的
代理
有关更多功能评估。通过使用检查点文件最有效地执行此操作。看使用检查点文件。如果you did not use a checkpoint file, you can also give a set of initial points using the初始点
option.