<div><font color="#333399">Hi Perone ,</font></div>
<div><font color="#333399">&nbsp; Thanks for your reply. But I&nbsp;think that&nbsp;is an genome based objective function.</font></div>
<div><font color="#333399">Anyhow I got the solution for population based objective function. Posting my solution here. </font></div>
<div><font color="#333399">Hope this will help others. Hope I am correct!!</font></div>
<div>&nbsp;</div>
<div>
<p>#include &lt;iostream&gt;<br>#include&lt;ga/GAPopulation.h&gt;<br>#include &lt;ga/GASStateGA.h&gt;<br>#include &lt;ga/GA2DBinStrGenome.h&gt;</p>
<p>using namespace std;<br>void popEvaluator(GAPopulation &amp; p);</p>
<p>int main()<br>{<br>&nbsp;<br>&nbsp;int width=32;<br>&nbsp;int height=9; <br>&nbsp;GARandomBit();<br>&nbsp;GA2DBinaryStringGenome genome(width, height);&nbsp; //Note: No objective function here<br>&nbsp;GAPopulation pop(genome,15);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a population object
<br>&nbsp;pop.evaluator(popEvaluator);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;Population evaluator<br>&nbsp;GASteadyStateGA ga(pop);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Attach population object to ga<br>&nbsp;ga.populationSize(10);<br>&nbsp;ga.initialize
();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;return 0;</p>
<p>}&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>void popEvaluator(GAPopulation &amp; p)<br>{<br>&nbsp; int value=0; <br>&nbsp; for(int i=0; i&lt;p.size(); i++) <br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GA2DBinaryStringGenome &amp;genome=(GA2DBinaryStringGenome &amp;)p.individual(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int j=0;j&lt;
genome.height();j++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int k=0;k&lt;genome.width();k++)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(genome.gene(j,k)==0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value--;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Evaluate objective score
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.individual(i).score(value);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Set&nbsp; objective score to the individual<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout&lt;&lt;&quot;Fitness :&quot;&lt;&lt;p.individual(i).score()&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;cout&lt;&lt;
p.individual(i)&lt;&lt;endl;<br>&nbsp;&nbsp;&nbsp; }<br>}<br></p><br><font color="#333399">Thanks N Regards</font></div>
<div><font color="#333399">Raghavendra Prasad NL</font></div>
<div><font color="#333399">India</font></div>
<div>&nbsp;</div>
<div><span class="gmail_quote">On 9/29/05, <b class="gmail_sendername"><a href="mailto:galib-request@mit.edu">galib-request@mit.edu</a></b> &lt;<a href="mailto:galib-request@mit.edu">galib-request@mit.edu</a>&gt; wrote:</span>

