PROLIN
Sistema para PROgramação LINear
www.prolin.ufv.br
Manual do Usuário
Junho/2002
1. INTRODUÇÃO
O Sistema para Programação Linear - PROLIN, desenvolvido para a resolução de problemas genéricos de Programação Linear, utiliza o Simplex Revisado como algoritmo-base, adaptando-o para lidar com variáveis ou com restrições limitadas. Em sua versão para a internet, está limitado a um máximo de 50 (cinqüenta) restrições e 100 (cem) variáveis, não se incluindo, entre essas, as variáveis de folga e as artificiais.
O site do PROLIN pode ser acessado, via navegador web, através do endereço www.prolin.ufv.br e está dividido nas seguintes seções:
- inicial: É a apresentação do site, a página inicial contendo uma descrição breve sobre o sistema;
- prolin: É a parte onde o usuário poderá submeter seus problemas, previamente formatados, de acordo com os formatos definidos nos manuais do PROLIN;
- exemplos: Contém exemplos simples, com o objetivo de ser um guia rápido para o usuário fazer seus primeiros testes com o sistema;
- manuais: O usuário poderá fazer o download dos manuais disponíveis para um aprendizado mais profundo do sistema;
- sobre: Contém uma descrição técnica do Sistema;
- links: Página com links referentes à Pesquisa Operacional e assuntos correlacionados;
- ajuda: Seção que contém a descrição de um problema e explicações sobre alguns pontos importantes da modelagem.
2. DESCRIÇÃO E USO DO SISTEMA
O sistema é bem simples de ser utilizado. Ao acessar o site www.prolin.ufv.br, o usuário tem acesso aos links que levam diretamente à pagina para entrada dos dados referentes ao modelo. Caso tenha dúvidas, é possível acessar os manuais através do link manuais no menu principal e fazer download para consultas precisas sobre o formato de entrada de dados exigidos para submissão do problema.
Existem duas maneiras de submeter, ao PROLIN, o problema modelado. Pode-se passar um arquivo texto contendo o modelo ou passá-lo diretamente através da página. Quanto aos formatos, pode-se optar por escolher o formato original do PROLIN ou o formato adaptado. Esta documentação descreve o formato original.
A solução dada pelo PROLIN é enviada diretamente para uma outra página. Em caso de erro, um aviso de alerta contendo a possível causa do erro é mostrado ao usuário, para que ele possa analisar novamente a entrada de dados e verificar se ela está realmente consistente.
2.1. SUBMISSÃO POR ARQUIVO
Para submeter ao PROLIN, por meio de um arquivo, um problema modelado (não importa a extensão do arquivo, contanto que esteja no formato tipo texto), o usuário terá que clicar no botão 'procurar', selecionar o arquivo e clicar no botão 'enviar'. Além disto, o usuário também terá que escolher entre fazer, ou não, a análise de sensibilidade. A sub-seção é mostrada na figura abaixo:
2.2. SUBMISSÃO PELA PÁGINA
Para submeter ao PROLIN um problema modelado on-line, basta preencher, com o modelo, o campo indicado por 'Entre com os Dados'. Em seguida, escolher entre fazer, ou não, a análise de sensibilidade e clicar no botão 'enviar'. A sub-seção é mostrada na figura abaixo:
Obs: O problema a ser passado pelo PROLIN não deve conter 'tabs'.
3. DESCRIÇÃO DO CONJUNTO DE DADOS
A descrição do conjunto de dados é feita com o uso de palavras-chave reservadas, obedecendo-se a uma ordem pré-estabelecida.
Palavras-chave:
- TITULO
- OBJETIVO
- LINHAS
- COLUNAS
- COMBINAR
- LIMITES
- SENSIBILIDADE
- LISTAR
- FIM
Todas as palavras-chave começam, obrigatoriamente, na coluna 1 do registro e devem ser digitadas em letras maiúsculas. Em seguida, o significado dessas palavras-chave:
TITULO: O registro seguinte a esta palavra-chave tem um tamanho de 80 posições, sendo utilizado para identificar o problema a ser resolvido. Em não se desejando identificá-lo, deve-se deixar um registro “em branco” entre as palavras-chave TITULO e OBJETIVO.
OBJETIVO: O registro seguinte a esta palavra-chave define se o objetivo é maximizar (MAX) ou minimizar (MIN) a função-objetivo do problema, cujo nome é, também, definido no mesmo registro. Isso é feito preenchendo-se o campo definido pelas posições 11-20 com o nome da função a ser otimizada.
LINHAS: Os registros definidos por esta palavra-chave descreverão as restrições do problema, por meio dos seguintes campos:
Posições
1 - 8 ... nome da restrição
11- 15... símbolo de desigualdade da restrição:
LIVRE - sem restrições
MENOR - menor ou igual
IGUAL - igual
MAIOR - maior ou igual
21 - 30 ... valor da restrição com o formato livre, porém exigindo-se o ponto decimal, caso não se ajuste o valor à direita deste campo. Se o símbolo de desigualdade da restrição for LIVRE, este campo não deve ser preenchido.
Estas informações poderão ser repetidas, respectivamente, nas posições 31 - 38, 41 - 45 e 51 - 60 de cada registro. Os limites (inferior e superior) das restrições são assumidos conforme informações contidas nos campos da desigualdade da restrição e do valor da restrição. Caso a desigualdade seja do tipo menor ou igual, então o limite superior será igual ao valor da restrição e o limite inferior será assumido como sendo “menos infinito”. Similarmente, para desigualdade do tipo maior ou igual, o limite inferior será igual ao valor da restrição e o limite superior será assumido como “mais infinito”. Se a desigualdade for do tipo igual, o limite superior será igual ao limite inferior e igual ao valor da restrição. Quando o símbolo de desigualdade da restrição for LIVRE, os limites inferior e superior da restrição são assumidos como “menos infinito” e “ mais infinito” respectivamente. Caso a restrição tenha ambos os limites finitos, deve-se então complementar sua definição utilizando, para isso, os registros subseqüentes à palavra-chave LIMITES, conforme descrito adiante.
COLUNAS : Esta palavra-chave identifica o término das definições das restrições (linhas), o problema em questão e o início das definições das variáveis (colunas).
Os registros para definição das variáveis (colunas) possuem os seguintes campos:
Posições
1 - 8 ... nome da variável
11 - 20 ... nome da restrição na qual a variável possui coeficiente diferente de zero.
21 - 30 ... valor do coeficiente da variável contínua na restrição definida no campo anterior. O formato é livre, exigindo-se, porém, ponto decimal, caso não esteja ajustado à direita.
Os campos “nome da restrição” e “valor do coeficiente” poderão ser repetidos nas posições 31 - 38, 41 - 50 e 51 - 58, 61 - 70. Nesse caso, assume-se que tais informações são pertinentes à variável de nome definido nas posições 1 - 8. Para a definição de uma nova variável, é obrigatório o uso de novo registro. Caso as informações relativas a uma dada variável não caibam em um único registro, faz-se o uso de tantos registros quantos necessários, sendo que cada registro de continuação deverá conter, obrigatoriamente, no primeiro campo, o nome da variável.
COMBINAR : Esta palavra-chave é utilizada para definir restrições que são combinações lineares de outras, caso existam. Ao contrário da definição das colunas, a definição de uma restrição “combinada” é feita por linha. Assim, os registros para a descrição deste tipo de restrição possuem os seguintes campos:
Posições
1 - 8 ... nome da combinação linear (restrição combinada)
11 - 20 ... nome da restrição que faz parte da combinação
21 - 30 ... valor do coeficiente da restrição definido no campo anterior, na combinação linear.
Os campos “nome da restrição que faz parte da combinação” e “valor do coeficiente” poderão ser repetidos nas posições 31 - 38, 41 - 50 e 51 - 58, 61 - 70. Nesse caso, assume-se que tais informações são pertinentes à combinação linear definida nas posições 1 - 8.
Para a definição de uma nova combinação linear, é obrigatório o uso de um novo registro. Caso as informações relativas à definição de uma dada combinação linear não caibam m um único registro, poderão ser utilizados tantos registros quantos necessários, sendo que cada registro de continuação deverá conter, obrigatoriamente, o nome da cominação linear no primeiro campo.
LIMITES : Esta palavra-chave identifica o término das definições das variáveis ou das combinações lineares de restrições e o início das definições dos limites inferior e superior das variáveis e/ou restrições. Os registros para a definição dos limites possuem os seguintes campos:
Posições
1 - 8 ... nome da variável ou restrição
11 - 20 ... valor do limite inferior
21 - 30 ... valor do limite superior.
Estas informações poderão ser repetidas, respectivamente, nas posições 31 - 38, 41 - 50 e 51 - 60. Se o valor do limite inferior ou superior de uma variável for zero, pode-se deixar em branco o campo correspondente ao mesmo. Se a variável em questão não for limitada superiormente, deve-se preencher tal campo com a palavra INFINITO. Da mesma forma, deve-se, obrigatoriamente, preencher o campo limite inferior com a palavra INFINITO (“menos infinito”) se esta variável não for limitada inferiormente. É importante mencionar que, caso uma restrição necessite de complementação da sua definição, já feita nos registros subseqüentes à palavra-chave LINHAS, ou seja, caso a restrição possua tanto limite inferior quanto superior finitos, deve-se definir os dois limites repetindo o limite já definido anteriormente (na definição das restrições), seja ele inferior ou superior. Não é necessário definir a variável cujo limite inferior seja zero e não esteja limitada superiormente. Se todas as variáveis possuírem essas características e os limites das restrições definidos nos registros subseqüentes à palavra-chave LINHAS não necessitarem de complementação, a palavra-chave LIMITES não deverá aparecer no conjunto de dados, passando-se à palavra-chave seguinte.
O formato para os campos associados aos valores dos limites é livre, observando-se a necessidade de se colocar o ponto decimal, caso o valor não esteja ajustado à direita do campo.
O término da definição dos limites das variáveis é determinado por uma das seguintes palavras-chave: SENSIBILIDADE, LISTAR ou FIM.
SENSIBILIDADE : Esta palavra-chave determina a aplicação da Análise de Sensibilidade ao problema a ser resolvido. Caso não se deseje a Análise de Sensibilidade, basta omitir esta palavra-chave. A posição deste registro dentro do conjunto de dados situa-se entre as palavras-chave LIMITE (caso exista) e FIM.
LISTAR : Esta palavra-chave determina a impressão do conjunto de dados, antes dos resultados do problema. Da mesma maneira que a palavra-chave SENSIBILIDADE, a palavra-chave LISTAR pode posicionar-se entre as palavras-chave LIMITE (caso exista) e FIM.
FIM : Esta palavra-chave define o fim do conjunto de informações que caracterizam o problema a ser resolvido, sendo obrigatório o seu uso, sob pena de interrupção do processamento.
CONSIDERAÇÕES:
1 - Todo nome, quer de variável, quer de restrição, deverá começar por um caracter literal e ter, no máximo, 8 (oito) caracteres.
2 - Os campos que contiverem nomes já definidos anteriormente deverão obedecer a definição original. Assim sendo, se RESTR-1 estiver ajustado à esquerda do campo correspondente, em qualquer outro registro que contiver, em um de seus campos, o nome da primeira restrição, este deverá ser definido identicamente à forma original, sob pena de não ser reconhecido.
3 - A representação do conteúdo de campos numéricos deve ser:
X.Y
onde X é a parte inteira e Y é a parte decimal. Observe que a separação entre a parte inteira e a parte decimal deve ser feita por um ponto.
Dostları ilə paylaş: |