def generate_population(self):
if self.__num_processes > <NUM_LIT:1>:<EOL><INDENT>process_pool = Pool(processes=self.__num_processes)<EOL><DEDENT>self.__members = []<EOL>for _ in range(self.__pop_size):<EOL><INDENT>feed_dict = {}<EOL>for param in self.__parameters:<EOL><INDENT>feed_dict[param.name] = self.__random_param_val(<EOL>param.min_val,<EOL>param.max_val,<EOL>param.dtype<EOL>)<EOL><DEDENT>if self.__num_processes > <NUM_LIT:1>:<EOL><INDENT>self.__members.append(process_pool.apply_async(<EOL>self._start_process,<EOL>[self.__cost_fn, feed_dict, self.__cost_fn_args])<EOL>)<EOL><DEDENT>else:<EOL><INDENT>self.__members.append(<EOL>Member(<EOL>feed_dict,<EOL>self.__cost_fn(feed_dict, self.__cost_fn_args)<EOL>)<EOL>)<EOL><DEDENT><DEDENT>if self.__num_processes > <NUM_LIT:1>:<EOL><INDENT>process_pool.close()<EOL>process_pool.join()<EOL><DEDENT>self.__determine_best_member()<EOL>
Generates self.__pop_size Members with randomly initialized values
        for each parameter added with add_parameter(), evaluates their fitness