<p>看到文献中有一段关于使用simulation方法解决线性规划问题的shazam代码,由于对shazam得有些命令不懂,使用一些简单的数据运行后,总是得不到结果,请各位高手指点一下。</p><p>代码如下:</p><p>* The file parm.txt contains estimated parameters of group frontiers (by column)<br/>* The file sfa#.txt contains n# data observations for group#<br/>* Sections 1 and 3 are problem-specific.<br/>* 1. SET NUMBERS OF PARAMETERS ETC.<br/>gen1 nparms = 10<br/>gen1 ngroups = 6<br/>gen1 n1 = 513<br/>gen1 n2 = 587<br/>gen1 n3 = 2560<br/>gen1 n4 = 1958<br/>gen1 n5 = 1361<br/>gen1 n6 = 593<br/>* 2. READ THE ESTIMATED PARAMETERS OF THE GROUP FRONTIERS<br/>smpl 1 nparms<br/>read (parm.txt) parm / rows = nparms cols = ngroups<br/>do# = 1,ngroups<br/>&nbsp; dim b# nparms<br/>&nbsp; copy parm b# / fcols=#;# tcols = 1;1<br/>endo<br/>* 3. READ THE DATA AND CONSTRUCT DATA MATRICES AND VECTORS<br/>gen1 j2 = n1+1<br/>gen1 j3 = n1+n2+1<br/>gen1 j4 = n1+n2+n3+1<br/>gen1 j5 = n1+n2+n3+n4+1<br/>gen1 j6 = n1+n2+n3+n4+n5+1<br/>gen1 k2 = n1+n2<br/>gen1 k3 = n1+n2+n3<br/>gen1 k4 = n1+n2+n3+n4<br/>gen1 k5 = n1+n2+n3+n4+n5<br/>gen1 n = n1+n2+n3+n4+n5+n6<br/>smpl 1 n<br/>genr one = 1<br/>genr dummy = 0<br/>read (sfa1.txt) group t ly l×1-l×3 l×11-l×13 l×22-l×23 l×33-l×35 l×44-l×45 l×55<br/>smpl j2 k2<br/>read (sfa2.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>smpl j3 k3<br/>read (sfa3.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>smpl j4 k4<br/>read (sfa4.txt) group t ly dummy l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>smpl j5 k5<br/>read (sfa5.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>smpl j6 n<br/>read (sfa6.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>smpl 1 n<br/>matrix x = one|dummy|l×1|l×2|l×3|l×4|l×5|l×11|l×12|l×13|l×14|l×15|l×22|l×23|l×24|l×25|l×33|&amp; l×34|l×35|l×44|l×45|l×55<br/>dim x1 n1 nparms x2 n2 nparms x3 n3 nparms x4 n4 nparms x5 n5 nparms x6 n6 nparms<br/>copy × x1 / frows=1;n1 trows=1;n1<br/>copy × x2 / frows=j2;k2 trows=1;n2<br/>copy × x3 / frows=j3;k3 trows=1;n3<br/>copy × x4 / frows=j4;k4 trows=1;n4<br/>copy × x5 / frows=j5;k5 trows=1;n5<br/>copy × x4 / frows=j6;n trows=1;n6<br/>do# = 1,ngroups<br/>matrix yhat# = x#*b#<br/>endo<br/>matrix b = -(yhat1'|yhat2'|yhat3'|yhat4')'<br/>* 4. OBTAIN AND PRINT PARAMETERS OF THE METAFRONTIER<br/>stat x / means = xbar<br/>matrix c = ((-xbar')|xbar')'<br/>matrix A = (-x)|x<br/>?lp c A b / iter = 5000 primal = bstar<br/>dim beta1 nparms beta2 nparms<br/>gen1 p1 = nparms+1<br/>gen1 p2 = nparms*2<br/>copy bstar beta1 / frows=1;nparms trows=1;nparms<br/>copy bstar beta2 / frows=p1;p2 trows=1;nparms<br/>matrix beta = beta1-beta2<br/>print beta<br/>* 5. OBTAIN AND PRINT METATECHNOLOGY RATIOS<br/>do# = 1,ngroups<br/>matrix xbeta# = x#*beta<br/>matrix mtr# = exp(yhat#)/exp(xbeta#)<br/>stat mtr#<br/>print mtr#<br/>endo<br/>stop</p><p><br/>运行结果如下:</p><p>|_* The file parm.txt contains estimated parameters of group frontiers (by column)<br/>&nbsp;|_* The file sfa#.txt contains n# data observations for group#<br/>&nbsp;|_* Sections 1 and 3 are problem-specific.<br/>&nbsp;|_* 1. SET NUMBERS OF PARAMETERS ETC.<br/>&nbsp;|_gen1 nparms = 10<br/>&nbsp;|_gen1 ngroups = 6<br/>&nbsp;|_gen1 n1 = 513<br/>&nbsp;|_gen1 n2 = 587<br/>&nbsp;|_gen1 n3 = 2560<br/>&nbsp;|_gen1 n4 = 1958<br/>&nbsp;|_gen1 n5 = 1361<br/>&nbsp;|_gen1 n6 = 593<br/>&nbsp;|_* 2. READ THE ESTIMATED PARAMETERS OF THE GROUP FRONTIERS<br/>&nbsp;|_smpl 1 nparms<br/>&nbsp;|_read (parm.txt) parm / rows = nparms cols = ngroups<br/>&nbsp;UNIT 88 IS NOW ASSIGNED TO: parm.txt<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 ROWS AND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6 COLUMNS, BEGINNING AT ROW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>&nbsp;|_do# = 1,ngroups<br/>&nbsp;|_dim b# nparms<br/>&nbsp;|_copy parm b# / fcols=#;# tcols = 1;1<br/>&nbsp;|_endo<br/>&nbsp; _do# = 1,ngroups<br/>&nbsp;****** EXECUTION BEGINNING FOR DO LOOP&nbsp; # =&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dim b1 nparms<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copy parm b1 / fcols=1;1 tcols = 1;1<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endo<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dim b2 nparms<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copy parm b2 / fcols=2;2 tcols = 1;1<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endo<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dim b3 nparms<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copy parm b3 / fcols=3;3 tcols = 1;1<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endo<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dim b4 nparms<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copy parm b4 / fcols=4;4 tcols = 1;1<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endo<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dim b5 nparms<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copy parm b5 / fcols=5;5 tcols = 1;1<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endo<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dim b6 nparms<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; copy parm b6 / fcols=6;6 tcols = 1;1<br/>&nbsp;#_&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endo<br/>&nbsp;****** EXECUTION FINISHED FOR DO LOOP&nbsp; #=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<br/>&nbsp;|_* 3. READ THE DATA AND CONSTRUCT DATA MATRICES AND VECTORS<br/>&nbsp;|_gen1 j2 = n1+1<br/>&nbsp;|_gen1 j3 = n1+n2+1<br/>&nbsp;|_gen1 j4 = n1+n2+n3+1<br/>&nbsp;|_gen1 j5 = n1+n2+n3+n4+1<br/>&nbsp;|_gen1 j6 = n1+n2+n3+n4+n5+1<br/>&nbsp;|_gen1 k2 = n1+n2<br/>&nbsp;|_gen1 k3 = n1+n2+n3<br/>&nbsp;|_gen1 k4 = n1+n2+n3+n4<br/>&nbsp;|_gen1 k5 = n1+n2+n3+n4+n5<br/>&nbsp;|_gen1 n = n1+n2+n3+n4+n5+n6<br/>&nbsp;|_smpl 1 n<br/>&nbsp;|_genr one = 1<br/>&nbsp;|_genr dummy = 0<br/>&nbsp;|_read (sfa1.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_smpl j2 k2<br/>&nbsp;|_read (sfa2.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_smpl j3 k3<br/>&nbsp;|_read (sfa3.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_smpl j4 k4<br/>&nbsp;|_read (sfa4.txt) group t ly dummy l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_smpl j5 k5<br/>&nbsp;|_read (sfa5.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_smpl j6 n<br/>&nbsp;|_read (sfa6.txt) group t ly l×1-l×5 l×11-l×15 l×22-l×25 l×33-l×35 l×44-l×45 l×55<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_smpl 1 n<br/>&nbsp;|_matrix x = one|dummy|l×1|l×2|l×3|l×4|l×5|l×11|l×12|l×13|l×14|l×15|l×22|l×23|l×24|l×25|l×33|&amp; l×34|l×35|l×44|l<br/>&nbsp;| ×45|l×55<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE<br/>&nbsp;|_dim x1 n1 nparms x2 n2 nparms x3 n3 nparms x4 n4 nparms x5 n5 nparms x6 n6 nparms<br/>&nbsp;|_copy × x1 / frows=1;n1 trows=1;n1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_copy × x2 / frows=j2;k2 trows=1;n2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_copy × x3 / frows=j3;k3 trows=1;n3<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_copy × x4 / frows=j4;k4 trows=1;n4<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_copy × x5 / frows=j5;k5 trows=1;n5<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_copy × x4 / frows=j6;n trows=1;n6<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $<br/>&nbsp;...SYNTAX ERROR IN LINE ABOVE NEAR $<br/>&nbsp;|_do# = 1,ngroups<br/>&nbsp;|_matrix yhat# = x#*b#<br/>&nbsp;|_endo</p>