A Numerical Example with Python Implementation
The Principal-Agent problem involves designing a contract such that the agent performs actions aligning with the principal’s interests, despite having different objectives.
This example will focus on a simple contract design where a principal hires an agent to perform a task, and the agent’s effort influences the outcome.
Problem Setup
- Principal:
- Wants to maximize profit: $ \pi = R - w $, where $ R $ is revenue (affected by agent’s effort $ e $) and $ w $ is the wage paid.
- Agent:
- Maximizes utility: $ U = w - C(e) $, where $ C(e) $ is the cost of effort $ e $.
- Cost function: $ C(e) = \frac{1}{2} e^2 $.
- Revenue Function:
- $ R = \theta e $, where $ \theta > 0 $ is the productivity factor.
- Participation Constraint:
- Agent’s utility $ U \geq \bar{U} $, where $ \bar{U} $ is the reservation utility.
- Incentive Compatibility Constraint:
- The agent chooses effort $ e $ to maximize $ U $.
The principal’s problem is to choose $ w(e) $ and $ e $ to maximize $ \pi $ while satisfying the constraints.
Python Implementation
We will solve this using numerical optimization with SciPy.
1 | import numpy as np |
Explanation
Optimization Objective:
- The principal seeks to maximize profit while ensuring the agent’s participation and incentivizing optimal effort.
Constraints:
- Participation ensures the agent’s utility meets a minimum threshold.
- Incentive Compatibility ensures the agent’s choice of effort maximizes their utility.
Results:
- Optimal effort $(e^*)$ and wage $(w^*)$ are calculated.
- The graph shows the relationship between effort and profit, with the optimal effort marked.
Optimal effort (e*): 2.00 Optimal wage (w*): 3.00 Principal's profit: 1.00









