Hello,
I am attempting to rewrite the following second order cone program (SOCP) as is given by this paper:
http://arc.aiaa.org | DOI: 10.2514/1.G004155
The problem is called SOCP1 and is the following:
In this problem, I have managed to obtain a solution without implementing the control rate constraint (outlined in red).
In code, the constraint is written as the following:
m_wet=1000;
s(:,i+1) >= s(:,i)-Ts*Tdmax/m_wet;
s(:,i+1) <= s(:,i)+Ts*Tdmax/m_wet;
Where m_wet is m(t), which the authors consider as a constant mass to keep convexity intact. The reason why I am almost certain that it is not the values I am giving these variables that is causing the issue, is because I have tried giving a very large bound for s(:,i+1) by making m_wet either really small, or Tdmax really big, or both. The index i takes place of k, Tdmax the Tmax term with the dot, and Ts the T with the s subscript, and s is the sigma variable.
I’ve gone through https://yalmip.github.io/debugginginfeasible/ and didn’t receive a solution but bisecting the code ultimately led me to believe that there is something wrong with the way I am writing this constraint.
What I haven’t tried doing is using CVXQUAD to replace expressions with log in my code. However, I haven’t considered this yet because my log expressions are only for constant variables (thus not the declared variables after the line cvx_begin) and I do not believe that is what the amendments that CVXQUAD makes target.
So, when I do include this constraint, the problem returns unbounded. Why is this the case? Any help is appreciated.
EDIT: Ts is defined by
Ts=(tf-tv(i))/(N-1);
Where tf is the fixed final time, tv is a predeclared vector outside of the cvx routine, and N is the fixed number of discretization nodes for the problem (N=length(tv)).
SOLUTION: The issue with the unboundedness of the problem was fixed by giving a larger final time (tf) for the problem. This wasn’t directly obvious because the final time is a constant input which isn’t applied directly to any of the decision variables. In conclusion, there was no problem in the formulation/syntax of the constraint, but it was simply a matter of artificial unboundedness brought by the fixed final time.