Carregando WebR...
# ============================================ # Barganha Sindical de Nash # Baseado no Exercicio 17.9 # ============================================ # Lucro da firma: pi = (100 - H)*H - w*H # Utilidade do sindicato: U_S = (w - w0)*H # Demanda por trabalho: H^d(w) = (100 - w)/2 w0 <- 10 # salario de reserva cat("====== BARGANHA SINDICAL DE NASH ======\n") cat("Lucro: pi = (100 - H)*H - w*H\n") cat("Utilidade sindical: U_S = (w - w0)*H\n") cat("Demanda: H^d(w) = (100 - w)/2\n") cat("Salario de reserva: w0 =", w0, "\n\n") # Demanda por trabalho Hd <- function(w) (100 - w) / 2 # Lucro na demanda pi_func <- function(w) { H <- Hd(w) (100 - H) * H - w * H } # Utilidade do sindicato na demanda Us_func <- function(w) (w - w0) * Hd(w) # Produto de Nash: max [(w-w0)*H]^beta * [pi]^(1-beta) # Substituindo H = (100-w)/2: # U_S = (w-w0)*(100-w)/2 # pi = (100-w)^2/4 # Nash: max [(w-w0)(100-w)/2]^beta * [(100-w)^2/4]^(1-beta) # Tomando log e derivando: # beta/(w-w0) - beta/(100-w) - 2(1-beta)/(100-w) = 0 # beta/(w-w0) = (beta + 2 - 2*beta)/(100-w) = (2-beta)/(100-w) # beta*(100-w) = (2-beta)*(w-w0) # w* = (beta*(100-w0) + 2*w0) / 2 = w0 + beta*(100-w0)/2 cat("--- Salario negociado por beta ---\n") cat(sprintf("%-8s %-10s %-10s %-10s %-10s\n", "beta", "w*", "H*", "pi*", "U_S*")) cat(strrep("-", 50), "\n") beta_vals <- seq(0, 1, by = 0.1) w_neg <- w0 + beta_vals * (100 - w0) / 2 H_neg <- Hd(w_neg) pi_neg <- sapply(w_neg, pi_func) Us_neg <- sapply(w_neg, Us_func) for (i in seq_along(beta_vals)) { cat(sprintf("%-8.1f %-10.1f %-10.1f %-10.0f %-10.0f\n", beta_vals[i], w_neg[i], H_neg[i], pi_neg[i], Us_neg[i])) } cat("\nFormula: w* = w0 + beta*(100-w0)/2\n") cat("beta=0: competitivo (w=w0, firma tem todo o poder)\n") cat("beta=1: monopolio sindical (w=55, sindicato tem todo o poder)\n") # --- Caso especifico beta = 0.5 --- beta_ex <- 0.5 w_ex <- w0 + beta_ex * (100 - w0) / 2 H_ex <- Hd(w_ex) pi_ex <- pi_func(w_ex) Us_ex <- Us_func(w_ex) cat(sprintf("\n--- Caso beta = %.1f ---\n", beta_ex)) cat(sprintf("w* = %.1f H* = %.1f pi* = %.0f U_S* = %.0f\n", w_ex, H_ex, pi_ex, Us_ex)) # --- Grafico --- par(mfrow = c(1, 2), mar = c(4.5, 4.5, 3, 1), bg = "#f8f9fa") # Painel 1: Salario e emprego vs beta plot(beta_vals, w_neg, type = "l", lwd = 3, col = "#dc3545", xlab = expression(beta ~ "(poder do sindicato)"), ylab = "", main = "Salario e emprego vs. poder sindical", ylim = c(0, 60)) par(new = TRUE) plot(beta_vals, H_neg, type = "l", lwd = 3, col = "#0d6efd", lty = 2, axes = FALSE, xlab = "", ylab = "", ylim = c(0, 60)) axis(4, col = "#0d6efd", col.axis = "#0d6efd") mtext("H*", side = 4, line = 2.5, col = "#0d6efd") # beta = 0.5 abline(v = 0.5, col = "#adb5bd", lty = 3) points(0.5, w_ex, pch = 19, col = "#dc3545", cex = 1.5) points(0.5, H_ex, pch = 17, col = "#0d6efd", cex = 1.5) legend("left", legend = c("w* (eixo esq.)", "H* (eixo dir.)"), col = c("#dc3545", "#0d6efd"), lwd = 3, lty = c(1, 2), cex = 0.65, bg = "white") # Painel 2: Curva de contrato no espaco (w, H) w_range <- seq(w0, 55, length = 200) H_range <- Hd(w_range) plot(H_range, w_range, type = "l", lwd = 3, col = "#6f42c1", xlab = "Emprego (H)", ylab = "Salario (w)", main = "Curva de demanda e equilibrios", xlim = c(0, 50), ylim = c(0, 60)) # Marcar pontos para beta = 0, 0.25, 0.5, 0.75, 1 beta_marks <- c(0, 0.25, 0.5, 0.75, 1) w_marks <- w0 + beta_marks * (100 - w0) / 2 H_marks <- Hd(w_marks) points(H_marks, w_marks, pch = 19, col = c("#198754", "#0d6efd", "#fd7e14", "#dc3545", "#6f42c1"), cex = 1.8) for (i in seq_along(beta_marks)) { pos <- ifelse(i <= 3, 4, 2) text(H_marks[i], w_marks[i], paste0(" b=", beta_marks[i]), col = c("#198754", "#0d6efd", "#fd7e14", "#dc3545", "#6f42c1")[i], cex = 0.65, font = 2, pos = pos) } abline(h = w0, col = "#adb5bd", lty = 3) text(5, w0 + 2, paste0("w0 = ", w0), col = "#adb5bd", cex = 0.7, font = 2) legend("topright", legend = "Demanda H^d(w)", col = "#6f42c1", lwd = 3, cex = 0.65, bg = "white")
▶ Executar
↻ Resetar
(Aguardando WebR...)