31
PROGRAMAÇÃO LINEAR EXEMPLO ORIENTATIVO: Uma fábrica produz CPUs de dois tamanhos diferentes, grande e pequena, que apresentam lucros unitários de respectivamente $500 e $200. Ela deseja saber quantas unidades de cada um destes aparelhos deverá fazer para que o lucro obtido pela operação seja máximo. As capacidades de produção da fábrica são as seguintes: 6 gabinetes grandes por hora 15 gabinetes pequenos por hora 24 placas-mãe por hora 20 placas de vídeo por hora Cada CPU grande é composta por: 1 gabinete grande 3 placas mãe 2 placas de vídeo Cada CPU pequena é composta por: 1 gabinete pequeno 1 placas mãe 1 placas de vídeo Podemos resumir estes dados na seguinte tabela: COMPONENTES CPU GRANDE CPU PEQUENA PRODUÇÃO HOR Gabinete Grande 1 6 Gabinete Pequeno 1 15 Placa mãe 3 1 24 Placa de video 2 1 20 Modelar o problema significa definir: 1. As variáveis de entrada 2. A função objetivo 3. As restrições e a partir delas montar um sistema de equações e inequações. No nosso caso temos:

11644_PROGRAMAÇÃO LINEAR

Embed Size (px)

Citation preview

Page 1: 11644_PROGRAMAÇÃO LINEAR

PROGRAMAÇÃO LINEAR

EXEMPLO ORIENTATIVO:

Uma fábrica produz CPUs de dois tamanhos diferentes, grande e pequena, que apresentam lucros unitários de respectivamente $500 e $200. Ela deseja saber quantas unidades de cada um destes aparelhos deverá fazer para que o lucro obtido pela operação seja máximo.As capacidades de produção da fábrica são as seguintes:

6 gabinetes grandes por hora 15 gabinetes pequenos por hora 24 placas-mãe por hora 20 placas de vídeo por hora

Cada CPU grande é composta por: 1 gabinete grande 3 placas mãe 2 placas de vídeo

Cada CPU pequena é composta por: 1 gabinete pequeno 1 placas mãe 1 placas de vídeo

Podemos resumir estes dados na seguinte tabela:

COMPONENTES CPU GRANDE CPU PEQUENA PRODUÇÃO HORÁRIA

Gabinete Grande 1 6Gabinete Pequeno 1 15Placa mãe 3 1 24Placa de video 2 1 20

Modelar o problema significa definir:1. As variáveis de entrada2. A função objetivo3. As restrições e a partir delas montar um sistema de equações e inequações.

No nosso caso temos:1. Variáveis de entrada = o número de CPUs a serem produzidas, ou seja:

x1=número deCPUs grandes aseremmontadasx2=número deCPUs pequenasa seremmontadas

2. O objetivo é maximizar o lucro, portanto a função objetivo é:

FO=lucro=500 x1+200 x2

3. As restrições são relativas à capacidade produtiva de cada componente:

Page 2: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

gabinete grande : x1≤6gabinete pequeno : x2≤15placasmae :3 x1+x2≤24

placas devídeo :2 x1+x2≤20

Evidentemente que o modelo de PL impõe outra restrição lógica, não se pode produzir uma quantidade negativa de CPUs, portanto:

x1≥0e x2≥0

Os valores de x1 e x2 que maximizam o lucro desta operação serão obtidos pela resolução deste sistema de equações e inequações, ou seja, os valores que atendem simultaneamente a todas elas.Existem alguns métodos de solução:

Método gráfico, aplicável a problemas com duas variáveis de entrada. Método Simplex, método geral, aplicável a problemas com qualquer quantidade de

variáveis de entrada. Método de transporte, aplicável a um tipo específico de problema, mas com qualquer

quantidade de variáveis de entrada.

SOLUÇÃO GRÁFICA:Iremos colocar todas as restrições em um único diagrama ortogonal no qual o eixo horizontal representará as quantidades produzidas de CPUs grandes e o eixo vertical, as quantidades produzidas de CPUs pequenas:

Teoricamente qualquer ponto neste diagrama ortogonal seria solução para o nosso problema, no entanto, veremos que devido às restrições pouco a pouco iremos reduzir o resultados possíveis.A primeira restrição é a dos gabinetes grandes: não é possível a produção de mais do que seis gabinetes por hora nem a produção de uma quantidade negativa de gabinetes, ou seja:

