o
quantidade
qt = 6000 - 1000p
Figura 1 Funo de demanda qt = 6000 - 1000p
A Figura 2 expressa claramente que o valor de cada unidade acrescida decrescente.
Por exemplo, as primeiras 1000 unidades o consumidor pagar 5, j para obter mais unidades e
chegar a 2000 ele pagar um valor adicional menor, que 4. Desta forma, para comprar 2000
unidades ele pagar o preo das primeiras 1000 (5) mais o preo das prximas 1000 (as quais
representam uma utilidade menor, que 4), sendo o valor total pago por 2000 unidades igual a
9.
3. Exemplo de evoluo da proposta
O quadro da Figura 2 apresenta resultados obtidos com um modelo de simulao
implementado atravs da ferramenta NetLogo (Figura 3) para simular o conceito de utilidade
marginal decrescente. Neste quadro, h uma srie de interaes entre o consumidor e o
produtor. Em cada uma das interaes, o consumidor verifica o valor a ser pago e se comporta
de acordo com o grfico da funo da Figura 1.
CONSUMIDOR: Estoque: 0
CONSUMIDOR: Quantidade desejada em estoque: 1000
CONSUMIDOR: Quantidade pedida: 1000
PRODUTOR 1: 1000 unidade(s) custa R$: 0.5
CONSUMIDOR: Preo pago por: 1000 unidade(s) considerando o estoque atual: R$ 5
CONSUMIDOR: Deciso: Realiza a compra!
CONSUMIDOR: Estoque atual: 1000.
1 interao: O consumidor necessita de 1000 unidades, seu estoque atual 0, assim ele pede 1000 unidades ao
produtor 1. O preo cobrado R$ 0.5. Como o consumidor esta disposto a pagar at R$ 5 pelas primeiras 1000
unidades ele ento realiza a compra e tem em seu estoque atual 1000 unidades.
CONSUMIDOR: Estoque: 1000
CONSUMIDOR: Quantidade desejada em estoque: 2000
CONSUMIDOR: Quantidade pedida: 1000
PRODUTOR 1: 1000 unidade(s) custa R$: 0.5
CONSUMIDOR: Preo pago por: 1000 unidade(s) considerando o estoque atual: R$ 4
CONSUMIDOR: Deciso: Realiza a compra!
CONSUMIDOR: Estoque atual: 2000
CONSUMIDOR: Consumi: 2000unidades
CONSUMIDOR: Estoque atual: 0
2 interao: O consumidor deseja ter 2000 unidades em estoque, como ele j tem 1000 ento pede mais 1000
unidades (1000 + 1000 = 2000). O produtor cobra R$ 0.5 para mais 1000 unidades. Agora o preo que o consumidor
paga pelas prximas 1000 unidades menor do que o da primeira interao (o qual foi R$ 4), isto ocorre porque o
consumidor j tem um certo nvel de satisfao com o produto, assim o valorizar menos (aumento do nvel de
saturao). Como o preo cobrado ainda menor do que ele est disposto a pagar, ele realiza a compra e fica com
um estoque de 2000 unidades. Aps consome as 2000 e seu estoque atual fica 0 unidades.
CONSUMIDOR: Estoque: 0
CONSUMIDOR: Quantidade desejada em estoque: 1000
CONSUMIDOR: Quantidade pedida: 1000
PRODUTOR 3: 1000 unidade(s) custa R$: 10
CONSUMIDOR: Preo pago por: 1000 unidade(s) considerando o estoque atual: R$ 5
CONSUMIDOR: Deciso: No Vou comprar !
CONSUMIDOR: Estoque atual: 0
3 interao: Na interao anterior o consumidor gastou todas suas unidades. Agora seu nvel de saturao zero
com o produto. Desta forma, na terceira interao ao precisar de 1000 unidades, ele est disposto a pagar R$ 5
novamente por elas, diferentemente da 2 interao a qual pagava 4, por h ter 1000 unidades em estoque. Contudo, o
preo cobrado maior que seu preo mximo disposto a pagar, assim ele no realiza a compra.
Figura 2 Experimentos realizados com o modelo de simulao de utilidade marginal decrescente.
Com os estudos e experimentos realizados com o modelo de simulao da utilidade
marginal decrescente, conclui-se que os consumidores tem suas decises altamente
influenciadas pelo fato da satisfao a qual o produto as acrescentar no momento em que o
esto comprando. Desta forma, se precisarem muito do mesmo, acabam dispendendo um valor
maior para obt-lo.
Figura 3 Tela do Modelo da Utilidade Marginal Decrescente simulado no NetLogo
4. Cdigo fonte do Modelo de simulao da Utilidade Marginal
Decrescente
breed [produtores produtor]
breed [consumidores consumidor]
consumidores-own [qtd qtd_dsj preco_pago estoque prod_destino]
produtores-own [qtd preco_venda]
patches-own [con_preco_maximo con_quantidade_minima]
globals [orcamento]
to setup
clear-all
set orcamento -1
create-produtores qtd_prod
[
setxy random-pxcor random-pycor
set shape "house"
]
create-consumidores 1
[
setxy random-xcor random-ycor
set shape "person"
set color white
set estoque 0
set qtd_dsj one-of [1000 2000 3000 4000 5000]
set prod_destino one-of produtores
]
end
to go
tick
ask produtores
[
let cliente one-of consumidores-here
if cliente != nobody
[
let qtd_desejada_cliente [qtd_dsj] of cliente
let est [estoque] of cliente
set orcamento one-of [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
print (word "Quantidade desejada em estoque:" qtd_desejada_cliente)
print (word "Quantidade pedida:" (qtd_desejada_cliente - est)
print (word "Oferta do produtor" who)
print (word (qtd_desejada_cliente est) "unidade(s) custa R$: "
orcamento)
]
]
ask consumidores
[
let x_destino [pxcor] of prod_destino
let y_destino [pycor] of prod_destino
while [(pxcor != x_destino) or (pycor != y_destino)]
[
face prod_destino
fd 1
wait 0.05
]
if orcamento != -1
[
; verifica preco maximo pago pela quantidade desejada
let preco_maximo calc_preco_maximo qtd_dsj estoque
;;print (word "Quantidade necessria: " qtd_dsj)
print (word "Preo pago por: " (qtd_dsj estoque) " unidade(s)
considerando o estoque atual: R$ " preco_maximo)
ifelse orcamento <= preco_maximo ; ve se faz a compra
[
print (word "Vou comprar !")
print (word "Estoque antigo: " estoque)
set estoque estoque + (qtd_dsj estoque)
print (word "Estoque novo: " estoque)
set prod_destino one-of produtores
]
[
print (word "Nao vou comprar !")
set prod_destino one-of produtores
]
if ( ticks mod 3 = 0)
[
let x one-of [1000 2000 3000 4000 5000 6000]
while [(estoque - x) < 0]
[
set x one-of [1000 2000 3000 4000 5000 6000]
]
set estoque estoque - x
print (word "Consumo: " x "unidades")
print (word "Estoque atual: " estoque)
]
set qtd_dsj estoque + 1000
set orcamento -1
]
]
end
;; qt = 6000 - 1000px (funo demanda do consumidor)
to-report fx_demanda_preco [quantidade] ; recebe quantidade retorna preo
report (quantidade - 6000) / -1000
end
to-report calc_preco_maximo [q_d est] ; calcula preco mximo por uma
quantidade de unidades utilizando a utilidade marginal (demanda)
to-report calc_preco_maximo [q_d est]
let q_c est
let p_c 0
let p_t 0
while [q_c < q_d]
[
set q_c q_c + 1000
set p_c fx_demanda_preco q_c
set p_t p_t + p_c
]
report p_t
end
Referncias
[1] GILBERT, N. AND TROITZSCH, K. G. Simulation for the Social Scientist. Open
University Press, 2005.
[2] CUNHA, FLEURY CARDOSO DA. Microeconomia teoria, questes e
exerccios, 2004.
[3] SALVATORE, D. Microeconomia; traduo e reviso de Marco Antonio
Sandoval de Vasconcellos, 1984.
[4] WILENSKY, U. NetLogo. http://ccl.northwestern.edu/netlogo/. Center for
Connected Learning and Computer-Based Modeling, Northwestern University,
Evanston, IL, 2009.
[5] AMORIN, Antnio A. Conceito de Utilidade. Disponvel em :
http://www.economiaerealidade.com/2010/08/conceito-de-utilidade.html. Acesso em
Novembro/2011.