1. Problema de la Recta Presupuestal y Curvas Cobb-Douglas

Planteamiento: El consumidor enfrenta la recta presupuestal \(P_1x_1 + P_2x_2 = m\), con \(P_1 = 45\), \(P_2 = 60\), \(m = 9000\). Asumimos preferencias Cobb-Douglas simétricas: \(U(x_1, x_2) = x_1^{0.5} x_2^{0.5}\). Las demandas óptimas son: \(x_1^* = \frac{0.5m}{P_1}\) y \(x_2^* = \frac{0.5m}{P_2}\).

Cálculo de Óptimos por Escenario:

  1. Base: \(m=9000, P_1=45, P_2=60\).
    • Óptimo: \(x_1^* = 100\), \(x_2^* = 75\). Utilidad \(\approx 86.60\).
  2. Presupuesto +50%: \(m=13500, P_1=45, P_2=60\).
    • Óptimo: \(x_1^* = 150\), \(x_2^* = 112.5\). Utilidad \(\approx 129.90\).
  3. Se duplica \(P_2\): \(m=13500, P_1=45, P_2=120\).
    • Óptimo: \(x_1^* = 150\), \(x_2^* = 56.25\). Utilidad \(\approx 91.85\).
  4. Se reduce \(P_1\) un 50%: \(m=13500, P_1=22.5, P_2=120\).
    • Óptimo: \(x_1^* = 300\), \(x_2^* = 56.25\). Utilidad \(\approx 129.90\).
x1 <- seq(1, 650, length.out = 500)

# Rectas Presupuestales
r1 <- (9000 - 45 * x1) / 60
r2 <- (13500 - 45 * x1) / 60
r3 <- (13500 - 45 * x1) / 120
r4 <- (13500 - 22.5 * x1) / 120

# Curvas de Indiferencia (despejando x2 de U = x1^0.5 * x2^0.5)
u1_curve <- (100 * 75) / x1       # U^2 = 7500
u2_curve <- (150 * 112.5) / x1    # U^2 = 16875
u3_curve <- (150 * 56.25) / x1    # U^2 = 8437.5
u4_curve <- (300 * 56.25) / x1    # U^2 = 16875

df1 <- data.frame(x1, r1, r2, r3, r4, u1_curve, u2_curve, u3_curve, u4_curve)
df1[df1 < 0] <- NA

# Puntos óptimos
optimos <- data.frame(
  x = c(100, 150, 150, 300),
  y = c(75, 112.5, 56.25, 56.25),
  label = c("E1 (100, 75)", "E2 (150, 112.5)", "E3 (150, 56.25)", "E4 (300, 56.25)")
)

ggplot(df1, aes(x = x1)) +
  # Rectas
  geom_line(aes(y = r1), color = "red", linetype = "dashed", linewidth = 0.8) +
  geom_line(aes(y = r2), color = "blue", linetype = "dashed", linewidth = 0.8) +
  geom_line(aes(y = r3), color = "darkgreen", linetype = "dashed", linewidth = 0.8) +
  geom_line(aes(y = r4), color = "purple", linetype = "dashed", linewidth = 0.8) +
  # Curvas de Indiferencia
  geom_line(aes(y = u1_curve), color = "red", linewidth = 1) +
  geom_line(aes(y = u2_curve), color = "blue", linewidth = 1) +
  geom_line(aes(y = u3_curve), color = "darkgreen", linewidth = 1) +
  geom_line(aes(y = u4_curve), color = "purple", linewidth = 1) +
  # Puntos
  geom_point(data = optimos, aes(x = x, y = y), size = 3, color = "black") +
  geom_text(data = optimos, aes(x = x, y = y, label = label), vjust = -1, hjust = -0.1) +
  coord_cartesian(xlim = c(0, 400), ylim = c(0, 200)) +
  labs(title = "Equilibrio del Consumidor en Múltiples Escenarios",
       x = "Bien 1 (x1)", y = "Bien 2 (x2)") +
  theme_minimal()
Evolución de Restricciones y Curvas de Indiferencia

Evolución de Restricciones y Curvas de Indiferencia


2. Curva de Demanda, Curva Inversa y Superávit del Consumidor

Planteamiento: Demanda: \(Q = 500 - 10P\). Curva Inversa de Demanda (despejando P): \(P = 50 - 0.1Q\). Si el precio de mercado es \(P = 20\), la cantidad demandada es \(Q = 300\). El Superávit del Consumidor (SC) es el triángulo entre el precio de reserva (\(P=50\)) y el precio de mercado (\(P=20\)): \[SC = \frac{300 \times (50 - 20)}{2} = 4500\]

