数学建模社区-数学中国

标题: [求助]LINGO! [打印本页]

作者: eclatma0418    时间: 2007-8-18 16:40
标题: [求助]LINGO!

小弟编了一个lingo求解LP的程序,不知为何无法求解,请达人帮忙啊,急啊!!!!!!!!

model:
sets:
year/1..5/:y,s,f,smax,ymin,fmax;
!y(i)-实施措施前预测产油量;
!s(i)-实施措施前预测产水量;
!f(i)-实施措施前预测总费用;
!fmax(i)-第i年总费用上限;
!smax(i)-第i年产水量上限;
!ymin(i)-第i年产油量下限;
cuoshi/1..7/:xx;
!xx(j)-第j项措施总工作量上限;
juzheng(year,cuoshi):x,yy,ss,ff;
!x(i,j)-第i年采用第j项措施的井口数;
!yy(i,j)-第i年第j项措施的单井产油量;
!ss(i,j)-第i年第j项措施的单井产水量;
!ff(i,j)-第i年第j项措施的单井费用;
endsets
data:
y=1377.88 1237.76 1097.64 957.52 817.4;
f=16861 20477 60851 80114 85014;
smax=5706 5843 6152 6313 6720;
s=5346.44 5373.32 5372.97 5346.68 5292.16;
ymin=1500 1490 1485 1450 1423;
fmax=86580 119100 171980 196132 199321;
xx=426 390 430 374 445 534 476;
yy= 0.0820    0.0720    0.0650    0.0540    0.0380    0.0570    0.0450
    0.2160    0.0960    0.0860    0.0862    0.0760    0.0820    0.0750
    0.2679    0.1479    0.1670    0.1509    0.0979    0.1009    0.1074
    0.2304    0.1004    0.1344    0.1228    0.0704    0.0828    0.0893
    0.1981    0.0881    0.0976    0.1006    0.0581    0.0686    0.0551;
ss= 0.0720    0.0630    0.0570    0.0500    0.0320    0.0442    0.0675
    0.2120    0.1880    0.1280    0.1760    0.1790    0.1262    0.1775
    0.3750    0.2050    0.3120    0.3788    0.2131    0.2045    0.3196
    0.5666    0.4086    0.5766    0.4986    0.4253    0.3584    0.5635
    0.7585    0.6785    0.7846    0.6438    0.6653    0.4744    0.7874;
ff=128.1000   78.1000   64.1000   43.0000   58.1000   36.9000   50.5000
   107.0000   60.0000   51.0000   31.0500   49.0000   30.7500   43.8000
   72.2500   52.2500   42.2500   22.2000   37.2500   23.7000   35.7000
   56.5500   39.5500   33.5500   17.0500   30.5500   17.3000   27.3500
   44.7000   30.7000   21.7000   13.1500   24.7000   12.0000   22.0500;

enddata
max=@sum(year(i):y(i)+@sum(cuoshi(j):x(i,j)*yy(i,j)));
!目标一-产油总量最大;
@for(year(i)sum(cuoshi(j):x(i,j)*ss(i,j))+s(i)<smax(i));
!各年产水量不超过上限;
@for(year(i)sum(cuoshi(j):x(i,j)*yy(i,j))+y(i)>ymin(i));
!各年产油量不小于下限;
@for(cuoshi(j):x(5,j)<xx(j));
!各项措施总工作量不超过上限;
@for(year(i)sum(cuoshi(j):x(i,j)*ff(i,j))+f(i)<fmax(i));
!各年总费用不超过上限;
@for(juzheng(i,j)|i #LT# 4:x(i+1,j)>x(i,j));
!采取各措施的井口数逐年递增;
@for(juzheng(i,j)gin(x(i,j)));






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5