我试图用CVXPY从中解决Stephen提出的等周问题(7.14)。问题的表述是:
constraints = [ y[1] == 0, y[F] == yfixed- 2 * y[i+1] + y[i]) / h**2) <= C for i in np.arange(1,199) ] #not using the first constraint here
约束有for循环,当我试图
在cvxpy中解决优化问题时,有没有一种很好的方法可以通过用实际值替换优化变量来检查约束是否有效?
我有一个复杂的优化问题(100+约束),但我知道最优解应该是什么。然而,cvxpy失败并显示错误消息ValueError: Rank(A) < p or Rank([G; A]) < n我认为这是因为我在其中一个约束中有一个拼写错误,使得它们不一致。有没有一种很好的方法来替换变量的实际值,
变量w = cp.Variable(n)传递给约束lambda函数,以创建一个有效的cvxpy约束,然后将它传递给cp.Problem并解决它。我遇到的问题是,最大限度的夏普比率需要你做一个可变的替代。表单Ax ~ b (其中~表示等式或不等式)的约束必须变为Ax ~ k * b,其中k是一个非负优化变量。我尝试的一件事是将w / k传递到lambda函数中。constr = (w