q_vals <- seq(0, 500, length.out = 100)
p_vals <- 50 - 0.1 * q_vals
df_demanda <- data.frame(Q = q_vals, P = p_vals)
df_area <- data.frame(Q = c(0, 0, 300), P = c(20, 50, 20))

ggplot(df_demanda, aes(x = Q, y = P)) +
  geom_line(color = "darkblue", linewidth = 1.2) +
  geom_polygon(data = df_area, aes(x = Q, y = P), fill = "orange", alpha = 0.4) +
  geom_hline(yintercept = 20, linetype = "dashed", color = "red") +
  geom_segment(aes(x = 300, y = 0, xend = 300, yend = 20), linetype = "dashed") +
  geom_point(aes(x = 300, y = 20), size = 3) +
  annotate("text", x = 100, y = 30, label = "Superávit = 4500", fontface = "bold") +
  labs(title = "Demanda y Superávit del Consumidor", x = "Cantidad", y = "Precio") +
  theme_minimal()
Superávit del Consumidor

Superávit del Consumidor


3. Cambio de las Preferencias

Planteamiento: Preferencias originales (A favor de ambos por igual): \(U_1 = x_1 x_2\). Nuevas preferencias (A favor del bien 2): \(U_2 = x_1 x_2^2\). Las curvas de indiferencia cambian su pendiente para reflejar que el consumidor ahora exige más del bien 1 para renunciar a una unidad del bien 2.

x_pref <- seq(1, 20, length.out = 100)
# U1 = 20
u_orig <- 20 / x_pref
# U2 = 80
u_nueva <- sqrt(80 / x_pref)
df_pref <- data.frame(x = x_pref, Orig = u_orig, Nueva = u_nueva)

ggplot(df_pref, aes(x = x)) +
  geom_line(aes(y = Orig, color = "Preferencias Originales (Equilibradas)"), linewidth = 1) +
  geom_line(aes(y = Nueva, color = "Nuevas Preferencias (Pro-Bien 2)"), linewidth = 1) +
  coord_cartesian(xlim = c(0, 20), ylim = c(0, 15)) +
  labs(title = "Cambio Estructural en las Preferencias", x = "Bien 1", y = "Bien 2") +
  theme_minimal()
Desplazamiento por Cambio de Preferencias

Desplazamiento por Cambio de Preferencias


4. Cambio en los Precios de Otros Bienes

Planteamiento: Demanda de Café (\(Q_c\)) dependiendo del precio del Té (\(P_t\)): \(Q_c = 100 - 2P_c + 1.5P_t\). * Si \(P_t = 20\): Inversa es \(P_c = 65 - 0.5Q_c\). * Si el Té sube a \(P_t = 40\): Inversa es \(P_c = 80 - 0.5Q_c\). La demanda de café se expande (bienes sustitutos).

qc <- seq(0, 160, length.out = 100)
pc_1 <- 65 - 0.5 * qc
pc_2 <- 80 - 0.5 * qc
df_sust <- data.frame(Q = qc, D1 = pc_1, D2 = pc_2)
df_sust[df_sust < 0] <- NA

ggplot(df_sust, aes(x = Q)) +
  geom_line(aes(y = D1, color = "D1 (Té a 20)"), linewidth = 1) +
  geom_line(aes(y = D2, color = "D2 (Té a 40)"), linewidth = 1) +
  labs(title = "Efecto de un Bien Sustituto en la Demanda", x = "Cantidad Café", y = "Precio Café") +
  theme_minimal()
Desplazamiento por Precio de Sustituto

Desplazamiento por Precio de Sustituto


5. Cambios Simultáneos en Ingreso y Precios

Planteamiento: Situación inicial: \(m=100\), \(P_1=5\), \(P_2=10\). Ecuación: \(5x_1 + 10x_2 = 100\). Situación final: El ingreso cae a \(m=80\), pero el bien 1 se subsidia bajando a \(P_1=2\). Ecuación: \(2x_1 + 10x_2 = 80\). Observamos un efecto pivote combinado con un desplazamiento hacia adentro.

x_sim <- seq(0, 45, length.out = 100)
r_ini <- (100 - 5 * x_sim) / 10
r_fin <- (80 - 2 * x_sim) / 10
df_simul <- data.frame(x = x_sim, Inicial = r_ini, Final = r_fin)
df_simul[df_simul < 0] <- NA

