You are on page 1of 4

PROGRAMAO LINEAR APLICADA A UM PROBLEMA DE ENVIO

DE COMBUSTVEL PARA AEROPORTOS.



Ailson Renan Santos Picano
Henrique Evangelista de Oliveira
Murilo Wadt

FCA - Unicamp
Limeira - SP



Resumo: Este trabalho se prope a utilizar a
programao linear para solucionar um problema de
transporte, onde se pretende minimizar os custos de
envio de querosene das trs companhias para os quatro
aeroportos estudados. Primeiramente, a situao foi
modelada enquanto um problema de minimizao,
definindo-se a funo objetivo, as variveis e as
restries. Foi utilizado o software livre GLPK para
resolver o modelo. Chegou-se a um resultado de 9,25
milhes de reais, que minimiza o custo total.
Palavras-chave: Problema de Transporte,
Programao Linear, GLPK
1. INTRODUO
Um problema chave da gesto de negcios de
como tomar a deciso econmica de alocao de
recursos. A programao linear, ou simplesmente LP,
traz solues relativas consistentes relativas a essa
questo [1].
O uso de um pacote computacional como o GLPK,
se mostra muito eficiente para a resoluo desse tipo de
problema que apresenta poucas variveis de deciso.
O objetivo desta pesquisa resolver o problema
proposto encontrando o menor custo total, mediante a
demanda e as restries impostas.
2. APRESENTAO DO PROBLEMA
A Voe Bem precisa decidir a quantidade de
querosene para combustvel de seus jatos que adquire de
3 companhias vendedoras. Seus jatos so regularmente
abastecidos nos aeroportos de Congonhas, Viracopos,
Galeo e Pampulha.













Figura 1: Esquema representativo do problema
As companhias vendedoras podero fornecer no
prximo ms as quantidades de combustvel, como
apresentado na Tabela 1:

COMPANHIA
CAPACIDADE DE
FORNECIMENTO (LITROS)
1 250 000
2 500 000
3 600 000
Tabela 1: Capacidade de fornecimento das companhias

.

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

: Quantidade de querosene enviada da companhia


para ao aeroporto , e ,
conforme a indexao mostrada nas Tabelas 4 e 5.

COMPANHIA INDEX
Companhia 1 1
Companhia 2 2
Companhia 3 3
Tabela 4: Indexao das companhias.
AEROPORTO INDEX
Congonhas 1
Viracopos 2
Galeo 3
Pampulha 4
Tabela 5: Indexao dos aeroportos.

1.2 Funo objetivo
A funo objetivo (1) de minimizao do custo total
obtida a partir da alocao das quantidades (Xij) e os
respectivos custos (Cij).




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;

You might also like