Let us consider the following optimization problem:

```
using JuMP, Ipopt
function Opti_model(A,b)
m = Model(with_optimizer(Ipopt.Optimizer))
@variable(m,x[1:5],lower_bound=0,upper_bound=1)
@objective(m,Max,sum(A[i,j]*x[i]*x[j] for i=1:5, j=1:5)+sum(c[i]*x[i] for i=1:5))
JuMP.optimize!(m)
return (getvalue(x))
end
B = rand(5,5).*2 .- 1
c = rand(5,1)
Primal_sol = Opti_model(B'*B,c)
```

There is an obvious bug using

getvalue()

This does not work with JuMP 0.19, so I find the following format:

JuMP.value(x[i])

If we use the above solution, then we need to run a loop and also need an extra variable to store the values. Is there any other efficient way to do this?