首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Julia中使用solve cvxopt?

如何在Julia中使用solve cvxopt?
EN

Stack Overflow用户
提问于 2021-07-28 20:25:11
回答 1查看 32关注 0票数 0

嗨,我正在尝试使用Julia中的求解器cvxopt。所以我写了一个这样的代码:

代码语言:javascript
复制
@time begin  
using PyCall  
using Pkg ENV["PYTHON"]=""        
Pkg.add("CVXOPT")  
Pkg.test("CVXOPT")  
using Compat.SparseArrays 
using NPZ

npzread("C:/Users/skqkr/Desktop/Semesterarbeit/Chiwan_Q1.npz") 
   Q = 2*(Matrix10["Q"]) 
   p = (Matrix10["p"])  
   G = (Matrix10["G"]) 
   h = (Matrix10["h"]) ## Rechte Seite von der Ungleichung
    
    sol = cvxopt.solvers.qp(Q, p, G, h, kktsolver="ldl", options=["kktreg":1e-9])
    
    print(sol) print(sol["x"])
    
        
         end  
end

看起来一切都很好,但是在迭代之后会出现这样的错误。

代码语言:javascript
复制
    Certificate of dual infeasibility found.

     Testing CVXOPT tests passed 

UndefVarError: cvxopt not defined

如何在Julia中使用CVXOPT求解器?我的代码中会出现什么问题?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-07-29 20:49:49

CVXOPT是大写的。确保在大写名称中也引用它(您的代码使用小写的cvxopt):

代码语言:javascript
复制
@time begin  
using PyCall  
using Pkg ENV["PYTHON"]=""        
Pkg.add("CVXOPT")  
Pkg.test("CVXOPT")  
using Compat.SparseArrays 
using NPZ

npzread("C:/Users/skqkr/Desktop/Semesterarbeit/Chiwan_Q1.npz") 
   Q = 2*(Matrix10["Q"]) 
   p = (Matrix10["p"])  
   G = (Matrix10["G"]) 
   h = (Matrix10["h"]) ## Rechte Seite von der Ungleichung
    
    sol = CVXOPT.solvers.qp(Q, p, G, h, kktsolver="ldl", options=["kktreg":1e-9])
    
    print(sol) print(sol["x"])
    
        
         end  
end

(提示:如果代码是开源的,请查看他们的测试文件夹,看看当你遇到问题时他们是如何调用他们的库的。这将显示它们的库在脚本中的常规调用方式。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68560366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档