Carregando WebR...
# ============================================ # Minimizacao de Custo: Isoquanta + Isocusto # Cobb-Douglas: q = K^alpha * L^beta # ============================================ # --- Parametros (altere e re-execute!) --- alpha <- 0.4 # expoente do capital beta <- 0.6 # expoente do trabalho w <- 8 # salario v <- 2 # custo do capital q0 <- 10 # nivel de produto alvo # --- Demandas condicionais --- s <- alpha + beta Lc <- q0^(1/s) * (beta * v / (alpha * w))^(alpha/s) Kc <- q0^(1/s) * (alpha * w / (beta * v))^(beta/s) C_min <- w * Lc + v * Kc # TMST no otimo TMST <- (beta/alpha) * (Kc/Lc) razao_precos <- w/v cat("====== MINIMIZACAO DE CUSTO ======\n") cat("Tecnologia: q = K^", alpha, " * L^", beta, "\n") cat("Precos: w =", w, " v =", v, " | q0 =", q0, "\n\n") cat("--- Solucao otima ---\n") cat("L^c =", round(Lc, 4), "\n") cat("K^c =", round(Kc, 4), "\n") cat("C_min = w*Lc + v*Kc =", round(C_min, 4), "\n\n") cat("--- Verificacao da tangencia ---\n") cat("TMST = (beta/alpha)*(K/L) =", round(TMST, 4), "\n") cat("w/v =", round(razao_precos, 4), "\n") cat("TMST = w/v?", ifelse(abs(TMST - razao_precos) < 1e-6, "SIM!", "NAO"), "\n\n") cat("--- Interpretacao ---\n") cat("PMgL/w =", round((beta * q0 / Lc) / w, 4), "\n") cat("PMgK/v =", round((alpha * q0 / Kc) / v, 4), "\n") cat("Produto marginal por $ gasto e igual para ambos insumos!\n") # --- Grafico --- par(mar = c(4.5, 4.5, 3, 2), bg = "#f8f9fa") L_max <- Lc * 3 K_max <- Kc * 3 # Isoquanta L_seq <- seq(0.1, L_max, length = 500) K_isoquanta <- (q0^(1/alpha) / L_seq^(beta/alpha)) K_isoquanta[K_isoquanta > K_max] <- NA # Isocusto otima K_isocusto <- (C_min - w * L_seq) / v K_isocusto[K_isocusto < 0] <- NA # Isocustos subotimas (mais caras) C_high <- C_min * 1.3 K_high <- (C_high - w * L_seq) / v K_high[K_high < 0] <- NA C_low <- C_min * 0.75 K_low <- (C_low - w * L_seq) / v K_low[K_low < 0] <- NA plot(L_seq, K_isoquanta, type = "l", lwd = 3, col = "#0d6efd", xlab = "L (trabalho)", ylab = "K (capital)", main = paste0("Minimizacao de custo: q = K^", alpha, " L^", beta), xlim = c(0, L_max), ylim = c(0, K_max), cex.lab = 1.1) lines(L_seq, K_isocusto, lwd = 2.5, col = "#dc3545") lines(L_seq, K_high, lwd = 1.5, col = "#dc3545", lty = 3) lines(L_seq, K_low, lwd = 1.5, col = "#dc3545", lty = 3) # Ponto otimo points(Lc, Kc, pch = 19, col = "#198754", cex = 2) text(Lc, Kc, paste0(" (L*=", round(Lc, 1), ", K*=", round(Kc, 1), ")\n", " C_min = ", round(C_min, 1)), pos = 4, cex = 0.85, col = "#198754", font = 2) # Caminho de expansao (K/L constante) L_exp <- seq(0, L_max, length = 100) K_exp <- (Kc/Lc) * L_exp lines(L_exp, K_exp, lwd = 1.5, col = "#6f42c1", lty = 2) # Anotacoes text(L_max * 0.7, 0.5, paste0("Incl. isocusto = -w/v = -", w/v), col = "#dc3545", cex = 0.8) legend("topright", legend = c(paste0("Isoquanta (q=", q0, ")"), paste0("Isocusto otima (C=", round(C_min, 1), ")"), "Isocustos alternativas", "Caminho de expansao"), col = c("#0d6efd", "#dc3545", "#dc3545", "#6f42c1"), lwd = c(3, 2.5, 1.5, 1.5), lty = c(1, 1, 3, 2), cex = 0.75, bg = "white")
▶ Executar
↻ Resetar
(Aguardando WebR...)