NSGA-III求解微電網多目標優化調度(MATLAB)

一、NSGA-III簡介

NSGA-III算法由Kalyanmoy Deb和Himanshu Jain于 2014年提出。

參考文獻:Deb K , Jain H . An Evolutionary Many-Objective Optimization Algorithm Using Reference Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints[J]. IEEE Transactions on Evolutionary Computation, 2014, 18(4):577-601.

二、微網系統運行優化模型

微電網優化模型介紹:

weixin的博客_CSDN博客46204734/article/details/132700070?csdnshare_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132700070%22%2C%22source%22%3A%22weixin_46204734%22%7D

三、NSGA3求解微電網多目標優化調度

(1)部分代碼

close all;
clear ;?
clc;
global P_load; %電負荷
global WT;%風電
global PV;%光伏
%%
addpath('./NSGA3/')%添加算法路徑
TestProblem=1;
MultiObj = GetFunInfo(TestProblem);
MultiObjFnc=MultiObj.name;%問題名
% Parameters
params.Np = 100;? ? ? ? % Population size
params.Nr = 200;? ? ? ? % Archive size
params.maxgen = 100;? % Maximum number of iteration
params.ngrid = 20;? ? ? % Number of grids in each dimension
[Xbest,Fbest]? = NSGA3(params,MultiObj);%% 畫結果圖ParetoFont
figure(1)
plot(Fbest(:,1),Fbest(:,2),'go');
legend('NSGA3');
xlabel('運行成本')
ylabel('環境保護成本')
saveas(gcf,'./Picture/ParetoFont.jpg') %將圖片保存到Picture文件夾下面%% 比較不同目標函數尋優對調度結果的影響
%idxn=1 第1種.將兩個目標函數值歸一化相加,取相加后最小的目標值的粒子,即尋找折衷解并畫圖
%idxn=2 第2種尋找總成本最低時的解并畫圖
%idxn=3 第3種尋找運行成本最低時的解并畫圖
%idxn=4 第4種尋找環境保護成本最低時的解并畫圖
for idxn=1:4pg=plotFigure(Xbest,Fbest,idxn);
end

(2)部分結果

pareto前沿:

第1種.將兩個目標函數值歸一化相加,取相加后最小的目標值的粒子,即尋找折衷解并畫圖

第2種尋找總成本最低時的解并畫圖

第3種尋找運行成本最低時的解并畫圖

第4種尋找環境保護成本最低時的解并畫圖

四、完整MATLAB代碼

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

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

相關文章

[chroot+seccomp逃逸] THUCTF2019 之 固若金湯

題目分析 附件為一個源碼, 其中注釋我都寫好了, 主要就講關鍵的知識點. #define _GNU_SOURCE#include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <string.h> #include <errno.h> #include <sched.h> #include <uni…

【C/PTA —— 10.函數1(課外實踐)】

C/PTA —— 10.函數1&#xff08;課外實踐&#xff09; 一.函數題6-1 符號函數6-2 求排列數6-3 求一個大于10的n位整數w的后n-1位的數&#xff0c;并作為函數值返回。6-4 其右上三角&#xff08;含主對角線&#xff09;元素之和。6-5 字符串比較6-6 使用函數求素數和6-7 使用函…

【電子通識】為什么說做產品不是簡單的將不同的技術進行搭積木?

很多人說做產品的硬件工程師&#xff0c;其實就是將專項技術工程師已經調好的模塊進行拼接。類似于小孩將積木搭成一個房子的形狀&#xff0c;雖然不同人搭的房子風格迥異&#xff0c;但所使用的原材料卻都是一樣的。 首先我并不同意這種看法&#xff0c;原因是產品工程師是需要…

JVM深入理解

JVM深入理解&#xff08;一&#xff09; JVM是什么 JRE、JDK和JVM 的關系 JVM原理 1、JVM是什么&#xff1f; JVM是Java Virtual Machine&#xff08;Java虛擬機&#xff09;的縮寫&#xff0c;由一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收堆和一個存儲方法域等組…

MediaCodec詳解

MediaCodec 是Android平臺提供的一個API&#xff0c;用于對音頻和視頻數據進行編碼&#xff08;轉換為不同的格式&#xff09;和解碼&#xff08;從一種格式轉換回原始數據&#xff09;。它是Android 4.1&#xff08;API級別16&#xff09;及以上版本的一部分&#xff0c;允許開…

Sulfo-CY5 Azide在其他生物學研究中的應用

除了生物成像、生物分子標記、分子生物學研究和生物傳感與診斷等領域外&#xff0c;Sulfo-CY5 Azide還在其他生物學研究中有多種應用&#xff0c;**(來自星戈瑞的花菁染料)**如下&#xff1a; ****細胞追蹤和細胞遷移研究&#xff1a;****Sulfo-CY5 Azide可以被用作細胞標記劑&…

【教3妹學編程-算法題】統計和小于目標的下標對數目

2哥 : 3妹&#xff0c;OpenAI的宮斗劇迎來了大結局&#xff01;OpenAI宣布阿爾特曼復職CEO&#xff0c;董事會重組 3妹&#xff1a;啊&#xff1f;到底誰才是幕后操縱者啊&#xff0c;有咩有揪出來 2哥 : 也不是很清楚&#xff0c;據說在被開除的幾周前&#xff0c;前CEO曾譴責…

