Vous êtes sur la page 1sur 8

TRABALHANDO NO AMBIENTE LINDO FOR WINDOWS

Um alfaiate tem, disponveis, os seguintes tecidos: 16 metros de algodo, 11 metros de seda e 15


metros de l. Para um terno so necessrios 2 metros de algodo, 1 metro de seda e 1 metro de l. Para
um vestido, so necessrios 1 metro de algodo, 2 metros de seda e 3 metros de l. Se um terno
vendido por $300,00 e um vestido por $500,00, quantas peas de cada tipo o alfaiate deve fazer, de
modo a maximizar o seu lucro? Encontre a soluo tima do problema, e interprete sua resposta.
PRIMEIRO PASSO: DEFINIR AS VARIVEIS DE DECISO
XV: Quantidade de peas de vestidos a serem feitos pelo alfaiate
XT: Quantidade de peas de ternos a serem feitos pelo alfaiate
SEGUNDO PASSO: ESCREVER AS RESTRIES
RESTRIO DE DISPONIBILIDADE DE ALGODO(m)
1XV + 2XT <= 16
RESTRIO DE DISPONIBILIDADE DE SEDA (m)
2XV + 1XT <= 11
RESTRIO DE DISPONIBILIDADE DE L (m)
3XV + 1XT <= 15
RESTRIO CONDIO DE NO NEGATIVIDADE
XV, XT >= 0
TERCEIRO PASSO: ESCREVER FUNO OBJETIVO
MAXIMIZAR LUCRO = LUCRO VESTIDO + LUCRO TERNO
MAX Z = 500 XV + 300 XT
FINALMENTE O MODELO DE PL:
MAX Z = 500 XV + 300 XT
s.a.
XV + 2XT <= 16
2XV + XT <= 11
3XV + XT <= 15
XV , XT >= 0
RELEMBRANDO: ESCREVE-SE O MODELO DE PROGRAMAO LINEAR PADRO
(RETIRA-SE Z NA FUNO OBJETIVO e MODIFICA-SE s.a. POR s.t. (subject to) SEM !)
MAX 500 XV + 300 XT
s.t.
XV + 2XT <= 16
2XV + XT <= 11
3XV + XT <= 15
END
O programa assume que todas as variveis precisam ser no negativas. No necessrio digitar as
variveis de no negatividade. Toda linha que comea com o LINDO entende que uma linha de
comentrio. LINDO internamente transforma este Modelo de Pl Padro para o Modelo de Pl Cannica.
No ambiente do LINDO APS DIGITAR O MODELO DE PL PADRO.
PASSOS PARA OBTER A SOLUO USANDO O LINDO:

