Linguagem de Modelagem GAMS ___________________________________________________ 100V. Simplificar a preparação de dados de entrada e relatórios de saída e transformarautomaticamente os dados para a forma requerida pelos pacotes de programaçãomatemática.Além destas vantagens, o GAMS é um compilador baseado na teoria de banco de dados (quandose faz manipulação dos dados) e na teoria de programação matemática ( para descrição e soluçãodos problemas). GAMS também disponibiliza um conjunto de Solvers, que são pacotes com opçõesde várias técnicas de solução de problemas de programação matemática (p.ex: PL, PIM, PNL,MIQCP, MINLP, DNPLP...), que podem ser utilizados conforme a escolha do modelador,A UNESP-Guaratinguetá-SP possuiu o GAMS [23.4.3]e o solver CPLEX [12.1.0], para a solução doproblema programação inteira mista (PIM).Solver CPLEXA sigla CPLEX é a combinação da letra C, em referência à linguagem de programação C utilizadano desenvolvimento deste algoritmo, com a terminação PLEX, em referência ao algoritmosimplex de solução de problemas de PL. Este solver foi desenvolvido pela CPLEX OptimizationInc., empresa fundada em 1988 com a ideia de comercializar algoritmos de PL que pudessemser utilizados para solucionar, de forma rápida, problemas grandes e difíceis de programaçãolinear. Atualmente o CPLEX é um produto de propriedade da ILOG S.A. A primeira versão doCPLEX (CPLEX 1.0) foi lançada em 1988 com suporte para solucionar problemas de PL pormeio do método primal simplex. Posteriormente, este algoritmo incorporou o suportepara utilizar o método dual simplex; incorporou o algoritmo barrier, que é uma alternativa aométodo simplex para problemas de programação linear e programação quadrática; incorporouo algoritmo branch-and-bound, para solucionar problemas de PIM, programação inteiramista quadrática e programação inteira mista com restrições quadráticas; incorporouheurísticas de pré-processamento de dados, para gerar boas soluções iniciais; eincorporou técnicas de programação por restrições, para melhorar o desempenho de busca.Além disso, o CPLEX passou a utilizar um algoritmo branch-and-cut com cortes com famílias dedesigualdades válidas e genéricas. Atualmente, também é possível utilizar processamentoparalelo para solucionar grandes problemas práticos (ILOG,2008). A figura A1 mostra a
Linguagem de Modelagem GAMS ___________________________________________________ 101estrutura geral da linguagem GAMS.Dados de EntradaDefinição e declaração de sets e alias;Definição e declaração de scalars, parameters, tables e equações deatribuição;Determinação de displays de controle sobre as equações de atribuição.FiguraAnexo A1 - Estrutura geral do modelo GAMS(Fonte: adaptada de Brooke et al., 1997Elementos do modeloDefinição e declaração, designação do tipo, limitantes e valores iniciais devariables;Definição e declaração de equations (função objetivo e restrições).Soluções do modeloComandos: Models; Solve; Displays.Figura anexo A1- Estrutura geral do modelo GAMS(fonte: Adaptado de Brooke et al.,1997)