Discussão do artigo "Algoritmos de otimização populacionais: algoritmo de otimização de forrageamento bacteriano (BFO)"
Seria bom testar todos esses algoritmos de otimização em dados mais reais, em que os parâmetros são cinco ou mais e o número de combinações é grande.
Seria bom testar todos esses algoritmos de otimização em dados mais reais, em que os parâmetros são cinco ou mais e o número de combinações é grande.
Três tipos de funções de teste são usados nos testes (suave, suave com extremo "agulha" e discreta), cada uma dessas funções é testada com 10, 50 e 1.000 parâmetros (9 testes no total).
A etapa 0 significa que a precisão do 16º dígito é o dobro, ou seja, a etapa é 0,0000000000000001 para 1.000 parâmetros, portanto, conte quantas combinações você obtém.
ok, vou fazer as contas. de forma bem aproximada, é 10e10^1000, ou seja, cerca de 10e16000. isso é mais do que existem moléculas no universo visível.
É o número de parâmetros:
input int Test1FuncRuns_P = 5; //1) Número de funções no teste input int Test2FuncRuns_P = 25; //2) Número de funções no teste input int Test3FuncRuns_P = 500; //3) Número de funções no teste
Esse é o tamanho da população:
input int BatsNumber_P = 50; //Número de morcegos
O número de épocas é calculado:
int epochCount = NumbTestFuncRuns_P / BatsNumber_P; Eu entendi tudo corretamente no código?
1- Esse é o número de parâmetros:
2. é o tamanho da população:
3. O número de épocas é estimado:
Consegui fazer tudo certo no código?
1. Não. As funções de teste são bidimensionais, ou seja, por exemplo:
input int Test1FuncRuns_P = 5; //1) Número de funções no testesignifica em russo 5 funções de teste, então multiplique por 2 - 10 parâmetros otimizados
25 - 50 parâmetros otimizados
500 - 1000 parâmetros otimizados
2. Sim.
3. Sim, é isso mesmo, o número estimado de épocas é feito para que o número total de execuções de FF seja o mesmo e não dependa da escolha do tamanho da população nos algoritmos, ou seja, para que o teste dos algoritmos seja justo com diferentes parâmetros de tamanho da população em diferentes algoritmos.
Ok, obrigado.
Todos esses algoritmos, da série de artigos, são parraleláveis, não deu uma olhada nos outros? Acho que poderia usá-lo, é útil, só que a função a ser otimizada é mais complexa, tem um número dinâmico de parâmetros, tanto reais quanto inteiros, e com diferentes intervalos, você tem que resolver o problema depois
Entendo, obrigado.
Todos esses algoritmos, da série de artigos, são parraleláveis, não deu uma olhada nos outros? Acho que eu poderia usá-lo, é útil, só que a função que está sendo otimizada é mais complexa, tem um número dinâmico de parâmetros, tanto reais quanto inteiros, e com diferentes intervalos, e você tem que resolver o problema depois.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Algoritmos de otimização populacionais: algoritmo de otimização de forrageamento bacteriano (BFO) foi publicado:
A base da estratégia de forrageamento de E. coli (E. coli) inspirou cientistas a desenvolverem o algoritmo de otimização BFO. Esse algoritmo apresenta ideias originais e abordagens promissoras para otimização e merece um estudo mais aprofundado.
O algoritmo de otimização forrageamento bacteriano (BFO) é uma técnica fascinante que pode ser utilizada para encontrar soluções aproximadas para problemas extremamente complexos ou impossíveis de maximização ou minimização de funções numéricas. Reconhecido amplamente como um algoritmo global de otimização de grande interesse para otimização e controle distribuído, o BFO se inspira no comportamento social de busca de alimento da Escherichia coli. O BFO tem atraído a atenção dos pesquisadores devido à sua eficácia na resolução de problemas de otimização do mundo real que surgem em diversas áreas de aplicação. A biologia por trás da estratégia de forrageamento da E. coli é emulada de forma original e utilizada como um algoritmo de otimização simples.
Bactérias como a E. coli ou a salmonela estão entre os organismos mais bem-sucedidos do planeta. Essas bactérias móveis possuem apêndices semirrígidos chamados flagelos, com os quais se impulsionam por meio de um movimento de torção. Quando todos os flagelos giram no sentido anti-horário, cria-se um efeito de hélice e a bactéria se move em uma direção mais ou menos reta. Nesse caso, a bactéria realiza um movimento chamado natação (swims), em que todos os flagelos giram na mesma direção.
Autor: Andrey Dik