1o. PASSO: MENU SOLVE COMPILE MODEL se no houver erro de sintaxe aparece
rapidamente uma barra em vermelho ok
Antes de salvar o arquivo criar uma pasta para salvar este arquivo
2o. PASSO: MENU FILE SAVE AS SALVAR o arquivo com um nome (poucos caracteres) e
extenso ltx. por exemplo: 1804m.ltx na pasta criada.
3o. PASSO: MENU REPORTS TABLEAU (primeira tabela do LINDO) aparece por detrs do
modelo inicial uma outra tela com a tabela inicial - tabela i do lindo - neste momento, temos duas
telas:
(1) na primeira tela, o modelo de pl padro que j foi salvo.
(2) na segunda tela, aparece a primeira tabela, nesta tela que aparecer aps vrias tabela a soluo
final do modelo pl. Observao, a primeira tela deve estar ativada para poder usar as outras opes
do lindo. Para efeito de estudo de como o simplex tabular funciona no lindo que se faz, passo a
passo, at chegar a soluo final.
-----------------------------------------------------------------------------------------------THE TABLEAU
|
ROW (BASIS)
XV
XT
SLK 2 SLK 3 SLK 4 Bi
| TETA
1 ART
-500.000 -300.000
0.000 0.000 0.000 0.000
|
2 SLK 2
1.000
2.000
1.000 0.000 0.000 16.000 | 16/1 = 16
3 SLK 3
2.000
1.000
0.000 1.000 0.000 11.000 | 11/2 = 5.5
4 SLK 4
3.000
1.000
0.000 0.000 1.000 15.000
| 15/3 = 5
ART ART
-500.000 -300.000 0.000 0.000 0.000 0.000
|
-------------------------------------------------------------------------------------------------|
Interpretao da Tabela I
ROW1(LINHA1): ART: representa a funo objetivo (aparecem os coeficientes da FO:
max -500xv - 300xt + 0xf1 + 0xf2 + 0xf3 = 0)
ROW2(LINHA2):SLK2(XF1) representa a 1a.varivel de folga correspondente a restrio1 (algodo/m
ROW3(LINHA3): SLK3 (XF2) representa a 2a. varivel de folga correspondente a restrio2 (seda/m)
ROW4(LINHA4): SLK4 (XF3) representa a 3a. varivel de folga correspondente a restrio3 (l/m)
ROWART ART esta linha aparece por default no LINDO, no caso de maximizao esta linha
desaparece na seguinte tabela. No caso de minimizao ser explicado no modelo de minimizao
------------------------------------------------------------------------------------------------ANLISE DA TABELA I
(1.Tabela com a soluo inicial/trivial: partindo do ponto extremo Po(0,0)).
Identificar as Variveis Bsicas-VB (so variveis que esto na soluo, i.e, esto presentes na tabela).
VB: {SLK2, SLK3, SLK4}; SLK2 = 16; SLK3 = 11; SLK4 = 15
Identificar as Variveis No Bsicas - VNB (so variveis que no esto na soluo, isto , no esto
presentes na tabela).
VNB: {XV, XT}; XV = 0; XT = 0 PONTO EXTREMO Po(0,0)
Qual o valor de Z? Z = 0
Verificar MAX Z = 500XV + 300XT + 0XF1 + 0XF2 + 0XF3 ou
MAX Z = 500XV + 300XT + 0SLK2 + 0SLK3 + 0SLK4
Z = 500*0 + 300*0 + 0*16 + 0*11 + 0*15 = 0
Esta tabela pode ser melhorada, j que Z = 0, (como maximizao)
Analisando: Uma unidade de XV na FO o coeficiente associado 500; Uma unidade de XT na F0
o coeficiente associado 300. A varivel no bsica XV melhora a FO (por ter seu coeficiente 500).

Critrio do SIMPLEX: esta tabela tima? No, porque, existem valores negativos na linha da funo
objetivos (LINHA 1 ART).
Critrio de entrada: escolhe-se o menor valor negativo na linha1 (ART) da funo objetivo MENOR
NEGATIVO {-500, -300} = -500 associado a VNB XV na funo objetivo entra base a VNB XV
Critrio de sada: escolher TETA = MIN{16/1, 11/2, 15/3}= MIN {16, 5.5, 5} = 5
menor valor de teta 5 associado a varivel bsica SLK4
sai da base a VB SLK4
Com que valor entra XV base? Entra XV com o valor de 5 correspondente ao menor TETA.
Encontra-se o elemento PIVOT: valor da interseo da coluna da varivel que entra com a linha da
varivel que sai. O elemento PIVOT 3.000 (MTODO DE GAUSS-JORDAN que dever ser sempre
1.000. Neste caso dever dividir a linha 4 (SLK4) ser dividida por 3. Este elemento a base para
transformar a tabela i em uma outra que sempre melhora). Neste momento, o simplex aplica critrios de
entrada e sada de variveis, algebricamente utiliza o mtodo de soluo de equaes lineares.
4o. PASSO: MENU --> SOLVE --> PIVOT APARECER A SEGUINTE MENSAGEM
---------------------------------------------------------------------------------------------------------------------------XV ENTERS AT VALUE 5.0000 IN ROW 4 OBJ. VALUE = 2500.0
---------------------------------------------------------------------------------------------------------------------------Os passos (3): 3o. PASSO: MENU REPORTS TABLEAU e (4) 4o. PASSO: MENU --> SOLVE
--> PIVOT repete-se at encontrar a soluo tima (NA LINHA1 ART TODOS >=0)
3o. PASSO: MENU REPORTS TABLEAU
---------------------------------------------------------------------------------------------|
THE TABLEAU
|
ROW (BASIS) XV
XT
SLK 2 SLK 3 SLK 4
Bi
|
1 ART
0.000 -133.333 0.000 0.000 166.667 2500.000 |
2 SLK 2
0.000
1.667 1.000 0.000 -0.333
11.000 |
3 SLK 3
0.000
0.333 0.000 1.000 -0.667
1.000 |
4 XV
1.000
0.333 0.000 0.000 0.333
5.000 |
----------------------------------------------------------------------------------------------|

TETA
11/1.667=6.598
1/0.333 = 3.003
5/0.333 = 15.015

ANLISE DA TABELA II
VB:{SLK2, SLK3, XV}; SLK2 = 11, SLK3 = 1; XV=5
VNB:{XT, SLK4}; XT = 0; SLK4 = 0
Z = 2500. Verificar o valor de Z; MAX Z = 500*5 + 300*0 + 0*0 + 0*11 + 0*1 = 2500
Esta tabela tima?, No, porque existe um valor negativo na linha da FO (ART) = -133.333
Associado a VNB XT
ENTRA BASE XT
VB que sai da base, TETA = MIN{6.598, 3.003, 15.015} = 3.003 associado a VB SLK3
SAI DA BASE SLK3
Com que valor entra XT? Entra XT com o valor de 3.003 correspondente ao menor TETA.
Qual o elemento PIVOT = 0.333 (Interseco da coluna da varivel que entra (XT) com a linha da
varivel que sai (SLK3))
4o. PASSO: MENU SOLVE PIVOT
------------------------------------------------------------------------------------------------

XT ENTERS AT VALUE 3.0000 IN ROW 3 OBJ. VALUE= 2900.0


----------------------------------------------------------------------------------------------3o. PASSO: MENU REPORTS TABLEAU
--------------------------------------------------------------------------------------------|
THE TABLEAU
|
ROW (BASIS) XV
XT
SLK 2 SLK 3
SLK 4
|
1 ART
0.000 0.000 0.000 400.000 -100.000 2900.000 |
2 SLK 2
0.000 0.000 1.000 -5.000
3.000
6.000 |
3
XT
0.000 1.000 0.000
3.000
-2.000
3.000 |
4
XV
1.000 0.000 0.000 -1.000
1.000
4.000 |
--------------------------------------------------------------------------------------------|

TETA
6/3 = 2
x NO DEN. NEG.
4/1 =4

ANLISE DA TABELA III


VB:{SLK2, XT, XV}; SLK2 = 6; XT = 3, XV=4
VNB: {SLK3, SLK4}; SLK3 = 0; SLK4 = 0
Z=2900; Verificar o valor de Z ; MAXZ = 500*4 + 300*3 + 0*0 + 0*11 + 0*1 = 2900
Esta tabela tima?. No, porque existe um valor negativo na linha da FO(ART) -100 associado a
VNB SLK4 ENTRA BASE SLK4
Qual VB que sai?. TETA=MIN{2, X, 4} = 2 associado VB SLK2
SAI DA BASE SLK2
Com que valor entra SLK4?. SLK4 = 2
4o. PASSO: MENU SOLVE PIVOT
------------------------------------------------------------------------------------------------SLK 4 ENTERS AT VALUE 2.0000 IN ROW 2 OBJ. VALUE= 3100.0
------------------------------------------------------------------------------------------------3o. PASSO: MENU REPORTS TABLEAU
-------------------------------------------------------------------------------------------|
THE TABLEAU
|
ROW (BASIS)
XV
XT
SLK 2 SLK 3 SLK 4
|
1 ART
0.000 0.000 33.333 233.333 0.000 3100.000 |
2 SLK 4
0.000 0.000
0.333
-1.667 1.000
2.000 |
3
XT
0.000 1.000
0.667
-0.333 0.000
7.000 |
4
XV
1.000 0.000
-0.333
0.667 0.000
2.000 |
-------------------------------------------------------------------------------------------|
ANLISE DA TABELA IV
VB: {SLK4, XT, XV}; SLK4 = 2; XT = 7 e XV = 2
VNB: {SLK2, SLK3}; SLK2 = 0 E SLK3 = 0
Z = 3100; Verificar o valor de Z ; MAXZ = 500*2 + 300*7 + 0*0 + 0*0 + 0*2 = 3100
Tabela tima? SIM, porque na linha da FO (ART) todos os coeficientes so >=0
ANLISE DA SOLUO
(1) SOLUO MATEMTICA
Soluo tima NICA com Z* = 3100 no Ponto Extremo timo P*(XV, XT). XV=2 e XT=7 P*(2, 7)

(2) INTERPRETAO DA SOLUO


O alfaiate ter o Maximo lucro de $ 3100. Quando costurar 2 unidades de VESTIDOS tendo um lucro
de (2*500) $1000 e costurar 7 unidades de terno (7*300) $2100.
(3) ANLISE DO PONTO EXTREMO TIMO NAS RESTRIESNAS RESTRIES:
P*(5, 2)
MAX 500 XV + 300 XT
s.t.
XV + 2XT <= 16
2XV + XT <= 11
3XV + XT <= 15
END

{RESTRIO DE ALGODO METROS}


{RESTRIO DE SEDA METROS}
{RESTRIO DE L METROS}

Substituindo este ponto extremo, P*(5, 2), nas restries verifica-se:


RESTRIO DE ALGODO METROS 16m
XV + 2XT <= 16
2 + 2*7
16 = 16
Todos os metros disponveis de algodo foram utilizados, por isso, que a varivel de folga
associado a esta restrio, na soluo final, est com o valor de zero (SLK2 = 0 ou XF1=0). Foram
utilizados 2 metros de algodo nas 2 unidades de vestido e 14 metros de algodo nas 7 unidades
de terno.
RESTRIO DE SEDA METROS 11m.
2XV + XT <= 11
2*2 + 7
11 = 11
Todos os 11 metros disponveis de seda foram utilizados, por isso, que a varivel de folga
associado a esta restrio, na soluo final, est com o valor de zero (SLK3 = 0 ou XF2 = 0)
Foram utilizados 4 metros de seda nas 2 unidades de vestido e 7 metros de seda nas 7 unidades de
terno.
RESTRIO DE L METROS 15m
3XV + XT <= 15
3*2 + 7
13 < 15
No foram utilizados todos 15 os metros disponveis de l, por isso, que a varivel de folga
associado a esta restrio, na soluo final, est com o valor de dois (SLK4 = 2 ou XF3 = 2)
Foram utilizados 6 metros de l nas 2 unidades de vestido e 7 metros de seda nas 7 unidades de
terno.
Enquanto no terminar de executar o LINDO no pode ser salve em momento nenhum este arquivo. Se
por ventura, algum erro foi feito entrar com varivel no bsica errada base ou sair com uma varivel
bsica errada da base. Deve-se comear tudo de novo, SOLVE COMPILE MODEL e gerar de novo
as TABELAS (REPORTS TABLEAU);
Para terminar de usar o lindo se faz ainda mais uma vez o passo 4

4o. PASSO: MENU SOLVE PIVOT


LINDO mostra uma tela final com a seguinte pergunta DO RANGE(SENSITIVITY)ANALYSIS? YES or
NOT, colocar YES e, finalmente mostrar os seguintes resultados;
----------------------------------------------------------LP OPTIMUM FOUND AT STEP 3
OBJECTIVE FUNCTION VALUE
1)