ggplot(df_simul, aes(x = x)) +
  geom_line(aes(y = Inicial, color = "Inicial (m=100, P1=5)"), linewidth = 1) +
  geom_line(aes(y = Final, color = "Final (m=80, P1=2)"), linewidth = 1) +
  coord_cartesian(xlim = c(0, 45), ylim = c(0, 12)) +
  labs(title = "Cambio Simultáneo en Ingreso y Precio", x = "Bien 1", y = "Bien 2") +
  theme_minimal()
Efectos Simultáneos

Efectos Simultáneos

Ejercicio Específico: Demanda, Demanda Inversa y Superávit

Planteamiento del Problema: Suponga que en el mercado de un bien tecnológico (por ejemplo, audífonos inalámbricos), la cantidad que los consumidores están dispuestos a comprar depende del precio según la siguiente Curva de Demanda: \[Q^d = 500 - 10P\]

1. Curva Inversa de Demanda: Para graficar y analizar el superávit, es matemáticamente más conveniente expresar el precio en función de la cantidad. Despejamos \(P\): \[10P = 500 - Q^d\] \[P = 50 - 0.1Q^d\] Esta es la curva inversa de demanda. Nos indica que el precio máximo que alguien está dispuesto a pagar (cuando \(Q=0\)) es \(P = 50\).

2. Equilibrio de Mercado y Cantidad Demandada: Supongamos que el precio de mercado actual de los audífonos es \(P = 20\). Sustituyendo en la demanda: \[Q^d = 500 - 10(20) = 500 - 200 = 300 \text{ unidades.}\]

3. Superávit del Consumidor (SC): El superávit del consumidor es la diferencia entre lo que los consumidores están dispuestos a pagar y lo que realmente pagan. Gráficamente, es el área del triángulo que se forma debajo de la curva de demanda y por encima del precio de mercado. * Base del triángulo: Cantidad comprada \(= 300\). * Altura del triángulo: Precio máximo dispuesto a pagar menos precio de mercado \(= 50 - 20 = 30\). * Cálculo: \[SC = \frac{\text{Base} \times \text{Altura}}{2} = \frac{300 \times 30}{2} = \frac{9000}{2} = 4500\]

A continuación, se presenta la gráfica que ilustra la curva inversa de demanda y sombrea el área correspondiente al superávit del consumidor.

# Parámetros del modelo
precio_mercado <- 20
cantidad_mercado <- 300
precio_maximo <- 50

# Generar datos para la curva inversa de demanda P = 50 - 0.1Q
q_valores <- seq(0, 500, length.out = 100)
p_valores <- 50 - 0.1 * q_valores
df_demanda <- data.frame(Q = q_valores, P = p_valores)

# Generar coordenadas para el polígono del superávit (Triángulo)
df_superavit_area <- data.frame(
  Q = c(0, 0, cantidad_mercado),
  P = c(precio_mercado, precio_maximo, precio_mercado)
)

# Gráfica
ggplot(df_demanda, aes(x = Q, y = P)) +
  # Curva de demanda
  geom_line(color = "purple", linewidth = 1.2) +
  # Área del superávit del consumidor
  geom_polygon(data = df_superavit_area, aes(x = Q, y = P), fill = "orange", alpha = 0.4) +
  # Líneas de referencia para el precio y cantidad de mercado
  geom_hline(yintercept = precio_mercado, linetype = "dashed", color = "darkred", linewidth = 0.8) +
  geom_segment(aes(x = cantidad_mercado, y = 0, xend = cantidad_mercado, yend = precio_mercado), 
               linetype = "dashed", color = "darkgray") +
  # Punto de consumo
  geom_point(aes(x = cantidad_mercado, y = precio_mercado), color = "black", size = 3) +
  # Etiquetas
  annotate("text", x = 100, y = 30, label = "Superávit = 4,500", fontface = "bold", size = 5) +
  annotate("text", x = 330, y = 22, label = "(300, 20)") +
  # Estética del gráfico
  coord_cartesian(xlim = c(0, 550), ylim = c(0, 60)) +
  labs(title = "Análisis del Superávit del Consumidor",
       subtitle = "Curva Inversa: P = 50 - 0.1Q",
       x = "Cantidad Demandada (Q)",
       y = "Precio (P)") +
  theme_minimal()
Curva Inversa de Demanda y Área del Superávit del Consumidor

Curva Inversa de Demanda y Área del Superávit del Consumidor