Xu Siyuan
Xu Siyuan

Reputation: 37

Problem does not follow DCP rules, even though it is convex

I pinpointed with one of lines leading to “Problem does not follow DCP rules”.

obj_constraints += [cp.reshape(cp.transpose(C_i)@LagrangeZ[i], (3numNodes,1)) ==
cp.transpose([email protected](lot@v0) + tau
e_i@[email protected](v0))]

which corresponds to the writeup here: (2)=0. (FYI: lot means low order term which corresponds to I-XG, V0 = R[I -I 0] – X[0 0 I])

enter image description here

If we eliminate the absolute value in the constraint, the solver would not complain about DCP. i.e., replacing by obj_constraints += [cp.reshape(cp.transpose(C_i)@LagrangeZ[i], (3numNodes,1)) == cp.transpose(e_i@lot@v0) + tau e_i@all1@v0))]

I check types of three expression: [email protected](lot@v0) + tau* e_i@[email protected](v0) Out [2]: Expression(CONVEX, NONNEGATIVE, (1, 6))

e_i@lot@v0 + tau* e_i@all1@v0 Out [3]: Expression(AFFINE, UNKNOWN, (1, 6))

cp.reshape(cp.transpose(C_i)@LagrangeZ[i], (3*numNodes,1)) Out [4]: Expression(AFFINE, UNKNOWN, (6, 1))

So it means you cannot compare convex (due to introduction of absolute value) expression with affine (because c_i^Tz_i does not involve G).

Does that mean we have to relax further by eliminating absolute value? Or does it is due to absolute value of matrix?

Upvotes: 0

Views: 38

Answers (0)

Related Questions