3100.000

VARIABLE VALUE REDUCED COST


XV
2.000000
0.000000
XT
7.000000
0.000000

{COMENTRIO}
{No passo 3 encontrou a soluo tima}
{VALOR DA FUNO OBJETIVO}
{3100.00 equivale a 3.100,00 notao Brasil}
{VARIVEL VALOR CUSTO REDUCIDO}
{XV
2
0
}
{XT
7
0
}

--------------------------------------------------------------------ROW SLACK OR SURPLUS DUAL PRICES {LINHA FOLGA Ou EXCESSO


2)
0.000000
33.333332
{2)SLK2
0
3)
0.000000
233.333328
{3)SLK3
0
4)
2.000000
0.000000
{4)SLK4
2
RANGES IN WHICH THE BASIS IS UNCHANGED:

PREO DUAL
33.333332 }
233.333328}
0.00000 }

{RANGO EM QUE A BASE NO MUDA}

OBJ
COEFFICIENT RANGES
{RANGO DOS COEFICIENTES DA FO}
VARIABLE CURRENT ALLOWABLE ALLOWABLE
{INCREMENTO DECREMENTO
COEF
INCREASE
DECREASE
{PERMITIDO
PERMITIDO}
XV
500.000000
99.999992
349.999969
{599.999
150.001}
XT
300.000000
699.999939
49.999996
{999.999
250.001}
RIGHTHAND SIDE RANGES
{RANGO NAS LIMITAES - RESTRIES}
ROW CURRENT ALLOWABLE ALLOWABLE {LINHA INCREMENTO DECREMENTO }
RHS
INCREASE
DECREASE {ATUAL PERMITIDO PERMITIDO }
2
16.000000
6.000000
6.000000
{2
6
6
10 SLK2 22 }
3
11.000000
1.200000
3.000000
{3
1.2
3
8 SLK3 12.2}
4
15.000000
INFINITY
2.000000
{4

2
17 SLK3 }
---------------------------------------------------------------------------------------------------------------------------

ANLISE CUSTO REDUZIDO CALCULADO PARA CADA VARIVEL DE DECISO


VARIABLE VALUE REDUCED COST
{VARIVEL VALOR CUSTO REDUCIDO}
XV
2.000000
0.000000
{XV
2
0
}
XT
7.000000
0.000000
{XT
7
0
}
CUSTO REDUZIDO CALCULADO PARA CADA VARIVEL DE DECISO E TEM DOIS
SIGNIFICADOS:
1.- Se a varivel de deciso no est na soluo ento significa a penalidade a pagar (reduo no lucro)
para introduzir esta varivel na soluo.

2.- Se a varivel de deciso est na soluo ento significa a penalidade a pagar zero.
Neste caso, as variveis de deciso esto na soluo, ento o custo reduzido zero.
--------------------------------------------------------------------ANLISE PREO DUAL EST RELACIONADO COM AS VARIVEIS DE FOLGA
ROW
2)
3)
4)

