精华内容
下载资源
问答
  • 利用进化目标优化算法NSGA-II求解多目标函数优化问题,选择三个目标优化问题(包括函数表达式、决策变量取值范围)进行求解。本文选取两目标优化ZDT问题集中的三个问题,ZDT问题集均基于以下f1和f2的优化,其...

    一、问题描述

    利用进化多目标优化算法NSGA-II求解多目标函数优化问题,选择三个多目标优化问题(包括函数表达式、决策变量取值范围)进行求解。本文选取两目标优化ZDT问题集中的三个问题,ZDT问题集均基于以下f1和f2的优化,其表达式如下,其中g(x)一般是收敛的。

    minf1(x)\min f _ { 1 } ( x )
    minf2(x)=g(x)h(f1(x),g(x))\min f _ { 2 } ( x ) = g ( x ) h \left( f _ { 1 } ( x ) , g ( x ) \right)

    选取的三个函数分别为:

    ZDT1:f1(x)=x1g(x)=1+9n1i=2nxih(f1,g)=1f1/g0xi1i=1,,n\begin{aligned} f _ { 1 } ( x ) & = x _ { 1 } \\ g ( x ) & = 1 + \frac { 9 } { n - 1 } \sum _ { i = 2 } ^ { n } x _ { i } \\ h \left( f _ { 1 } , g \right) & = 1 - \sqrt { f _ { 1 } / g } \\ 0 \leq x _ { i } & \leq 1 \quad i = 1 , \ldots , n \end{aligned}

    ZDT2:f1(x)=x1g(x)=1+9n1i=2nxih(f1,g)=1(f1/g)20xi1i=1,,n\begin{aligned} f _ { 1 } ( x ) & = x _ { 1 } \\ g ( x ) & = 1 + \frac { 9 } { n - 1 } \sum _ { i = 2 } ^ { n } x _ { i } \\ h \left( f _ { 1 } , g \right) & = 1 - \left( f _ { 1 } / g \right) ^ { 2 } \\ 0 \leq x _ { i } & \leq 1 \quad i = 1 , \ldots , n \end{aligned}

    ZDT4: f1(x)=x1g(x)=1+10(n1)+i=2n(xi210cos(4πxi))h(f1,g)=1f1/g0x1110xi10i=2,,n\begin{array} { r l } { f _ { 1 } ( x ) = } & { x _ { 1 } } \\ { g ( x ) = } & { 1 + 10 ( n - 1 ) + \sum _ { i = 2 } ^ { n } \left( x _ { i } ^ { 2 } - 10 \cos \left( 4 \pi x _ { i } \right) \right) } \\ { h \left( f _ { 1 } , g \right) = 1 - \sqrt { f _ { 1 } / g } } & { } \\ { } & { 0 \leq x _ { 1 } \leq 1 } \\ { - 10 \leq x _ { i } \leq 10 } & { i = 2 , \ldots , n } \end{array}

    二、解决思路和方案

    NSGA-II算法适合应用于复杂的、多目标优化问题,其解决了NSGA的主要缺陷,实现快速、准确的搜索性能。NSGA的非支配排序的时间复杂度很大,在种群规模较大时排序的速度会很慢,而NSGA-II使用带精英策略的快速非支配排序,减小了时间复杂度,排序速度有大幅的提升。同时,精英策略保证找到的最优解不会被抛弃,提高了搜索性能。另一方面NSGA使用共享函数来使解分布均匀,共享函数方法在保持多样性的性能很大程度上依赖于所选择的共享参数;种群中的每个个体都要与其余的个体相比较,共享函数的复杂度很高,NSGA-II重新定义了拥挤距离来代替共享参数。NSGA-II算法步骤如下:

    (1)首先,采用实数编码方法随机产生规模为50的初始种群pop,利用二元锦标赛方法(对pop中个体进行快速非支配排序和拥挤距离比较)产生父代种群P。

    快速非支配排序结果的排序值越小,说明被被其余个体支配的次数越小,有着越大的概率被选择。拥挤距离的计算方法为该个体与相邻的两个个体组成的矩形的长宽和。在排序值相同的情况下,保留拥挤距离更大的个体。

    (2)通过交叉、变异操作得到子代种群Q,将父代种群P与子代种群Q合并为R。

    交叉采用模拟二进制交叉方法(SBX),交叉分布指数设置为1。变异采用单点变异,变异算子设置为0.1。

    (3)利用精英策略产生下一代种群,即对R中个体进行快速非支配排序,同时对每个非支配层中的个体进行拥挤度计算,根据非支配关系以及个体的拥挤度选取合适的个体组成下一代种群。设置迭代次数为500。

    本文使用python语言进行仿真实现,求解每个最优化函数的最优前端,将其可视化。

    三、仿真结果及分析

    (1)ZDT1 仿真结果

    ZDT1经过500次迭代,最优前端由蓝点绘制而成,绿色的为理论参考集,可以看到求解结果和理论值基本吻合,且前端的分布比较均匀。其他函数同,其他函数便不进行解释,只进行结果展示。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z4CO5Nmx-1574172455672)(C:\Users\Mr.Hou\AppData\Roaming\Typora\typora-user-images\1574041575122.png)]

    图3.1 ZDT1最优前端

    (2)ZDT2仿真结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CotxvvYF-1574172455674)(C:\Users\Mr.Hou\AppData\Roaming\Typora\typora-user-images\1574042236900.png)]

    图3.2 ZDT2最优前端

    (3)ZDT4 仿真结果

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4RvFqRVv-1574172455675)(C:\Users\Mr.Hou\AppData\Roaming\Typora\typora-user-images\1574048068122.png)]
    图3.3 ZDT4最优前端

    展开全文
  • 多目标函数优化

    千次阅读 2020-03-23 18:09:24
    多目标函数优化 1.定义 所谓优化就是在某种确定规定下,使得个体的性能最优。目标优化,多于一个的数值目标在给定区域上的最优化问题称为目标优化。 2.解及解的形式 求解目标优化问题的过程就是寻找Pareto最优...

    多目标函数优化
    在这里插入图片描述
    1.定义
    所谓优化就是在某种确定规定下,使得个体的性能最优。多目标优化,多于一个的数值目标在给定区域上的最优化问题称为多目标优化。
    2.解及解的形式
    求解多目标优化问题的过程就是寻找Pareto最优解(非劣解、有效解)的过程。即在多目标优化中对某些子目标的优化不能影响到其它子目标的优化而容许的整个多目标的最优解。所谓多目标优化问题的最优解就是指Pareto最优解,且不再包含其他最优解。
    3. 求解方法
    3.1 产生式方法
    如果没有先验知识,只能采用产生式方法来检验所有的非支配可选解。需要作者从整个Pareto解中做选择来进行必要的价值判断。
    3.2基于偏好的方法
    基于偏好的方法试图得到妥协解或偏好解。基于偏好的方法能够用正式和有结构的方式来清晰表达其偏好。
    (1)权重和方法:权重可以理解为目标之间相对重要性或价值,或者对目标的偏好。
    (2)效用函数法:效用函数是偏好结果的一种数学表示方法,它将目标空间的点影射为实数,数越大表明对该点偏好程度越高
    (3)妥协函数法:寻找与理想点最接近的解
    3.3约束法
    4.适应度分配方法
    4.1 权重和方法:
    权重可以理解为目标之间相对重要性或价值,或者对目标的偏好。
    (优点:通过算中和求得的全局最优解对应Pareto前端的一个解;局部最优解对应局部Pareto最优解;通过改变权值可以搜索到所有凸Pareto解)
    (缺点:不能处理非凸的Pareto;很难找到均匀分布的Pareto解)
    4.2矢量评价法(VEGA)
    循环过程中根据多个目标选出若干下一代中的优秀个体(即子种群),然后将整个种群打乱并执行交叉变异,目的在于不同种群之间进行信息交流,它保护了单个目标上的最优个体的生存,同时为那些多于一个目标上好于平均值的个体提供合理被选择概率。
    优点:简单,适合寻找Pareto front 的端点),
    (缺点:很难处理非凸问题)
    4.3 Pareto等级法:
    根据占优划分等级,对个体适应度的分配策略。
    (优点:可以快速找到Pareto前端,有效保护种群多样性)
    (缺点:非支配排序的时间复杂度很大;不支持精英策略;需要自己指定共享参数)
    4.4贪婪保护法(SPEA)
    在外部群体中对占优解进行排序;个体适应度与外部群体比它性能优的个体数目相关,使用Pareto支配关系保持种群多样性,使用聚类方法减少非支配集。
    (优点:可处理任意的目标函数,可产生解的分布,确定了一种无需参数的共享方法)
    (缺点:因为确定了一个外部解集,故计算量大)
    5.解的评价指标
    5.1多目标优化算法的评级指标通常有以下几项:逼近性GD(Generational Distance)、均匀性SP(Spacing)、宽广性EX、最优解数目ER(Error Ratio)、收敛性度量值γγ和多样性度量值ΔΔ。
    (1) 逼近性GD用来描述算法所获得的非劣最优解与Pareto前端的距离
    - 希望算法找到的Pareto 前端与实际的Pareto 前端的距离应尽可能的接近;
    (2)均匀性SP用来描述非劣解在Pareto前端上的分布范围。
    - 希望找到的Pareto 最优解具有较好的分布(如均匀分布、正态分布);
    (3)宽广性EX用来描述非劣最优解的分布范围。
    - 希望所找到的Pareto 前端的分布范围尽可能的宽广,即尽可能的覆盖每个子目标函数的可能取值范围
    (4)收敛性度量值γγ用来衡量一组已知的Pareto最优解集的收敛范围。
    (5)多样性度量值ΔΔ用来衡量Pareto前端的分布。
    5.2 性能的比较
    (1)- 直接比较法:
    它比较了两个非支配集AA 和BB 直接使用标量测度R(A,B)R(A,B),其中描述了A 比B 好多少。如:AA, BB。计算R(A,B)R(A,B)。
    优点:与独立比较相比,计算量低,不需要知道任何帕累托集;
    缺点:如果两套不同的基数和/或集合的分布是不均匀的,那么C 的度量提供了不可靠的结果。
    (2) - 间接比较法:
    它选择一个参考集,比较两个非支配集与这个参考集,然后比较结果。如:AA, BB。中间变量为Pareto,分别和他进行对比。
    优点:易于理解、计算量低;
    缺点:需要知道Pareto 前端,:度量只适用于有限数量的帕累托最优解。
    (3)- 独立比较法:
    它是衡量某些独立的属性的每个设置,并比较了这两种测量结果。如:S(A)S(A),和S(B)S(B),再比较它们。
    优点:没有必要知道帕累托或其他参考点使用、它是独立的、意义直观;
    缺点:需要非常大的计算量,这使得它完全适合于目标或大非大量支配集。

    展开全文
  • 目标优化目标函数的编写

    千次阅读 2018-11-07 22:35:29
    目标优化目标函数的编写管网污染情况下水质监测传感器布设实验介绍目标介绍Python代码后续 管网污染情况下水质监测传感器布设 实验介绍 使用EPANET2进行污染物注入实验,设置水力模拟时间为12小时,步长为1小时,...

    管网污染情况下水质监测传感器布设

    实验介绍

    使用EPANET2进行污染物注入实验,设置水力模拟时间为12小时,步长为1小时,水质模拟时间为5分钟一次,报告为5分钟一次,逐个对管网节点以固定速率注入污染物,得到管网其他节点最开始出现污染物的时间,由此可以得到一个时间监测矩阵,行为污染事件,列为节点编号,值为污染事件发生时某节点最开始出现污染物的时间
    矩阵大致如图:

    10,20,30,50,40,45,35,		...		15,45,55,60,70,65,20,25
    10,20,30,50,40,45,35,		...		15,45,55,60,70,65,20,25
    40,50,75,80,90,95,25,		...		65,70,25,90,80,95,35,10
    40,50,75,80,90,95,25,		...		65,70,25,90,80,95,35,10
    ...
    ...
    40,50,75,80,90,95,25,		...		65,70,25,90,80,95,35,10
    10,20,30,50,40,45,35,		...		15,45,55,60,70,65,20,25
    10,20,30,50,40,45,35,		...		15,45,55,90,80,95,35,10
    40,50,75,80,90,95,25,		...		65,70,25,90,80,95,35,10
    40,50,75,80,90,95,25,		...		65,70,25,90,80,95,35,10
    
    

    目标介绍

    1. 最小化监测时间
      使得选择的节点对应的监测时间尽可能的小
    2. 最大化监测比率
      使得选择的节点能够监测到的污染事件比例尽可能的高(设定一个时间阀值,大于这个时间的则认为该污染事件无法被监测)

    Python代码

    import csv
    import numpy as np
    
    
    def fitness1(x):
        result = []
        p=perfect_pareto_front()
        p_sum = 0
        p_result=0
        for i in x:
            for p_num in range(p.shape[0]): #31 迭代0-30
                #print(p[p_num][i])
                p_i = p[p_num][i]   # 取出行号为p_num和列号为i的数值
                p_sum = p_sum+p_i
            #print(p_sum)
            p_result = p_result + p_sum
        #print(p_result)
        result.append(p_result)
    
        l=[]
        for i in x:
            for p_num in range(p.shape[0]):
                if(p[p_num][i]>50):     # 假设时间超过50分钟的设定为无效的监测事件
                    #print("shixiao")
                    l.append(p_num)     # 将未检测到的事件编号放入list
                    l=list(set(l))
                    #print(l)
        m = (len(l)/(p.shape[0]))   # 计算所有未能监测到的事件与所有事件之比
        m = float('%.3f' % m)
        #print(m)
        result.append(m)
        return result
    
    
    def perfect_pareto_front():     # 将csv中的数据拿出来,构成一个[[0 0 0.5] [0 0 0.5] [0.458 0.154 0.2545]...]这样的矩阵
        with open('./demo1.csv', encoding='utf8') as file:
            p = [list(map(float, row)) for row in csv.reader(file)]
            return np.array(p)
    
    
    if __name__ == "__main__":
        p=perfect_pareto_front()
        I = p.shape[0]
        #print(I)
        #f=fitness([1,2,3,4])
        #print(f)
        m = fitness1([0,2,3,5,6])
        print(m)
    

    后续

    会进行NSGA2的二进制编码,使用节点编号编码,目前正在研究zhong

    展开全文
  • MOEA——多目标函数优化开源框架

    千次阅读 2014-07-26 09:03:52
    A Framework for Innovation The MOEA Framework is a free and open source Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other general-purpose mul

    A Framework for Innovation

    The MOEA Framework is a free and open source Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other general-purpose multiobjective optimization algorithms. The MOEA Framework supports genetic algorithms, differential evolution, particle swarm optimization, genetic programming, grammatical evolution, and more. A number of algorithms are provided out-of-the-box, including NSGA-II, ε-MOEA, GDE3 and MOEA/D. In addition, the MOEA Framework provides the tools necessary to rapidly design, develop, execute and statistically test optimization algorithms.

    Key Features

    • Fast, reliable implementations of many state-of-the-art multiobjective evolutionary algorithms
    • Extensible with custom algorithms, problems and operators
    • Modular design for constructing new optimization algorithms from existing components
    • Permissive open source license
    • Fully documented source code
    • Over 1100 test cases to ensure validity


    来源:http://www.moeaframework.org/

    展开全文
  • 优化设计——多目标函数优化(降维/主目标法、线性加权法、理想点法)——MATLAB编程建议与本人前几篇博文程序互相参照,系列程序有继承性,一些程序段功能实现代码与原理在前几篇博文中都有提到!优化原理降维/主...
  • keras中的目标函数优化函数

    万次阅读 2016-05-05 15:27:05
    这些我相信大家都很清楚了,下面我就简单的介绍一下keras提供的常见的目标函数优化函数,本人能力有限,平时用到的酒说几句,用不到的就把名字写出来,欢迎大家补充和指正。 目标函数: keras文档: ...
  • 现实世界中的目标优化问题往往包含不等式约束和等式约束,对于这类带约束条件的目标优化问题,需要使用有别于无...其中m为目标函数的个数,n为决策变量的个数,J为不等式约束条件的个数,K为等式约束条件的个...
  • MATLAB多目标优化函数fminimax

    千次阅读 2020-04-29 09:53:33
    一、算法原理 对于目标优化问题,matlab提供了fminimax函数。 1、目标函数: ,Z为目标优化函数 s.t 2、调用格式 x = fminimax(fun,x0) x ...
  • 目标优化算法中有全局优化目标优化问题,其中通过图形可以更加直接明显得表现目标函数的值和影响因素的值。 1.收敛曲线 收敛曲线是在全局优化问题中,有一个目标函数,其中主要的一步是gaoptimset函数设置,...
  • 多目标优化问题概述

    万次阅读 2017-08-29 20:34:16
    图片不清楚请看目标问题详解:目标问题详解 ...N个目标函数; m+n个约束条件。 数学描述:X(小写)为D维决策向量;y为目标向量;N为优化目标总数;gi(x)和hj(x)为条件约束(为已知确定的可行
  • 目标函数优化中的三种梯度

    千次阅读 2016-12-19 15:05:16
     考虑一个关于参数矩阵 W 的标量目标函数 J(W) 的极小化问题,即 Wopt=argminWJ(W)  通常,给定 W 的一个初值 W0 ,通过“迭代更新”的方法来搜索求解 Wopt 。设第 k步迭代的矩阵为 W...
  • 使用遗传算法解决变量函数优化问题

    万次阅读 多人点赞 2014-01-16 22:17:48
    朋友在碰到多变量值优化问题的时候不能很好的将问题转化,利用有效编码的方法将解的个数,解的编码很好的很合理的进行设计,因此不能利用遗传算法进行问题的求解!  其实,简单的来说,就是将个变量的数值...
  • 多目标优化

    万次阅读 多人点赞 2018-09-14 11:40:57
    3)线性优化与非线性优化目标函数和约束条件是否线性); 4)静态规划和动态规划(解是否随时间变化)。 - 什么是目标优化? 使个目标在给定区域同时尽可能最佳,目标优化的解通常是一组均衡解(即一组...
  • 之前利用matlab做多目标优化的时候查了很书,没有找到matlab多目标优化函数,所以就对多目标进行组合加权变成了单目标,然后利用matlab单目标优化函数例如fmincon等进行优化。后来发现matlab里面集成了一个多目标...
  • 多目标优化问题及求解

    千次阅读 2021-01-08 18:16:29
    目标优化准则决策的一个领域,它是涉及目标函数同时优化的数学问题目标优化已经应用于许多科学领域,包括工程、经济和物流,其中需要在两个或个相互冲突的目标之间进行权衡的情况下作出最优决策。...
  • 多目标优化问题MOP

    千次阅读 2020-11-22 23:32:55
    目标优化问题可以描述为:在可行域中确定由决策变量组成的向量,它满足所有约束,并且使得由目标函数组成的向量最优化。 而这些组成向量的目标函数彼此之间通常都是互相矛盾的。 因此,这里的“优化”意味...
  • keras中的目标函数优化函数MSE

    千次阅读 2018-03-06 17:30:51
    mean_squared_error / mse 均方误差,常用的目标函数,公式为((y_pred-y_true)**2).mean()model = Sequential() model.add(Dense(64, init='uniform', input_dim=10)) model.add(Activation('tanh')) model.add...
  • 粒子群算法解决函数优化问题

    万次阅读 2015-07-03 13:35:58
    1 选题描述 粒子群算法(particle swarm optimization,PSO)是计算智能领域,除了蚁群算法、鱼群算法之外的一种群体智能地优化算法。...PSO算法是从这种生物种群行为特征中得到启发并用于求解优化问题
  • 多目标优化问题的算法及其求解

    万次阅读 多人点赞 2018-09-06 17:32:58
    多目标优化问题的算法及其求解 一、多目标优化问题   多目标优化是在现实各个领域中都普遍存在的问题,每个目标不可能都同时达到最优,必须各有权重。但是,究竟要怎样分配这样的权重,这已经成为人们...
  • MATLAB求多目标优化问题——fminimax

    万次阅读 多人点赞 2015-07-10 10:17:36
    MATLAB求多目标优化问题使用fminimax求解,包括模型、fminimax函数说明以及实例。
  • 多目标优化-测试问题及其Pareto前沿

    万次阅读 多人点赞 2017-11-27 14:56:22
    多目标进化算法系列 ...在很工程问题中都会涉及需要对目标同时进行优化问题,且这些目标间是相互互斥的,也即一个目标的增大往往至少存在一个其他的目标减小,以下举一个简单的例子说明: min...
  • 利用遗传算法求解一些典型的二元函数优化问题,对五个二元最优化函数(函数表达式、决策变量取值范围)进行求解,结果要尽可能精确。 五个函数分别为: 二维球形函数:f1(x,y)=x2+y2f _ { 1 } ( x , y ) = x ^ { 2 }...
  • 目标函数定义最大似然方法最大似然估计,只是一种概率论在统计学的应用,它是参数估计的方法之一。说的是已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,...
  • 粒子群算法(PSO)解决函数优化问题

    万次阅读 2019-03-22 22:27:00
    粒子群算法(PSO)解决函数优化问题 本文转载自:http://wenku.baidu.com/link?url=E6F5Nv6kW5nOQ2BD3mm4q5ld22o_pLQ48jPD-9N4q_1Sh-lJOrWVCo1Bc9SYB514goOOpXQJrk5sqTyzvrVthvnhXWqBnwzAMl4S8Miveka### 目录 ...
  • 遗传算法解决函数优化问题

    千次阅读 2012-11-02 20:18:14
    1. 上机编写程序,解决以下函数优化问题: 2. 调试程序。 3. 根据实验结果,撰写实验报告。 三、实验原理 遗传算法是一类随机优化算法,但它不是简单的随机比较搜索,而是通过对染色体的评价和对染色体中...
  • 原文 From Wikipedia, the free encyclopedia In applied mathematics, test functions, known as artificial landscapes, are useful to evaluate characteristics of optimization algorithms, such as: ...
  • 模拟退火算法解决函数优化问题

    千次阅读 2012-11-02 20:25:03
    模拟退火算法是基于Monte Carlo迭代求解策略的一种随机寻优算法,其出发点是基于物理退火过程与组合优化之间的相似性,模拟退火算法由某一较高初温开始,利用具有概率突跳特性的Metropolis抽样策
  • 多目标优化详解【转载】

    万次阅读 多人点赞 2017-09-02 11:05:47
    人们会经常遇到使目标在给定区域同时尽可能最佳的优化问题 ,也就是多目标优化问题优化问题存在的优化目标超过一个并需要同时处理 ,就成为多目标优化问题多目标优化问题在工程应用等现实生活中非常普遍...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 345,734
精华内容 138,293
关键字:

多目标函数优化问题