Some Constraints are Violated in CVX

I am using CVX to solve a certain constrained optimization problem using DC programming approach. However, the CVX solution doesn’t satisfy all the constraints.

Can I force CVX to satisfy all constraints? If yes, How can I do that? If no, which solver do you recommend me?

Thanks in advance.

You’re going to have to provide specifics. How far are the constraints violated? Frankly, with any numerical solver, you have to expect, and account for, small violations in all active constraints.

They are violated by large values (about 30% to 40% violation of inequality constraints).

-The objective function contain sum of log terms. I knew that CVX approximate it using Successive approximation method. Is this the reason of violation??

-The dimension of decision vector is very large (about 3000 variables), but 80% of the variables are known to be zero a priori, and they are constrained to be zeros. Does decreasing the problem size by removing the zero variables implies better solution accuracy in CVX??

Thanks in advance

Yes, I suspect logs are the problem. However, if you have a sum(log(x)) objective, just maximize geo_mean(x) instead. It’s equivalent, and avoids successive approximation. Nevertheless, if you can supply a self-contained example to, we can take a look.

Thanks Dr.Grant. I appreciate your quick response.