Você está na página 1de 10

Linear Solver Program - Manual do Usurio

Verso 1.11.0

Traduzido por: Angelo de Oliveira (angelo@unir.br/mrxyztplk@gmail.com)

1 Introduo
Linear Program Solver (LiPS) um pacote de otimizao projetado para resolver problemas de
programao linear, inteira e de objetivo. As principais caractersticas do LiPS so:

LiPS est baseado em uma eficiente implementao do mtodo simplex modificado que resolve
uma grande escala de problemas.

LiPS fornece no somente uma resposta, mas um processo de soluo detalhado como uma sequn-
cia de tabelas simplex, de modo que elas poden ser usadas para estudar (ensinar) programao
linear.

LiPS fornece procedimentos de anlise de sensibilidade, o que permite o estudo do comportamento


do modelo quando h mudana de parmetros, incluindo: anlises de mudanas no lado direito
das restries, anlise das mudanas nos coeficientes da funo objetivo, a anlise de mudanas
na coluna/linha da tecnologia matriz. Tal informao pode ser extremamente til em aplicaes
prticas de modelos LP.

LiPS fornece os mtodos de programao por objetivos, incluindo os mtodos lexicogrfico e de


ponderamento GP. Mtodos de programao por objetivos tem a inteno de resolver problemas
de otimizao com mltiplos objetivos.

2 A Interface com o usurio


Os principais componentes da interface do programa so (Figura 1):

1. A rea do cliente na janela principal (contm subjanelas).


2. Barra de ferramentas (Toolbar) - contm botes para acesso rpido s funes chave do programa.
3. Barra de Menu Principal - fornece acesso para todas as funes do programa.
4. Barra de Status - contm simples dicas sobre o propsito dos items do menu principal e dos itens
da barra de ferrramentas.
5. A(s) subjanela(s) - contm as definies dos modelos ou resultados do programa (relatrios).
6. Painel de registro - contm informaes a respeito da soluo do processo.

LiPS um ambiente integrado de desenvolvimento (IDE) que fornece ao usurio as seguintes interfaces:
Modo Edio (Model Editor), Modo Soluo (Model Solver) e Anlise de Sensibilidade (Sensitivity
Analysis).

3 Modo Editor (Editor Model)


O modo editor fornece funes para criar, editar, salvar e carregar modelos. O sistema suporta o
formato padro MPS, mas tambm tem seu prprio formato LPX.

Quando se usa o formato LPX, LiPS fornece ao usurio duas opes para entrada de modelos: alg-
brica e tabular.

1
Figura 1: Interface do LiPS.

3.1 Modo de Entrada Tabular


No modo de entrada tabular o usurio orientadado a preencher os dados de um modo que adequado
a uma tabela simplex padro. Para criar o modelo na forma tabular dois passos so requeridos:

1) Criar um modelo do problema (menu File New Table Model).

Figura 2: Formulrio para entrada no modo tabular.

Na janela (formulrio) que aparece, os campos devem ser preeenchidos com os parmetros do problema:
o nmero de variveis, restries, funes objetivo, bem como indicar a direo de otimizao.

2) Preencher o modo de viso de tabela, o que inclui:

A direo da otimizao (MAX/MIN).


A linha dos coeficientes da funo objetivo.
A matriz tecnolgica A.

2
A coluna dos lados direitos das restries.
Os tipos de restries (<=, =, >=).
Os limites inferiores das variveis.
Os limites superiores das variveis.
Os tipos das variveis (CONT - Contnua, INT - Inteira).

Figura 3: Formulrio - Modo Tabular.

Se voc deseja adicionar/remover variveis ou restries, use o menu Table Insert/Delete.

3.2 Modo de Entrada Algbrico


O modo de entrada algbrico no permite ao usurio trabalhar com tabelas simplex, mas diretamente
com a formulao matemtica do problema.

Para criar um modelo na forma algbrica dois passos so requeridos:


1) Criar um modelo do problema (menu File New Text Model);
2) Entrar com o modelo na forma algbrica.

O modelo deve estar escrito de acordo com o formato LPX, que um conjunto de expresses algbricas
e declaraes na seguinte ordem:

