www.gusucode.com > matlab的GA工具箱与vc混和实现遗传算法源码程序 > ga.cpp
#include "matlib.h" #pragma hdrstop #include "ga.h" #include "feval.h" #include "initializega.h" #include "calcbits.h" #include "parse.h" #include "b2f.h" Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs, Mm mutOps, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) \ { begin_scope bounds.setname("bounds"); evalFN.setname("evalFN"); evalOps.setname("evalOps"); startPop.setname("startPop"); \ opts.setname("opts"); termFN.setname("termFN"); termOps.setname("termOps"); selectFN.setname("selectFN"); selectOps.setname( \ "selectOps"); xOverFNs.setname("xOverFNs"); xOverOps.setname("xOverOps"); mutFNs.setname("mutFNs"); mutOps.setname( \ "mutOps"); dMm(x); dMm(endPop); dMm(bPop); dMm(traceInfo); dMm(n); dMm(e1str); dMm(e2str); dMm(bits); dMm(xZomeLength); \ dMm(numVar); dMm(popSize); dMm(c1); dMm(c2); dMm(numXOvers); dMm(numMuts); dMm(epsilon); dMm(oval); dMm(bFoundIn) \ ; dMm(done); dMm(gen); dMm(collectTrace); dMm(floatGA); dMm(display_); dMm(bval); dMm(bindx); dMm(best); dMm( \ i_); dMm(i_ga_v0); dMm(j_); dMm(j_ga_v1); dMm(a); dMm(b); dMm(xN); dMm(i_ga_v2); dMm(j_ga_v3); dMm(i_ga_v4); \ dMm(cp); dMm(j_ga_v5); dMm(lhs_0); dMm(lhs_1); dMm(i_ga_v6); dMm(mN); dMm(j_ga_v7); call_stack_begin; // nargin, nargout entry code double old_nargin=nargin_val; if (!nargin_set) nargin_val=13.0; nargin_set=0; double old_nargout=nargout_val; if (!nargout_set) nargout_val=4.0; nargout_set=0; // translated code // GA run a genetic algorithm // function [x,endPop,bPop,traceInfo]=ga(bounds,evalFN,evalOps,startPop,opts, // termFN,termOps,selectFN,selectOps, // xOverFNs,xOverOps,mutFNs,mutOps) // // Output Arguments: // x - the best solution found during the course of the run // endPop - the final population // bPop - a trace of the best population // traceInfo - a matrix of best and means of the ga for each generation // // Input Arguments: // bounds - a matrix of upper and lower bounds on the variables // evalFN - the name of the evaluation .m function // evalOps - options to pass to the evaluation function ([NULL]) // startPop - a matrix of solutions that can be initialized // from initialize.m // opts - [epsilon prob_ops display] change required to consider two // solutions different, prob_ops 0 if you want to apply the // genetic operators probabilisticly to each solution, 1 if // you are supplying a deterministic number of operator // applications and display is 1 to output progress 0 for // quiet. ([1e-6 1 0]) // termFN - name of the .m termination function (['maxGenTerm']) // termOps - options string to be passed to the termination function // ([100]). // selectFN - name of the .m selection function (['normGeomSelect']) // selectOpts - options string to be passed to select after // select(pop,#,opts) ([0.08]) // xOverFNS - a string containing blank seperated names of Xover.m // files (['arithXover heuristicXover simpleXover']) // xOverOps - A matrix of options to pass to Xover.m files with the // first column being the number of that xOver to perform // similiarly for mutation ([2 0;2 3;2 0]) // mutFNs - a string containing blank seperated names of mutation.m // files (['boundaryMutation multiNonUnifMutation ... // nonUnifMutation unifMutation']) // mutOps - A matrix of options to pass to Xover.m files with the // first column being the number of that xOver to perform // similiarly for mutation ([4 0 0;6 100 3;4 100 3;4 0 0]) // Binary and Real-Valued Simulation Evolution for Matlab // Copyright (C) 1996 C.R. Houck, J.A. Joines, M.G. Kay // // C.R. Houck, J.Joines, and M.Kay. A genetic algorithm for function // optimization: A Matlab implementation. ACM Transactions on Mathmatical // Software, Submitted 1996. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 1, or (at your option) // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. A copy of the GNU // General Public License can be obtained from the // Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. //%$Log: ga.m,v $ //Revision 1.10 1996/02/02 15:03:00 jjoine // Fixed the ordering of imput arguments in the comments to match // the actual order in the ga function. // //Revision 1.9 1995/08/28 20:01:07 chouck // Updated initialization parameters, updated mutation parameters to reflect // b being the third option to the nonuniform mutations // //Revision 1.8 1995/08/10 12:59:49 jjoine //Started Logfile to keep track of revisions // n = nargin(); if (istrue(n<2.0)||istrue(n==6.0)||istrue(n==10.0)||istrue(n==12.0)) { display( disp(TM("Insufficient arguements")) ); } if (istrue(n<3.0)) { //Default evalation opts. evalOps = nop_M; } if (istrue(n<5.0)) { opts = (BR(1e-06),1.0,0.0); } if (istrue(isempty(opts))) { opts = (BR(1e-06),1.0,0.0); } if (istrue(any(evalFN<48.0))) { //Not using a .m file if (istrue(opts(2.0)==1.0)) { //Float ga e1str = (BR(TM("x=c1; c1(xZomeLength)=")),evalFN,TM(";")); e2str = (BR(TM("x=c2; c2(xZomeLength)=")),evalFN,TM(";")); } else { //Binary ga e1str = (BR(TM("x=b2f(endPop(j,:),bounds,bits); endPop(j,xZomeLength)=")),evalFN,TM(";")); } } else { //Are using a .m file if (istrue(opts(2.0)==1.0)) { //Float ga e1str = (BR(TM("[c1 c1(xZomeLength)]=")),evalFN,TM("(c1,[gen evalOps]);")); e2str = (BR(TM("[c2 c2(xZomeLength)]=")),evalFN,TM("(c2,[gen evalOps]);")); } else { //Binary ga e1str = (BR(TM("x=b2f(endPop(j,:),bounds,bits);[x v]=")),evalFN,TM("(x,[gen evalOps]); endPop(j,:)=[f2b(x,bounds,bits) v];") \ ); } } if (istrue(n<6.0)) { //Default termination information termOps = (BR(100.0)); termFN = TM("maxGenTerm"); } if (istrue(n<12.0)) { //Default muatation information if (istrue(opts(2.0)==1.0)) { //Float GA mutFNs = (BR(TM("boundaryMutation multiNonUnifMutation nonUnifMutation unifMutation"))); mutOps = (BR(4.0),0.0,0.0,semi, 6.0,termOps(1.0),3.0,semi, 4.0,termOps(1.0),3.0,semi, 4.0,0.0,0.0); } else { //Binary GA mutFNs = (BR(TM("binaryMutation"))); mutOps = (BR(0.05)); } } if (istrue(n<10.0)) { //Default crossover information if (istrue(opts(2.0)==1.0)) { //Float GA xOverFNs = (BR(TM("arithXover heuristicXover simpleXover"))); xOverOps = (BR(2.0),0.0,semi, 2.0,3.0,semi, 2.0,0.0); } else { //Binary GA xOverFNs = (BR(TM("simpleXover"))); xOverOps = (BR(0.6)); } } if (istrue(n<9.0)) { //Default select opts only i.e. roullete wheel. selectOps = nop_M; } if (istrue(n<8.0)) { //Default select info selectFN = (BR(TM("normGeomSelect"))); selectOps = (BR(0.08)); } if (istrue(n<6.0)) { //Default termination information termOps = (BR(100.0)); termFN = TM("maxGenTerm"); } if (istrue(n<4.0)) { //No starting population passed given startPop = nop_M; } if (istrue(isempty(startPop))) { //Generate a population at random //startPop=zeros(80,size(bounds,1)+1); startPop = initializega(80.0,bounds,evalFN,evalOps,opts(colon(1.0,1.0,2.0))); } if (istrue(opts(2.0)==0.0)) { //binary bits = calcbits(bounds,opts(1.0)); } xOverFNs = parse(xOverFNs); mutFNs = parse(mutFNs); xZomeLength = size(startPop,2.0); //Length of the xzome=numVars+fittness numVar = xZomeLength-1.0; //Number of variables popSize = size(startPop,1.0); //Number of individuals in the pop endPop = zeros(popSize,xZomeLength); //A secondary population matrix c1 = zeros(1.0,xZomeLength); //An individual c2 = zeros(1.0,xZomeLength); //An individual numXOvers = size(xOverFNs,1.0); //Number of Crossover operators numMuts = size(mutFNs,1.0); //Number of Mutation operators epsilon = opts(1.0); //Threshold for two fittness to differ oval = max(startPop(c_p,xZomeLength)); //Best value in start pop bFoundIn = 1.0; //Number of times best has changed done = 0.0; //Done with simulated evolution gen = 1.0; //Current Generation Number collectTrace = (nargout()>3.0); //Should we collect info every gen floatGA = opts(2.0)==1.0; //Probabilistic application of ops display_ = opts(3.0); //Display progress while (istrue(!done)) { //Elitist Model /*[bval,bindx] = */max(startPop(c_p,xZomeLength),i_o,bval,bindx); //Best of current pop best = startPop(bindx,c_p); if (istrue(collectTrace)) { traceInfo(gen,1.0) = gen; //current generation traceInfo(gen,2.0) = startPop(bindx,xZomeLength); //Best fittness traceInfo(gen,3.0) = mean(startPop(c_p,xZomeLength)); //Avg fittness traceInfo(gen,4.0) = stdM(startPop(c_p,xZomeLength)); } if (istrue((abs(bval-oval)>epsilon))||istrue((gen==1.0))) { //If we have a new best sol if (istrue(display_)) { fprintf(1.0,TM("\\n%d %f\\n"),(CL(gen),bval)); //Update the display } if (istrue(floatGA)) { bPop(bFoundIn,c_p) = (BR(gen),startPop(bindx,c_p)); //Update bPop Matrix } else { bPop(bFoundIn,c_p) = (BR(gen),b2f(startPop(bindx,colon(1.0,1.0,numVar)),bounds,bits),startPop(bindx,xZomeLength) \ ); } bFoundIn = bFoundIn+1.0; //Update number of changes oval = bval; //Update the best val } else { if (istrue(display_)) { fprintf(1.0,TM("%d "),(CL(gen))); //Otherwise just update num gen } } endPop = feval(selectFN,(CL(startPop),(BR(gen),selectOps))); //Select if (istrue(floatGA)) { //Running with the model where the parameters are numbers of ops i_ga_v0 = colon(1.0,1.0,numXOvers); int i_ga_i0; for (i_ga_i0=0;i_ga_i0<i_ga_v0.cols();i_ga_i0++) { forelem(i_,i_ga_v0,i_ga_i0); j_ga_v1 = colon(1.0,1.0,xOverOps(i_,1.0)); int j_ga_i1; for (j_ga_i1=0;j_ga_i1<j_ga_v1.cols();j_ga_i1++) { forelem(j_,j_ga_v1,j_ga_i1); a = round(rand()*(popSize-1.0)+1.0); //Pick a parent b = round(rand()*(popSize-1.0)+1.0); //Pick another parent xN = deblank(xOverFNs(i_,c_p)); //Get the name of crossover function /*[c1,c2] = */feval(xN,(CL(endPop(a,c_p)),endPop(b,c_p),bounds,(BR(gen),xOverOps(i_,c_p))),i_o,c1,c2) \ ; if (istrue(c1(colon(1.0,1.0,numVar))==endPop(a,(colon(1.0,1.0,numVar))))) { //Make sure we created a new c1(xZomeLength) = endPop(a,xZomeLength); //solution before evaluating } else if (istrue(c1(colon(1.0,1.0,numVar))==endPop(b,(colon(1.0,1.0,numVar))))) { c1(xZomeLength) = endPop(b,xZomeLength); } else { //[c1(xZomeLength) c1] = feval(evalFN,c1,[gen evalOps]); eval(e1str); } if (istrue(c2(colon(1.0,1.0,numVar))==endPop(a,(colon(1.0,1.0,numVar))))) { c2(xZomeLength) = endPop(a,xZomeLength); } else if (istrue(c2(colon(1.0,1.0,numVar))==endPop(b,(colon(1.0,1.0,numVar))))) { c2(xZomeLength) = endPop(b,xZomeLength); } else { //[c2(xZomeLength) c2] = feval(evalFN,c2,[gen evalOps]); eval(e2str); } endPop(a,c_p) = c1; endPop(b,c_p) = c2; } } i_ga_v2 = colon(1.0,1.0,numMuts); int i_ga_i2; for (i_ga_i2=0;i_ga_i2<i_ga_v2.cols();i_ga_i2++) { forelem(i_,i_ga_v2,i_ga_i2); j_ga_v3 = colon(1.0,1.0,mutOps(i_,1.0)); int j_ga_i3; for (j_ga_i3=0;j_ga_i3<j_ga_v3.cols();j_ga_i3++) { forelem(j_,j_ga_v3,j_ga_i3); a = round(rand()*(popSize-1.0)+1.0); c1 = feval(deblank(mutFNs(i_,c_p)),(CL(endPop(a,c_p)),bounds,(BR(gen),mutOps(i_,c_p)))); if (istrue(c1(colon(1.0,1.0,numVar))==endPop(a,(colon(1.0,1.0,numVar))))) { c1(xZomeLength) = endPop(a,xZomeLength); } else { //[c1(xZomeLength) c1] = feval(evalFN,c1,[gen evalOps]); eval(e1str); } endPop(a,c_p) = c1; } } } else { //We are running a probabilistic model of genetic operators i_ga_v4 = colon(1.0,1.0,numXOvers); int i_ga_i4; for (i_ga_i4=0;i_ga_i4<i_ga_v4.cols();i_ga_i4++) { forelem(i_,i_ga_v4,i_ga_i4); xN = deblank(xOverFNs(i_,c_p)); //Get the name of crossover function cp = find(rand(popSize,1.0)<xOverOps(i_,1.0)==1.0); if (istrue(rem(size(cp,1.0),2.0))) { cp = cp(colon(1.0,1.0,(size(cp,1.0)-1.0))); } cp = reshape(cp,size(cp,1.0)/2.0,2.0); j_ga_v5 = colon(1.0,1.0,size(cp,1.0)); int j_ga_i5; for (j_ga_i5=0;j_ga_i5<j_ga_v5.cols();j_ga_i5++) { forelem(j_,j_ga_v5,j_ga_i5); a = cp(j_,1.0); b = cp(j_,2.0); /*[endPop(a,c_p),endPop(b,c_p)] = */feval(xN,(CL(endPop(a,c_p)),endPop(b,c_p),bounds,(BR(gen),xOverOps( \ i_,c_p))),i_o,lhs_0,lhs_1); endPop(a,c_p) = lhs_0; endPop(b,c_p) = lhs_1; } } i_ga_v6 = colon(1.0,1.0,numMuts); int i_ga_i6; for (i_ga_i6=0;i_ga_i6<i_ga_v6.cols();i_ga_i6++) { forelem(i_,i_ga_v6,i_ga_i6); mN = deblank(mutFNs(i_,c_p)); j_ga_v7 = colon(1.0,1.0,popSize); int j_ga_i7; for (j_ga_i7=0;j_ga_i7<j_ga_v7.cols();j_ga_i7++) { forelem(j_,j_ga_v7,j_ga_i7); endPop(j_,c_p) = feval(mN,(CL(endPop(j_,c_p)),bounds,(BR(gen),mutOps(i_,c_p)))); eval(e1str); } } } gen = gen+1.0; done = feval(termFN,(CL((BR(gen),termOps)),bPop,endPop)); //See if the ga is done startPop = endPop; //Swap the populations /*[bval,bindx] = */min(startPop(c_p,xZomeLength),i_o,bval,bindx); //Keep the best solution startPop(bindx,c_p) = best; //replace it with the worst } /*[bval,bindx] = */max(startPop(c_p,xZomeLength),i_o,bval,bindx); if (istrue(display_)) { fprintf(1.0,TM("\\n%d %f\\n"),(CL(gen),bval)); } x = startPop(bindx,c_p); if (istrue(opts(2.0)==0.0)) { //binary x = b2f(x,bounds,bits); bPop(bFoundIn,c_p) = (BR(gen),b2f(startPop(bindx,colon(1.0,1.0,numVar)),bounds,bits),startPop(bindx,xZomeLength) \ ); } else { bPop(bFoundIn,c_p) = (BR(gen),startPop(bindx,c_p)); } if (istrue(collectTrace)) { traceInfo(gen,1.0) = gen; //current generation traceInfo(gen,2.0) = startPop(bindx,xZomeLength); //Best fittness traceInfo(gen,3.0) = mean(startPop(c_p,xZomeLength)); //Avg fittness } call_stack_end; // nargin, nargout exit code nargin_val=old_nargin; nargout_val=old_nargout; // function exit code bounds.setname(NULL); evalFN.setname(NULL); evalOps.setname(NULL); startPop.setname(NULL); opts.setname(NULL) \ ; termFN.setname(NULL); termOps.setname(NULL); selectFN.setname(NULL); selectOps.setname(NULL); xOverFNs.setname( \ NULL); xOverOps.setname(NULL); mutFNs.setname(NULL); mutOps.setname(NULL); x__o=x; endPop__o=endPop; bPop__o=bPop; traceInfo__o=traceInfo; return x_M; end_scope } Mm ga() { begin_scope double old_nargin=nargin_val; nargin_val=0.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(bounds); dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm( \ selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); \ dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds) { begin_scope double old_nargin=nargin_val; nargin_val=1.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps) \ ; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o) \ ; ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN) { begin_scope double old_nargin=nargin_val; nargin_val=2.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs) \ ; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps) { begin_scope double old_nargin=nargin_val; nargin_val=3.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps) \ ; dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop) { begin_scope double old_nargin=nargin_val; nargin_val=4.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs) \ ; dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts) { begin_scope double old_nargin=nargin_val; nargin_val=5.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps) \ ; dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN) { begin_scope double old_nargin=nargin_val; nargin_val=6.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o) \ ; dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps) { begin_scope double old_nargin=nargin_val; nargin_val=7.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o) \ ; dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN) { begin_scope double old_nargin=nargin_val; nargin_val=8.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o) \ ; dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps) \ { begin_scope double old_nargin=nargin_val; nargin_val=9.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o) \ ; ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs) { begin_scope double old_nargin=nargin_val; nargin_val=10.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps) { begin_scope double old_nargin=nargin_val; nargin_val=11.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(mutFNs); dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs) { begin_scope double old_nargin=nargin_val; nargin_val=12.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(mutOps); dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs, Mm mutOps) { begin_scope double old_nargin=nargin_val; nargin_val=13.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1; dMm(x__o); dMm(endPop__o); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return(x__o); end_scope } Mm ga(i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=0.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(bounds); dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm( \ selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=1.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps) \ ; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=2.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs) \ ; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=3.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps) \ ; dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=4.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs) \ ; dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=5.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps) \ ; dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=6.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o) \ ; dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, i_o_t, Mm& x__o, Mm& endPop__o) \ { begin_scope double old_nargin=nargin_val; nargin_val=7.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o) \ ; ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, i_o_t, Mm& x__o, \ Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=8.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=9.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=10.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=11.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(mutFNs); dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=12.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(mutOps); dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs, Mm mutOps, i_o_t, Mm& x__o, Mm& endPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=13.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1; dMm(bPop__o); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=0.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(bounds); dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm( \ selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=1.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps) \ ; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=2.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs) \ ; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=3.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps) \ ; dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=4.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs) \ ; dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=5.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps) \ ; dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) \ { begin_scope double old_nargin=nargin_val; nargin_val=6.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o) \ ; ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, i_o_t, Mm& x__o, Mm& endPop__o, \ Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=7.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, i_o_t, Mm& x__o, \ Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=8.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=9.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=10.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=11.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(mutFNs); dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=12.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(mutOps); dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs, Mm mutOps, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o) { begin_scope double old_nargin=nargin_val; nargin_val=13.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1; dMm(traceInfo__o); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=0.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(bounds); dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm( \ selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=1.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(evalFN); dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps) \ ; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=2.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(evalOps); dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs) \ ; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=3.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(startPop); dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps) \ ; dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) \ { begin_scope double old_nargin=nargin_val; nargin_val=4.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(opts); dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs) \ ; dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& \ traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=5.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(termFN); dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps) \ ; ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, \ Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=6.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(termOps); dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, i_o_t, Mm& x__o, Mm& endPop__o, \ Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=7.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(selectFN); dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, i_o_t, Mm& x__o, \ Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=8.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(selectOps); dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=9.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(xOverFNs); dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=10.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(xOverOps); dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=11.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(mutFNs); dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope } Mm ga(Mm bounds, Mm evalFN, Mm evalOps, Mm startPop, Mm opts, Mm termFN, Mm termOps, Mm selectFN, Mm selectOps, \ Mm xOverFNs, Mm xOverOps, Mm mutFNs, i_o_t, Mm& x__o, Mm& endPop__o, Mm& bPop__o, Mm& traceInfo__o) { begin_scope double old_nargin=nargin_val; nargin_val=12.0; nargin_set=1; double old_nargout=nargout_val; nargout_val=4.0; nargout_set=1; dMm(mutOps); ga(bounds, evalFN, evalOps, startPop, opts, termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, \ mutOps, i_o, x__o, endPop__o, bPop__o, traceInfo__o); nargout_val=old_nargout; nargin_val=old_nargin; return x_M; end_scope }