区间多目标优化算法IP-MOEA

区间定义和操作

定义:闭区间,定义为 ,为实数集

 当区间上下端点相等时,区间退化为一个点,称为退化区间。

 操作:区间

 四则运算

 

 数乘

 区间范数

区间范数为:

 

 其中

 区间多目标优化问题 (IMOPs)

定义:无约束 IMOPs 的数学模型如下所述

 

 区间  的中心和宽度为:

 

 

 IMOPs相关概念

Pareto 支配

互不支配:

Pareto 最优解

不存在,满足 。  

Pareto 最优解集 所有非支配解的集合

Pareto 最优前沿 非支配解集在目标空间中的映射

测试函数的构造

两目标

三目标

  

IP-MOEA程序

其中

evaluate_objective 主要包括ZDT1~ZDT3,DTLZ1和DTLZ2区间测试函数

case {'ZDT1'}
        f = [];
        sum_x = 0;
        g = [];
        for i = 2 : V 
            sum_x = sum_x + x(i)^2;
        end
        g_x = 1+9*sum_x/(V-1);
        g(1) = x(1);                   %目标一的精确值
        g(2) = g_x*(1-sqrt(g(1)/g_x)); %目标二的精确值
        f(1) = min(g(1),g(1)+sin(10*pi*sum(x))/4);  %目标一的下界
        f(2) = max(g(1),g(1)+sin(10*pi*sum(x))/4);  %目标一的上界
        f(3) = min(g(2),g(2)+sin(20*pi*sum(x))/4);  %目标二的下界
        f(4) = max(g(2),g(2)+sin(20*pi*sum(x))/4);  %目标二的上界 

GD,IGD,spp,yanzhan,zhypeIndicatorSampled为指标值计算

genetic_operator2 为进化操作

IMOEA 为主函数,主要包括相关参数初始化,进化操作,指标计算和绘图

initialize_variables 为初始化种群

for i = 1 : N
    for j = 1 : V
        f(i,j) = (min(j) + (max(j) - min(j))*rand(1));
    end
    f(i,V + 1: K) = (evaluate_objective(name,f(i,:), M, V));
end

main为主运行程序

 clear;clc;
    name='ZDT1';
    num_of_runs=1;          %设置总的运行次数
    pop=100;gen=400;       %注意根据pop修改pture1的N
    nVar= 30;
for runs = 1:num_of_runs 
    fprintf('总循环次数:%d\n',runs)
   [metric_staticIP,archive_staticIP]=IMOEA(name,nVar,pop,gen,runs);
    staticIP_metric(runs,1)=metric_staticIP;
    staticIP_archive(runs,1).staticIP=archive_staticIP;
end

metric 为计算相关区间指标

objectivedescriptionfunction 目标函数相关参数

plot_figure 绘制区间上下界以及区间前沿

plotcube 绘制区间

ptrue 真实前沿

ptrue1 三目标函数真实前沿

replace_chromosome 种群个体的选择

tournament_selection 选择交配个体

ucafor_this 区间大小比较

unondominationsortmod 非支配排序

UniformPoint 生成均匀分布参考向量

绘制最终DTLZ1结果

程序链接:IP-MOEA

参考文献

[1] R. Moore, R. Kearfott and M. Cloud, “Introduction to interval analysis,” Philadelphia, PA, USA: SIAM, 2009.

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
区间优化工具以及程序,INTLAB完全是用Matlab编写的.自我验证方法 密集的线性系统(也包括内部包含和结构化矩阵) 稀疏的spd线性系统 非线性方程组 几个全球性例程: 非线性方程组的所有根 验证了全局优化 验证约束全局优化 参数识别 单变量和多变量非线性方程的根(简单和集群) 特征值问题(简单和集群,也包含内部包含和结构化矩阵) 广义特征值问题(简单和集群) 正交用于单变量函数 单变量多项式零(简单和群集) 前向和后向FFT 包含向量和矩阵的实数和复数数据的区间算法(非常快) 实数和复数稀疏矩阵的区间算法(非常快) 仿射算法包括向量和矩阵 渐变使用仿射算法 Hessians使用仿射算术 泰勒扩展使用仿射算法 fl-numbers:k位浮点和区间运算 自动微分(正向模式,矢量化计算,快速) 梯度(解决非线性方程组) Hessians(用于全球优化) 泰勒系列的单变量函数 自动斜率(顺序方法,对于很多变量很慢) 验证(简单)单变量函数的集成 单变量和多变量(区间)多项式 严格的实时间隔标准函数,包括gamma,erf和erfc(快速,非常准确,〜3 ulps) 严格的复杂间隔标准功能(快速,严谨,但不一定是尖锐的内含物) 一些严格的更高的先验功能 严格的输入/输出(外部和内部包含) 精确求和,点积和矩阵向量残差(解释,参考实现,慢) 几个实用程序 具有误差范围的多精度区间算术(作业慢,速度慢)

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

浅忆孤寂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值