Linux 家目錄和根目錄

摘要&#xff1a; 在 Linux 操作系統中&#xff0c;家目錄和根目錄是兩個非常重要的概念。它們是 Linux 文件系統中的兩個關鍵節點&#xff0c;為用戶和系統進程提供存儲、管理和訪問文件和目錄的接口。本文旨在深入探討和理解這兩個目錄的結構、功能和使用方式&#xff0c;同時…

行情分析 - - 加密貨幣市場大盤走勢(11.24)

大餅昨日震蕩幅度很小&#xff0c;而今天延續昨日的空頭思路。當然如果從MACD日線來看&#xff0c;處于上漲趨勢&#xff0c;穩健的可以選擇觀望等待。空頭思路是因為目前EMA21均線和EMA55均線依然保持很遠&#xff0c;最近兩個月BTC上漲40%&#xff0c;而最近持續保持高位很快…

同時可視化原始中心點和經過坐標轉換后的中心點

std::vector<Eigen::Vector2d> centroids_unknown_motion_underk;std::vector<Eigen::Vector2d> measurements_centroids_unknown_motion_k= transformLandmarks(centroids_unknown_motion_k, weights_pose); // 數據填充 // k時刻經過轉換到k-1時刻坐標系下的中心…

Twincat使用:EtherCAT通信掃描硬件設備鏈接PLC變量

EtherCAT通信采用主從架構&#xff0c;其中一個主站設備負責整個EtherCAT網絡的管理和控制&#xff0c;而從站設備則負責在數據環網上傳遞數據。 主站設備可以是計算機、工控機、PLC等&#xff0c; 而從站設備可以是傳感器、執行器、驅動器等。 EL3102:MDP5001_300_CF8D1684;…

Arduino驅動PT100數字K型高溫傳感器(溫濕度傳感器)

目錄 1、傳感器特性 2、控制器和傳感器連線圖 3、硬件原理圖 4、驅動程序 PT100適用于大部分400℃以下高溫的測量,但是通常家用天然氣灶焰芯溫度可達800℃以上,燒制陶瓷的窖子或者大功率電爐溫度更可超過1000℃,在這些超高溫度的場景下就需要用到K型熱電偶。

C# 無法將“int[]“類型隱式轉換為“int?[]“,無法將“string[]“類型隱式轉換為“string?[]“

在 C# 中&#xff0c;不能將 int[] 隱式轉換為 int?[]&#xff0c;因為它們是兩種不同的類型。int[] 是一個整數數組&#xff0c;而 int?[] 是一個可空整數數組。要解決這個問題&#xff0c;你可以使用顯式轉換或創建一個新的可空整數數組。 兩種解決方案供大家選擇 // 示例…

C++編程——輸入

#include<bits/stdc.h> using namespace std; int main(){//beginint a 0, b 0, c 0, d 0, e 0;char f1, f2;char g[30];scanf("%d", &a); //輸入整數并賦值給變量ascanf("%d", &b); //輸入整數并賦值給變量bscanf("%d", &…

關于愛普生L3219彩色噴墨打印機打印過程中噪聲過大的幾點緩解方法

故障描述&#xff1a; 一臺新購買的愛普生L3219使用過程中出現了噪聲過大的問題&#xff0c;每次打印或者復印都或有明顯的噪音過大的現象&#xff0c;目測觀察大概是打印機字車左右來回移動的時候剮蹭滑道的問題&#xff0c;與經銷商溝通后由經銷商聯系上級供貨商更換一臺全新…

CAN實驗

CAN 寄存器 HAL庫函數 代碼 #include "./BSP/CAN/can.h"CAN_HandleTypeDef g_can1_handle; CAN_TxHeaderTypeDef g_can1_txheader; CAN_RxHeaderTypeDef g_can1_rxheader;/* STM32F103 TS1 8 TS2 7 BRP 3 波特率&#xff1a;36000 / [(9 8 1) * 4] 500Kbps …

Qt學習(2)

1.QObject 只有繼承了QObject類的類&#xff0c;才具有信號槽的能力。所以&#xff0c;為了使用信號槽&#xff0c;必須繼承QObject。凡是QObject類&#xff08;不管是直接子類還是間接子類&#xff09;&#xff0c;都應該在第一行代碼寫上Q_OBJECT。不管是不是使用信號槽&…

【Java 進階篇】Jedis 操作 String:Redis中的基礎數據類型

在Redis中&#xff0c;String是最基礎的數據類型之一&#xff0c;而Jedis作為Java開發者與Redis交互的利器&#xff0c;提供了豐富的API來操作String。本文將深入介紹Jedis如何操作Redis中的String類型數據&#xff0c;通過生動的代碼示例和詳細的解釋&#xff0c;讓你輕松掌握…

C# 中using關鍵字的使用

在C#中我們還是很有必要掌握using關鍵字的。 比如這樣&#xff1a; string path “D:\data.txt”; if (!File.Exists(path )) {File.Create(path); File.WriteAllText(path,"OK"); } 首先我創建…

正則表達式(Java)(韓順平筆記)

正則表達式&#xff08;Java&#xff09; 底層實現 package com.hspedu.RegExp;import java.util.regex.Matcher; import java.util.regex.Pattern;public class RegExp00 {public static void main(String[] args) {String content "1998年12月8日&#xff0c;第二代J…