Estou trabalhando para melhorar o processo de otimização de alguns softwares de modelagem demográfica para que ele possa ajustar melhor os modelos demográficos aos dados. Gostaríamos de diminuir o tempo de otimização.
O tempo necessário para avaliar nossa função objetivo varia muito, dependendo dos valores de entrada. A relação entre o tempo para avaliar a função objetivo e a entrada é conhecida. Gostaria de saber se existem métodos de otimização que considerem o custo relativo do tempo da função objetivo ao escolher quais pontos avaliar.
Obrigado!
Atualizar:
Como Paulo solicitou, aqui estão algumas características importantes dessa função objetivo específica:
- O número de parâmetros é moderado (~ 12ish)
- Nosso problema é não convexo, ou pelo menos existem "estrias" estreitas e planas na superfície da função objetivo. No momento, estamos lidando com isso usando várias otimizações de diferentes pontos, mas gostaríamos de fazer melhor.
- A função objetivo é bastante suave, embora apenas possamos calcular aproximações de diferenças finitas para derivadas.
- O custo da avaliação também é uma função suave dos valores dos parâmetros e é bastante previsível. grosso modo, para cada parâmetro, o custo para avaliar é alto em uma extremidade da faixa e baixo na outra extremidade. Portanto, temos grandes regiões de conjuntos de parâmetros caros para avaliar, mas sabemos onde eles estão.