0≤ x1≤6Graficamente teríamos:

2

Page 3: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Perceba que só podem ser aceitos como soluções para este problema os pontos coordenados à esquerda da reta desenhada.Restrição semelhante ocorre com os gabinetes pequenos:

0≤ x2≤15

Perceba que só podem ser aceitos como soluções para este problema os pontos coordenados abaixo da reta desenhada.Até esse momento as restrições já reduziram as soluções possíveis aos pontos coordenados circunscritos pelos eixos e pelas duas retas desenhadas.

3

Page 4: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Em sequencia temos as restrições da quantidade de placas mãe produzidas, ou seja: 3 x1+x2≤24

Observe que se x1 for igual a zero x2 deverá ser menor ou igual a 24 para manter a inequação e se x2 for igual a zero x1 deverá ser menor ou igual a 8. Note as resoluções abaixo:

3 x1+x2≤24 se x1=0 tem−se3×0+ x2≤24→x2≤24

3 x1+x2≤24 se x2=0 tem−se3 x1+0≤24→x1≤243→x1≤8

Portanto a inequação tem dois pontos característicos pelos quais podemos traçar a reta que à caracteriza: (0;24) e (8;0). Graficamente temos:

Perceba que qualquer ponto coordenado à direita desta reta não é permitido, pois desobedeceria a inequação. Retiramos mais um “pedaço” do campo de soluções permitidas.A última restrição é a da placa de vídeo. Seguindo o mesmo raciocínio das placas mães determinamos a reta característica:

2 x1+x2≤20 se x1=0→2×0+x2≤20→x2≤20

2 x1+x2≤20 se x2=0→2x1+0≤20→x2≤202→x2≤10

Os pontos característicos que definem a reta são (0;20) e (10;8), e graficamente:

4

Page 5: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Mais uma parte das soluções possíveis foi retirada restando um polígono de soluções possíveis. Veja a seguir:

Qualquer ponto desta área sombreada é solução para o problema, existindo, portanto infinitas soluções, mas somente uma delas apresenta lucro máximo. É fácil entender qual é a solução ótima. Cada lado do polígono há um recurso que é utilizado ao máximo, mas num vértice há dois recursos utilizados ao máximo simultaneamente, portanto a solução ótima estará num dos vértices do polígono. Este é o teorema fundamental da programação linear.

5

Page 6: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Para ficar mais claro: no lado (aresta) definido pelos pontos BC estamos produzindo o máximo possível de gabinetes possível. Já, no ponto C, alem de estarmos produzindo o máximo de gabinetes possíveis estamos também produzindo o máximo possível de placas de vídeo.Antes tínhamos infinitas soluções possíveis, agora com este teorema restaram apenas seis soluções que podem ser ótimas e por tentativas podemos definir qual é essa solução ótima. Veja a tabela a seguir:

VÉRTICE CPU GRANDE CPU PEQUENA LUCROx1 x2 500x1+200x2

A 0 0 0 + 0 = 0B 0 15 0 + 3000=3000C 2.5 15 1250+3000=4250D 4 12 200+2400=4400E 5 6 3000+1200=4200F 5 0 3000+0=3000

Portanto o ponto de máximo lucro é o ponto D. Consequentemente, deve-se montar 4 CPUs grandes por hora e 12 CPUs pequenas por hora, o que gerará um lucro de $4400,00 por hora.

Para se atingir esse lucro máximo serão produzidos:4 gabinetes grandes por hora12 gabinetes pequenos por hora24 placas mãe por hora20 placas de vídeo por hora.

Observação: Irão sobrar dois gabinetes grandes por hora e três gabinetes pequenos por hora. Não haverá sobras de placas mãe e placas de vídeo.

SOLUÇÃO PELO ALGORITMO SIMPLEX

Perceba que esse processo gráfico tem muitas limitações, a começar pelo fato que só pode ser usado para duas variáveis de entrada. Foi necessário o desenvolvimento de método mais completo para realizar esses cálculos. Esse método é conhecido como SIMPLEX.