<funo objetivo>
<restries>
<declaraes>

<funo objetivo> - uma combinao linear das variveis, terminando com um ponto-e-vrgula
(;) e opcionalmente precedido por max ou min para indicar se o objetivo a maximao ou
minimao. A maximao o padro. Exemplo: max: x1 + x2;
<restries> - consiste de quatro partes: 1) O nome da restrio (opcional), seguido por dois
pontos; 2) A combinao linear das variveis; 3) O tipo de restrio (>=, =, <=); 4) Os valores
do lado direito. As restries devem terminar com um ponto-e-vrgula (;). Exemplo: 4*x1 - x2
<= 8;
<declaraes> - variveis podem ser declaradas como inteiras usando o especificador int, se-
guido pelos nomes de variveis separadas por vrgulas. Exemplo: int x1, x2;

Uma varivel deve comear com uma letra (maiscula ou minscula) e pode conter qualquer nmero
de letras adicionais, numerais ou caracteres.

Exemplo do modelo no formato LPX:

max: x1 + x2;
row1: 4*x1 - x2 < 8;

3
row2: 2*x1 + x2 < 10;
row3: -5*x1 + 2*x2 < 2;

3.3 Carregando Modelos


Para salvar os modelos criados use o menu File Save.

Para carregar os modelos criados use o menu File Open. De acorodo com os formatos de arquivos
suportados, LiPS prov trs tipo de carregamento:

Modelo MPS;
Modelo LPX em modo plano;
Modelo LPX na forma tabular.

Figura 4: Modos de carregamento de modelos.

4 Modelo de Soluo
Para executar um processo de soluo use o menu LiPS Solve Model.

O modelo resolvedor tem dois modos: bsico e avanado. No modo bsico (que adequado para apren-
dizagem do mtodo simplex) LiPS fornece no somente uma resposta, mas uma soluo detalhada do
processo como uma sequncia de tabelas simplex. A cada iterao, a sada inclui: tabela simplex cor-
respondente, varivel a ser tomada como bsica, varivel que ir sair do conjunto bsico, etc. A forma
da soluo computacional simula o processo de soluo manual do problema (uma base artificial, uma
escolha inteligente da base inicial, fraes, etc.).

Em modo avanado, LiPs fornece um conjunto de mtodos para soluo de problemas de grande escala:
um mtodo simplex primal e dual baseado na decomposio LU e um mtodo ramificado e limitado
para MILP.

4.1 Formato da Tabela Simplex


Quando se trabalha no modo tabela do mtodo simplex, o resultado da soluo um relatrio que
inclui uma soluo detalhada como uma sequncia de tabelas simplex, como ilustrado abaixo:

Figura 5: Resultado da soluo utilizando o modo tabela do mtodo simplex.

4
A cada iterao do mtodo simplex correspondem as seguintes informaes:

1. Nmero de Fase de Soluo e a iterao corrrente.


2. A prpria tabela simplex. A tabela simplex consiste dos seguintes componentes:
(a) Coluna bsica - contm o conjunto corrrente de variveis bsicas;
(b) A coluna RHS (lado direito) - contm os valores correntes das variveis bsicas;
(c) As colunas da matriz tecnologia - contm os elementos da matriz de restries da atual
iterao;
(d) Obj. - contm os coeficientes da funo objetivo da iterao corrrente.
3. Uma varivel a ser tornada bsica - determinada pelo coeficiente mximo da linha Obj.
4. As razes dos lados direitos das restries (RHS) para os elementos da coluna correspondente
varivel a ser tornada bsica.
5. A varivel que deve deixar a base - determinada pelo menor razo do item 4 anterior.

4.2 Formato Resultado


Na ausncia de ciclos infinitos, o mtodo simplex termina aps um nmero finito de iteraes. Como
resultado deste trabalho, um de trs resultados seriam:
1) O problema no tem soluo vivel - isto significa que as restries do problema original so incon-
sistentes, indicando erro(s) na formulao do problema.
2) O problemas ilimitado - o que significa que a funo objetivo alcana seu timo no infinito. Isto
tambm indica erro(s) na formulao do problema.
3) O problema tem uma soluo tima.

