Help! CVX iteratively solves the Taylor series expansion points

I’m using CVX to iteratively update the Taylor series expansion point to be close to the original function. However, my constraint is that beta1 is greater than 0.1 and less than 0.5. The optimal result of the final iteration is beta1=0.1, but the objective function can reach a larger value when I manually calculate the optimal result beta1=0.5. Why is that? I used a different solver and still found beta1=0.1 as the optimal value. But this is not true. Why not 0.5? Here’s my key code

syms beta_func
f3 = log2(T_t1 + P(1-beta_func)abs(hAE’w2_opt)^2 …
+ P
beta_func
abs(hAE’w1_opt)^2);
f6 = log2(T_t
1 + Pbeta_funcabs((hR2’Theta_opthAR + hA2’)*w1_opt)^2);
f7 = f3;

    beta1 = beta1_opt;
    obj_val = zeros(1,10);

    for i = 1:10

        cvx_begin quiet
    
            variable beta1_cvx
    
            maximize( T_t*(log(T_t*1 + P*beta1_cvx*abs(hA1'*w1_opt)^2)/log(2) ...
                - log(T_t*1)/log(2) ...
                - (eval(subs(f3,beta_func,beta1)) + (eval(subs(diff(f3),beta_func,beta1)))*(beta1_cvx - beta1)) ...
                + log(T_t*1 + P*(1-beta1_cvx)*abs(hAE'*w2_opt)^2)/log(2) ...
                + log(T_t*1 + P*beta1_cvx*abs((hR2'*Theta_opt*hAR + hA2')*w1_opt)^2 + P*(1-beta1_cvx)*abs((hR2'*Theta_opt*hAR + hA2')*w2_opt)^2)/log(2) ...
                - (eval(subs(f6,beta_func,beta1)) + (eval(subs(diff(f6),beta_func,beta1)))*(beta1_cvx - beta1)) ...
                - (eval(subs(f7,beta_func,beta1)) + (eval(subs(diff(f7),beta_func,beta1)))*(beta1_cvx - beta1)) ...
                + log(T_t*1 + P*beta1*abs(hAE'*w1_opt)^2)/log(2)) )
            subject to
                beta1_cvx >= 0.1; 
                beta1_cvx <= 0.5;
                
        cvx_end

        beta1 = beta1_cvx;
        obj_val(i+1) = cvx_optval;

        if abs(obj_val(i+1) - obj_val(i)) < 0.001
            break;
        end

    end

An obvious thing you should do is remove quiet, and look at the solver and CVX output on each iteration, as well as the optimal variable values and what is being fed into the next iteration. Beyond that, read the following link.