動態多目標進化算法:VARE(Vector Autoregressive Evolution)求解DF1-DF14,提供完整MATLAB代碼

一、VARE簡介

VARE(Vector Autoregressive Evolution)算法是2023年提出的一種新型的動態多目標優化(DMO)算法,旨在有效處理隨時間變化的多目標優化問題。它通過結合向量自回歸(VAR)模型和環境感知超變異(EAH)策略,動態適應環境變化,預測新的 Pareto 最優解,并保持種群多樣性。VARE 的主要貢獻在于提出了一個能夠考慮決策變量之間相互關系的 VAR 模型用于種群預測,并引入 EAH 策略來動態調整種群多樣性。

(1)向量自回歸(VAR)模型

VAR 模型是一種用于預測相互聯系的時間序列系統的統計模型。在 VARE 算法中,VAR 模型用于預測新環境中的解,考慮了決策變量之間的相互關系。VAR 模型的數學形式如下:

x t = α + β 1 x t ? 1 + β 2 x t ? 2 + ? + β l x t ? l + μ x_t = α + β_1x_{t-1} + β_2x_{t-2} + \cdots + β_lx_{t-l} + μ xt?=α+β1?xt?1?+β2?xt?2?+?+βl?xt?l?+μ

其中:

  • x t x_t xt?是一個 n 維內生變量向量,表示當前時刻的決策變量。
  • α α α 是一個 n 維常數向量。
  • β 1 , β 2 , … , β l β_1, β_2, \ldots, β_l β1?,β2?,,βl?是模型的系數矩陣,表示不同滯后階數對當前值的影響。
  • l l l 是滯后階數,表示模型考慮的過去時間步數。
  • μ μ μ是一個零均值白噪聲向量,表示模型的誤差項。

在 VARE 中,為了處理高維決策變量帶來的參數稀疏問題,使用主成分分析(PCA)進行降維。首先將歷史解數據映射到低維空間,然后在低維空間中構建 VAR 模型,最后將預測結果映射回原始決策空間。

(2)環境感知超變異(EAH)策略

EAH 策略用于動態調整種群多樣性,以應對環境變化。EAH 根據目標空間和決策空間的變化估計環境變化的嚴重程度,并據此調整超變異的分布指數。具體計算如下:

客觀空間變化度量

在目標空間,EAH 計算所有目標的相對差異平均值 (?F):

? F = 1 M N ∑ i = 1 N ∑ j = 1 M ∣ f j ( x i , t + 1 ) ? f j ( x i , t ) f j ( x i , t ) + ε ∣ ?F = \frac{1}{MN} \sum_{i=1}^N \sum_{j=1}^M \left| \frac{f_j(x_i, t+1) - f_j(x_i, t)}{f_j(x_i, t) + ε} \right| ?F=MN1?i=1N?j=1M? ?fj?(xi?,t)+εfj?(xi?,t+1)?fj?(xi?,t)? ?

其中:

  • M M M 是目標數量。
  • N N N是種群大小。
  • f j ( x i , t ) f_j(x_i, t) fj?(xi?,t)是個體 x i x_i xi?在時間 t t t的第 j j j個目標值。
  • ε ε ε是一個小常數,用于防止除以零。
決策空間變化度量

在決策空間,EAH 計算每個個體的相對決策差異平均值 (?X):

? X = 1 N n ∑ i = 1 N ∑ j = 1 n ∣ x ^ i , j ? x i , j x i , j + ε ∣ ?X = \frac{1}{Nn} \sum_{i=1}^N \sum_{j=1}^n \left| \frac{\hat{x}_{i,j} - x_{i,j}}{x_{i,j} + ε} \right| ?X=Nn1?i=1N?j=1n? ?xi,j?+εx^i,j??xi,j?? ?

其中:

  • n n n是決策變量的數量。
  • x i , j x_{i,j} xi,j?是個體 x i x_i xi?在時間 t t t 的第 j j j個決策變量值。
  • x ^ i , j \hat{x}_{i,j} x^i,j?是個體 x i x_i xi? 在時間 t + 1 t+1 t+1 的第 j j j 個決策變量值。
分布指數調整

根據 ? F ?F ?F ? X ?X ?X計算超變異的分布指數 η η η

η = 20 × max ? ( e ? ( ? F + ? X ) , 0.1 ) η = 20 \times \max(e^{-(?F + ?X)}, 0.1) η=20×max(e?(?F+?X),0.1)

該公式將 η η η 的取值范圍限制在 [2, 20],其中 η = 20 η = 20 η=20 表示沒有環境變化,而 η ≥ 2 η ≥ 2 η2則確保超變異的解不會過于隨機。

