【发布时间】:2020-02-27 17:51:09
【问题描述】:
我想解决一个非线性规划问题。目标函数是非线性的,约束是线性的。给定一个向量α(dim is n*1),我想找到另一个向量θ( dim also is n*1) 使 cos(α, θ) 最小化。同时θ 有一些限制。约束为A.dot(θ) < 0(零为列向量),dim 为m*n,m < n。
问题是,Given α(dim is n*1),昏暗的是m*n,m < n
minimize cos(α, θ) = α^T.dot(θ) /(|α||θ|)
subject to
A.dot(θ) < 0 (zero dim m*1)
我尝试使用 scipy.optimize.minimize 来解决问题并输入约束。喜欢
scipy.optimize.minimize(method='SLSQP', constraints=cons)
scipy.optimize.minimize(method='COBYLA', constraints=cons)
方法的结果取决于初始值。我不知道如何得到一个合理的初始值,所以我设置的初始值是随机的。正如预期的那样,该方法给出了一个错误的结果,结果不符合约束条件。
【问题讨论】:
-
目前这并不是真正的 Python 编程问题,您能否修改问题以包含给出错误答案的代码?这与MCVE 越接近,您获得的帮助就越多!
标签: python nonlinear-optimization scipy-optimize-minimize