【多目标优化】Pareto优胜的概念

为了验证我对PARETO最优的观点是否正确,我又参阅了许多源代码,其中Non-dominated Sorting Genetic Algorithm II developed by Kalyanmoy Deb et al.NSGAII--ProfessorKalyan的源代码最具参考价值,显然我对Pareto优胜的概念认识是正确的,但是群体中的Pareto前端如何产生显然在对Professor XiaoLan的论文分析的时候产生了偏差,显然如果按照Pareto优胜的概念去产生前端,前端当然不可能会很多,这个问题到底如何解决,我还在郁闷之中,下面是今天阅读的源代码,供大家参考

/*Routine Comparing the two individuals*/
/*个体之间支配关系的比较*/
int  indcmp3( float   * ptr1, float   * ptr2)
{
    
float fit1[maxfun],fit2[maxfun];
    
int i,value,m,n;
    
for(i = 0;i < nfunc ;i++)
    
{
        fit1[i] 
= *ptr1++;
        fit2[i] 
= *ptr2++;
    }

    
//初始化两个个体在各个目标上的适应度函数
    m = 0;
    n 
= 0;
    
while(m < nfunc && fit1[m] <= fit2[m]) 
    
{
        
if(fit1[m]== fit2[m]) n++;
        m
++;
    }

    
if(m == nfunc) //循环下来所有目标都满足约束条件 fit1[m] <= fit2[m]
    {
        
if(n == nfunc) value = 3;//如果都是等于那么.两个个体之间没有关系.
        else value = 1;//有一个优于那么即个体1支配个体2  理解正确  /*value = 1 for dominationg*/
    }

    
else 
    
{
        m 
= 0;
        n 
= 0;
        
while(m < nfunc && fit1[m] >= fit2[m]) //反过来做一遍
        {
            
if(fit1[m]== fit2[m]) n++;
            m
++;
        }

        
if(m == nfunc)
        
{
            
if(n != nfunc)
                value 
= 2;      //个体1被个体2支配                 /*value =  2 for dominated */
            else value =3;
        }

        
else value = 3;                   /*value = 3 for incomparable*/
    }

    
    
return value;
}

 
如果你能提点提点,当然我是最高兴的


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
多目标优化是指在优化问题中存在多个冲突的目标函数的情况下,寻找一组解,使得这些目标函数能够达到最优或者接近最优的状态。在多目标优化中,没有一个单一的解能够同时最优地满足所有的目标函数,而是存在一组解,其中每个解在某些目标上优于其他解,在其他目标上劣于其他解。 多目标优化的基本概念包括以下几个方面: 1. Pareto最优解:在多目标优化中,Pareto最优解是指无法通过改进一个目标函数而不损害其他目标函数的解。换句话说,Pareto最优解是在所有可能的解中,无法找到一个解在所有目标函数上都比它更好的解。 2. Pareto前沿:Pareto前沿是指所有Pareto最优解构成的集合。Pareto前沿是多目标优化问题的解空间中的一个重要概念,它代表了所有可能的最优解。 3. 解的支配关系:在多目标优化中,一个解可以支配另一个解。如果一个解在所有目标函数上都不劣于另一个解,并且在至少一个目标函数上更好,则称该解支配另一个解。 4. 解的非支配排序:非支配排序是将解按照其支配关系进行排序的过程。在非支配排序中,被支配的解排在前面,而支配其他解的解排在后面。 5. 多目标优化算法:多目标优化算法是用于求解多目标优化问题的算法。常见的多目标优化算法包括遗传算法、粒子群优化算法、模拟退火算法等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值