최적화 문제를 공식화하기 위해 MathProgBase
인터페이스를 사용하고 싶습니다. 또한, NLopt
(또는 다른 어떤 것)과 같은 오픈 소스 솔버를 사용하고 싶습니다.MathProgBase와 함께 NLopt 솔버를 사용하는 방법은 무엇입니까?
https://github.com/JuliaOpt/NLopt.jl#using-with-mathprogbase의 의사는 을 통해 NLopt
을 호출 할 수 있다고 언급합니다. 불행히도, 나는 바보 같은 예를 찾을 수 없습니다. 반면에 MathProgBase
에는 NLopt
이 언급되어 있지 않습니다. 그럼 해보 죠.
using NLopt, MathProgBase
quadprog([0., 0., 0.],[2. 1. 0.; 1. 2. 1.; 0. 1. 2.],[1. 2. 3.; 1. 1. 0.],'>',[4., 1.],-Inf,Inf,NLoptSolver(algorithm=:NLOPT_AUGLAG))
내가받을 다음과 같은 오류 메시지가 : 여기에 코드입니다
`loadproblem!` has no method matching loadproblem!(::NLoptMathProgModel, ::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Symbol)
while loading In[1], in expression starting on line 2
in quadprog at /Users/harmeling/.julia/v0.3/MathProgBase/src/HighLevelInterface/quadprog.jl:46
문제점은 무엇입니까? 다른 오픈 소스 솔버와도 잘 맞습니다. 중요한 것은 quadprog
같은 MathProgBase
호출 규칙을 사용하는 것입니다. 당신의 도움을 주셔서 감사합니다!
는 사실, 그 사이에 나는 Ipopt에 대한 quadprog 인터페이스를 구현했던
MathProgBase
인터페이스를 통해 점프를 사용하는 등의 예를 가지고있다. github.com/harmeling/Quadprog.jl에서 다운로드 할 수 있습니다. 바로 지금 METADATA에 대한 요청서를 첨부합니다. 그러나 Ipopt에 대한 인터페이스를 제공하기 위해 올바른 위치에 자유롭게 포함 시키십시오. 나는 당신이 그것을 어디에 둘지 알 것입니다. – user2979331