示例#1
0
 std::vector< typename Pop::const_iterator >
 selection( Pop const& pop , Fitness const& fitness )
 {
     GPCXX_ASSERT( pop.size() > 2 );
     std::vector< typename Pop::const_iterator > s(2);
     s[1] = s[0] = m_selector( pop , fitness );
     while( s[0] == s[1] )
         s[1] = m_selector( pop , fitness );
     return s;
 }
示例#2
0
 std::vector< typename Pop::const_iterator >
 selection( Pop const& pop , Fitness const& fitness )
 {
     std::vector< typename Pop::const_iterator > s( 1 );
     s[0] = m_selector( pop , fitness );
     return s;
 }
示例#3
0
 std::vector< typename Pop::value_type >
 operator()( Pop const& pop , Fitness const& fitness )
 {
     std::vector< typename Pop::value_type > nodes( 1 );
     nodes[0] = *( m_selector( pop , fitness ) );
     if( ! nodes[0].empty() )
         m_strategy( nodes[0] );
     return nodes;
 }
示例#4
0
 void find_next_valid_item()
 {
   while (m_bucket_itr != m_bucket_end_itr && !m_selector(**m_bucket_itr)) {
     ++m_bucket_itr;
   }
 }