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); }
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(); }