<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Send galib mailing list submissions to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:galib@mit.edu">galib@mit.edu</a><br><br>To subscribe or unsubscribe via the World Wide Web, visit
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://mailman.mit.edu/mailman/listinfo/galib">http://mailman.mit.edu/mailman/listinfo/galib</a><br>or, via email, send a message with subject or body 'help' to<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:galib-request@mit.edu">
galib-request@mit.edu</a><br><br>You can reach the person managing the list at<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="mailto:galib-owner@mit.edu">galib-owner@mit.edu</a><br><br>When replying, please edit your Subject line so it is more specific
<br>than &quot;Re: Contents of galib digest...&quot;<br><br><br>Today's Topics:<br><br>&nbsp;&nbsp;1. How to define a population based objective function? (RPrasad)<br>&nbsp;&nbsp;2. Re: How to define a population based objective function?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Christian Samuel Perone)<br><br><br>----------------------------------------------------------------------<br><br>Date: Wed, 28 Sep 2005 11:05:49 +0530<br>From: RPrasad &lt;<a href="mailto:raghavendraprasad.nl@gmail.com">
raghavendraprasad.nl@gmail.com</a>&gt;<br>To: <a href="mailto:galib@mit.edu">galib@mit.edu</a><br>Subject: [galib] How to define a population based objective function?<br>Message-ID: &lt;<a href="mailto:602605e105092722356a3b15b6@mail.gmail.com">
602605e105092722356a3b15b6@mail.gmail.com</a>&gt;<br>Content-Type: multipart/alternative;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boundary=&quot;----=_Part_1590_21226373.1127885749295&quot;<br>MIME-Version: 1.0<br>Precedence: list<br>Reply-To: RPrasad &lt;
<a href="mailto:raghavendraprasad.nl@gmail.com">raghavendraprasad.nl@gmail.com</a>&gt;<br>Message: 1<br><br>------=_Part_1590_21226373.1127885749295<br>Content-Type: text/plain; charset=ISO-8859-1<br>Content-Transfer-Encoding: quoted-printable
<br>Content-Disposition: inline<br><br>Hello friends,<br>I am working on a research project.<br>I have a genome type GA2DBinaryStringGenome genome(1, n); //Specific reaso=<br>n<br>to use this kind of genome<br>For n=3D5, each genome will look like this
<br>1<br>0<br>0<br>1<br>1<br>GASteadyStateGA ga(genome); // creating genetic algorithm object<br>ga.populationSize(5); // I want to invoke the population based objective<br>function at this point<br>Now the population will look something like this
<br>10101<br>01101<br>01001<br>10110<br>00110<br>Now I want to define a objective function for this population. How to<br>create a population-based objective function?<br>Please send me any code that might give a insight into this.
<br>Thanks N Regards<br>Raghavendra Prasad NL<br><a href="mailto:RaghavendraPrasad.NL@gmail.com">RaghavendraPrasad.NL@gmail.com</a><br><br>------=_Part_1590_21226373.1127885749295<br>Content-Type: text/html; charset=ISO-8859-1
<br>Content-Transfer-Encoding: quoted-printable<br>Content-Disposition: inline<br><br>&lt;br clear=3D&quot;all&quot;&gt;<br>&lt;div&gt;Hello friends,&lt;/div&gt;<br>&lt;div&gt;I am working on a research project.&lt;/div&gt;
<br>&lt;div&gt;&amp;nbsp;&lt;/div&gt;<br>&lt;div&gt;I have a genome type&amp;nbsp; GA2DBinaryStringGenome genome(1, n);&amp;nbsp; =<br>//Specific reason to use this kind of genome&lt;/div&gt;<br>&lt;div&gt;For n=3D5, each genome will look like this &lt;/div&gt;
<br>&lt;div&gt;1&lt;/div&gt;<br>&lt;div&gt;0&lt;/div&gt;<br>&lt;div&gt;0&lt;/div&gt;<br>&lt;div&gt;1&lt;/div&gt;<br>&lt;div&gt;1&lt;/div&gt;<br>&lt;div&gt;GASteadyStateGA ga(genome);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // creating =
<br>genetic algorithm object&lt;/div&gt;<br>&lt;div&gt;ga.populationSize(5);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;=<br>nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbs=
<br>p; // I want to invoke the population based objective function at this poin=<br>t&lt;/div&gt;<br>&lt;div&gt;&amp;nbsp;&lt;/div&gt;<br>&lt;div&gt;Now the population will look something like this&lt;/div&gt;<br>&lt;div&gt;&amp;nbsp;&lt;/div&gt;
<br>&lt;div&gt;<br>&lt;div&gt;10101&lt;/div&gt;<br>&lt;div&gt;01101&lt;/div&gt;<br>&lt;div&gt;01001&lt;/div&gt;<br>&lt;div&gt;10110&lt;/div&gt;<br>&lt;div&gt;00110&lt;/div&gt;<br>&lt;div&gt;&amp;nbsp;&lt;/div&gt;<br>&lt;div&gt;Now&amp;nbsp;I want to define a objective function for this population.&amp;nb=
<br>sp;&amp;nbsp;How to create a population-based objective function? &lt;/div&gt;<br>&lt;div&gt;Please send me any code that might give a insight into this.&lt;/div&gt;<br>&lt;div&gt;&amp;nbsp;&lt;/div&gt;<br>&lt;div&gt;&amp;nbsp;&lt;/div&gt;
<br>&lt;div&gt;Thanks&amp;nbsp;N Regards&lt;/div&gt;<br>&lt;div&gt;Raghavendra Prasad NL&lt;/div&gt;<br>&lt;div&gt;&lt;a onclick=3D&quot;return top.js.OpenExtLink(window,event,this)&quot; href=3D&quot;ma=<br>ilto:<a href="mailto:RaghavendraPrasad.NL@gmail.com">
RaghavendraPrasad.NL@gmail.com</a>&quot; target=3D&quot;_blank&quot;&gt;RaghavendraPrasad.NL=<br>@<a href="http://gmail.com">gmail.com</a>&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;<br><br>------=_Part_1590_21226373.1127885749295--
<br>------------------------------<br><br>Date: Wed, 28 Sep 2005 10:49:40 -0300 (ART)<br>From: Christian Samuel Perone &lt;<a href="mailto:christian_perone@yahoo.com.br">christian_perone@yahoo.com.br</a>&gt;<br>To: <a href="mailto:galib@mit.edu">
galib@mit.edu</a><br>Subject: Re: [galib] How to define a population based objective function?<br>Message-ID: &lt;<a href="mailto:20050928134940.95927.qmail@web31905.mail.mud.yahoo.com">20050928134940.95927.qmail@web31905.mail.mud.yahoo.com
</a>&gt;<br>In-Reply-To: &lt;<a href="mailto:602605e105092722356a3b15b6@mail.gmail.com">602605e105092722356a3b15b6@mail.gmail.com</a>&gt;<br>Content-Type: text/plain; charset=iso-8859-1<br>MIME-Version: 1.0<br>Content-Transfer-Encoding: 8bit
<br>Precedence: list<br>Message: 2<br><br>Hello,<br>You can define the Objective function first<br>declaring the function like this:<br><br>float Objective(GAGenome&amp; g) {<br>GA2DBinaryStringGenome &amp; genome =<br>(GA2DBinaryStringGenome &amp;)g;
<br>float score=0.0;<br>int count=0;<br>for(int i=0; i&lt;genome.width(); i++){<br>&nbsp;&nbsp; for(int j=0; j&lt;genome.height(); j++){<br>&nbsp;&nbsp;&nbsp;&nbsp; if(genome.gene(i,j) == 0 &amp;&amp; count%2 == 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score += 1.0;<br>&nbsp;&nbsp;&nbsp;&nbsp; if(genome.gene
(i,j) == 1 &amp;&amp; count%2 != 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; score += 1.0;<br>&nbsp;&nbsp;&nbsp;&nbsp; count++;<br>&nbsp;&nbsp; }<br>}<br>return score;<br>}<br><br>then in the declaration of the genome you<br>define like this:<br><br>GA2DBinaryStringGenome genome(width, height,
<br>objective);<br><br>Read the ex1.C in the examples directory of default<br>galib package.<br><br>I hope this help you.<br><br>- Christian S. Perone<br><br>--- RPrasad &lt;<a href="mailto:raghavendraprasad.nl@gmail.com">
raghavendraprasad.nl@gmail.com</a>&gt; escreveu:<br><br>&gt; Hello friends,<br>&gt; I am working on a research project.<br>&gt;&nbsp;&nbsp;I have a genome type GA2DBinaryStringGenome<br>&gt; genome(1, n); //Specific reason<br>&gt; to use this kind of genome
<br>&gt; For n=5, each genome will look like this<br>&gt; 1<br>&gt; 0<br>&gt; 0<br>&gt; 1<br>&gt; 1<br>&gt; GASteadyStateGA ga(genome); // creating genetic<br>&gt; algorithm object<br>&gt; ga.populationSize(5); // I want to invoke the
<br>&gt; population based objective<br>&gt; function at this point<br>&gt;&nbsp;&nbsp;Now the population will look something like this<br>&gt;&nbsp;&nbsp; 10101<br>&gt; 01101<br>&gt; 01001<br>&gt; 10110<br>&gt; 00110<br>&gt;&nbsp;&nbsp;Now I want to define a objective function for this
<br>&gt; population. How to<br>&gt; create a population-based objective function?<br>&gt; Please send me any code that might give a insight<br>&gt; into this.<br>&gt;&nbsp;&nbsp; Thanks N Regards<br>&gt; Raghavendra Prasad NL<br>&gt; 
<a href="mailto:RaghavendraPrasad.NL@gmail.com">RaghavendraPrasad.NL@gmail.com</a><br>&gt; &gt; _______________________________________________<br>&gt; galib mailing list<br>&gt; <a href="mailto:galib@mit.edu">galib@mit.edu
</a><br>&gt; <a href="http://mailman.mit.edu/mailman/listinfo/galib">http://mailman.mit.edu/mailman/listinfo/galib</a><br>&gt;<br><br><br><br><br><br><br><br><br><br>_______________________________________________________
<br>Novo Yahoo! Messenger com voz: ligações, Yahoo! Avatars, novos emoticons e muito mais. Instale agora!<br><a href="http://www.yahoo.com.br/messenger/">www.yahoo.com.br/messenger/</a><br>------------------------------<br>
<br>_______________________________________________<br>galib mailing list<br><a href="mailto:galib@mit.edu">galib@mit.edu</a><br><a href="http://mailman.mit.edu/mailman/listinfo/galib">http://mailman.mit.edu/mailman/listinfo/galib
</a><br><br><br>End of galib Digest, Vol 27, Issue 5<br>************************************<br></blockquote></div><br><br clear="all"><br>-- <br>Regards<br>Raghavendra Prasad NL<br>