帕累托最优解集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

A、帕累托最优的若干定义

1)支配与非支配

在这里插入图片描述
如上图所示,若表示为机票,既要考虑飞行时长也要考虑机票价格,保证出行最便捷。
A与C相比,A耗时为2,花费为7.5;C耗时为3,花费也为7.5,那么方案A要比C优秀,那么A支配C。
但是,纵观全部解,没有在耗时和花费两者全部比A优秀的方案,那么就称A为非支配。

2)帕累托最优前沿

A的耗时为2,花费为7.5;B的耗时为3,花费为6。那么两者进行对比,A只能在时间上获胜,B只能在花费上获胜,但是两者没有既在时间又在花费上获胜的情况。且纵观全局,没有在耗时和花费两者全部比A、B优秀的方案,那么A、B就组成了帕累托最优前沿,D、F类似。因此,得到了下图。
在这里插入图片描述

B、帕累托非支配排序的遗传算法NSGA-Ⅱ

1)非支配排序

非支配排序,如图所示,A、B、D、F判定为帕累托前沿后,将他们放到一边,暂时不考虑。再在剩下的方案中,再选一组帕累托前沿,依此类推。
在这里插入图片描述

2)拥挤度

由上述可知,第一帕累托前沿上面的解一般为最优解,但是有很多个,如何进行解的选取。
需要依靠解的拥挤度,总的原则是,为了保证解的多样性,尽量选择人口稀少的地区的解。

拥挤度公式如上图所示,对于i点的拥挤度计算,需要计算i-1与i+1两点的函数差值与(Xmax与Xmin函数差值)的比值,比值越大,表示i的拥挤度越低。
在这里插入图片描述
而对于特殊情况,如上图所示的A、F两点,两侧无解,则视为无穷大,那么A、F两点必被选中。其次再考虑B、D两点的拥挤度。

要在MATLAB中绘制帕累托最优解图,可以使用以下步骤: 1. 使用多目标遗传算法函数(如gamultiobj)求帕累托前沿。在这个例子中,使用的是NSGA-II算法。 2. 将求得到的帕累托前沿的目标函数值和相应的变量值保存下来。 3. 使用plot函数绘制帕累托前沿图。 以下是一个示例代码,展示如何绘制帕累托最优解图: ```matlab % 定义问题 fitnessfcn = @(x) [-x(1)^2 - x(2)^2 3, -(x(1)-1)^2 - (x(2)-1)^2 4]; nvars = 2; % 变量数目 lb = [0,0]; % 变量下限 ub = [2,2]; % 变量上限 % 运行遗传算法帕累托前沿 [x,fval,exitflag,output,population,scores = gamultiobj(fitnessfcn,nvars,[],[],[],[],lb,ub); % 绘制帕累托前沿图 paretoFrontIndices = paretofront(fval); paretoFront = fval(paretoFrontIndices,:); paretoSet = x(paretoFrontIndices,:); plot(paretoFront(:,1),paretoFront(:,2),'b*'); xlabel('目标函数1'); ylabel('目标函数2'); title('帕累托最优解图'); ``` 请注意,这只是一个示例代码,具体的实现可能需要根据你的具体问题进行相应的调整。希望能对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [matlab多目标遗传算法的最优](https://blog.csdn.net/feng1790291543/article/details/131043151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [帕累托最优解](https://blog.csdn.net/qq_39974201/article/details/106770152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值