如何用Python优化固定K=10时的经济学利润函数求最优L与利润
解决Python求解微观经济最优劳动水平及利润的问题
代码核心错误
- Python中乘法必须显式写
*,你的代码里5(...)属于语法错误,需改为5*(...) - 未导入
scipy.optimize.minimize函数,直接调用会触发NameError
修正后的完整代码
from scipy.optimize import minimize def profit(L): K = 10 # 修正乘法符号,明确计算逻辑 return 5 * (12 * L * K - 0.1 * L**2 * K) - 5 * L - 5 * K # 最大化利润等价于最小化负利润函数 result = minimize(lambda L: -profit(L), x0=0) # 提取最优劳动水平(单变量解取数组第一个元素) optimal_L = result.x[0] # 计算对应最大利润 max_profit = profit(optimal_L) print(f"最优劳动水平L: {optimal_L:.2f}") print(f"最大利润: {max_profit:.2f}")
补充验证
用微积分方法可验证结果:对利润函数关于L求导并令导数为0,推导得最优L公式为L=(12*K*5 -5)/(2*0.1*K*5),代入K=10计算得L=59.5,与代码运行结果完全一致。
内容的提问来源于stack exchange,提问作者BeconS
相关产品推荐
相关产品推荐

