Sistemas de Controle  0.5
Biblioteca matematica de Controle
Métodos Públicos | Métodos Privados | Atributos Privados | Lista de todos os Membros
Referência da Template de Classe PSO< UsedType >

Classe de otimização por nuvem de partículas. Mais...

#include <pso.h>

Diagrama de colaboração para PSO< UsedType >:
Collaboration graph

Métodos Públicos

 PSO ()
 Construtor padrão da biblioteca. Mais...
 
 PSO (int varNum, int PopSize, int GenSize)
 Sobrecarga do construtor do PSO. Mais...
 
 PSO (int varNum, int PopSize, int GenSize, double phi1, double phi2)
 Sobrecarga do construtor do PSO. Mais...
 
 PSO (int varNum, int PopSize, int GenSize, double phi1, double phi2, double omega, bool MinMax)
 Sobrecarga do construtor do PSO. Mais...
 
 ~PSO ()
 Destrutor padrão do PSO. Mais...
 
void Run ()
 Função que inicializa a otimização do problema. Mais...
 
void Run (int nTimes)
 Função que inicializa a otimização do problema. Mais...
 
void setData (Matrix< UsedType > dataIn, Matrix< UsedType > dataOut)
 
double getTime ()
 

Métodos Privados

Matrix< UsedType > Evaluation (Matrix< UsedType > Matrix2Evaluate)
 Recebe uma matriz e devolve uma matriz simbolizando a avaliação das partículas inseridas. Mais...
 
void ParticleUpdate ()
 Atualiza as partículas X. Mais...
 
void ParticleEvaluation ()
 Avalia as partículas X. Mais...
 
void VelocityUpdate ()
 Atualiza as velocidades (V) das partículas (X). Mais...
 
void initAlgorithm ()
 Inicializa os parâmetros do PSO. Mais...
 
void FitnessUpdate ()
 Realiza a verificação da existencia de melhores partículas locais e globais. Mais...
 
void FitnessUpdateMin ()
 Realiza a verificação da existencia de melhores partículas locais e globais para uma função que deve ser minimizada. Mais...
 
void FitnessUpdateMax ()
 Realiza a verificação da existencia de melhores partículas locais e globais para uma função que deve ser maximizada. Mais...
 

Atributos Privados

Matrix< UsedType > V
 
Matrix< UsedType > X
 
Matrix< UsedType > P
 
Matrix< UsedType > G
 
Matrix< UsedType > GGen
 
Matrix< UsedType > GnTimes
 
Matrix< UsedType > Xfitness
 
Matrix< UsedType > Pfitness
 
Matrix< UsedType > Gfitness
 
Matrix< UsedType > GfitnessGen
 
Matrix< UsedType > GfitnessnTime
 
Matrix< UsedType > RunTime
 
Lsim< UsedType > Model
 

Descrição Detalhada

template<class UsedType>
class PSO< UsedType >

Classe de otimização por nuvem de partículas.

Essa classe (PSO) faz parte de um conjunto de classes de otimização. A sua responsabilidade é receber um problema que deve ser otimizado e devolver os parâmetros que minimizam ou maximizam a função objetivo do problema.