(3)自適應變化響應機制

VARE 算法通過自適應變化響應機制,在 VAR 預測和 EAH 之間進行選擇。選擇機制基于過去環境變化中不同策略的成功率。具體來說,為每個參考方向 λ i λ_i λi? 定義選擇 VAR 預測的概率 π i π_i πi?

π i = ρ i , p ρ i , p + ρ i , m π_i = \frac{ρ_{i,p}}{ρ_{i,p} + ρ_{i,m}} πi?=ρi,p?+ρi,m?ρi,p??

其中:

  • ρ i , s ρ_{i,s} ρi,s?是策略 s s s(可以是 VAR 預測或 EAH)在過去 L L L個環境變化中生成的個體被保留下來的比率。
  • L L L 是過去環境變化的數量,通常設置為等于 VAR 模型的滯后階數 l l l

(4)算法流程

  1. 初始化:生成均勻分布的參考方向,初始化種群和 VARE 概率向量。
  2. 環境變化檢測:在每一代開始時檢測環境是否發生變化。
  3. 響應環境變化
    • 如果檢測到環境變化,將當前種群存檔,并根據 VARE 概率決定使用 VAR 預測還是 EAH 生成新個體。
    • 若未檢測到環境變化,則通過遺傳操作生成新種群。
  4. 多樣性中心排序:對當前種群和新生成的個體進行多樣性中心排序,更新種群。
  5. 更新 VARE 概率:根據個體保留的成功率更新 VARE 概率。
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述

(5)關鍵創新點

  1. 向量自回歸(VAR)模型:用于考慮決策變量之間的相互關系,預測新環境中的解。通過主成分分析(PCA)進行降維,提高模型參數估計效率。
  2. 環境感知超變異(EAH):根據目標空間和決策空間的變化估計環境變化的嚴重程度,動態調整超變異的分布指數,增加種群多樣性。
  3. 自適應變化響應機制:根據過去環境變化中不同策略的成功率,自適應選擇 VAR 預測或 EAH 作為響應機制。

(6)參考文獻

[1] Jiang S , Wang Y , Hu Y ,et al. Vector Autoregressive Evolution for Dynamic Multi-Objective Optimisation[J]. ArXiv, 2023, abs/2305.12752.DOI:10.48550/arXiv.2305.12752.

二、VARE求解DF1-DF14

(1)CEC2018 動態多目標測試函數介紹

CEC2018 競賽定義了 14 個動態多目標測試函數(DF1-DF14),分為兩類:
在這里插入圖片描述

  1. 雙目標問題(DF1-DF9):這些函數具有兩個目標,用于測試算法在動態環境下的性能。
  2. 三目標問題(DF10-DF14):這些函數具有三個目標,增加了優化的復雜性。

這些測試函數設計了不同的動態特性,以評估動態多目標優化算法的性能。動態特性包括:

  • 目標位置變化:Pareto 最優前沿(PF)或 Pareto 最優解集(PS)的位置隨時間變化。
  • 約束條件變化:動態約束條件的引入或變化。
  • 目標數量或決策變量數量變化:在某些測試函數中,目標數量或決策變量數量可能隨時間變化。
測試函數目標數量動態特性
DF12PF 的位置隨時間線性移動
DF22PF 的位置隨時間非線性移動
DF32PF 的位置和形狀隨時間變化
DF42PF 的位置和形狀隨時間劇烈變化
DF52PF 的凸性隨時間變化
DF62PF 的凹性隨時間變化,并引入局部最優解
DF72PF 的不同部分以不同方向和速度移動
DF82PF 的不同部分以不同方向和速度移動,且存在多個膝點
DF92PF 斷裂成多個部分
DF103PF 的位置隨時間移動
DF113PF 的位置和形狀隨時間變化
DF123PF 的位置和形狀隨時間劇烈變化
DF133PF 的凸性隨時間變化
DF143PF 的凹性隨時間變化,并引入局部最優解

(2)部分MATLAB代碼