SLACK OR SURPLUS DUAL PRICES


0.000000
33.333332
0.000000
233.333328
2.000000
0.000000

{LINHA FOLGA Ou EXCESSO


{2)SLK2
0
{3)SLK3
0
{4)SLK4
2

PREO DUAL
33.333332 }
233.333328}
0.00000 }

PREO DUAL EST RELACIONADO COM AS VARIVEIS DE FOLGA


SLK2 (XF1) se conseguir ADICIONAR mais um metro de algodo a FO aumentar em R$ 33.33
SLK3 (XF2) se conseguir ADICIONAR mais um metro de seda a FO aumentar em R$ 233.333
NO. ITERATIONS=
3
----------------------------------------------------------------

No. DE ITERAES = 3

ANLISE DE SENSIBILIDADE

Muitas vezes alm de resolver o problema para obter a soluo tima tambm
importante analisar em quais condies essa soluo vlida, e o que aconteceria se os
dados do problema sofrem alteraes (mudana de preos, valores das restries so
alterados, etc.).
Esse tipo de estudo e interpretao dos resultados chamado de anlise de sensibilidade,
isto , quo sensvel a soluo respeito as mudanas nos dados.

ANLISE DO RANGO DOS COEFICIENTES DA FUNO OBJETIVO


RANGES IN WHICH THE BASIS IS UNCHANGED:

