thanks I am more or less forced to give you the entire code
function uSol = MPCBigM(k0, betas, roads_o, roads_v, Tc, L, PhiIN, phi_max, v_max, w, x_max )
rho_c = 40;
x0 = zeros(12,1);
x0([1 3 5 7 9 11]) = [roads_o(1).rho(k0) ...
roads_o(2).rho(k0) ...
roads_o(3).rho(k0) ...
roads_o(4).rho(k0) ...
roads_o(5).rho(k0) ...
roads_o(6).rho(k0)];
x0([2 4 6 8 10 12]) = [roads_v(1).rho(k0) ...
roads_v(2).rho(k0) ...
roads_v(3).rho(k0) ...
roads_v(4).rho(k0) ...
roads_v(5).rho(k0) ...
roads_v(6).rho(k0)];
%%% receives x(0), betas, Tc
% T = 150 sec
% Tc = 15 sec
% #k = 10;
num = 150/15 -2;
xvar = sdpvar(12, num);
xvar(:,1) = x0;
constraints=[];
u = binvar(8, num); % for a network with 4 intersection 2x2, 12 roads
dem = sdpvar(12, num);
%constraints = [constraints dem>= 0];
supp = sdpvar(12, num);
%constraints = [constraints sup>= 0];
phi_o = sdpvar(12, num);
%constraints = [constraints phi_o<=phi_max phi_o>=0];
z = sdpvar(8, num);
%constraints = [constraints z<=phi_max z>=0];
cr = sdpvar(8,num);
alpha_sw = sdpvar(8,num);
obj = sdpvar(1);
for k = 2:num-1
constraints = [constraints xvar(:,k)<=x_max xvar(:,k)>=0 ...
xvar(:,k-1)>=0 xvar(:,k-1)<=x_max dem(:,k-1)<=v_max*xvar(:,k-1) dem(:,k-1)<=phi_max dem(:,k-1)>=0];
constraints = [constraints supp(:,k-1)<=w*(x_max - xvar(:,k-1)) supp(:,k-1)<=phi_max supp(:,k-1) >= 0];
constraints = [constraints phi_o(:,k-1) <= dem(:,k-1) phi_o(:,k-1)>=0];
constraints = [constraints ...
phi_o(1,k-1) <= supp(3,k-1)/betas(1,1) ...
phi_o(1,k-1) <= supp(6,k-1)/betas(1,2) ...
phi_o(2,k-1) <= supp(3,k-1)/betas(1,1) ...
phi_o(2,k-1) <= supp(6,k-1)/betas(1,2) ...
phi_o(3,k-1) <= supp(5,k-1)/betas(2,1) ...
phi_o(3,k-1) <= supp(4,k-1)/betas(2,2) ...
phi_o(6,k-1) <= supp(7,k-1)/betas(2,1) ...
phi_o(6,k-1) <= supp(10,k-1)/betas(2,2) ...
phi_o(8,k-1) <= supp(4,k-1)/betas(3,1) ...
phi_o(8,k-1) <= supp(5,k-1)/betas(3,2) ...
phi_o(9,k-1) <= supp(7,k-1)/betas(3,1) ...
phi_o(9,k-1) <= supp(10,k-1)/betas(3,2) ...
phi_o(11,k-1) <= supp(8,k-1)/betas(4,1) ...
phi_o(11,k-1) <= supp(9,k-1)/betas(4,2) ...
phi_o(12,k-1) <= supp(8,k-1)/betas(4,1) ...
phi_o(12,k-1) <= supp(9,k-1)/betas(4,2)];
%phi_in = sdvpvar(12,1);
constraints = [constraints u(:,k-1)<=1 u(:,k-1)>=0 z(:,k-1)>=0 z(:,k-1)<= phi_max];
constr=[];
for i=1:8
constr = [constr implies(u(i,k-1)==0, z(i,k-1)==0)];
end
constraints = [constraints constr ...
implies(u(1,k-1)==1, z(1,k-1)==phi_o(1,k-1)) ...
implies(u(2,k-1)==1, z(2,k-1)==phi_o(2,k-1)) ...
implies(u(3,k-1)==1, z(3,k-1)==phi_o(3,k-1)) ...
implies(u(4,k-1)==1, z(4,k-1)==phi_o(6,k-1)) ...
implies(u(5,k-1)==1, z(5,k-1)==phi_o(8,k-1)) ...
implies(u(6,k-1)==1, z(6,k-1)==phi_o(9,k-1)) ...
implies(u(7,k-1)==1, z(7,k-1)==phi_o(11,k-1)) ...
implies(u(8,k-1)==1, z(8,k-1)==phi_o(12,k-1))];
constraints = [constraints alpha_sw(:,k-1) >= u(:,k) - u(:,k-1)];
constraints = [constraints alpha_sw(:,k-1) >= -(u(:,k) - u(:,k-1))];
cr(:,k) = cr(:,k-1) + alpha_sw(:,k-1);
constraints = [constraints alpha_sw(:,k-1)<=1 cr(:,k)<=2];
xvar(1,k) = xvar(1,k-1) + Tc/L*(PhiIN(1) - z(1,k-1));
xvar(2,k) = xvar(2,k-1) + Tc/L*(PhiIN(2) - z(2,k-1));
xvar(3,k) = xvar(3,k-1) + Tc/L*(beta(1,1)* (z(1,k-1) + z(2,k-1)) - z(3,k-1));
xvar(4,k) = xvar(4,k-1) + Tc/L*(beta(2,2)*(z(3,k-1) + z(5,k-1)) - phi_o(4,k-1));
xvar(5,k) = xvar(5,k-1) + Tc/L*(beta(2,1)*(z(3,k-1) + z(5,k-1)) - phi_o(5,k-1));
xvar(6,k) = xvar(6,k-1) + Tc/L*(beta(1,2)*(z(1,k-1) + z(2,k-1)) - z(4,k-1));
xvar(7,k) = xvar(7,k-1) + Tc/L*(beta(3,1)*(z(4,k-1) + z(6,k-1)) - phi_o(7,k-1));
xvar(8,k) = xvar(8,k-1) + Tc/L*(beta(4,2)*(z(7,k-1) + z(8,k-1)) - z(5,k-1));
xvar(9,k) = xvar(9,k-1) + Tc/L*(beta(4,1)*(z(7,k-1) + z(8,k-1)) - z(6,k-1));
xvar(10,k) = xvar(10,k-1) + Tc/L*(beta(3,2)*(z(6,k-1) + z(4,k-1)) - phi_o(10,k-1));
xvar(11,k) = xvar(11,k-1) + Tc/L*(PhiIN(3) - z(7,k-1));
xvar(12,k) = xvar(12,k-1) + Tc/L*(PhiIN(4) - z(8,k-1));
obj = obj + (xvar(:,k) - rho_c)'*(xvar(:,k) - rho_c);
end
ops = sdpsettings('solver','sedumi');
sol = optimize(constraints,obj,ops);
if sol.problem == 0
% Extract and display value
uSol = value(u);
else
%display('Hmm, something went wrong!');
sol.info yalmiperror(sol.problem)
end