# Computation time of SDP

Hi guys,
I’m using cvx with sdpt3 to solve following sdp problem (prb.N = 1220)

variable Pm(prb.N)
variable Ib(prb.N)
variable Pel(prb.N)
variable dm_f(prb.N)
variable X(prb.N+1)
variable U1(prb.N)
variable Te(prb.N)
variable Tm(prb.N)
variable Tb(prb.N)
dual variables s{prb.N}
expression INe1(prb.N)
expression INe2(prb.N)
expression INe3(prb.N)
expression INe4(prb.N)
expression INb1(prb.N)
expression INb2(prb.N)
expression INb3(prb.N)
expression IN1(prb.N)
expression IN2(prb.N)
expression IN3(prb.N)

minimize(sum(Pel))

subject to

Te(INe1|INe2) == 0;
Te(INe3) == (1 - U1(INe3)) .* Ttot(INe3);
Te >= 0;
Te <= Te_max;
Tb(INb1|INb2) == 0;
Tb(INb3) == (1 - U1(INb3)) .* Ttot(INb3);
Pel(INe1|INe2) == 0;
Pel(INe4) == be(INe4) .* Te(INe4) + ce(INe4);
U1(IN1) == -1;
U1 <= 1;
U1 >= -1;
Tm(IN1) == 0;
Tm(IN2) <= 0;
Tm(IN3) == U1(IN3) .* Ttot(IN3);
Tm >= Tm_min;
Tm <= Tm_max;
Pm(IN1) == 0;
Pm(IN3) >= am(IN3) .* square(Tm(IN3)) + bm(IN3) .* Tm(IN3) + cm(IN3);
Pm(IN3) <= par.V_oc .* Ib(IN3) - R_i .* square(Ib(IN3));
Ib(IN1) == 0;
Ib >= -I_max_dc;
Ib <= I_max_c;
X >= X_min;
X <= X_max;
X(1) == X_0;
X(prb.N+1) >= X_N;

for i=1:prb.N
s{i} : - Ib(i) .* dt ./ (Q_0 .* 3600) + X(i) == X(i+1);
end

(IN~ are some indices)

This is part of an iterative optimization algorithm which means that I have to run the same problem with different parameter values a couple of times. There is no problem with solving this. However, the computation time is quite long (about 20s from cvx_begin til cvx_end). This problem is taken from a paper which claims that parsing with cvx and solving with sedumi takes about 1-2s.

Is there any possibility to parse this problem with cvx without solving it. In a way that I don’t have to parse it every iteration. Or maybe somebody have an idea how to achieve a computation time about 1-2s?

The authors of the paper mentioned above are reliable! That’s why I’m quite sure, that it must be possible.

I would appreciate every kind of help.