{RANGO EM QUE A BASE NO MUDA}

OBJ
COEFFICIENT RANGES
{RANGO DOS COEFICIENTES DA FO}
VARIABLE CURRENT ALLOWABLE ALLOWABLE
{INCREMENTO DECREMENTO
COEF
INCREASE
DECREASE
{PERMITIDO
PERMITIDO}
XV
500.000000
99.999992
349.999969
{599.999
150.001}
XT
300.000000
699.999939
49.999996
{999.999
250.001}
RANGO DOS COEFICIENTES DA FUNO OBJETIVO
O Coeficiente de XV na FO 500 pode ser aumentado em at 99.999 599.999 ou decrementado em
349.999 => 150.001.
150.001 <= COEF-XV-500 <= 599.999
A soluo no muda XV = 2 e XT = 7, porm o valor da FO muda para mais ou para menos.
Para XV = 2, XT = 7 e MAX Z =
500XV + 300XT Z=3100.000
Para XV = 2, XT = 7 e MAX Z = 599.999XV + 300XT Z= 3299.998;
Para XV = 2, XT = 7 e MAX Z = 150.001XV + 300XT Z = 2400.002.

O Coeficiente de XT na FO 3000 pode ser aumentado em at 699.999 999.999 ou decrementado em


49.999 250.001. 250.001 <= COEF-XT-300 <= 999.999
A soluo no muda XV = 2 e XT = 7, porm o valor da FO muda para 7999.993 e
2750.007respectivamente. Fazer os clculos correspondentes aos valores que mudaram na FO.
--------------------------------------------------------------------------------------------------------ANLISE DO RANGO DAS LIMITAES/RESTRIES
RIGHTHAND SIDE RANGES
{RANGO NAS LIMITAES RESTRIES}
ROW CURRENT ALLOWABLE ALLOWABLE{LINHA INCREMENTO DECREMENTO }
RHS
INCREASE
DECREASE {ATUAL PERMITIDO PERMITIDO
}
2
16.000000
6.000000
6.000000
{2
6
6 10 DISP-ALG
22}
3
11.000000
1.200000
3.000000
{3
1.2
3 8 DISP-SEDA 12.2}
4
15.000000
INFINITY
2.000000
{4

2 17 DISP-L }
RANGO DAS LIMITAES/RESTRIES
LINHA 2 (RESTRIO 1) Limitao de metros ALGODO (16) pode ser incrementado em 6 22
ou diminudo em 6 10. No intervalo 10 DISP-ALGODO-16 22, a cada metro adicionado o
valor da FO ser incrementado em R$ 33.333 (COLUNA DUAL PRICES). Observao: a cada metro
diminudo que acontecer com o valor da funo objetivo e com a soluo?
LINHA 3 (RESTRIO 2) Limitao de metros SEDA(11) pode ser incrementado em 1.2 12.2 ou
diminudo em 3 8. No intervalo 8 DISP-SEDA-11 12.2, a cada metro adicionado o valor da FO
ser incrementado em R$ 233.333. Observao: a cada metro diminudo que acontecer com o valor
da funo objetivo e com a soluo?
LINHA 4 (RESTRIO 3) Limitao de metros L(15) pode ser incrementado Infinito ou diminudo
em 2 17. No intervalo 17 DISP-L-15 , a cada metro adicionado o valor da FO no ser
alterado (incremento zero). Observao: a cada metro diminudo que acontecer com o valor da funo
objetivo e com a soluo?

Vous aimerez peut-être aussi