Método simplex para problemas de programação linear

Esta macro encontra a solução ótima de um programa linear, usando a Forma Revisada do Simplex. A programação linear (LP) lida com uma função objetiva com termos lineares apenas, e supõe que existam apenas restrições lineares.

Normalmente, se o número de restrições é muito menor que o número de variáveis de decisão, a forma original do Simplex é ineficiente.

A função objetiva pode ser maximizar ou minimizar uma função matemática, como a representação de um lucro ou custo. A otimização é normalmente restrita, significando que a solução ótima deve ser encontrada com determinados limites, normalmente definidos pela quantidade de recursos disponíveis ou orçamento de um projeto.

Download da macro

Certifique-se de que o Minitab sabe onde encontrar a macro baixada. Selecione Ferramentas > Opções > Geral. Em Local de macro navegue até o local em que você salva os arquivos de macro.

Importante

Se você usar um navegador mais antigo, quando clicar no botão Download, o arquivo pode abrir no Quicktime, que compartilha a extensão de arquivo .mac com macros do Minitab. Para salvar a macro, clique com o botão direito do mouse no botão Download e selecione Salvar arquivo como.

Entradas obrigatórias

  • Coluna contendo os coeficientes da função objetiva.
  • Colunas correspondentes a cada um dos elementos da função objetiva incluindo variáveis, símbolo de igualdade e resultado. Cada linha nesse conjunto de colunas identifica uma restrição na otimização.

O exemplo a seguir foi tirado de Hillier e Lieberman e representa a fabricação de dois produtos (x1, x2) para a empresa Wyndor Glass Co. as três restrições representam a capacidade de cada uma das três fábricas da empresa para usar recursos para a produção do Produto 1 (x1) e do Produto 2 (x2).

MAXIMIZE Lucro = 3x1 + 5x2 (função objetiva)

SUBJECT TO:

x1   <= 4 (Fábrica 1)
  2x2 <= 12 (Fábrica 2)
3x1 +2x2 <= 18 (Fábrica 3)

x1 ≥ 0, x2 ≥ 0 (restrições de não negatividade)

Os coeficientes, sinais de igualdade e resultados devem ser inseridos em uma worksheet do Minitab da seguinte forma:

C1 C2 C3 C4 C5
x1 x2 desigualdade resultados objetivo
1 0 <= 4 3
0 2 <= 12 5
3 2 <= 18  

Entradas opcionais

MIN
Por padrão, a macro irá solucionar um problema de maximização. Se você quiser minimizar a função objetiva, coloque um ponto-e-vírgula depois do comando principal e na segunda linha use o comando MIN e um ponto ("."), indicando o fim do comando.

Execução da macro

Suponha que os dados estejam organizados conforme indicado acima. Para executar a macro, selecione Editar > Editor de Linha de Comando e digite:

%SIMPLEX C1-C2 C4 C5; 
INEQ C3.

Clique em Enviar Comandos.

Mais informações

Normalmente, n + 2 colunas são especificadas para formular o problema. O argumento final inserido no comando principal corresponde à coluna que contém os coeficientes da função objetiva. O penúltimo argumento requer uma coluna que especifique o lado direito de todas as desigualdades do problema (com a exceção da não negatividade, uma vez que ela é suposta por padrão). As primeiras n colunas especificam os coeficientes (a11, a12,...,a1n) para todas as restrições lineares do tipo a11*x1 + a12*x2 + ... + a1n*xn.

Finalmente, se todas as desigualdades forem do tipo "<=", não é necessário fazer mais nada; caso contrário especifique os símbolos para todas as restrições em uma coluna. É possível inserir qualquer um destes símbolos: >=, >, ≥, ≤, <=, <, =.

Para detalhes mais técnicos sobre o algoritmo, veja:

Bazaraa, M.S., Jarvis, J.J. and Sherali, H.D. "Linear Programming and Network Flows", Fourth edition. John Wiley & Sons, New Jersey, 2010.

Ao usar esse site, você concorda com a utilização de cookies para análises e conteúdo personalizado.  Leia nossa política