Suppose I have the following optimization problem:
The optimization variable is x, which is a vector of size N. Please, how do I express the constraint x[i+1]=x[i]+a in CVX? I know that to declare a vector variable in CVX, I can write x(N). I tried to make a loop inside CVX to express this constraint but didn’t work. I also searched the user guide for similar problems but couldn’t find any.
Thanks again for striving to answer the forum questions!
I could now do it with both your way, where x is declared as a variable, and using expression assignment, i.e. x is declared as an expression. I wanted to know the exact difference between the two. For instance, I saw that, with x declared as a variable, the first value of the vector x is optimized such that x satisfies all the constraints. However, with expression, the first value of the vector x is always initialized as zero unless it is explicitly initialized otherwise. So what do you think please?
Upon CVX cimpletion, presuming it declares optimum, the optimal value is numerically populated in all CVX variables. However, the numerical values of expressions may not necessarily correspond to the optimum,. The true optimum is used internally so that the problem is correctly solved, but to be sure you have the correct optimal values, you have to compute the CVX expressions using the CVX (optimal) variable values.