Simulação de uma Isoquanta Econômica

Autor

Adriano Marcos Rodrigues Figueiredo - e-mail: adriano.figueiredo@ufms.br

Data de Publicação

19 de março de 2025

Resumo
Este é um exercício didático para alunos de graduação.

Introdução

Uma isoquanta é uma curva que representa todas as combinações possíveis de dois insumos (por exemplo, capital ( K ) e trabalho ( L )) que produzem o mesmo nível de produção ( Q ). Neste exemplo, vamos simular uma isoquanta usando a função de produção Cobb-Douglas, que é amplamente utilizada em economia.

A função de produção Cobb-Douglas é dada por:

\(Q=A.K^\alpha.L^\beta\)

Onde:

- ( Q ) é o nível de produção;

- ( A ) é um parâmetro de tecnologia (constante);

- ( K ) é o capital;

- ( L ) é o trabalho; e,

- ( \(\alpha\) ) e ( \(\beta\) ) são os parâmetros que representam a elasticidade da produção em relação ao capital e ao trabalho, respectivamente.

Código em R

Abaixo está o código em R para simular uma isoquanta:

# Carregar bibliotecas necessárias
library(ggplot2)
library(patchwork)  # Para combinar gráficos

# Definir parâmetros da função de produção Cobb-Douglas
A <- 1
alpha <- 0.3
beta <- 0.7
Q <- 100  # Nível de produção desejado

# Criar uma sequência de valores para o capital (K)
K <- seq(1, 100, length.out = 100)

# Calcular o trabalho (L) necessário para cada valor de K para manter Q constante
L <- (Q / (A * K^alpha))^(1/beta)

# Criar um data frame com os valores de K e L
isoquanta <- data.frame(K = K, L = L)

# Plotar a isoquanta
ggplot(isoquanta, aes(x = K, y = L)) +
  geom_line(color = "blue") +
  labs(title = "Isoquanta Econômica",
       x = "Capital (K)",
       y = "Trabalho (L)") +
  theme_minimal()

Função de Produção

# Criar sequências de valores para K e L
K <- seq(1, 100, length.out = 100)
L <- seq(1, 100, length.out = 100)

# Fixar um valor para L ao plotar Q em função de K
L_fixo <- 50  # Valor fixo para L
Q_K <- A * K^alpha * L_fixo^beta

# Fixar um valor para K ao plotar Q em função de L
K_fixo <- 50  # Valor fixo para K
Q_L <- A * K_fixo^alpha * L^beta

# Criar data frames para os gráficos
df_K <- data.frame(K = K, Q = Q_K)
df_L <- data.frame(L = L, Q = Q_L)

# Plotar Q em função de K
plot_K <- ggplot(df_K, aes(x = K, y = Q)) +
  geom_line(color = "blue", linewidth = 1) +  # Usar linewidth em vez de size
  labs(title = "Produção Q em função do Capital K (L fixo)",
       x = "Capital (K)",
       y = "Produção (Q)") +
  theme_minimal()

# Plotar Q em função de L
plot_L <- ggplot(df_L, aes(x = L, y = Q)) +
  geom_line(color = "red", linewidth = 1) +  # Usar linewidth em vez de size
  labs(title = "Produção Q em função do Trabalho L (K fixo)",
       x = "Trabalho (L)",
       y = "Produção (Q)") +
  theme_minimal()

# Combinar os gráficos usando patchwork
plot_K + plot_L

Função de produção cúbica

Podemos simular uma função de produção que apresenta retornos crescentes no início, depois retornos decrescentes até atingir um ponto máximo de produção (Q), e, finalmente, começa a decrescer. Esse comportamento é comum em funções de produção que incorporam uma combinação de fatores como capital (\(K\)) e trabalho (\(L\)), onde, após um certo ponto, a adição de mais insumos resulta em diminuição da produção devido a fatores como saturação ou ineficiência.

Vamos usar uma função de produção cúbica para modelar esse comportamento. A função terá a seguinte forma:

\(Q=aK^3+bK^2+cK+d\)

Onde:

- \(K\) é o fator de produção (por exemplo, capital);

- \(a\), \(b\),\(c\), e \(d\) são coeficientes que determinam a forma da curva.

Aqui está o código em Quarto (Posit) para simular essa função de produção:

# Carregar bibliotecas necessárias
library(ggplot2)

# Definir coeficientes da função cúbica
a <- -0.01
b <- 0.5
c <- 5
d <- 0

# Criar uma sequência de valores para K (capital)
K <- seq(0, 50, length.out = 100)

# Calcular a produção Q para cada valor de K
Q <- a * K^3 + b * K^2 + c * K + d

# Criar um data frame com os valores de K e Q
dados <- data.frame(K = K, Q = Q)

# Plotar a função de produção
ggplot(dados, aes(x = K, y = Q)) +
  geom_line(color = "blue", linewidth = 1.5) +
  labs(title = "Função de Produção com Retornos Crescentes e Decrescentes",
       x = "Capital (K)",
       y = "Produção (Q)") +
  theme_minimal() +
  geom_hline(yintercept = max(Q), linetype = "dashed", color = "red") +  # Linha do máximo de Q
  annotate("text", x = 40, y = max(Q) + 5, label = paste("Máximo Q =", round(max(Q), 2)), color = "red")