如何在Python中针对特定值运行优化?我正在寻找与Excel的“求解器”工具等效的工具,其中可以将目标函数设置为“ x的值”,以使P
的某些参数受{{ 1}}约束,以获取N
的值。
我知道SciPy的优化框架,但实际上只看到了用于最小化或最大化x的应用程序,而不是求解特定的x值。
编辑:新示例
如何解决投资组合(x
)的回报,使得任意数量的股票x
的权重介于0和1之间(含0和1),并且所有权重之和等于1(即是i ... K
)。
我还发现了在本书中展示的在R上使用矩阵代数的可行解决方案(https://faculty.washington.edu/ezivot/econ424/portfolioTheoryMatrix.pdf,第13页)。但是,无法在Python中复制它。
任何帮助将不胜感激!
上一个示例(请忽略):
例如,如何求解所需的工作小时数(sum_weights_{i=1}^K == 1
),以最小小时数和最大小时数(P
,N_1
)为准,从而使利润为$ 10,000({ {1}})?
答案 0 :(得分:1)
也许是这样的:
In [2]: P = sympy.Symbol('P', real=True, negative=False)
In [3]: sympy.solve([sympy.Eq(P * 560, 10_000), 10 < P, P < 100], P)
Out[3]: Eq(P, 125/7)
在这里,我假设工资等于560。