Exemplo n.º 1
0
  public int[] otimizarLoja(List<Loja> objetosEncontrados) {

    // final List objetosEncontrados = presentation.findAll();
    int numeroObjetosValidos = 0;
    final int numeroObjetos = objetosEncontrados.size();
    double[][] matrizDados = new double[numeroObjetos][3];
    final int numeroClusters = 4;
    final int numeroCaracteristicas = 3;

    for (int i = 0; i < objetosEncontrados.size(); i++) {
      final Loja loja = (Loja) objetosEncontrados.get(i);
      if (loja.getRamo() != null && loja.getVendas() != null && loja.getFluxoPessoas() != null) {
        numeroObjetosValidos++;
      } else {
        objetosEncontrados.remove(i);
      }
    }

    for (int i = 0; i < numeroObjetosValidos; i++) {
      matrizDados[i][0] = ((Loja) objetosEncontrados.get(i)).getRamo().getID();
      matrizDados[i][1] = ((Loja) objetosEncontrados.get(i)).getVendas().doubleValue();
      matrizDados[i][2] = ((Loja) objetosEncontrados.get(i)).getFluxoPessoas();
    }

    final JForgyHeterogeneo forgy =
        new JForgyHeterogeneo(
            numeroObjetosValidos, numeroClusters, numeroCaracteristicas, matrizDados);
    forgy.forgy();

    int[] particao = forgy.getParticao();
    objetosEcontradosOtimizados = objetosEncontrados;
    otimizou = true;
    return particao;
  }
Exemplo n.º 2
0
  public static void main(String[] args) {

    JExemplo exemplo = new JExemplo(); // Esta classe carrega dados exemplos.

    JForgyHeterogeneo forgy =
        new JForgyHeterogeneo(
            exemplo.getNumObj(),
            exemplo.getNum_Cl(),
            exemplo.getNCaracteristicas(),
            exemplo.getMatrizDeDados());
    forgy.forgy();

    int[] particao = forgy.getParticao();

    for (int i = 0; i < particao.length; i++)
      System.out.println("Loja  " + i + ",  Grupo " + particao[i]);

    System.out.println("Numero de Iteracoes de Forgy: " + forgy.getNumeroDeIteracoesF());
  }