An information processing apparatus, comprising: a first fitness calculation unit configured to calculate a fitness using a predetermined function for each of a plurality of models belonging to a population; a virtual model generating unit configured to select, as parent models, a plurality of models having higher value of the fitness calculated by the first fitness calculation unit among the plurality of models, generate a virtual model that has no set of parameters constituting a learning model and instead has information indicating the selected plurality of parent models and that outputs an output result obtained by performing calculation of output results of the selected plurality of parent models, wherein the generated virtual model includes information on an output result and a generation of each of the plurality of parent models, and store, in a model storage unit, the information of the output results of the plurality of parent models in association with the generated virtual model and the information of the generation of the plurality of parent models in association with the virtual model; a second fitness calculation unit configured to calculate the fitness of the virtual model using the predetermined function; a model replacing unit configured to replace the models constituting the population by adding the virtual model to the population and by deleting a model having a lower value of the fitness from the population among the plurality of models belonging to the population; and a model extracting unit configured to extract a model having a higher value of the fitness from the population by repeating processing by the virtual model generating unit, the second fitness calculation unit, and the model replacing unit until a predetermined termination condition is reached. a first fitness calculation unit configured to calculate a fitness using a predetermined function for each of a plurality of models belonging to a population; a virtual model generating unit configured to select, as parent models, a plurality of models having higher value of the fitness calculated by the first fitness calculation unit among the plurality of models, generate a virtual model that has no set of parameters constituting a learning model and instead has information indicating the selected plurality of parent models and that outputs an output result obtained by performing calculation of output results of the selected plurality of parent models, wherein the generated virtual model includes information on an output result and a generation of each of the plurality of parent models, and store, in a model storage unit, select, as parent models, a plurality of models having higher value of the fitness calculated by the first fitness calculation unit among the plurality of models, generate a virtual model that has no set of parameters constituting a learning model and instead has information indicating the selected plurality of parent models and that outputs an output result obtained by performing calculation of output results of the selected plurality of parent models, wherein the generated virtual model includes information on an output result and a generation of each of the plurality of parent models, and store, in a model storage unit, the information of the output results of the plurality of parent models in association with the generated virtual model and the information of the generation of the plurality of parent models in association with the virtual model; a second fitness calculation unit configured to calculate the fitness of the virtual model using the predetermined function; a model replacing unit configured to replace the models constituting the population by adding the virtual model to the population and by deleting a model having a lower value of the fitness from the population among the plurality of models belonging to the population; and a model extracting unit configured to extract a model having a higher value of the fitness from the population by repeating processing by the virtual model generating unit, the second fitness calculation unit, and the model replacing unit until a predetermined termination condition is reached.