No ltimo caso, LiPS produz a tabela resultante na forma:

Figura 6: Tabela resultado.

A tabela resultado consiste de duas partes:


I) A primeira parte corresponde s variveis e consiste de quatro colunas:
1) Variable - contm os nomes das variveis estruturais;
2) Value - contm os valores das variveis estruturais;
3) Obj. Cost - contm os valores dos coeficientes da funo objetivo;
4) Reduced Cost - contm os valores dos custos reduzidos.
II) A segunda parte da tabela corresponde s restries do modelo:
1) Constraint - o nome das restries;
2) Value - contm os valores das restries;
3) RHS - contm o valor de uma coluna de termos livres (lado direito das restries);
4) Dual Price - contm os valores das variveis duais.

Note: LiPS fornece a opo de exportar as solues para o EXCEL. Para fazer isto, uso o menu:
Solution Export Excel.

5
4.3 Ajustes do Mtodo Simplex
Para selecionar variantes do mtodo simplex use o menu LiPS Settings e selecione a opo desejada
a partir da lista.

Figura 7: Lista de variaes para o mtodo simplex.

O sistema oferece uma escolha entre quatro variaes:

Table: mosta a soluo detalhada do processo na forma de uma sequncia de tabelas simplex.
Este mtodo o ideal para propsitos de de aprendizado, mas no deve ser usado para problemas
com mais de 100 restries.
Revised Simplex (EFI): no clculo matricial, usa um efetivo procedimento de decomposio LU
com eliminao na forma inversa (estabilidade numrica alta, velocidade mdia).
Revised Simplex (PFI): no clculo matricial, usa um procedimento efetivo de decomposio LU
com a forma de multiplicao inversa (estabilidade numrica mdia, alta velocidade).
Gaussian Pivoting: este mtodo muito rpido, mas numericamente instvel.

5 Anlise de Sensibilidade
Anlise de sensibilidade - permite o estudo do comportamento do modelo quando se modifica seus
parmetros.

LiPS provides the following types of sensitivity analysis:


Anlise de mudanas no lado direito das restries;
Anlise de mudanas nos coeficientes da funo objetivo;
Anlise de mudanas na coluna da matriz tecnologia;
Anlise de mudanas na linha da matriz tecnologia.

5.1 Executando Anlise de Sensibilidade


Para executar o procedimento de anlise de sensibilidade, tenha certeza que o modelo est resolvido e
escolha LiPS Sensitivity Analysis.

Figura 8: Escolhendo o modelo de anlise de sensibilidade.

6
Na janela que aparece, selecione os tipos de anlise de interesse. Para fazer isto, selecione a linha
apropriada na lista da esquerda e clique na seta para adicionar o item para a lista do lado direito.
Tipos de anlise que contm a palavra Vector em seu nome implicam em ajustar o vetor estrutural
de mudanas. Para fazer isto, selecione a linha relevante e clique em "Settings...".

Figura 9: Ajustando o vetor de mudanas.

Na janela que aparece, deve-se: 1) entrar com os valores do vetor estrutural, e 2) se necessrio, escolher
a coluna (linha) modificada a partir da lista drop-down.

Para obter mais tipos de relatrios (a mudana da funo objetivo, os preos duais, custos de reduo)
e grficos, selecione a aba "Charts".

Figura 10: Obtendo novos tipos de relatrio.

A partir da lista drop-down, pode-se escolher os parmetros do modelo: Variveis, Preos Duais, Custos
de Reduo, Funo Objetivo.

5.2 Resultado da Anlise


O resultado da anlise de sensibilidade um relatrio que consiste em geral de dois componentes.

I) Relatrio Principal - contm informao bsica sobre o tipo selecionado de anlise. O relatrio
principal uma tabela na forma:

7
Figura 11: Relatrio principal - Anlise de Sensibilidade.

A tabela do relattio principal inclui os seguintes componentes:


