سلام مهندس
به این معنی است که مدل شما با اینکه
MLP
هست ولی به طور اتفاقی جواب شما عدد صحیح شده است که این جواب عدد صحیح ممکن است با توجه به مقادیری که برای
optcr و optca
داده اید این طوری عدد صحیح شده است.
حالا شما به بنده جواب بدهید
بنده مدل تحلیل پوششی داده ها را نوشتم ولی کارایی همه واحدها را یکسان می دهد و ارور هم نمی دهد و وقتی هم ورودی ها و یا خروجی ها را دستکاری می کنم کارایی همه واحدها با هم یکسان تغییر می کنند و باز هم ارور نمی دهد
مدل اصلی که کارایی همه واحدها را یک می دهد و ارور نمی دهد به شرح زیر است:
sets
i "inputs" /i1 "doctors",i2 "nurses"/
r "outputs" /o1 "outpatients",o2 "inpatients"/
j "units" /dmu01*dmu12/
is(j) "selected units"
scalar epsilon "non-archimedean value" /0.005/;
parameters
*let dmu01 be under evaluation
xo(i) "inputs of under evaluation dmu" /i1 20,i2 151/
yo(r) "outputs of under evaluation dmu" /o1 100,o2 90/;
table x(i,j)
dmu01 dmu02 dmu03 dmu04 dmu05 dmu06 dmu07 dmu08 dmu09 dmu10 dmu11 dmu12
i1 20 19 25 27 22 55 33 31 30 50 53 38
i2 151 131 160 168 158 255 235 206 244 268 306 284;
table y(r,j)
dmu01 dmu02 dmu03 dmu04 dmu05 dmu06 dmu07 dmu08 dmu09 dmu10 dmu11 dmu12
o1 100 150 160 180 94 230 220 152 190 250 260 250
o2 90 50 55 72 66 90 88 80 100 100 147 120;
variables
v(i) "output weights"
u(r) "input weights"
z "efficiency";
positive variables
v
u;
v.lo(i)=epsilon;
u.lo(r)=epsilon;
equations
objective
const(j);
objective..z=e=(sum(r,u(r)*yo(r)))/sum(i,v(i)*xo(i));
const(j)..sum(r,u(r)*y(r,j))/sum(i,v(i)*x(i,j))=l=1;
model fractionalccr_model /all/;
solve fractionalccr_model using nlp maximizing z;
set jj(j) set of units to analyze /dmu01*dmu12/;
parameters efficiency summary report;
loop(jj,is(jj)=yes;
solve fractionalccr_model using nlp max z;
efficiency(jj)=z.l;
is(jj)=no;);
option decimals=4;
display efficiency ;
مدلی که تغییر دادم فقط در جدول ورودی ها جدول ایکس واحد 1 را شامل 21 دکتر و 100 پرستار کردم و همه کارایی ها را برابر 0.7875 کرده است و ارور هم نمی دهد.
مشکل کار کجاست که همه کارایی ها یکسان می دهد و ارور هم نمی دهد؟