ipopt

Why does IPOPT evaluate objective function despite breaching constraints?

こ雲淡風輕ζ 提交于 2019-12-12 16:09:44
问题 I'm using IPOPT within Julia. My objective function will throw an error for certain parameter values (specifically, though I assume this doesn't matter, it involves a Cholesky decomposition of a covariance matrix and so requires that the covariance matrix be positive-definite). As such, I non-linearly constrain the parameters so that they cannot produce an error. Despite this constraint, IPOPT still insists on evaluating the objective function at paramaters which cause my objective function

Using IPOPT with Openmdao (or pyoptsparse) in python

廉价感情. 提交于 2019-12-12 03:41:44
问题 Hello everyone. I have a little problem : I am working with openmdao and pyOptSparseDriver. It is working for some solvers (SLSQP, PSQP for instance) so there is no problem about that installation. Now i'd like to try the same with IPOPT, but the code is not given with pyoptsparse. I followed the COIN-OR documentation to install IPOPT (http://www.coin-or.org/Ipopt/documentation/node10.html), and everything SEEMS ok (i don't know how to check it). Now i have a COIN-OR folder on my desk and i

AbstractModel VS ConcreteModel of pyomo? how does “opt.options[”tol“]” make the difference in finding optimal solution?

不羁岁月 提交于 2019-12-11 15:26:23
问题 I have an AbstractModel and a ConcreteModel solving the same problem, but they are performing differently. It is mainly about initial value of a variable and tolerance of ipopt. When I initialize my variable model.x as 10 and opt.options["tol"] = 1E-64: ConcreteModel can find optimal solution, while abstract model "Solved To Acceptable Level". (But the solutions they find are actually the same) When I initialize my variable model.x as 100 and opt.options["tol"] = 1E-64: ConcreteModel can find

Installing R Interface for Ipopt

China☆狼群 提交于 2019-12-08 12:20:31
问题 I have exactly the same problem as the poster here, unfortunately no solution is provided on that link. I built and installed IPOPT (version 3.12.6) on Windows 7 (64bit) with Cygwin, but I cannot seem to get the R interface to work. All commands (configure, make, make install, make test) were executed without error. When I try to build the R interface from RStudio, I tried using both the code in the "build" folder as well as the code in the main directory. I get the following errors: `

installing Ipopt for anaconda python

寵の児 提交于 2019-12-07 23:27:14
问题 Has anyone installed Ipopt on Anaconda python? I downloaded the version 3.6.1. Addditionally, I downloaded the requested intel Fortran libraries as described in the readme file. The install should be straight forward by using configure make and make install with all dependencies linked to it. I hope I will figure that out by myself. What else do I have to consider if I would like to use Ipopt within anaconda ? In particular I would like to build Pygmo with the Ipopt included. Or is it

Julia+JuMP: variable number of arguments to function

久未见 提交于 2019-12-07 09:22:54
问题 I'm trying to use JuMP to solve a non-linear problem, where the number of variables are decided by the user - that is, not known at compile time. To accomplish this, the @NLobjective line looks like this: @eval @JuMP.NLobjective(m, Min, $(Expr(:call, :myf, [Expr(:ref, :x, i) for i=1:n]...))) Where, for instance, if n=3 , the compiler interprets the line as identical to: @JuMP.NLobjective(m, Min, myf(x[1], x[2], x[3])) The issue is that @eval works only in the global scope, and when contained

Julia+JuMP: variable number of arguments to function

℡╲_俬逩灬. 提交于 2019-12-05 13:33:44
I'm trying to use JuMP to solve a non-linear problem, where the number of variables are decided by the user - that is, not known at compile time. To accomplish this, the @NLobjective line looks like this: @eval @JuMP.NLobjective(m, Min, $(Expr(:call, :myf, [Expr(:ref, :x, i) for i=1:n]...))) Where, for instance, if n=3 , the compiler interprets the line as identical to: @JuMP.NLobjective(m, Min, myf(x[1], x[2], x[3])) The issue is that @eval works only in the global scope, and when contained in a function, an error is thrown. My question is: how can I accomplish this same functionality --

Error in get(as.character(FUN), mode = “function”, envir = envir)

亡梦爱人 提交于 2019-11-29 03:52:38
I am new to R, so forgive me if the question is a little silly. I am trying to write a simple while loop for a value function iteration. My function (optim.routine) uses the solver ipoptr. Here is my code: d<-1 old1<-0 old2<-0 num.iter<-0 i.esp<-1e-05 i.T<-100 lb<-0 ub<-10 while (d>i.eps & num.iter<i.T){ new1 <- optim.routine(old1, old2, eval_f=eval_f, eval_grad_f=eval_grad_f, lb=lb, ub=ub, update=FALSE) d<-dist(c(old1, new1), method="euclidean") num.iter<-num.iter+1 old1<-new1 } where optim.routine is the following function: optim.routine<-function(old1, old2, eval_f=obj, eval_grad_f=obj

Error in get(as.character(FUN), mode = “function”, envir = envir)

泪湿孤枕 提交于 2019-11-27 17:56:28
问题 I am new to R, so forgive me if the question is a little silly. I am trying to write a simple while loop for a value function iteration. My function (optim.routine) uses the solver ipoptr. Here is my code: d<-1 old1<-0 old2<-0 num.iter<-0 i.esp<-1e-05 i.T<-100 lb<-0 ub<-10 while (d>i.eps & num.iter<i.T){ new1 <- optim.routine(old1, old2, eval_f=eval_f, eval_grad_f=eval_grad_f, lb=lb, ub=ub, update=FALSE) d<-dist(c(old1, new1), method="euclidean") num.iter<-num.iter+1 old1<-new1 } where optim