I am attempting to solve the following convex optimization problem in CVX for variables M and E:
As you can see, the objective function requires the use of two summations: one over all i, and one over all j.
Unfortunately, I haven’t been able to find any documentation anywhere that discusses how/if it is possible to use such notation within a CVX block.
Is this even possible?
You can avoid using
for loops in the objective by observing that
is a fixed matrix defined outside of the call to CVX. You can do a similar thing for the slack-variables term, defining a binary matrix/3d-array.
(Another approach is to put it in epigraph form, which would shift the for loops from the objective to the constraints.)
Thanks, Bien. That’s actually what I ended up doing. Great minds think alike!