matlab调用cplex的时候 为什么用如下目标函数不能求解 换一个反而可行

% 清除工作区
clear;clc;close all;
% 创建决策变量
x = sdpvar(1,2);
y=[0,0];
% 添加约束条件
constr1=x(1)+x(2)>= 2;
constr2=x(2)-x(1)<=1;
constr3=x(1)<=1;
constr4=x>=y;
C = [ constr1
    constr2
    constr3
    constr4];
% 配置
ops = sdpsettings('verbose',0,'solver','cplex');
% 目标函数
z = -(x(1)+2*x(2))/(2*x(1)+x(2)); % 注意这是求解最大值
% z = x(1)+2*x(2);
% 求解
reuslt = optimize(C,z);
if reuslt.problem == 0 % problem =0 代表求解成功
       value(x)
       -value(z);% 反转
else
      disp('求解出错');
end

一个很简单的规划问题 当目标函数z取原式的时候可以求解,换成下面注释掉的简单函数反而求解失败,请问这是什么原因。