Exemplo n.º 1
0
    private static void testarSimplexSolverCS()
    {

      SimplexSolver.CS.SimplexSolverCPU solver = new CS.SimplexSolverCPU();
      SimplexSolver.CS.Dados.FObjetivo funcao = new CS.Dados.FObjetivo();

      funcao.AddVariavel("X1", 6);
      funcao.AddVariavel("X2", 12);

      var rest1 = funcao.AddRestricao("REST_1");
      rest1.AddVariavel("X1", 0.6);
      rest1.AddVariavel("X2", 1);
      rest1.TermoLivre = 600;
      rest1.Desigualdade = CS.Dados.Desigualdade.MenorOuIgual;


      var rest2 = funcao.AddRestricao("REST_2");
      rest2.AddVariavel("X1", 1);
      rest2.AddVariavel("X2", 1);
      rest2.TermoLivre = 300;
      rest2.Desigualdade = CS.Dados.Desigualdade.MaiorOuIgual;

      var rest3 = funcao.AddRestricao("REST_3");
      rest3.AddVariavel("X2", 1);
      rest3.TermoLivre = 100;
      rest3.Desigualdade = CS.Dados.Desigualdade.MaiorOuIgual;

      funcao.MostrarFObjetivo();

      solver.Otimizar(funcao);

    }
Exemplo n.º 2
0
    private static void testarSimplexSolverCS_MPS()
    {
      string[] problemas = {
                             "MPS_Petr_Exemplo.txt",
                             "MPS_Test.txt",
                             "AFIRO.mps",
                             "SHARE2B.mps",
                             "ADLITTLE.mps",
                             "CAPRI.mps",
                             "ISRAEL.mps",
                             "KEN-07.mps",
                             "DFL001.mps"
                           };


      SimplexSolver.CS.SimplexSolverCPU solver = new CS.SimplexSolverCPU();

      solver.Otimizar(new MPSLPReader(Path.Combine(DIRETORIO_NETLIB, "KEN-07.mps"),
        new MPSLPReaderConfig
      {
        VetorRHSPossuiNome = true
      })
      , CS.Dados.Extremo.Minimizar);

      Console.WriteLine();
      Console.WriteLine("Tempo leitura: {0}", solver.TempoLeituraFuncao().TotalSeconds);
      Console.WriteLine("Tempo normalizacao: {0}", solver.TempoNormalizacao().TotalSeconds);
      Console.WriteLine("Tempo otimizacao: {0}", solver.TempoOtimizacao().TotalSeconds);
      Console.WriteLine("Valor custo: {0}", solver.RecuperarValorCusto());
      Console.WriteLine("Status final: {0}", solver.RecuperarStatus());
      Console.WriteLine();

    }