%% 計算POF
for i=1:size(ArchiveResult{1,1}{1,1},1)/(10*nt*taut)k1=1+(i-1)*(10*nt*taut);k2=k1+nt*taut;if prob_ids<110data=ArchiveResult{1,1}{1,1}(k1:k2,end-1:end);elsedata=ArchiveResult{1,1}{1,1}(k1:k2,end-2:end);endresult(i).data=data;%     plot(data(:,1)+i,data(:,2)+i,'ro')%     hold on
end
%% 計算TurePOF
prob=problem(prob_ids);
k=1;
for t=0:1:100/taut-1PF(k).data=generatePF(prob,t);PF(k).t=t;k=k+1;
end%% 畫圖
figure
Fm=size(PF,2);
Tm=size(PF(1).data,2);
if Tm<3for t=1:Fmplot(result(t).data(:,1)+PF(t).t,result(t).data(:,2)+PF(t).t,'ro');hold onplot(PF(t).data(:,1)+PF(t).t,PF(t).data(:,2)+PF(t).t,'g.');endxlabel('f1+t')ylabel('f2+t')
elsefor t=1:Fmplot3(result(t).data(:,1)+PF(t).t,result(t).data(:,2)+PF(t).t,result(t).data(:,3)+PF(t).t,'ro');hold onplot3(PF(t).data(:,1)+PF(t).t,PF(t).data(:,2)+PF(t).t,PF(t).data(:,3)+PF(t).t,'g.');endxlabel('f1+t')ylabel('f2+t')zlabel('f3+t')
end
title(prob.name)

(3)部分結果

DF1:

在這里插入圖片描述

DF4:

在這里插入圖片描述

DF10:

在這里插入圖片描述

三、完整MATLAB見下方名片

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/83383.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/83383.shtml
英文地址,請注明出處:http://en.pswp.cn/web/83383.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【JavaEE】-- HTTPS

文章目錄 1. HTTPS是什么&#xff1f;2. 加密是什么&#xff1f;2.1 引入對稱加密&#xff08;效率高&#xff09;2.2 引入非對稱加密&#xff08;效率低&#xff09;2.3 引入證書2.3.1 數據簽名2.3.2 通過證書解決中間人攻擊 1. HTTPS是什么&#xff1f; HTTP也是一個應用層協…

撰寫腳本,通過發布/joint_states話題改變機器人在Rviz中的關節角度

撰寫腳本&#xff0c;通過發布/joint_states話題改變機器人在Rviz中的關節角度 提問 為我寫一個改變關節base_spherical_center_high_joint角度的python腳本吧。適用于ROS2的humble 回答 下面是一個適用于 ROS 2 Humble 的 Python 腳本&#xff0c;它會以指定頻率持續發布 …

Redis : Hash類型

哈希類型 哈希類型的命令 hset 設置key指定的字段&#xff08;field&#xff09;的值&#xff08;value&#xff09; 也可以設置多組field和value hget 獲得哈希中指定字段的值 如果該字段為空或者key為空則返回nil hexists 判斷哈希中是否有該字段的值 如果有則會返回1…

【Chipyard】 conda 環境安裝與使用

一、Conda 安裝&#xff08;以 Miniconda 為例&#xff09; Conda 是一個強大的環境管理工具&#xff0c;可用于創建、隔離和管理不同的 Python/R 環境。以下是在 Ubuntu 上安裝和使用的完整流程&#xff1a; 1. 下載 Miniconda 安裝包 bash # 下載最新版 Miniconda3&#…

【愚公系列】《生產線數字化設計與仿真》009-顏色分類站仿真(設置顏色分類站的仿真序列)

&#x1f31f;【技術大咖愚公搬代碼&#xff1a;全棧專家的成長之路&#xff0c;你關注的寶藏博主在這里&#xff01;】&#x1f31f; &#x1f4e3;開發者圈持續輸出高質量干貨的"愚公精神"踐行者——全網百萬開發者都在追更的頂級技術博主&#xff01; &#x1f…

ios 26官宣:car play升級提升車載體驗

蘋果公司正式官宣推出ios 26&#xff0c;該版本為ios 18的后續版本。此次軟件更新在命名上煥然一新&#xff0c;設計層面更是實現了全面革新。其中&#xff0c;car play界面迎來全新升級&#xff0c;同時還新增了car play ultra功能。借助這一功能&#xff0c;用戶不僅能夠使用…

Mac 上使用 mysql -u root -p 命令,出現“zsh: command not found: mysql“?如何解決

一、確定 MySQL 安裝路徑&#xff1a; 如果你是使用 Homebrew 安裝的 MySQL&#xff0c;通常安裝路徑是 /usr/local/mysql/bin 如果你是通過官方 DMG 安裝包安裝的 MySQL&#xff0c;默認安裝路徑可能是 /usr/local/mysql/bin 你可以在終端中使用以下命令來查找 MySQL 的安裝…

微軟PowerBI考試 PL300-使用適用于 Power BI 的 Copilot 創建交互式報表