O método simplex, ao contrário do método gráfico, trabalha com equações e não com inequações. Deste modo as inequações devem ser transformadas em equações e isso é feito com a adição de variáveis. Vamos, portanto determinar as variáveis que podem ser aparecer em um problema deste tipo. Utilizaremos as definições estabelecidas por Contador:

Variável de entrada é a variável que deve ser otimizada e surge naturalmente do enunciado do problema. No caso do exercício das CPUs, que continuaremos usar como exemplo, as variáveis de entrada são o número de CPUs grandes (x1) e o número de CPUs pequenas (x2).

Termo independente é o valor numérico de uma restrição e, por convenção, é colocado à direita do sinal da inequação. No nosso exemplo, são as quantidade limitantes produzidas para cada componente.

6

Page 7: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Variável de folga ou residual, utilizada quando a desigualdade for do tipo ≤, é uma variável não negativa, somado ao lado esquerdo da desigualdade, e numericamente igual à diferença entre o termo independente e os valores à esquerda da desigualdade. Corresponde numa determinada solução à parcela não aproveitada de recursos. No nosso exemplo são as eventuais sobras de componentes (gabinetes ou placas)

Variável de excesso, utilizada quando a desigualdade for do tipo ≥, é uma variável negativa, subtraída do lado esquerdo da desigualdade, e numericamente igual à diferença entre o valor do termo independente e o valor das variáveis que estão à esquerda da desigualdade. No nosso não existirão valores deste tipo, pois é um problema de maximização.

Variável artificial é uma variável adicionada à esquerda em todas as restrições que não contenham uma variável de folga, sendo utilizada, portanto nas restrições que são originalmente com sinal ≥ ou =. A variável artificial é necessária porque a solução inicial do Simplex é obtida igualando a zero todas as variáveis de entrada e todas as de excesso, o que corresponde a fazer cada variável de folga e cada variável artificial igual ao valor do termo independente da equação da qual a variável em questão aparece. No nosso exemplo não existem variáveis deste tipo, visto serem inequações do tipo ≤.

Desta forma, no nosso exemplo as inequações seriam transformadas em equações, da seguinte forma:

Inequações:

gabinete grande : x1≤6gabinete pequeno : x2≤15placasmãe :3 x1+x2≤24placas devídeo :2 x1+x2≤20

Equações:

gabinete grande :1 x1+0x2+1 x3+0 x4+0x5+0 x6=6gabinete pequeno :0 x1+1 x2+0 x3+1 x4+0 x5+0 x6=15placasmãe :3 x1+1x2+0 x3+0 x4+1x5+0 x6=24placas devideo :2 x1+1 x2+0x3+0 x4+0x5+1 x6=20

Importante notar que na frente de cada variável colocamos seu coeficiente correspondente, mesmo quando não teria necessidade, por ser zero ou um. Fizemos isso, para evidenciar os coeficientes que serão utilizados no algoritmo Simplex.

Esse equacionamento tem seis valores desconhecido (as incógnitas x1; x2; x3; x4; x5; x6) e apenas quatro equações (as relacionadas acima), logo o sistema de equações é indeterminado, tem infinitas soluções viáveis e não apenas uma. Lembre-se que em matemática só conseguimos resolver um sistema de equações quando o número delas for igual ao número de incógnitas.

7

Page 8: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Nesse caso, portanto, temos infinitas soluções viáveis (as soluções mostradas na área hachurada do gráfico mostrado anteriormente).

A solução ótima será pesquisada atribuindo valores arbitrários a um número de incógnitas igual ao número total delas menos o número de equações. No nosso exemplo, atribuiremos valores arbitrários a duas incógnitas (resultado da subtração seis incógnitas menos duas equações).

Essa resolução exige conhecimentos matemáticos que de modo geral não são do domínio de alunos de graduação de Administração, por conseguinte iremos apresentá-la de forma descritiva, utilizando o problema das CPUs como ilustração e apresentando o método passo a passo.

1º passo: Estabelecer a planilha do algoritmo:

É uma planilha de diversas linhas e colunas, na qual é reservada uma coluna para cada variável e mais quatro colunas de cálculos. Acompanhe a planilha para o nosso exemplo e o significado de cada coluna:

A coluna base contém as variáveis que estão sendo consideradas numa determinada tentativa. No nosso caso teremos quatro variáveis em cada tentativa. Para as outras duas será atribuído o valor zero.

As seis colunas seguintes são reservadas para cada uma das variáveis envolvidas. No nosso caso as duas variáveis de entrada (x1 e x2) e as quatro variáveis residuais (x3; x4; x5

e x6).

A antepenúltima coluna é reservada para os termos independentes das equações (no nosso exercício as restrições de produção).

A penúltima coluna é destinada a receber uma divisão entre as variáveis independentes e a coluna de trabalho (veremos esta coluna mais a frente, durante a descrição do processo)

A última coluna irá relacionar a variável que entrará e a que sairá na próxima tentativa.

Existe um conjunto de linhas reservadas para cada tentativa. Uma linha para cada equação e uma linha de controle (no caso, denominada lucro, nosso objetivo).

8

Page 9: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

A planilha mostrada acima está preparada para se atribuir o valor zero para as variáveis x1 e x2. É nossa primeira tentativa. Ao igualar as variáveis de entrada a zero automaticamente igualamos as variáveis residuais ou de folga ao termo independente. Veja como exemplo a primeira equação:

x1+ x3=6 se x1=0então x3=6

De modo idêntico ocorre com as demais equações e variáveis.

2ª passo: Início do preenchimento da planilha:

Colocamos em cada uma das linhas os coeficientes das equações citadas acima. A tabela fica da seguinte forma:

Na linha de controle colocamos o lucro respectivo com sinal trocado, ou seja -500 para CPU grande e – 200 para CPU pequena e zero para as demais colunas:

Como dissemos nessa primeira tentativa atribuímos valor zero às variáveis x1 e x2. Na segunda tentativa iremos entrar na tabela com uma delas e sair com uma das que fizeram parte na primeira tentativa (x3, x4, x5, x6). Isso é feito da seguinte maneira:

Localizar a coluna que apresentar o maior valor negativo na linha de controle, no nosso caso a coluna x1, que apresenta o valor -500. Essa coluna passa a ser denominada coluna de trabalho (ela irá variar de tentativa para tentativa). Costuma-se assinalar a coluna por um retângulo. Essa variável é a que entrará na próxima tentativa. Colocamos essa informação na última coluna.

Dividir o termo independente pelo valor correspondente na coluna de trabalho. A linha de gabinete grande, por exemplo, iremos dividir 6 por 1, obtendo o valor 6 que será colocado na penúltima coluna.

9

Page 10: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

A variável que sairá na tentativa seguinte é aquela que corresponder a linha que apresentar menor valor positivo na coluna de termo independente, no caso do exemplo o valor 6 correspondente à variável x3.

O coeficiente que estiver no cruzamento da linha que sairá com a coluna de trabalho chama-se pivô ou elemento pivotal e vai nos servir para os cálculos seguintes.

Veja como deve ter ficado a planilha:

3º passo: Determinação da tentativa seguinte:

Para a segunda tentativa iremos substituir Na base a linha x3, que deve sair pela linha x1 que deve entrar. Todas as outras linhas, inclusive a de controle devem permanecer com a base inalterada.

Os valores da linha que entra são obtidos pela divisão dos valores da linha que sai pelo valor do pivô. Neste caso como o valor do pivô é 1, os valores permanecerão os mesmos.

10

Page 11: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Os valores das demais linhas, inclusive do termo independente, é obtido pela chamada regra do retângulo.

Antes de aprendermos a usar a regra do retângulo, notemos que nas colunas que também são linhas (no nosso exemplo, no momento, as colunas x1, x4, x5 e x6) irão aparecer apenas números zero ou um. Quando uma coluna cruza com uma linha correspondente à mesma variável o valor será um. Veja a seguir:

E quando uma coluna cruza com uma linha correspondente a outra variável o valor será zero. Veja novamente:

Apenas os valores das colunas referentes às variáveis que estão assumindo valor zero (que estão “fora”) e da coluna do termo independente é que deverão ser calculados pela regra do retângulo.

11

Page 12: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Para entendermos a regra do retângulo utilizaremos o quadro abaixo, com as linhas e colunas numeradas à semelhança do Excel:

Queremos calcular o valor da célula D12. Para isso iremos usar o retângulo definido pelo pivô (célula C5) e pelo valor correspondente anterior (célula D6). O valor pedido será obtido pela formulação:

Novovalor=Valor anterior−( produtosdos elementosdadiagonaloposta)÷ pivo

No nosso exemplo seria:

D 12=D 6−(C6×D 5 )÷C 5ouseja1−(0×0 )÷1=1

Para fixar esse conceito, façamos agora o cálculo do termo independente correspondente à placa mãe. Veja abaixo o quadro:

12

Page 13: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Observe em amarelo do reangulo definido valor correspondente ao desejado na base anterior e o pivô. O cálculo é feito utilizando-se a formulação vista, ou seja:

I 13=I 7−(C7×I 5 )÷C5 ouseja24−(3×6 )÷1=6

Os demais valores são calculados de modo idêntico, ficando a planilha do seguinte modo:

Repetimos então os cálculos feitos na tentativa anterior, passo a passo. O resultado será:

Podemos partir então para a terceira tentativa, substituindo, primeiro a linha de x5 por x2:

13

Page 14: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Em seguida preenchendo os valores das colunas que não estão zeradas na tentativa:

14

Page 15: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Calculando, então, pela regra do retângulo os valores correspondentes às três colunas restantes:

Por fim, calculando quem entra e quem sai para a próxima tentativa:

15

Page 16: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Essas tentativas serão repetidas sucessivamente e tantas vezes quantas necessárias até que na linha de controle todos os números sejam positivos ou nulos. No nosso exemplo só será necessária mais uma tentativa:

Observe a última coluna da última tentativa. Ela nos oferece a alternativa ótima para esse problema de programação linear:

Variável Item Qtd.Programa de produção: CPUs Grandes. 4

CPUs Pequenas. 12

Sobras (recursos residuais) Gabinetes Grandes 2Gabinetes Pequenos 3Placas Mãe 0Placas de vídeo 0

16

Page 17: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

SOLUÇÃO COMPUTACIONAL – UTILIZANDO FERRAMENTA SOLVER DO MS EXCEL®

Você deve ter percebido que o algoritmo Simplex, como seria de se esperar é uma sequencia repetitiva de cálculos, situação ideal para as chamadas planilhas eletrônicas como, por exemplo, o MS Excel®. Vamos, portanto tornar a resolver o exemplo das CPUs, utilizando o referido programa da Microsoft.

Antes de iniciarmos o cálculo, observe que muitas vezes o pacote Solver (necessário para tanto) não está disponível na planilha. Caso isso ocorra na sua máquina siga os seguintes passos:

1. Clique no símbolo botão Office

2. Na tela que irá aparecer escolha Opções do excel:

3. Opte então pela opção Suplementos disponível do lado esquerdo da tela que se abriu.

4. Essa opção irá disponibilizar vários suplementos, entre os quais o Solver. Ative-o e terá a ferramenta disponível.

17

Page 18: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Observação: Caso você não tenha conseguido a ativação do Solver através dos passos acima será necessário a reinstalação do MS Excel®, utilizando-se a opção instalação completa.

Estando com a ferramenta Solver disponível podemos iniciar o processo de programação linear. Para tanto o primeiro passo será a elaboração de uma planilha inicial com os dados fundamentais do problema. Acompanhe na imagem a seguir a montagem da planilha necessária para o nosso exemplo:

Nas células B3 e C3 irão aparecer as variáveis de entrada, ou seja, as repostas solicitadas. Inicialmente elas são preenchidas com zeros. Nas demais células, colocamos os dados iniciais do problema:

18

Page 19: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Nas células B4 e C4 são colocados os lucros unitários, respectivamente da CPU grande e da CPU pequena.

Nas células B7 a C8 são colocadas as composições dos produtos, ou seja, o número de componentes máximos de cada umas das CPUs.

Nas células E8 a E10 são colocadas as restrições, ou seja, a quantidade máxima de unidades que podem ser produzidos por hora de cada componente.

Nas células sombreadas são colocadas as fórmulas de cálculo, conforme a seguir: Na célula D5 é colocada a função objetivo:

FO=lucro=500 x1+200 x2

Que nessa planilha de Excel ficará assim: B4*B3+C4*C3

