Are you using the quadprog package? If I can take a random shot in the dark, should bvec be -bvec?
On Mon, Sep 21, 2020 at 9:28 PM Maija Sirkjärvi <maija.sirkja...@gmail.com> wrote: > > Hi! > > I was wondering if someone could help me out. I'm minimizing a following > function: > > \begin{equation} > $$\sum_{j=1}^{J}(m_{j} -\hat{m_{j}})^2,$$ > \text{subject to} > $$m_{j-1}\leq m_{j}-\delta_{1}$$ > $$\frac{1}{Q_{j-1}-Q_{j-2}} (m_{j-2}-m_{j-1}) \leq \frac{1}{Q_{j}-Q_{j-1}} > (m_{j-1}-m_{j})-\delta_{2} $$ > \end{equation} > > I have tried quadratic programming, but something is off. Does anyone have > an idea how to approach this? > > Thanks in advance! > > Q <- rep(0,J) > for(j in 1:(length(Price))){ > Q[j] <- exp((-0.1) * (Beta *Price[j]^(Eta + 1) - 1) / (1 + Eta)) > } > > Dmat <- matrix(0,nrow= J, ncol=J) > diag(Dmat) <- 1 > dvec <- -hs > Aeq <- 0 > beq <- 0 > Amat <- matrix(0,J,2*J-3) > bvec <- matrix(0,2*J-3,1) > > for(j in 2:nrow(Amat)){ > Amat[j-1,j-1] = -1 > Amat[j,j-1] = 1 > } > for(j in 3:nrow(Amat)){ > Amat[j,J+j-3] = -1/(Q[j]-Q[j-1]) > Amat[j-1,J+j-3] = 1/(Q[j]-Q[j-1]) > Amat[j-2,J+j-3] = -1/(Q[j-1]-Q[j-2]) > } > for(j in 2:ncol(bvec)) { > bvec[j-1] = Delta1 > } > for(j in 3:ncol(bvec)) { > bvec[J-1+j-2] = Delta2 > } > solution <- solve.QP(Dmat,dvec,Amat,bvec=bvec) > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.