Your SlideShare is downloading. ×
Problema de Programação Linear - IFS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Problema de Programação Linear - IFS

2,390
views

Published on

INSTITUITIONAL FOOD SERVICES(IFS) CASH FLOW …

INSTITUITIONAL FOOD SERVICES(IFS) CASH FLOW

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,390
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PROGRAMAÇÃO LINEAR Prova 1 INSTITUITIONAL FOOD SERVICES(IFS) CASH FLOW Guilherme Gomes N. de Oliveira Renzo Augusto L. Petri
  • 2. Contextualizando Quase todos os tipos de modelos de PL exigem tempo de escalonamento na tomada de decisões, alguns dos mais óbvios, são os que envolvem gestão de fluxos de caixa. Todas as empresas devem manter um registro das entradas e saídas disponíveis, contraindo empréstimos quando necessário e investindo de maneira sensata (sábia).
  • 3. Problemática – Exemplo 4.6 Nós ilustraremos os problemas com uma modelagem fictícia de uma empresa(IFS) que fornece alimentos e demais produtos para restaurantes, escolas e instituições similares. A Tabela 4.8 mostra as projeções de algumas contas relevantes da (empresa IFS ao longo das próximas 8 semanas (em milhares de dólares). s(sales) = Projeção de receitas em caixa na semana t referente a venda a pequenos clientes; r(receivable) = Projeção de receitas recebidas na semana t de grandes clientes que compram a crédito; p(payable) = Projeção de contas pagas aos fornecedores da empresa(IFS) na semana t; e(expenses) = Projeção de salários, utilitários, e outras despesas a serem pagas na semana t.
  • 4. Vendas e contas recebidas produzem receitas imediatas na conta corrente da empresa (IFS). Assim como os gastos são deduzidos imediatamente na conta corrente. O montante de contas a pagar p(t) não é realmente devido até t + 3 semanas, e são descontados em 2% se forem pagos no início da semana t. Problemática – Continuação
  • 5. Os valores da tabela 4.8 variam drasticamente em períodos próximos a feriados. Além da opção de contas a pagar, o agente financeiro da empresa (IFS) possui outras duas formas de lidar com as dificuldades implícitas do fluxo de caixa. Primeiro, o banco da empresa estendeu em US $ 4 milhões a linha de crédito mediante a 0,2% de juros por semana. No entanto, o banco exige que pelo menos 20% do montante emprestado seja mantido em conta corrente (sem ganhar juros). A outra opção é investir o excesso do dinheiro a curto prazo em mercados monetários. IFS (A empresa) dessa forma pode ganhar 0,1% de juros por semana, sobre o montante investido. O agente financeiro pretende minimizar custo total líquido de juros e descontos perdidos, mantendo em conta corrente por segurança e equilíbrio pelo menos $20.000 dólares. Nossa tarefa é ajudá-lo a decidir como trabalhar com as opções disponíveis. Problemática – Continuação
  • 6. Modelagem Matemática
  • 7. Identificação de Índices e Variáveis Identificação dos Índices: t = Número da semana atual; item = entradas e saídas do caixa; Identificação das Variáveis: s(t) = receitas pequenos clientes na semana t; r(t) = receitas grandes clientes na semana t; p(t) = despesas pagamento fornecedores na semana t; e(t) = despesas pagamento salário e outros na semana t; g(t) = valor emprestado na semana t; h(t) = valor pago do empréstimo na semana t; w(t) = valor a pagar na semana t depois de t+3 semanas atrasadas; y(t) = valor acumulado do empréstimo(dívida) na semana t; x(t) = valor investido durante a semana t; z(t) = valor disponível em caixa na semana t;
  • 8. Colocando nomes nas variáveis: Rec_pq[t] = receitas pequenos clientes na semana t; Rec_gd[t] = receitas grandes clientes na semana t; Desp_pagFor[t] = despesas pagamento fornecedores na semana t; Desp_pagSal[t] = despesas pagamento salário e outros na semana t; Val_emprestado[t] = valor emprestado na semana t; Val_Pg[t] = valor pago do empréstimo na semana t; Val_Pg_atraso[t] = valor a pagar na semana t depois de t+3 semanas atrasadas; Val_investido[t] = valor investido durante a semana t; Val_acumulado[t] = valor acumulado do empréstimo(dívida) na semana t; Val_caixa[t] = valor disponível em caixa na semana t; Nomeando Índices e Variáveis
  • 9. Identificação de algumas constantes: Credito juros = 0,2% de juros por semana; Linha de crédito = US $ 4 milhões; Crédito a manter = 20% do montante emprestado ; Min imo na Conta Corrente = $20.000 dólares. Desconto = 2%; Juros Monetários sobre montante = 0 ,1% de juros por semana, sobre o montante investido. Nomeando e atribuindo os valores as constantes: Cred_sem := 0.002; Lim_cred := 4000; Cred_manter := 0.20; Min_cc := 20; Desc := 0.02; Juros_mon := 0.001; Constantes
  • 10. Minimizar o custo líquido dado por : Custo Líquido = (Acumulado da dívida de crédito) + (Soma valor pago por atraso de ( t+3 ) semanas) – (Soma do lucro sobre valor investido); t= 8 t= 8 t= 8 f(y(t), w(t), x(t)) = 4000*∑ y(t) + 0,02*∑ w(t) - 0,001*∑ x(t) t=1 t=1 t=1 Min f = Lim_cred * SUM(t: Val_acumulado) + Desc * SUM(t: Val_Pg_atraso) -Juros_mon * SUM(t: Val_investido); Função Objetivo
  • 11. Dividindo em MACROS: Div_Credito := Lim_cred * SUM(t: Val_acumulado); Atraso := Desc * SUM(t: Val_Pg_atraso); Lucro := Juros_mon * SUM(t: Val_investido); Objetivo: MIN Custo_Liq = Div_Credito + Atraso - Lucro; Função Objetivo - Continuação
  • 12. Restrições 1 ) Número de Semanas = 1≤ t ≥ 8 2) Caixa na semana t = ( C aixa semana anterior) + ( E mpréstimo) - ( D ívida paga) + ( I nvestimento da semana anterior) – (Investimento) + 0,001*( L ucro investimento semana anterior) – 0,002*( J uros sobre dívida) + ( R eceita peq. clientes) – (Despesas salário e outros) + (Receita grandes clientes) – (1-0,02)*( D ívida atraso ( t+3 ) semanas) - ( D ívida atraso semana t ); z(t-1) + g(t) – h(t) + x(t-1) – x(t) + 0,001*x(t-1) – 0,002*y(t-1) + s(t) – e(t) + r(t) – (1 -0,02)*(p(t) - w(t)) - w(t-3) = z(t); Val_caixa[t-1] + Val_emprestado[t] - Val_Pg[t] + Val_investido[t-1] - Val_investido[t] + Juros_mon * Val_investido[t-1] - Cred_sem * Val_acumulado[t-1] + Rec_pq[t] - Desp_pagSal[t] + Rec_gd[t] - 1 - Desc * Desp_pagFor[t] - Val_Pg_atraso[t] - Val_Pg_atraso[t-3]) = Val_caixa[t];
  • 13. 3) Dívida na semana t = ( D ívida semana anterior) + (Empréstimo) – ( D ívida paga); y(t-1) + g(t) – h(t) = y(t); Val_acumulado[t-1] + Val_emprestado[t] - Val_Pg[t]) = Val_acumulado[t]; 4) Limite de crédito na semana t = ( D ívida de crédito) = 4 milhões; y(t) = 4.000.000; Val_acumulado[t] = Lim_cred; 5) Linha de crédito disponível na semana t = ( C aixa atual) > 0,20*( P elo menos 20% em conta)*( A cumulado da dívida); z(t) > 0,20*y(t); Val_caixa[t]) = Cred_manter * Val_acumulado[t]; 6) Contas a pagar na semana t = ( D ívida atraso ( t+3 ) semanas) < ( D espesas pgnto. fornecedores) w(t) = p(t); Val_Pg_atraso[t] = Desp_pagFor[t] Restrições
  • 14. Restrições 7) Caixa seguro na semana t = ( C aixa atual) = 20.000(valor mantido em conta por segurança); z(t) > 20.000; Val_caixa[t] = Min_cc;
  • 15. MPL
  • 16. Linguagem MPL TITLE Fluxo_de_Caixa; INDEX t := ( 1, 2, 3, 4, 5, 6, 7, 8 ); DATA Rec_pq[t] := ( 600, 750, 1200, 2100, 2250, 180, 330, 540 ); Rec_gd[t] := ( 770, 1260, 1400, 1750, 2800, 4900, 5250, 420 ); Desp_pagFor[t] := ( 3200, 5600, 6000, 480, 880, 1440, 1600, 2000 ); Desp_pagSal[t] := ( 350, 400, 550, 940, 990, 350, 350, 410 ); Cred_sem := 0.002; Lim_cred := 4000; Cred_manter := 0.20; Min_cc := 20; Desc := 0.02; Juros_mon := 0.001; VARIABLES Val_emprestado[t] -> ValorEmprestado; Val_Pg[t] -> ValorPago; Val_Pg_atraso[t] -> ValorPagarAtraso; Val_investido[t] -> ValorInvestido; Val_acumulado[t] -> ValorAcumulado; Val_caixa[t] -> ValorDisponivelCaixa;
  • 17. Linguagem MPL MACROS Div_Credito := Lim_cred * SUM(t: Val_acumulado); Atraso := Desc * SUM(t: Val_Pg_atraso); Lucro := Juros_mon * SUM(t: Val_investido); MODEL MIN Custo_Liq = Div_Credito + Atraso - Lucro; SUBJECT TO Balan_Caixa[t] -> Bal_Caixa : Val_caixa[t-1] + Val_emprestado[t] - Val_Pg[t] + Val_investido[t-1] - Val_investido[t] + Juros_mon * Val_investido[t-1] - Cred_sem * Val_acumulado[t-1] + Rec_pq[t] - Desp_pagSal[t] + Rec_gd[t] - 1 - Desc * Desp_pagFor[t] - Val_Pg_atraso[t] - Val_Pg_atraso[t-3] = Val_caixa[t]; Balan_Deb[t] -> Deb_Caixa : Val_acumulado[t-1] + Val_emprestado[t] - Val_Pg[t] = Val_acumulado[t]; Cred_Limite[t] ->Cred_Lim : Val_acumulado[t] = Lim_cred; Cred_Lucro[t] -> Cred_Luc : Val_caixa[t] = Cred_manter * Val_acumulado[t]; Limite_Compras[t] -> Lim_Comp : Val_Pg_atraso[t] = Desp_pagFor[t]; Limite_Caixa[t] -> Lim_Caixa : Val_caixa[t] = Min_cc; END

×