How can i fix this error

CVX is correct. You are wrong.

Your objective is basically log(constant - epsilon) where epsilon is the variable. That is concave.

Also note that your objective consists only of the single term achievable_rate_worst(K,K,K)
which also means all the other calculations in the nested for loops are extraneous. Presumably this is not what you want. However, minimizing a concave function incurs the death penalty in CVX. You can use CVX for this problem if you forgot a minus sign in the objective function, or meant to maximize rather than minimize. Otherwise, you’re out of luck with CVX.