clear; clc; tic; matlabpool close; matlabpool open 3 comsolPort1 = 2036; system( ['comsolserver.exe -np 1 -port ' num2str(comsolPort1) ' &'] ); pause(1) comsolPort2 = 2037; system( ['comsolserver.exe -np 1 -port ' num2str(comsolPort2) ' &'] ); pause(1) comsolPort3 = 2038; system( ['comsolserver.exe -np 1 -port ' num2str(comsolPort3) ' &'] ); pause(1) PopulationSize=12; Generations=50; EliteCount=3; CrossoverFraction=0.5; nvars=3; A=[]; b=[]; Aeq=[]; beq=[]; LB=[1,1,1]; UB=[499,499,499]; nonlcon=[]; options = gaoptimset(@ga); options = gaoptimset(options,'PopulationSize', PopulationSize,'Generations',... Generations,'EliteCount',EliteCount,'MutationFcn', {@mutationadaptfeasible},... 'CrossoverFraction',CrossoverFraction,'PlotFcns', {@gaplotbestf,@gaplotbestindiv,... @gaplotdistance,@gaplotexpectation},'UseParallel', 'always', 'Vectorized', 'off'); [x fval exitflag output population scores]=ga(@optimization,nvars,A,b,Aeq,beq,LB,UB,nonlcon,options); t=toc; display(strcat('parfor并行计算时间:',num2str(t),'秒'));