Parâmetros
MinMaxVariável booleana que representa se é para maximizar ou minimizar a função objetivo. Quando essa variável é setada em (1) true o PSO funcionará como um maximizador da função objetivo, caso o parâmetro seja setado em 0 (false) o PSO funcionará como um minimizador da função objetivo. Por default a função inicializa com false.
varNumVariável inteira que representa o número de parâmetros que o PSO terá de encontrar durante o processo de otimização.
PopSizeVariável inteira que representa o número de indivíduos que estarão buscando por uma solução otimizada para o problema.
GenSizeVariável inteira que representa quantas iterações serão realizadas no algoritmo. OBS: Lembrando que o algoritmo realizará PopSize * GenSize vezes a função objetivo, por isso, esse é um processo de otimização relativamente demorado.
phi1Variável Real que representa o componente cognitivo do PSO.
phi2Variável Real que representa o componente social do PSO.
omegaVariável Real que representa o coeficiente de inercia do PSO.
Vé uma matriz contendo a velocidade calculada de cada partícula em relação a sua melhor posição e em relação a melhor posição de todas as partículas do PSO.
Xé uma matriz contendo a posição de cada partícula do PSO.
Pé uma matriz contendo a melhor posição em que cada partícula do PSO já esteve.
Gé uma matriz contendo a melhor posição em que a melhor partícula do PSO já esteve.
Xfitnessé uma matriz contendo as avaliações de cada partícula (indicando se a partícula está em uma boa posição ou não).
Pfitnessé uma matriz contendo as melhores avaliações de cada partícula (indicando a melhor avaliação já obtida pela partícula).
Gfitnessé uma matriz contendo a avaliação da melhor partícula em todo o processo de otimização.

Definição na linha 27 do arquivo pso.h.

Construtores & Destrutores

template<class UsedType>
PSO< UsedType >::PSO ( )

Construtor padrão da biblioteca.

Inicializa o PSO com os seguintes parâmetros iniciais para o objeto instanciado.

Parâmetros
varNum= 1;
PopSize= 80;
GenSize= 2000;
phi1= 1;
phi2= 1;
omega= 1;
MinMax= false;

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
PSO< UsedType >::PSO ( int  varNum,
int  PopSize,
int  GenSize 
)

Sobrecarga do construtor do PSO.

Inicializa o PSO com os seguintes parâmetros iniciais para o objeto instanciado.

Parâmetros
this->varNum= varNum; // 1º parâmetro de entrada do construtor
this->PopSize= PopSize; //2º parâmetro de entrada do construtor
this->GenSize= GenSize; //3º parâmetro de entrada do construtor
phi1= 1;
phi2= 1;
omega= 1;
MinMax= false;

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
PSO< UsedType >::PSO ( int  varNum,
int  PopSize,
int  GenSize,
double  phi1,
double  phi2 
)

Sobrecarga do construtor do PSO.

Inicializa o PSO com os seguintes parâmetros iniciais para o objeto instanciado.

Parâmetros
this->varNum= varNum; // 1º parâmetro de entrada do construtor
this->PopSize= PopSize; //2º parâmetro de entrada do construtor
this->GenSize= GenSize; //3º parâmetro de entrada do construtor
this->phi1= phi1; //4º parâmetro de entrada do construtor
this->phi2= phi2; //5º parâmetro de entrada do construtor
omega= 1;
MinMax= false;

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
PSO< UsedType >::PSO ( int  varNum,
int  PopSize,
int  GenSize,
double  phi1,
double  phi2,
double  omega,
bool  MinMax 
)

Sobrecarga do construtor do PSO.

Inicializa o PSO com os seguintes parâmetros iniciais para o objeto instanciado.

Parâmetros
this->varNum= varNum; // 1º parâmetro de entrada do construtor
this->PopSize= PopSize; //2º parâmetro de entrada do construtor
this->GenSize= GenSize; //3º parâmetro de entrada do construtor
this->phi1= phi1; //4º parâmetro de entrada do construtor
this->phi2= phi2; //5º parâmetro de entrada do construtor
this->omega= omega; //6º parâmetro de entrada do construtor
this->MinMax= MinMax; //7º parâmetro de entrada do construtor

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
PSO< UsedType >::~PSO ( )

Destrutor padrão do PSO.

Método que é executado no momento em que o PSO é deletado.

OBS: O método não tem exempo associado.

Ver também:

Veja também
void Run()

Métodos

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::Evaluation ( Matrix< UsedType >  Matrix2Evaluate)
private

Recebe uma matriz e devolve uma matriz simbolizando a avaliação das partículas inseridas.

