TProcura
Biblioteca em C++ para testes paramétricos de algoritmos, e coleção de algoritmos de procura e otimização
|
#include <TCodificacaoArvore.h>
Additional Inherited Members | |
![]() | |
TProcuraMelhorativa (void) | |
~TProcuraMelhorativa (void) | |
bool | Acao (const char *acao) |
void | ResetParametros () override |
Inicializa os parametros, indicadores e instâncias. | |
bool | Parar (void) |
Verifica se a procura deve ser interrompida. | |
virtual int | Distancia (TPonto a) |
int | EscaladaDoMonte () |
int | AlgoritmoGenetico () |
int | AlgoritmoEvolutivo () |
void | DebugMelhorEncontrado (TPonto ponto) |
int64_t | Indicador (int id) override |
Redefinição. Ver TProcura::Indicador(). | |
void | Inicializar (void) |
Inicializar a instância. No final, chamar NovaSolucao() para inicializar o estado. | |
void | LimparEstatisticas () |
Chapar antes da execução do algoritmo. Limpa valores estatísticos, e fixa o instante limite de tempo para a execução. | |
![]() | |
TProcura (void) | |
virtual | ~TProcura (void) |
virtual void | TesteManual (const char *nome) |
Inicializa a interação com o utilizador. | |
virtual void | TesteEmpirico (TVector< int > instancias, char *ficheiro=NULL) |
Executa testes empíricos, em todas as configurações guardadas, nas instâncias selecionadas. | |
virtual void | TesteEmpiricoGestor (TVector< int > instancias, char *ficheiro=NULL) |
Teste empírico com modo mestre-escravo (este é o mestre) | |
virtual void | TesteEmpiricoTrabalhador (TVector< int > instancias, char *ficheiro=NULL) |
Teste empírico com modo mestre-escravo (este é o escravo) | |
virtual void | main (int argc, char *argv[], const char *nome) |
Inicializa a interação com o utilizador. | |
virtual void | ExecucaoTerminada () |
Chamar após a execução do algoritmo. Grava o tempo consumido. | |
virtual void | MostrarSolucao () |
definir para visualizar a solução | |
virtual TVector< int64_t > | CodificarSolucao () |
retorna um vetor de inteiros com a codificação da solução (esta codificação será adicionada aos indicadores, no ficheiro CSV de resultados) | |
bool | TempoExcedido () |
bool | IteracoesExcedido () |
int | Parametro (int id) const |
int & | Parametro (int id) |
bool | ParametroAtivo (int id, TVector< int > *valores=NULL) const |
![]() | |
static int | NovoValor (const char *prompt) |
static char * | NovoTexto (const char *prompt) |
static bool | Debug (ENivelDebug tipo, bool exato, const char *fmt,...) |
Mostra uma informação de debug, se o nível de debug for suficiente. | |
static char * | MostraTempo (double segundos) |
Mostra tempo num formato humano. | |
![]() | |
int | custo = -1 |
Custo total, atualizada após Avaliar() | |
![]() | |
static int | lowerBound = 0 |
Lower Bound, se existir. | |
static int | geracoes = 0 |
Número de estados gerados. | |
static int | epocas = 0 |
Número de épocas decorridas num algoritmo evolutivo. Uma época é uma geração única. | |
![]() | |
static TParametro | instancia = { NULL,1,1,1, NULL, NULL } |
ID da instância atual, a ser utilizado em SolucaoVazia(). | |
static char | ficheiroInstancia [256] = "instancia_" |
nome do ficheiro de uma instância - editado pelo utilizador (utilizar como prefixo, concatenando com ID da instância) pode ser utilizado para gravar a instãncia num novo formato, colocando um indicador ativo que é chamado após a execução (pode gravar a solução para ficheiro também, mas essa é mais facilmente gravada em CVS codificada em inteiros, onde fica associada à configuração utilizada para a gerar) | |
static TVector< TParametro > | parametro |
Parâmetros a serem utilizados na configuração atual. | |
static TVector< TIndicador > | indicador |
Indicadores que podem ser calculados após a execução, quer com informação da instãncia, quer com resultado da última corrida. | |
static TVector< int > | indAtivo |
static TVector< TVector< int > > | configuracoes |
Conjuntos de configurações para teste empírico. | |
static int | resultado = 0 |
Resultado retornado pelo algoritmo na última execução. | |
static double | tempo = 0 |
tempo consumido na última execução. | |
static int | iteracoes = 0 |
Número total de iterações realizadas na última execução. | |
static clock_t | instanteFinal = 0 |
Instante final (deadline) da corrida atual. | |
static bool | memoriaEsgotada = false |
Flag indicando problemas de memória esgotada. | |
static int | mpiID = 0 |
MPI - rank do processo. | |
static int | mpiCount = 1 |
MPI - número de processos. | |
static int | modoMPI = 0 |
Modo MPI. | |
![]() | |
void | Selecao (int &pai, int &mae, TVector< int > &pesos, int total) |
void | OrdemValor (TVector< TPonto > &populacao, TVector< int > &id) |
void | CalcularAvaliacoes (TVector< TPonto > &vizinhos, int &melhorValor, int &melhorIndice) |
void | VerificaMelhor (TPonto &melhor, TPonto atual) |
bool | VerificaMelhor (TPonto atual) |
int | MelhorCusto (TVector< TPonto > &populacao, bool inverter=false) |
TPonto | MelhorAtual (TPonto &atual, TVector< TPonto > &vizinhos, int indice) |
void | ObterExtremos (TVector< TPonto > &populacao, int &minCusto, int &maxCusto) |
void | Explorar () override |
definir para explorar manualmente os dados (não definido em TProcura, apenas em TProcuraConstrutiva) | |
void | LibertarVector (TVector< TPonto > &vector, int excepto=-1) |
int | ExecutaAlgoritmo () |
Executa o algoritmo com os parametros atuais. | |
void | DebugInicioEM (int ID, TPonto solucao) |
void | DebugOptimoLocal (TPonto solucao) |
void | DebugPassoEM (TPonto solucao) |
void | DebugPassoAG (int pop, int min, int max) |
void | DebugCruzamentoAG (int gPai, int gMae, int gFilho, int mutou) |
TVector< TPonto > | CompletarPopulacaoAE (TVector< TPonto > &populacao) |
TVector< TPonto > | SelecionarPaisAE (TVector< TPonto > &populacao) |
TVector< TPonto > | ReproduzirAE (TVector< TPonto > &pais, TVector< TPonto > &populacao) |
TVector< TPonto > | SelecionarSobreviventesAE (TVector< TPonto > &populacao, TVector< TPonto > &descendentes) |
TVector< TPonto > | AplicarDiversidadeAE (TVector< TPonto > &populacao) |
void | DebugGeracaoAE (int epoca, TVector< TPonto > &populacao) |
void | DebugPopulacaoAE (TVector< TPonto > &populacao, const char *titulo) |
void | DiversidadeAE (TVector< TPonto > &populacao, int &minDist, int &maxDist, int &avgDist, int &melhorPior) |
![]() | |
void | ExecutaTarefa (TVector< TResultado > &resultados, int inst, int conf) |
Executa uma tarefa num teste empírico. | |
void | InserirRegisto (TVector< TResultado > &resultados, int inst, int conf) |
Insere um novo registo de resultados. | |
int64_t | Registo (TResultado &resultado, int id) |
Procura um registo com determinado id. | |
void | Registo (TResultado &resultado, int id, int64_t valor) |
Atualiza o valor de um registo. | |
void | MostraParametros (int detalhe=1, TVector< int > *idParametros=NULL) |
Mostra os parâmetros atuais. | |
void | MostraIndicadores () |
Mostra os indicadores definidos. | |
void | MostrarConfiguracoes (int detalhe, int atual=-1) |
Mostra as configurações disponíveis. | |
bool | EditarIndicadores () |
Permite ao utilizador editar os indicadores a utilizar. | |
void | EditarParametros () |
Permite ao utilizador editar os parâmetros. | |
void | EditarConfiguracoes () |
Permite ao utilizador editar as configurações. | |
void | MostraRelatorio (TVector< TResultado > &resultados, bool ultimo=false) |
Mostra um relatório dos resultados. | |
void | ConfiguracaoAtual (TVector< int > ¶metros, int operacao) |
Grava ou lê a configuração atual. | |
int | NovaConfiguracao (TVector< int > ¶metros) |
Adiciona uma nova configuração se ainda não existir. | |
int | MelhorResultado (TResultado base, TResultado alternativa) |
Compara dois resultados para determinar o melhor. | |
void | CalculaTorneio (TVector< TResultado > &resultados) |
Calcula o torneio entre várias configurações. | |
void | MostrarTorneio (TVector< TVector< int > > &torneio, bool jogo=false) |
Mostra os resultados do torneio. | |
void | BarraTorneio (bool nomes) |
Mostra a barra de progresso ou nomes do torneio. | |
TVector< TResultado > | ExtrairConfiguracao (TVector< TResultado > &resultados, int configuracao) |
Extrai resultados de uma determinada configuração. | |
void | SolicitaInstancia () |
Solicita ao utilizador o ID da instância a utilizar, permitindo alterar também o prefixo do ficheiro. | |
TVector< int > | SolicitaInstancias () |
Solicita ao utilizador uma lista de instâncias. | |
bool | RelatorioCSV (TVector< TResultado > &resultados, char *ficheiro) |
Gera um relatório CSV com os resultados. | |
void | InserirConfiguracoes (char *str, TVector< int > &base) |
Insere configurações a partir de uma string. | |
void | InserirConfiguracoes (TVector< int > &base, TVector< int > &produto, TVector< TVector< int > > &valores) |
Insere configurações gerando o produto cartesiano de valores. | |
void | AjudaUtilizacao (const char *programa) |
Mostra ajuda de utilização do programa. | |
void | DebugTabela (ENivelDebug nivel, TVector< int >tabela, const char *tipo="") |
Mostra uma tabela de inteiros, 10 elementos por linha, apenas se o nível de debug for igual ou superior. | |
bool | JuntarCSV (const char *ficheiro) |
Juntar ficheiros CSV gerados por diferentes processos MPI em um único ficheiro. | |
![]() | |
static int | Dominio (int &variavel, int min=INT_MIN, int max=INT_MAX) |
Limita o domínio de um parâmetro inteiro. | |
static void | InicializaMPI (int argc, char *argv[]) |
Inicializa o ambiente MPI, se aplicável. | |
static void | FinalizaMPI () |
Finaliza o ambiente MPI, se aplicável. | |
static double | Cronometro (enum ECronometro id=CONT_ALGORITMO, bool inicialiar=false) |
retorna o tempo em segundos desde que o cronómetro foi inicializado | |
Definition at line 3 of file TCodificacaoArvore.h.