Nas células D7 a D10 serão colocadas as quantidades a serem utilizadas de cada componente, ou seja, a quantidade de CPUs a serem produzidas (célula B4 para CPU grande e C4 para CPU pequena multiplicada pela quantidade de componentes utilizados em cada CPU. Abaixo mostra-se as fórmulas e como elas devem ser estabelecidas no Excel:

gabinete grande (célula D 7):1×x1→no Excel→B7∗B3gabinete pequeno(célula D8) :1× x2→no Excel→C8∗C3

placasmãe(célula D 9):3 x1+x2→no Excel→B9∗B3+C9∗C3placas devídeo (célula D10) :2 x1+x2→no Excel→B10∗B03+C10∗C3

Montada a planilha podermos resolver o problema através da utilização da ferramenta computacional. No MS Excel essa ferramenta é o Solver, que deve ser acessado através dos seguintes comandos:

DADOS/SOLVER

Irá abrir então o quadro Parâmetros do Solver, no qual deveremos preencher as seguintes informações:

No quadro correspondente a “Definir célula de destino:” colocar o endereço da célula na qual está a função objetivo. No nosso caso é a celular D4. Faça isso clicando sobre o

19

Page 20: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

quadro e em seguida clicando com o botão da esquerda do mouse pressionado sobre a célula escolhida.

Na linha de baixo do quadro escolha a opção “Máx”, pois esse é um problema no qual queremos maximizar o lucro. Existem outros casos nos quais as opções serão “Min” ou “Valor de”.

Descendo no quadro mais uma linha encontramos o quadro “Células Variáveis”. Nesse quadro colocaremos as células nas quais estão as variáveis de decisão. No nosso exemplo, as células B4 e C4. Faça isso clicando e arrastando o mouse, sobre as células com o botão da esquerda pressionado.

O quadro ficaria assim:

O próximo passo é adicionar as restrições. Isso será feito clicando no botão adicionar do quadro Parâmetros do Solver. Quando fizermos isso aparecerá o quadro abaixo:

Nesse quadro devemos indicar três aspectos: Referência de célula. É a célula que contém a fórmula da respectiva restrição. No nosso

caso são as células de D7 a D10. Escolher o sinal adequado. O sinal padrão (default) que aparece é o <=. Clicando na seta

ao lado podemos alterar o sinal, de acordo com o desejado. No nosso caso desejamos o sinal <=, portanto não é necessária alteração.

Na caixa Restrição setar a célula na qual está a restrição.Observe como fica o quadro para a restrição dos Gabinetes Grandes:

20

Page 21: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Clique então no botão adicionar e coloque as demais restrições, uma a uma, de modo análogo. Após adicionar a última restrição, clique no botão OK, o quadro Parâmetros do Solve tornará a aparecer e terá o seguinte aspecto:

Nesse ponto temos todas as informações para o Excel efetuar os cálculos, evidentemente, como já vimos anteriormente por tentativas. Para se iniciar os cálculos devemos estabelecer algumas opções de cálculo. Isso é feito clicando-se o botão “Opções” no quadro de Parâmetros, o que fará surgir o quadro “Opções do Solver”, mostrado a seguir. Nesse nosso exemplo, manteremos todas as definições padrão, acrescentando apenas as opções:

Presumir modelo linear: Estamos diante de um caso de Programação Linear, portanto o modelo matemático deve ser linear.

Presumir não negativos: O Excel assume nessa opção a presunção de que os valores das células são no mínimo zero, ou seja, não existem números negativos (o que é óbvio, não há nesse exemplo a possibilidade da produção de uma quantidade negativa de peças)

Usar escala automática: Essa opção será sempre selecionada nos casos de Programação Linear. Com isso dispensam-se preocupações com a diferença entre as grandezas de entrada e os valores de saída do problema.

21

Page 22: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Feitas as opções clicamos no botão OK, retornando ao quadro Parâmetros do Solve. Devemos conferir as diversas informações introduzida e em seguinda pressionar o botão Resolver.

O Solver irá fazer as tentativas de resolução e após encerrado o processo de cálculo apresentará o quadro “Resultados do Solver”. Veja que no nosso caso o Solver encontrou uma solução para o problema que atende a todas as condições e restrições fixadas.

Observe que a planilha montada inicialmente agora apresenta valores nas células que estavam zeradas, apresentando o número de CPUs grandes a serem montadas (4), o número de CPUs pequenas a serem montadas (12) e o lucro total 4400,00.

22

Page 23: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Já, no quadro “Resultados dos Solver, no lado direito existem tres opções de relatórios. Selecionamos os três, clicando com o botão esquerdo do mouse sobre cada um deles. Além disso mantivemos a opção “Manter solução do Solver” e aí clicamos em OK.

A planilha ficou com o seguinte aspecto:

Observe que na barra inferior apareceram os três relatórios mencionados. Vamos analisar cada um deles.

A. Relatório de Respostas

O relatório (vide cópia a seguir) apresenta como valor final a solução ótima para o lucro auferido total, no valor de R$ 4400,00, que será obtido com a montagem de 4 CPUs grandes e 12 CPUs pequenas, conforme mostram as células ajustáveis. No campo Valor Original aparecem os zeros inicialmente assumidos.

Quanto às restrições apresenta sob o nome Transigência as sobras que ocorrerão. Os componentes cujo Status é Agrupar siginifica que não apresentaram sobras. Na coluna fórmula aparecem as restrições informadas.

23

Page 24: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

B. Relatório de limites:

Nesse relatório a primeira informação é uma repetição do valor máximo obtido na função objetivo, neste exemplo o lucro auferido total.

Já o grupo de informações nomeado como Ajustável simula o que ocorreria com a função objetivo caso as quantidades produzidas fossem produzidas na quantidade inferior possível. Perceba que fossem produxidas zero CPUs grande o lucro seria de R$2400 e caso fossem produzidas zero CPUs pequenas o lucro seria de R$ 2000. Resultados evidentemente óbvios.

Esse problema é de maximização, logo os limites superiores são os limites ótimos. Isso sempre ocorre em problemas de maximização. Nos problemas de minimização a situação será oposta, os limites mínimos serão os ótimos.

24

Page 25: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Observe que esse relatório apresenta grande importância quando aumentamos o número de variáveis do problema. Imagine por exemplo que a empresa tivesse 20 produtos diferentes e quisesse descontinuar um deles. Qual seria a consequência para o lucro total? Isso poderia ser respondido por um relatório desse tipo.

C. Relatório de Sensibilidade:

Quando queremos observar os impactos de determinada alteração nos parâmetros de um problema podemos usar o relatório de sensibilidade.

Note que esse relatório tem dois campos. O primeiro campo, Células ajustáveis, nos informa quais as variações toleráveis nos objetivos individuais para que não se altere a solução. Assim podemos notar que se o lucro unitário de uma CPU grande variar entre R$ 400, 00 e R$ 600,00 (cem reais para mais ou para menos) a solução ótima não se alterará. Da mesma forma é tolerável uma variação no lucro unitário das CPUs pequenas entre R$ 167,67 e R$ 250.

O segundo campo, Restrições, nos informa, no campo Sombra Preço quanto perdemos na função objetivo por não ter uma unidade a mais de determinada variável restritiva. Assim, se tivéssemos uma placa mãe a mais poderíamos aumentar o lucro em R$100,00. Observe, que a as colunas Acréscimo Permissível e Decréscimo Permissível tem as mesmas características em ambas as situações.

Exercícios propostos:

1. A Indústria de Móveis Kedacerta produz em sua linha de produções dois produtos diferentes, cadeiras e mesas. As cadeiras apresentam margem de contribuição de R$ 50, enquanto as mesas apresentam margem de R$ 80. Os produtos são processados em duas etapas: montagem e acabamento, consumindo 3 horas de montagem tanto para uma cadeira como para uma mesa e 6 horas de acabamentos para uma cadeira e 3 para uma mesa.

25

Page 26: 11644_PROGRAMAÇÃO LINEAR

FE Peres/MM do Fanno

Esses departamentos tem limitação de capacidade produtiva: O departamento de montagem tem disponível no máximo 30 horas e o de acabamento 48 horas.

Queremos determinar qual é a melhor combinação possível de cadeiras e mesas a serem produzidas, para que se obtenha a maior margem de contribuição total.

26