A responsabilidade desta função é permitir que o PSO disponibilize um número de referência que possa ser minimizado ou minimizado.

Parâmetros
Matrix2EvaluateÉ uma matriz de coeficientes que serão inseridos na função objetivo para obter o resultado da avaliação.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::FitnessUpdate ( )
private

Realiza a verificação da existencia de melhores partículas locais e globais.

Realiza a verificação da existencia de melhores partículas locais e globais e atualiza as variáveis preparando o algoritmo para uma nova iteração (geração).

Obs: Os parâmetros de atualização deste método são internos, ou seja, pertencem à classe.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::FitnessUpdateMax ( )
private

Realiza a verificação da existencia de melhores partículas locais e globais para uma função que deve ser maximizada.

Realiza a verificação da existencia de melhores partículas locais e globais e atualiza as variáveis preparando o algoritmo para uma nova iteração (geração).

Obs: Os parâmetros de atualização deste método são internos, ou seja, pertencem à classe.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::FitnessUpdateMin ( )
private

Realiza a verificação da existencia de melhores partículas locais e globais para uma função que deve ser minimizada.

Realiza a verificação da existencia de melhores partículas locais e globais e atualiza as variáveis preparando o algoritmo para uma nova iteração (geração).

Obs: Os parâmetros de atualização deste método são internos, ou seja, pertencem à classe.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
double PSO< UsedType >::getTime ( )
template<class UsedType>
void PSO< UsedType >::initAlgorithm ( )
private

Inicializa os parâmetros do PSO.

Inicializa os parâmetros do PSO para que ele possa começar a realizar as iterações.

Obs: Os parâmetros de atualização deste método são internos, ou seja, pertencem à classe.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::ParticleEvaluation ( )
private

Avalia as partículas X.

A responsabilidade desta função é chamar o método Evaluation() avaliando, assim, as partículas X.

Obs: Os parâmetros de atualização deste método são internos, ou seja, pertencem à classe.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::ParticleUpdate ( )
private

Atualiza as partículas X.

A responsabilidade desta função é calcular X = X + V, função de atualização das partículas do PSO.

Obs: Os parâmetros de atualização deste método são internos, ou seja, pertencem à classe.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::Run ( )

Função que inicializa a otimização do problema.

Neste método são executadas todas as partes necessárias para realizar GenSize iterações do PSO (GenSize gerações);

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::Run ( int  nTimes)

Função que inicializa a otimização do problema.

Neste método são executadas todas as partes necessárias para realizar GenSize iterações do PSO (GenSize gerações) nTime vezes;

Parâmetros
nTimesQuantidade de vezes que o PSO é executado GenSize vezes

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()
template<class UsedType>
void PSO< UsedType >::setData ( Matrix< UsedType >  dataIn,
Matrix< UsedType >  dataOut 
)
template<class UsedType>
void PSO< UsedType >::VelocityUpdate ( )
private

Atualiza as velocidades (V) das partículas (X).

A responsabilidade desta função é calcular V = wV + phi1*r1(P-X) + phi2*r2(G-X), função de atualização das velocidades das partículas do PSO.

Obs: Os parâmetros de atualização deste método são internos, ou seja, pertencem à classe.

Ex:

#include <src/primitiveLibs/pso.h>
int main(int argc, char *argv)
{
}
    Resultado:

    Ver também: \sa void Run()

Atributos

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::G
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::Gfitness
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::GfitnessGen
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::GfitnessnTime
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::GGen
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::GnTimes
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Lsim<UsedType> PSO< UsedType >::Model
private

Definição na linha 31 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::P
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::Pfitness
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::RunTime
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::V
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::X
private

Definição na linha 30 do arquivo pso.h.

template<class UsedType>
Matrix<UsedType> PSO< UsedType >::Xfitness
private

Definição na linha 30 do arquivo pso.h.


A documentação para esta classe foi gerada a partir do seguinte arquivo: