我有一个非线性优化问题,在Mathematica中可以解决:
FindMaximum[{(81 x + 19)^0.4 + (80 (1 - x) + 20)^0.6, 0 <= x <= 1}, x]
但是,现在我在没有Mathematica的计算机上,并且我想使用CVXOPT模块解决Python中的类似问题。我看着examples,发现了线性程序,二次程序和其他类型的程序,但是找不到这个简单的程序。
我可以用CVXOPT解决这样的程序吗?
答案 0 :(得分:0)
我没有找到使用cvxopt的解决方案,但是找到了一个更好的选择- cvxpy :
18
打印:
import cvxpy as cp
x = cp.Variable()
prob = cp.Problem(
cp.Maximize((81*x + 19)**0.6 + (80*(1-x)+20)**0.6),
[0 <= x, x <= 1])
prob.solve() # Returns the optimal value.
print("status:", prob.status)
print("optimal value", prob.value)
print("optimal var", x.value)