Professional Documents
Culture Documents
.
Existe tambm a demanda de cada aeroporto que
deve ser atendida completamente, e pdoe ser visualizada
na Tabela 2:
AEROPORTOS DEMANDA
Congonhas 100 000
Viracopos 200 000
Galeo 300 000
Pampulha 400 000
Tabela 2: Demanda dos aeroportos
.
Enfim, o envio de cada companhia para cada
aeroporto possui um custo especfico, conforme a
Tabela 3 apresenta:
AEROPORTO
CON. VIR. GAL. PAMP.
COMP. 1 12 10 8 11
COMP. 2 9 11 11 13
COMP. 3 10 14 13 9
Tabela 3: Custo
em reais/litro.
3. METODOLOGIA
Trata-se de uma pesquisa aplicada de base
quantitativa e em um estudo de caso hipottico
idealizado pelo docente, inspirado em um caso prtico
real.
Para resolver ao problema primeiro o problema foi
modelado luz de um problema de transporte. Utilizou-
Comp1
Comp2
Comp3
Congonhas
Viracopos
Galeo
Pampulha
se a programao linear, com auxlio de um software
livre do tipo solver chamado GLPK FOR
WINDOWS.
4. MODELAGEM DO PROBLEMA
Esse problema pode ser formulado como um
problema de transporte, onde se pretende definir,
quantos gales de querosene de cada companhia deve
ser enviado para cada aeroporto, de forma que minimize
o custo total.
1.1 Varivel de deciso
1.3 Restries
1. Restrio de capacidade (2) das companhias (supply
constrain): O fornecido pelas companhias para os
aeroportos deve ser at a capacidade das
companhias
2. Restrio de demanda (3) dos aeroportos (demand
constrain). Como a capacidade do fornecedor
maior que a demanda, ento o querosene
requisitado para todos os aeroportos deve ser
atendida.
(3)
3. Restrio de no negatividade (4)
imprescindvel garantir que no se assumam
valores negativos para a aolocao das quantidades (
).
5. RESOLUO DO PROBLEMA
A utilizao do GLPK para a soluo desse problema
gerou o resultado mostrado na Figura 1 plotada do
software utilizado:
Figura 02: Resultado encontrado com o uso do GLPK.
O cdigo utilizado para a resoluo do problema se
encontra no Anexo I.
6. CONCLUSES
A utilizao da programao linear foi eficaz, por
chegar a um resultado timo determinstico ao problema
de transporte e foi eficiente por, com uso da ferramenta
GLPK, resolver o problema em tempo satisfatrio
(1,3s).
Os resultados apontam que, para tomar uma deciso
econmica, a companhia 1 deve fornecer penas para o
aeroporto do Galeo (250 mil litros) e a companhia 3
apenas para o aeroporto da Pampulha (400 000 litros),
entretanto a companhia 2 deve ter um mix mais
distribudo, fornecendo para os aeroportos de
Congonhas, Viracopos e Galeo, 100, 200 e 50 mil
litros, respectivamente.
Vale ressaltar a importncia no balanceamento entre
tempo de resoluo e eficcia da resposta, fator cruscial
na escolha do mtodo e soluo.
7. REFERNCIAS
[1] REEB, J &LEAVENGOOD, S.(2002) Transportation
Problem: A Special Case for Linear Programming Prob-
lems. Operation Research:Performance excellence in the
wood products industry.
ANEXO I: Modelo desenvolvido no GLPK
#Modelo de Transporte - Tema 1
set I; /*companhia*/
set J; /*aeroporto*/
param a{i in I}; /* gales de querosene da companhia i */
param b{j in J}; /* consumo no aeroporto j */
param c{i in I, j in J}; /* custo de transporte da companhia i para o aeroproto j */
#Parametros para impressao dos resultados do modelo em arquivos.
param file, symbolic, default "ResumoTema1.txt";
/* quantidade transportada da companhia i para o aeroproto j */
var x {i in I, j in J}>=0;
/* minimizar o custo total de transporte em reais */
minimize cost: sum{i in I, j in J} c[i,j] * x[i,j];
/* restrio de atendimento da demanda j */
s.t. demand{j in J}: sum{i in I} x[i,j] >= b[j];
/* restrio de capacidade i */
s.t. supply{i in I}: sum{j in J} x[i,j]<= a[i];
solve;
/* RELATORIO */
printf '\n'
>> file;
printf '------------------------------------------------------\n'
>> file;
printf 'Solucao Encontrada \n'
>> file;
printf '------------------------------------------------------\n'
>> file;
printf ' Fluxo [Companhia - Aeroporto [litros]] \n'
>> file;
printf ' \n'
>> file;
printf '------------------------------------------------------\n'
>> file;
printf{i in I, j in J} " %10s - %10s: = %8.2f \n ",
i, j, x[i,j] >> file;
printf '------------------------------------------------------\n'
>> file;
printf 'Custo total (z): ' >> file;
printf ' %10.2f \n', cost >> file;
printf '----------------------\n'>> file;
printf '\n' >> file;
data;
set I := Comp1 Comp2 Comp3;
set J := Congonhas Viracopos Galeao Pampulha;
param a := Comp1 250000
Comp2 500000
Comp3 600000;
param b := Congonhas 100000
Viracopos 200000
Galeao 300000
Pampulha 400000;
param c : Congonhas Viracopos Galeao Pampulha :=
Comp1 12 10 8 11
Comp2 9 11 11 13
Comp3 10 13 13 9 ;
end;