一个LINGO的通用程序
1] sets:
2] DMU/1..6/:S,T,P; ! Decision Making Unit;
3] II/1..2/:w; ! Input Index;
4] OI/1..2/:u; ! Output Index;
5] IV(II,DMU):X; ! Input Variable;
6] OV(OI,DMU):Y; ! Output Variable;
7] endsets
8] data:
9] p=?;
10]X=具体数字 ;
11]Y=具体数字 ;
12]enddata
13]max=@sum(DMU:P*T);
14]@for(DMU(j));
15]S(j)=@sum(II(i): w(i)*X(i,j));
16]T(j)=@sum(OI(i): u(i)*Y(i,j));
17]S(j)>=T(j);
18]@sum(DMU: P*S)=1;
END
通常情况下直接输入就行,我做的东西有300多个数据,先从excel按列粘到txt上,整理好格式,然后粘到LINDO上运行就好。
MIN V
ST
37058.0X1+31550.0X2+12918.0X3+9150.0X4+11305.0X5+16297.0X6+10932.0X7+13897.0X8+55307.0X9+20705.0X10+23942.0X11+7768.0X12+17218.0X13+8189.0X14+16925.0X15+9470.0X16+10500.0X17+9117.0X18+19707.0X19+7196.0X20+9450.0X21+9608.0X22+8113.0X23+4215.0X24+6733.0X25+7779.0X26+7757.0X27+5970.0X28+8606.0X29+7880.0X30+11199.0X31-37058.0V<0
7444874.0X1+2461800.0X2+4078273.0X3+2563634.0X4+1967589.0X5+5296405.0X6+1662807.0X7+2894200.0X8+11061932.0X9+9804939.0X10+8059479.0X11+2746284.0X12+3335230.0X13+2057667.0X14+8283306.0X15+4287799.0X16+3104464.0X17+3206279.0X18+14185056.0X19+2377721.0X20+570358.0X21+2006241.0X22+3857848.0X23+1492855.0X24+2633618.0X25+100188.0X26+2149586.0X27+1041600.0X28+269960.0X29+374677.0X30+1557040.0X31-7444874.0V<0
字数原因,其他的约束条件就不一一列出了。
至于具体怎么做,给你举个例子
指标 甲公司 乙公司 丙公司
投入 X1 1.5 1 3
投入 X2 4 3 7
产出 Y 5 4 8
对甲公司计算,则输入:
min(不区分大小写)V
ST
1.5M1+M2+3M3-1.5V<0
4M1+3M2+7M3-4V<0
5M1+4M2+8M3>5
end
非负约束可不必再输入;不区分变量中的大小写字符;约束条件中“<” 及“>”已包含“=”
希望对你有所帮助!^.^
http://zhidao.baidu.com/question/54944305.html