度】基于matlab NSGA-2算法求解多目標(biāo)車間調(diào)度問題【含Matlab源碼 071期】)
歡迎來到海神之光博客之家?博主簡介熱愛科研的Matlab仿真開發(fā)者修心和技術(shù)同步精進(jìn)個(gè)人主頁海神之光代碼獲取方式海神之光Matlab王者學(xué)習(xí)之路—代碼獲取方式??座右銘行百里者半于九十。更多Matlab車間調(diào)度仿真內(nèi)容點(diǎn)擊①付費(fèi)專欄Matlab車間調(diào)度初級版②Matlab車間調(diào)度 進(jìn)階版??關(guān)注CSDN海神之光更多資源等你來?一、車間調(diào)度簡介1 作業(yè)車間調(diào)度問題描述作業(yè)車間調(diào)度問題Job Shop Scheduling, JSP是最經(jīng)典的幾個(gè)NP-hard問題之一。其應(yīng)用領(lǐng)域極其廣泛涉及航母調(diào)度機(jī)場飛機(jī)調(diào)度港口碼頭貨船調(diào)度汽車加工流水線等。JSP問題描述一個(gè)加工系統(tǒng)有M臺(tái)機(jī)器要求加工N個(gè)作業(yè)其中作業(yè)i包含工序數(shù)為Li。令則L為任務(wù)集的總工序數(shù)。其中各工序的加工時(shí)間已確定并且每個(gè)作業(yè)必須按照工序的先后順序加工。調(diào)度的任務(wù)是安排所有作業(yè)的加工調(diào)度排序約束條件被滿足的同時(shí)使性能指標(biāo)得到優(yōu)化。作業(yè)車間調(diào)度需要考慮如下約束:Cons1每道工序在指定的機(jī)器上加工且必須在其前一道工序加工完成后才能開始加工Cons2某一時(shí)刻1臺(tái)機(jī)器只能加工1個(gè)作業(yè)Cons3每個(gè)作業(yè)只能在1臺(tái)機(jī)器上加工1次Cons4各作業(yè)的工序順序和加工時(shí)間已知不隨加工排序的改變而改變。2 問題實(shí)例下面給出作業(yè)車間調(diào)度問題的一個(gè)實(shí)例其中每個(gè)工序上標(biāo)注有一對數(shù)值m,p其中m表示當(dāng)前工序必須在第m臺(tái)機(jī)器上進(jìn)行加工p表示第m臺(tái)機(jī)器加工當(dāng)前工序所需要的加工時(shí)間。注機(jī)器和作業(yè)的編號從0開始jop0[(0,3),(1,2),(2,2)]jop1[(0,2),(2,1),(1,4)]jop2[(1,4),(2,3)]在這個(gè)例子中作業(yè)jop0有3道工序它的第1道工序上標(biāo)注有(0,3)其表示第1道工序必須在第0臺(tái)機(jī)器上進(jìn)行加工且需要3個(gè)單位的加工時(shí)間它的第2道工序上標(biāo)注有(1,2)其表示第2道工序必須在第1臺(tái)機(jī)器上進(jìn)行加工且需要2個(gè)單位的加工時(shí)間余下的同理??偟膩碚f這個(gè)實(shí)例中共有8道工序。該問題的一個(gè)可行解是L8道工序開始時(shí)間的一個(gè)排列且滿足問題的約束。下圖給出了一個(gè)可行解注該解不是最優(yōu)解的示例?二、nsgaII算法簡介NSGA非支配排序遺傳算法(Non-dominated Sorting Genetic Algorithm)種群分層Tips:此處存在重復(fù)對比情況即X1 與 X2 進(jìn)行了兩次對比虛擬適應(yīng)度目標(biāo)函數(shù)值共享小生境技術(shù)同一小生境內(nèi)的種群適應(yīng)度互相減小。相似度高的、小生境內(nèi)個(gè)體多的種群適應(yīng)度減少程度更大。通過這樣的方式可以保證非支配層的每個(gè)個(gè)體擁有不同的適應(yīng)度值。這個(gè)沒有懂NSGA-II帶精英策略的非支配排序遺傳算法快速非支配排序算法偽代碼如圖D點(diǎn)被A和C點(diǎn)支配所以D點(diǎn)的np為2A點(diǎn)支配D和E所以A點(diǎn)的Sp{DE}。該排序算法分級與NSGA中的結(jié)果不一樣擁擠度和擁擠度比較算子密度估計(jì)根據(jù)每一目標(biāo)函數(shù)計(jì)算該點(diǎn)兩側(cè)的兩個(gè)點(diǎn)的平均距離該值作為以最近鄰居作為頂點(diǎn)的長方體周長的估計(jì)作為擁擠系數(shù)。如下圖第i個(gè)解的擁擠系數(shù)為他周圍長方體的長度虛線表示。計(jì)算擁擠系數(shù)需要對每一目標(biāo)函數(shù)進(jìn)行排序。每個(gè)非支配層的邊界的個(gè)體擁擠度為無窮。擁擠度有多種計(jì)算方式1.直接計(jì)算長方體邊長2.需要除以…擁擠度比較算子主程序精英策略NSGA-II 程序流程圖需要輸入的變量是規(guī)模N、迭代次數(shù)?三、部分源代碼%主函數(shù)clear all;clc;pop 200; %種群數(shù)量gen 10; %迭代次數(shù)pop_f100;%父代種群數(shù)量data_mac;%載入車間設(shè)備信息data_pro;%載入待加工工件信息pro_matrix[];%包含工序及目標(biāo)函數(shù)值得決策矩陣mac_matrix[];%包含設(shè)備染色體信息的決策矩陣for i1:pop_f%生成初始種群[P,M,N]initPop(J);[part_t,mac_t]decode(J,P,M,N);c_timecal_comp_time(part_t);d_timecal_def_time(J,part_t);t_loadcal_equ_load(part_t);t_conscal_ene_consu(Mac,mac_t,P,M,c_time);pro_matrix(i,:)[P,c_time,d_time,t_load,t_cons];mac_matrix(i,:)M;endfor i 1 : genpool round(pop/2);%round() 四舍五入取整 交配池大小tour 2;%競標(biāo)賽 參賽選手個(gè)數(shù)[p_matrix,m_matrix] non_domination_sort_mod(pro_matrix,mac_matrix);%種群進(jìn)行非支配快速排序和擁擠度計(jì)算clear pro_matrix;clear mac_matrix;[p_parent_chromosome,m_parent_chromosome] tournament_selection(p_matrix,m_matrix,pool,tour);%競標(biāo)賽選擇適合繁殖的父代%交叉變異生成子代種群[p_child_matrix,m_child_matrix]genetic_operator(J,p_parent_chromosome,m_parent_chromosome);%根據(jù)父類和子類總種群進(jìn)行非支配快速排序選取出下一代的父代種群for j1:size(p_child_matrix,1)Pp_child_matrix(j,:);Mm_child_matrix(j,:);Nmachine_index(J,P,M);[part_t,mac_t]decode(J,P,M,N);c_timecal_comp_time(part_t);d_timecal_def_time(J,part_t);t_loadcal_equ_load(part_t);t_conscal_ene_consu(Mac,mac_t,P,M,c_time);pro_matrix(j,:)[P,c_time,d_time,t_load,t_cons];mac_matrix(j,:)M;endn_p_msize(pro_matrix,1);pro_matrix(n_p_m1:n_p_m10,:)p_matrix(1:10,1:size(pro_matrix,2));%保留精英染色體到子代種群中mac_matrix(n_p_m1:n_p_m10,:)m_matrix(1:10,:);end[p_matrix,m_matrix] non_domination_sort_mod(pro_matrix,mac_matrix);num_of_level_1length(find(p_matrix(:,size(p_matrix,2)-1)1));target_p_matrixp_matrix(1:num_of_level_1,:);target_m_matrixm_matrix(1:num_of_level_1,:);best_ptarget_p_matrix(1,:);%選取第一個(gè)作為最優(yōu)解可根據(jù)需求選擇AHP和熵權(quán)法或模糊決策法選出最優(yōu)解best_mtarget_m_matrix(1,:);Pbest_p(1:length(best_p)-6);Mbest_m;Nmachine_index(J,P,M);[~,mac_t]decode(J,P,M,N);ganttChart1(J,best_p,M,mac_t);?四、運(yùn)行結(jié)果?五、matlab版本及參考文獻(xiàn)1 matlab版本2014a2 參考文獻(xiàn)[1] 包子陽,余繼周,楊杉.智能優(yōu)化算法及其MATLAB實(shí)例第2版[M].電子工業(yè)出版社2016.[2]張巖,吳水根.MATLAB優(yōu)化算法源代碼[M].清華大學(xué)出版社2017.3 備注簡介此部分摘自互聯(lián)網(wǎng)僅供參考若侵權(quán)聯(lián)系刪除 仿真咨詢1 各類智能優(yōu)化算法改進(jìn)及應(yīng)用生產(chǎn)調(diào)度、經(jīng)濟(jì)調(diào)度、裝配線調(diào)度、充電優(yōu)化、車間調(diào)度、發(fā)車優(yōu)化、水庫調(diào)度、三維裝箱、物流選址、貨位優(yōu)化、公交排班優(yōu)化、充電樁布局優(yōu)化、車間布局優(yōu)化、集裝箱船配載優(yōu)化、水泵組合優(yōu)化、解醫(yī)療資源分配優(yōu)化、設(shè)施布局優(yōu)化、可視域基站和無人機(jī)選址優(yōu)化2 機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方面卷積神經(jīng)網(wǎng)絡(luò)CNN、LSTM、支持向量機(jī)SVM、最小二乘支持向量機(jī)LSSVM、極限學(xué)習(xí)機(jī)ELM、核極限學(xué)習(xí)機(jī)KELM、BP、RBF、寬度學(xué)習(xí)、DBN、RF、RBF、DELM、XGBOOST、TCN實(shí)現(xiàn)風(fēng)電預(yù)測、光伏預(yù)測、電池壽命預(yù)測、輻射源識別、交通流預(yù)測、負(fù)荷預(yù)測、股價(jià)預(yù)測、PM2.5濃度預(yù)測、電池健康狀態(tài)預(yù)測、水體光學(xué)參數(shù)反演、NLOS信號識別、地鐵停車精準(zhǔn)預(yù)測、變壓器故障診斷3 圖像處理方面圖像識別、圖像分割、圖像檢測、圖像隱藏、圖像配準(zhǔn)、圖像拼接、圖像融合、圖像增強(qiáng)、圖像壓縮感知4 路徑規(guī)劃方面旅行商問題TSP、車輛路徑問題VRP、MVRP、CVRP、VRPTW等、無人機(jī)三維路徑規(guī)劃、無人機(jī)協(xié)同、無人機(jī)編隊(duì)、機(jī)器人路徑規(guī)劃、柵格地圖路徑規(guī)劃、多式聯(lián)運(yùn)運(yùn)輸問題、車輛協(xié)同無人機(jī)路徑規(guī)劃、天線線性陣列分布優(yōu)化、車間布局優(yōu)化5 無人機(jī)應(yīng)用方面無人機(jī)路徑規(guī)劃、無人機(jī)控制、無人機(jī)編隊(duì)、無人機(jī)協(xié)同、無人機(jī)任務(wù)分配6 無線傳感器定位及布局方面?zhèn)鞲衅鞑渴饍?yōu)化、通信協(xié)議優(yōu)化、路由優(yōu)化、目標(biāo)定位優(yōu)化、Dv-Hop定位優(yōu)化、Leach協(xié)議優(yōu)化、WSN覆蓋優(yōu)化、組播優(yōu)化、RSSI定位優(yōu)化7 信號處理方面信號識別、信號加密、信號去噪、信號增強(qiáng)、雷達(dá)信號處理、信號水印嵌入提取、肌電信號、腦電信號、信號配時(shí)優(yōu)化8 電力系統(tǒng)方面微電網(wǎng)優(yōu)化、無功優(yōu)化、配電網(wǎng)重構(gòu)、儲(chǔ)能配置9 元胞自動(dòng)機(jī)方面交通流 人群疏散 病毒擴(kuò)散 晶體生長10 雷達(dá)方面卡爾曼濾波跟蹤、航跡關(guān)聯(lián)、航跡融合