📄 gamain.m
字号:
function x = gamain(bus,index,nornalized_reald,relationlist_final)%规划周期内的时段数目(13周)Nperiod=13*3+1; %(2,2,3)%系统内节点总数Nnode=length(bus(:,1));%调整前系统内各机组检修时段序列;(1-35)% Tpbefore=ones(1,Nnode); % Tpbefore(1:30)=[1 0 0 21 0 4 0 0 0 23 0 19 0 0 0 0 0 24 0 0 0 0 0 25 13 0 0 0 0 0]';% Tpbefore(31:60)=[0 19 0 25 0 0 0 0 0 0 0 10 0 0 0 27 0 0 22 0 0 0 0 0 25 0 0 0 0 0]';% Tpbefore(61:90)=[0 29 0 0 10 28 0 0 0 31 0 7 32 0 0 4 16 0 0 0 0 0 0 0 13 0 32 0 16 33]'; % Tpbefore(91:118)=[19 33 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 35 0 10 0 0 0 25 0 0 ]'; % % best_rptime(1,1:32)=[1 21 4 23 19 24 25 13 19 25 10 27 22 25 29 10 28 31 7 32 4 16 13 32 16 33 19 33 1 35 10 25];% best_rptime(2,1:32)=[2 22 5 24 20 25 26 14 20 26 11 28 23 26 30 11 29 32 8 33 5 17 14 33 17 34 20 34 2 36 11 26];% best_rptime(3,1:32)=[3 23 6 25 21 26 27 15 21 27 12 29 24 27 31 12 30 33 9 34 6 18 15 34 18 35 21 35 3 37 12 27];% best_rptime(4,1:32)=[4 24 7 26 22 27 28 16 22 28 13 30 25 28 32 13 31 34 10 35 7 19 16 35 19 36 22 36 4 38 13 28];% best_rptime(5,1:32)=[5 25 8 27 23 28 29 17 23 29 14 31 26 29 33 14 32 35 11 36 8 20 17 36 20 37 23 37 5 39 14 29];% best_rptime(6,1:32)=[6 26 9 28 24 29 30 18 24 30 15 32 27 30 34 15 33 36 12 37 9 21 18 37 21 38 24 38 6 40 15 30];Tpbefore=ones(1,Nnode); Tpbefore(1:30)=[1 0 0 21 0 4 0 0 0 23 0 19 0 0 0 0 0 24 0 0 0 0 0 25 13 0 0 0 0 0]';Tpbefore(31:60)=[0 19 0 25 0 0 0 0 0 0 0 10 0 0 0 27 0 0 22 0 0 0 0 0 25 0 0 0 0 0]';Tpbefore(61:90)=[0 2 0 0 10 3 0 0 0 10 0 7 1 0 0 4 16 0 0 0 0 0 0 0 13 0 32 0 16 33]'; Tpbefore(91:118)=[19 12 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 35 0 10 0 0 0 25 0 0 ]'; best_rptime(1,1:32)=[1 21 4 23 19 24 25 13 19 25 10 27 22 25 2 10 3 10 7 1 4 16 13 32 16 33 19 12 1 35 10 25];best_rptime(2,1:32)=[2 22 5 24 20 25 26 14 20 26 11 28 23 26 3 11 4 11 8 2 5 17 14 33 17 34 20 13 2 36 11 26];best_rptime(3,1:32)=[3 23 6 25 21 26 27 15 21 27 12 29 24 27 4 12 5 12 9 3 6 18 15 34 18 35 21 14 3 37 12 27];best_rptime(4,1:32)=[4 24 7 26 22 27 28 16 22 28 13 30 25 28 5 13 6 13 10 4 7 19 16 35 19 36 22 15 4 38 13 28];best_rptime(5,1:32)=[5 25 8 27 23 28 29 17 23 29 14 31 26 29 6 14 7 14 11 5 8 20 17 36 20 37 23 16 5 39 14 29];best_rptime(6,1:32)=[6 26 9 28 24 29 30 18 24 30 15 32 27 30 7 15 8 15 12 6 9 21 18 37 21 38 24 17 6 40 15 30];xFns = 'simpleXover';xOpts = [.4];% Mutation OperatorsmFns = 'binaryMutation';mOpts = [0.005];% Termination OperatorstermFns = 'maxGenTerm';termOps = [100]; % 200 Generations% Selection FunctionselectFn = 'roulette'selectOps = [];% Evaluation FunctionevalFn = 'garepairEval';evalOps = [];% Bounds on the variablesbounds = [0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7;0 7; 0 7; 0 7; 0 7; 0 7; 0 7; 0 7;];gaOpts=[1 0 1];% Generate an intialize population of size 20startPop = initializega(80,bounds,'garepairEval',bus,[1 0],nornalized_reald,relationlist_final,index,Tpbefore,best_rptime)[x endPop bestPop trace]=ga(bounds,evalFn,bus,startPop,gaOpts,... termFns,termOps,selectFn,selectOps,nornalized_reald,relationlist_final,index,Tpbefore,best_rptime,xFns,xOpts,mFns,mOpts);termOps=[200];[x endPop bestPop trace]=ga(bounds,evalFn,bus,[],gaOpts,termFns,termOps,... selectFn,selectOps,nornalized_reald,relationlist_final,index,Tpbefore,best_rptime);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -