全局优化问题的鲁棒算法研究(Matlab代码实现)

本文关注鲁棒优化在处理不确定参数问题中的应用,对比了协方差矩阵适应演化策略与差分进化的性能。通过在一组基准函数上的测试,分析了不同求解器的鲁棒性和效率,特别是在单目标和多目标实参数优化中的表现。此外,文章提供了一个Matlab代码示例,展示了一种多目标优化的实现。

👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

鲁棒优化研究带不确定性的优化问题,是不确定优化的一个分支.在鲁棒优化中,主要关注由不可控参数引起的不确定性,且仅知道不可控参数在某个不确定集中取值.由于对实际问题有效的建模和求解,鲁棒优化已发展成为处理不确定优化问题重要且十分普遍的工具.基于鲁棒性这个概念,本文围绕鲁棒优化探讨了无穷多目标优化、不确定向量优化和不确定互补问题中相关的一些重要课题.

最优化是在自然世界和人类社会中普遍存在的现象,也是在各个应用领域中广泛使用的思维方式和建模方法.因为我们对世界和社会的认知并不是完全的,所以在实际的问题中不可避免地会遇到不确定性.不确定性影响着我们对问题的理解、描述和求解,因此我们需要正确对待和合理处理不确定性.不确定优化就是研究带不确定性的优化问题.

本文的目的是找到最佳算法,该算法在找到任何函数的最小化器时花费最少的函数计算。目前,候选求解器是

  • 协方差矩阵适应演化策略与
  • 差分进化。

开发鲁棒性度量以确定最佳求解器。对于单目标实参数优化,这些求解器目前在 CEC'30 中的一组 14 个基准函数上进行了测试,包括

  • 单峰函数,
  • 多模态功能,以及
  • 合成函数。

求解器在各种最大函数评估中进行测试,以了解它们在暴露和探索能力之间平衡的鲁棒性。此外,在经验累积分布函数值下比较求解器,我们可以看到它们的误差差异与每个测试用例的最佳求解器。为了简化结果,还采用了每个求解器的胜算案例数来评估其鲁棒性。

  • 单目标实参数优化(主要)
  • 多目标实参数优化
  • 最小-最大实参数优化
  • 混合整数优化
  • 线性/非线性不等式/等式约束处理
  • 最强大的优化器,可以满足上述目标

📚2 运行结果

 

运行时间比较久,...... 

部分代码:

function [xmin, fmin] = mogashell(fitfun, lb, ub, maxfunevals, options)
% MOGASHELL Shell of multiobjective GA
fhandle = str2func(fitfun);
D = numel(lb);
NP = max(2 * D, floor(maxfunevals / 3e2));
Gmax = floor(maxfunevals / NP);

LHS = lhsdesign(NP, D, 'iteration', 50);
Pop = zeros(NP, D);
for i = 1 : NP
    Pop(i, :) = lb' + (ub - lb)' .* LHS(i, :);
end

if nargin == 5
    if isstruct(options) && isfield(options, 'InitialPopulation')
        Pop(end, :) = options.InitialPopulation;
    end
end

options = gaoptimset(@gamultiobj);
options = gaoptimset(options, 'Display', 'iter', ...
    'PopulationSize', NP, ...
    'Generations', Gmax, ...
    'InitialPopulation', Pop, ...
    'PopInitRange', [lb'; ub'], ...
    'TolFun', 0, ...
    'StallGenLimit', Inf);

[xmin, fmin] = gamultiobj(fhandle, D, [], [], [], [], lb, ub, options);

end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]王峰. 鲁棒优化及相关问题的研究[D].西安电子科技大学,2018.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值