3#include "../TProcura.h"
@ indEpocas
Número de épocas decorridas num algoritmo evolutivo. Uma época é uma geração única.
@ indMelhorativa
Marcador para permitir a extensão do enum em subclasses.
@ indGeracoes
número de estados gerados durante a procura
TProcuraMelhorativa * TPonto
@ indProcura
Marcador para permitir a extensão do enum em subclasses.
@ parametrosProcura
Marcador para permitir a extensão do enum em subclasses.
virtual void NovaSolucao(void)
bool Acao(const char *acao)
void ObterExtremos(TVector< TPonto > &populacao, int &minCusto, int &maxCusto)
int epocas
Número de épocas decorridas num algoritmo evolutivo. Uma época é uma geração única.
void LibertarVector(TVector< TPonto > &vector, int excepto=-1)
virtual void Cruzamento(TPonto a, TPonto b)
int Indicador(int id) override
Redefinição. Ver TProcura::Indicador().
virtual void Copiar(TPonto objecto)
Fica com uma cópia do objecto.
void DebugPassoAG(int pop, int min, int max)
void CalcularAvaliacoes(TVector< TPonto > &vizinhos, int &melhorValor, int &melhorIndice)
void TesteManualX(const char *nome)
provavelmente apagar
TPonto MelhorAtual(TPonto &atual, TVector< TPonto > &vizinhos, int indice)
void DebugOptimoLocal(TPonto solucao)
void DebugMelhorEncontrado(TPonto ponto)
provavalmente apagar
void DebugVizinhos(TVector< TPonto > &vizinhos)
void Explorar() override
definir para explorar manualmente os dados (não definido em TProcura, apenas em TProcuraConstrutiva)
virtual void Vizinhanca(TVector< TPonto > &vizinhos)
void LimparEstatisticas(clock_t &inicio)
Chapar antes da execução do algoritmo. Limpa valores estatísticos, e fixa o instante limite de tempo para...
virtual int Avaliar(void)
void DebugPassoEM(TPonto solucao)
void DebugInicioEM(int ID, TPonto solucao)
int custo
Custo total, atualizada após Avaliar()
virtual int Distancia(TPonto a)
TProcuraMelhorativa(void)
void Selecao(int &pai, int &mae, TVector< int > &pesos, int total)
void DebugCruzamentoAG(int gPai, int gMae, int gFilho, int mutou)
~TProcuraMelhorativa(void)
void ResetParametros() override
Inicializa os parametros, indicadores e instâncias.
void VerificaMelhor(TPonto &melhor, TPonto atual)
void OrdemValor(TVector< TPonto > &populacao, TVector< int > &id)
int ExecutaAlgoritmo()
Executa o algoritmo com os parametros atuais.
virtual TPonto Duplicar(void)=0
Cria um objecto que é uma cópia deste.
int geracoes
Número de estados gerados.
Classe base para todas as procuras.
static int resultado
Resultado retornado pelo algoritmo na última execução.