NLOPTR의 ISRES 알고리즘을 부등식 제약 조건이있는 비선형 문제에 적용하는 동안 문제가 발생했습니다. 나는이처럼 공식화 : 테이블을 "누락 기본값은 없습니다"NLOPTR의 ISRES 알고리즘에서 불평등 제약 공식화
내가 뭔가를하고 있지 않다 같아요
library(nloptr)
fn <- function(x) {
(x[1]-10)^2 + 5*(x[2]-12)^2 + x[3]^4 + 3*(x[4]-11)^2 + 10*x[5]^6 + 7*x[6]^2 + x[7]^4 - 4*x[6]*x[7] - 10*x[6] - 8*x[7]
}
hin <- function(x) {
h <- numeric(4)
h[1] <- 127 - 2*x[1]^2 - 3*x[2]^4 - x[3] - 4*x[4]^2 - 5*x[5]
h[2] <- 282 - 7*x[1] - 3*x[2] - 10*x[3]^2 - x[4] + x[5]
h[3] <- 196 - 23*x[1] - x[2]^2 - 6*x[6]^2 + 8*x[7]
h[4] <- -4*x[1]^2 - x[2]^2 + 3*x[1]*x[2] -2*x[3]^2 - 5*x[6] +11*x[7]
return(h)
}
x0 <- c(1, 2, 0, 4, 0, 1, 1)
isres(x0 = x0, fn = fn, hin = hin)
나는 "인수를 일치의 오류 (HIN)"라는 메시지가 불평등 제약 조건으로 이 문제를 해결하는 방법을 알려주시겠습니까? 많은 많은 감사합니다!
'isres' 함수의 작성자는'match'보다는'match.call'을 의미한다고 생각합니다. –
아. 매우 통찰력있는. 나는 패키지의 관리자에게 메일을 보낼 것이다. – Daniel
@Ahnaf 제 질문을 대답했다고 표시하는 것을 잊지 말고 생각한다면 대답을주십시오. – Daniel