Bilevel program optimal solution

In the below program I dont obtain the global solution unless I give the the global solution as starting values.
Is there a way I can improve the modelling to achieve the global solution of t=835, a=208 and d=1. It particularly seems that that t does not achieve the maximum value in the subproblem.

Thanks

$offtext

$if not set nlpsolver $set nlpsolver conopt


*-------------------------------------------------------------------------------
scalar a_l /10/
t_l / 30/
d13_l / 1/
d23_l / 0/
T13 /100/
T23 /800/;

Equations
outerobj
innerobj
innereq1
innereq2
e1
e2
e3
e4
e5
e6
e7
e8
e9;

Variables
out
in
d13
d23
t;

Positive Variables
a;

a.l=a_l;
t.l=t_l;
d13.l=d13_l;
d23.l=d23_l;

outerobj… out =e= a*(40d13+10d23);

innerobj… in =e= t*(60d13+10d23);

innereq1… T13+td13=l= 900;
innereq2… T23+t
d23=l= 900;

e1… 2/3*( T13+ad13)+1/3(T23+ad23)=l= 900;
e2… 2/3
( T13+(a+t)d13)+1/3(T23+(a+t)d23)=l= 900;
e3… 1/3
( T13+ad13)+2/3(T23+ad23)=l= 900;
e4… 1/3
( T13+(a+t)d13)+2/3(T23+(a+t)d23)=l= 900;
e5… 1/3
( T13+ad13)-1/3(T23+ad23)=l= 200;
e6… 1/3
( T13+(a+t)d13)-1/3(T23+(a+t)d23)=l= 200;
e7… -1/3
( T13+ad13)+1/3(T23+ad23)=l= 200;
e8… -1/3
( T13+(a+t)d13)+1/3(T23+(a+t)d23)=l= 200;
e9… d13
d13+d23*d23=e= 1;

model outer / outerobj,e1,e2,e3,e4,e5,e6,e7,e8,e9 /
inner / innerobj, innereq1,innereq2 /
bilevel / outer, inner /;

$echo bilevel a d13 d23 max in t innerobj innereq1 innereq2 > “%emp.info%”
*$onecho > “%emp.info%”
*bilevel a d13 d23 t
*max in innerobj innereq1 innereq2
*$offecho

option dnlp=%nlpsolver%;

a.l=a_l;
t.l=t_l;
d13.l=d13_l;
d23.l=d23_l;

solve bilevel using emp maximizing out;