Я получаю ограничения противоречивы нет решения ошибка при решении задачи оптимизации в R. Используемый пакет - NlcOptim.Я сузил его до своей целевой функции, и я подозреваю, численные / точные проблемыНиже приведен код:
library(NlcOptim)
objective_function1 <- function(x) {
return((-1) * (10*x[1]*x[2]*(-300*x[2] + 400) + 10*x[3]*x[4]*(-300*x[4] + 400)))
}
objective_function2 <- function(x) {
return((-10) * (x[1]*x[2]*(-300*x[2] + 400) + x[3]*x[4]*(-300*x[4] + 400)))
}
res1 = solnl(X=c(1, 0, 1, 0), objfun=objective_function1,
Aeq = matrix(c(1,0,1,0), nrow = 1), Beq=2,
lb=c(1,0,1,0), ub=c(2,1,2,1))
res2 = solnl(X=c(1, 0, 1, 0), objfun=objective_function2,
Aeq = matrix(c(1,0,1,0), nrow = 1), Beq=2,
lb=c(1,0,1,0), ub=c(2,1,2,1))
На мой взгляд, нет никакой разницы между двумя целевыми функциями.Однако target_function1 выдает следующую ошибку:
Error in solve.QP(HESS, -ggf, -t(tgc), c, meq = eq) :
constraints are inconsistent, no solution!
Что может быть возможным для этого?