前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多目标优化

多目标优化

作者头像
联远智维
发布2022-01-20 13:47:13
1.2K0
发布2022-01-20 13:47:13
举报
文章被收录于专栏:联远智维

多目标优化在系统最优设计、最优控制以及社会科学等方面都具有广泛的应用,例如:坦克的变速箱不仅需要良好的传动精度,运动过程中还需要保持极高的稳定性;火箭的恒温层结构不仅需要极好的隔热性能,更需要保证良好的耐撞性能;航天飞行器外夹层结构在运行中面对不同工作环境需要实现不同的性能需求等。

多目标优化的特征为:一般情况下,多目标优化问题的各个子目标之间是相互矛盾的(一个子目标的改善可能会引起另几个子目标性能的降低),很难使得多个子目标同时达到最优值,只能在多个目标之间进行折中处理,使得各个子目标都尽可能达到最优解,从数学角度可以做如下描述:

No.1

多目标优化

多目标优化与单目标优化具有本质区别,主要体现于多目标优化问题的解并非唯一,而是存在一组由众多Pareto最优解组成的集合,具体如下图中蓝色曲线所示。

Pareto前沿的表述:不可能再

改善某些人的境况,而不使任何其他人受损

求解多目标优化问题最简单的方法是采用加权平均法,给每个目标函数分配相应的权重值,进而对所有目标函数加权后求和,数学上可以描述为:

其中,wi为对应目标函数的权重值,该种方法把多目标优化问题转换为单目标优化问题,简化了问题的难度,然而该方法具有相应的局限性,具体为:

1、权值难以确定;

2、各个目标之间量纲的不统一,可能会造成单目标优化问题鲁棒性差,采用优化算法过程中出现收敛性困难等问题;

3、多目标优化问题的帕累托解集包含更多有效信息。

加权求和法直观理解(两个优化目标):当给定权重后,相当于确定了曲线的斜率,进而从Pareto前沿上找到一点,使之到直线的距离最短。

No.2

程序代码

NSGA-Ⅱ是目前流行的多目标遗传算法之一,它降低了非劣排序遗传算法的复杂性,具有运行速度快,解集的收敛性好的优点,成为其他多目标优化算法性能的基准。网上下载、调试相应的程序代码,其中,待优化的多目标优化问题数学模型为:

具体程序代码如下:

代码语言:javascript
复制
chromosome = non_domination_sort_mod(chromosome,pro);
for i = 1 : gen   
    pool = round(pop/2);
    tour = 2;
    parent_chromosome = tournament_selection(chromosome,pool,tour);    
    mu = 20;
    mum = 20;
    offspring_chromosome = genetic_operator(parent_chromosome,pro,mu,mum);    
    [main_pop,temp] = size(chromosome);
    [offspring_pop,temp] = size(offspring_chromosome);
    intermediate_chromosome(1:main_pop,:) = chromosome;
    intermediate_chromosome(main_pop + 1 : main_pop + offspring_pop,1 : M+V) = ...
        offspring_chromosome;   
    intermediate_chromosome = ...
        non_domination_sort_mod(intermediate_chromosome,pro);   
    chromosome = replace_chromosome(intermediate_chromosome,pro,pop);   
 if ~mod(i,10)
        fprintf('%d\n',i);    
end
end

具体结果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 轻量化结构分析与设计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档