[galib] How can I integrate My own scaling in GAlib for minmizing positive objective function?
Essam Almasri
masryesam at yahoo.com
Fri Mar 18 11:42:01 EST 2005
Hallo
I have treid to minimize an objective function (f_obj) using SigmaTruncationScaling by puting multiplying the objective function by -1. It goes OK.
I like to use my own scaling which I think it will better for minimization of my objective function. The scaling I propose is that:
fittness(i)= exp[ [max( f_obj(i)) - f_obj(i))] * 5 / [max( f_obj(i)) - min( f_obj(i)) ] ]
I use this scaling, because I expect to work better than SigmaTruncationScaling
the follwoing c++ prototype (code) was added to GAScaling.c file, however the results was not satisfied. The result shows divergence contradicting of what expected. I s there any thing wrong? What are the steps of writing my own scaling.
#if USE_EXPON_SCALING == 1
/* ----------------------------------------------------------------------------
ExponScaling
---------------------------------------------------------------------------- */
// This is an a test scaling
void GAExponScaling::evaluate(const GAPopulation & p) {
for(int i=0; i<p.size(); i++){
double ffup = (double)(p.max())-(double)(p.individual(i).score());
double ffdown = (double)(p.max())-(double)(p.min());
double f= exp(ffup*5.0/ffdown);
if(f < 0) f = 0.0;
p.individual(i).fitness((float)f);
}
}
#endif
thanks
---------------------------------
Do you Yahoo!?
Yahoo! Sports - Sign up for Fantasy Baseball.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/galib/attachments/20050318/6d00687c/attachment.htm
More information about the galib
mailing list