-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoptimization_comparison.py
More file actions
55 lines (47 loc) · 2.16 KB
/
optimization_comparison.py
File metadata and controls
55 lines (47 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import numpy as np
from Labor_production_analysis import analyze_production_labor
from Profit_function import evaluate_profit, production_function
def compare_optimizations():
# Common parameters matching Profit_function.py
params = {
'capital': 6,
'price': 1,
'wage': 0.0625,
'capital_price': 0, # Not used in Profit_function
'depreciation_rate': 0, # Not used in Profit_function
'productivity': 1,
'capital_elasticity': 0.5, # = 1 - alpha from Profit_function (alpha=0.9)
'labor_supply': 30, # Matching max_labor from Profit_function
'demand': float('inf') # No demand constraint in Profit_function
}
# Run Labor_production_analysis optimization
results_lpa = analyze_production_labor(params)
# Calculate equivalent values using Profit_function approach
optimal_production_pf = production_function(
results_lpa['optimal_solution'].labor,
params['capital'],
1 - params['capital_elasticity'] # Convert to alpha
)
profit_pf = evaluate_profit(
[optimal_production_pf],
[results_lpa['optimal_solution'].labor],
params['capital'],
1 - params['capital_elasticity'], # Convert to alpha
params['price'],
params['wage'],
0.05, # discount_rate from Profit_function
1 # periods from Profit_function
)
print("=== Comparison Results ===")
print("\nLabor_production_analysis results:")
print(f"Optimal Labor: {results_lpa['optimal_solution'].labor:.4f}")
print(f"Optimal Production: {results_lpa['optimal_solution'].production:.4f}")
print(f"Optimal Profit: {results_lpa['optimal_solution'].profit:.4f}")
print("\nProfit_function results:")
print(f"Production at LPA labor: {optimal_production_pf:.4f}")
print(f"Profit at LPA labor: {profit_pf:.4f}")
print("\nDifferences:")
print(f"Production Difference: {abs(results_lpa['optimal_solution'].production - optimal_production_pf):.4f}")
print(f"Profit Difference: {abs(results_lpa['optimal_solution'].profit - profit_pf):.4f}")
if __name__ == "__main__":
compare_optimizations()