微軟PowerBI考試 PL300-使用適用于 Power BI 的 Copilot 創建交互式報表 Microsoft Power BI 可幫助您通過交互式報表準備數據并對數據進行可視化。 如果您是 Power BI 的新用戶&#xff0c;可能很難知道從哪里開始&#xff0c;并且創建報表可能很耗時。 通過適用于 Power BI …

Android11三網共存

一、優先級基本知識介紹 Android6.0之后系統中優先級設置都是根據Score分值來設置優先級&#xff0c;分值0-100&#xff0c;數值越高&#xff0c;越優先。 SIM卡網絡 50 wifi網絡 60 有線網絡 70手機網絡設置都有自己的Factory設置類&#xff0c;都繼承自NetworkFactory.j…

【散刷】二叉樹基礎OJ題(三)

&#x1f4dd;前言說明&#xff1a; 本專欄主要記錄本人的基礎算法學習以及刷題記錄&#xff0c;使用語言為C。 每道題我會給出LeetCode上的題號&#xff08;如果有題號&#xff09;&#xff0c;題目&#xff0c;以及最后通過的代碼。沒有題號的題目大多來自牛客網。對于題目的…

什么是數據交換?有哪些數據交換方式?

目錄 一、數據交換是什么 二、數據交換面臨的挑戰 1. 數據格式差異 2. 數據標準不統一 3. 安全與隱私問題 4. 網絡與性能問題 三、常見的數據交換方式 1. 文件交換 2. 數據庫直連 3. 中間件交換 4. API接口交換 四、數據交換的發展趨勢 1. 實時性要求提高 2. 標準…

C#winform畫圖代碼記錄

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 坐標變換 {public partial class Fo…

python打卡day50

import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt import numpy as np# 定義通道注意力 class ChannelAttention(nn.Module):def __i…

Go語言多線程問題

打印零與奇偶數&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥鎖和條件變量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…

ateⅹⅰt()的用法

在C/C++中, atexit() 函數用于注冊程序退出時需要調用的函數,即使程序通過 main() 函數返回、 exit() 函數退出或異常終止,這些注冊的函數也會被執行。以下是其詳細用法: 1. 函數原型與頭文件 #include <cstdlib> // C++中需包含此頭文件 int atexit(void (*functio…

【大模型】 使用llama.cpp 進行模型轉換和量化

目錄 1 相關知識 ■llama.cpp ■GGUF 格式 ■量化 2 詳細步驟 克隆 llama.cpp 倉庫 安裝依賴 配置 CMake 構建 構建項目 驗證安裝 轉換 safetensors 為 FP16 GGUF 量化模型 (Q4_K_M) 測試量化模型 1 相關知識 ■llama.cpp llama.cpp是一個開源的 C/C++ 庫,旨…

大數據學習(133)-Hive數據分析2

????&#x1f34b;&#x1f34b;大數據學習&#x1f34b;&#x1f34b; &#x1f525;系列專欄&#xff1a; &#x1f451;哲學語錄: 用力所能及&#xff0c;改變世界。 &#x1f496;如果覺得博主的文章還不錯的話&#xff0c;請點贊&#x1f44d;收藏??留言&#x1f4…

IDEA 連接 Docker 一鍵打鏡像

首先&#xff0c;檢查 IDEA 是否安裝了 Docker 插件&#xff1a; 版本比較新的 IDEA 默認都安裝了這個插件&#xff0c;如果沒有安裝&#xff0c;安裝一下。 確保我們虛擬機上安裝了 Docker 和 Docker-compose&#xff0c;并啟動了 Docker。 找到 IDEA 下方的 Services tab 欄…

第六講——一元函數微分學的應用之中值定理、微分等式與微分不等式

文章目錄 連續函數性質定理定理1 有界與最值定理定理2 介值定理定理3 平均值定理定理4 零點定理定理5 費馬定理導數介值定理(達布定理) 中值定理羅爾定理拉格朗日中值定理柯西中值定理泰勒公式 討論方程的根問題——微分等式證明不等式問題使用函數的性質(單調性、凹凸性、最值…

2025.06.11【Ribo-seq】|用CPAT預測sORF序列的編碼潛能

文章目錄 前言一、準備工作1. 安裝CPAT2. 下載物種特異性模型 二、準備sORF核酸序列1. 獲取sORF的拼接核酸序列示例腳本&#xff08;假設已獲得外顯子fasta&#xff09;&#xff1a; 三、運行CPAT預測編碼潛能1. 準備CPAT模型和hexamer表2. 運行CPAT 四、結果解讀五、常見問題與…