1. O ttulo da tabela - inclui o nome da anlise.
2. A primeira coluna - contm o nome do elemento que muda diretamente durante a anlise.
3. A segunda coluna - contm os valores originais dos elementos variveis.
4. A terceira coluna - contm os limites inferiores do elementos modificados.
5. A quarta coluna - contm os limites superiores do elementos modificados.
6. A quinta coluna - contm o vetor estrutural.
7. Faixa de escala de fator na qual a atual base permanece tima e vivel.

II) Relatrios adicionais - contm informao adicional sobre as mudanas da funo objetivo, variveis
estruturais, preos duais e custos reduzidos, bem como os grficos ilustrando estas mudanas. A
estrutura dos relatrios adicionais similar ao do relatrio principal.

6 Caractersticas Experimentais
Esta seo descreve algumas caractersticas do programa que no esto padronizadas para otimizao
de modelagem de sistemas. Contudo, elas podem ser muito teis em aplicaes prticas de otimizao
de modelos.

6.1 Programao por Objetivos


Para resolver um problema de programao por objetivos vrios passos so requeridos:

1. Criar o modelo.
2. Executar o processo de soluo.
3. Escolher o mtodo de soluo.
4. Ajustar as restries do objetivo.

6.1.1 A escolha do mtodo de soluo


Aps escolher o processo de soluo uma janela (wizard) aparecer, a qual ser a guia atravs da
sequncia de passos. O primeiro passo nesta sequncia escolher o mtodo de soluo (veja a Figura
12).

LiPS implementa trs mtodos de programao por objetivos:

1. Mtodo ponderado;
2. Mtodo lexicogrfico;
3. Mtodo de concesses sucessivas.

6.1.2 Especificao das restries do objetivo


No estgio de especificao (ver Figura 13), para cada restrio de ojbetivo deve-se: 1) associar o peso
(prioridade); 2) determinar como alcanar este objetivo (>=, = <=) e ajustar um valor limite (alvo).
Prioridades devem ser nmeros naturais. Pesos devem ser quaisquer nmeros reais no negativos.

8
Figura 12: Escolhendo o mtodo de soluo.

Figura 13: Ajustando as restries do objetivo.

6.1.3 Resultados
O resultado da soluo do programa por objetivo um relatrio que contm duas tabelas.

A primeira tabela contm os valores timos das variveis do modelo.

A segunda tabela contm os valores dos objetivos: os valores desejados versus os valores atuais, i.,
obtidos por meio de otimizao.

6.2 A matriz mapa


Problemas LP de grande escala frequentemente levam alguma estrutura. Tais problemas contm vrios
blocos, frequentemente idnticos, que esto apenas aproximadamente conectados por algumas restri-
es e/ou variveis com coeficientes diferentes de zero nas linhas/colunas de vrios blocos. A estrutura
pode ser utilizada no mnimo de dois modos diferentes no interesse de obter tcnicas de soluo mais
capazes. Uma delas resulta na decomposio de algoritmos, enquanto a outra leva a melhoramento
substancial de vrios passos do mtodo simplex.

A estrutura pode ser visualizada exibindo o padro diferente de zero da matriz A. Esta caracterstica
implementada no mdulo "Matrix Map". Para invocar este mdulo use o menu LiPS Matrix Map.

O mdulo "Matrix Map"representa os elementos diferentes de zero por pontos codificados por cores.
Esta anlise pode revelar propriedades de modelos LP e pode sugegir boas estratgias de soluo.

9
Figura 14: Matrix Map.

6.3 Histrico de Soluo


O mdulo "Solution History"torna possvel na forma visual estudar a variao de diferentes parme-
tros de modelo (variveis, preos duais, etc.) durante uma srie de diferentes execues de soluo
(experimentos). Para fazer isto, use o menu LiPS Solution History.

Figura 15: Histrico de Soluo.

7 Suporte
Atualizaes
Postar uma Resenha
Reportar um Bug
Suport ao LiPS

Se voc tem quaisquer questes, sinta-se livre para me contactar em: m.v.melnick@gmail.com. Quais-
quer comentrios e sugestes seriam teis!

10

Você também pode gostar