dim*_*_ps 5 python scipy scipy-optimize scipy-optimize-minimize
从 scipy optimize 运行最小化功能时,我得到了一些非常奇怪的结果。
这是代码
from scipy.optimize import minimize
def objective(x):
return - (0.05 * x[0] ** 0.64 + 0.4 * x[1] ** 0.36)
def constraint(x):
return x[0] + x[1] - 5000
cons = [{'type':'eq', 'fun': constraint}]
Run Code Online (Sandbox Code Playgroud)
跑步时
minimize(objective, [2500.0, 2500.0], method='SLSQP', constraints=cons)
Run Code Online (Sandbox Code Playgroud)
我得到2500了 x 的每个元素的分配。和fun: -14.164036415985395
通过快速检查,此分配[3800, 1200]给出-14.9
它也对初始条件高度敏感。
关于我做错了什么的任何想法
绘制的两个函数
UPDATE 它实际上返回了初始条件。
如果我尝试这个
def objective(x):
return - (x[0] ** 0.64 + x[1] ** 0.36)
def constraint(x):
return x[0] + x[1] - 5000.0
cons = [{'type':'eq', 'fun': constraint}]
minimize(objective, [2500, 2500], method='SLSQP', constraints=cons)
Run Code Online (Sandbox Code Playgroud)
返回的结果似乎很好(我已经改变了目标函数)
| 归档时间: |
|
| 查看次数: |
1130 次 |
| 最近记录: |