夕珞 发表于 2009-8-8 15:04

【急】求助 :lingo程序错误

本帖最后由 夕珞 于 2009-8-8 22:49 编辑

我在使用lingo 9.0的时候,出现错误代码1017。我运行一次Solve,就会出现这个问题。

Error text:
Unexpected Jacobian overflow.Contact Lindo Systems for patch availability(1).

还是是约束条件出错?

附程序如下:
model:
sets:
factory/1,2,3/;
production/1..10/:q,v;
warehouse/1..5/:b;
shop/1..8/;
link(factory,production):p,a;
link1(factory,warehouse):c;
link2(factory,production,warehouse):x;
link3(warehouse,shop):d;
link4(warehouse,shop,production):y;
link5(shop,production):h;
link6(production,warehouse);
endsets
data:
a=0.2 0     0.3 0.1 0.32 0.1 0 0.2 0.15 0.15
  0.2 0.13 0 0.1 0 0.15 0.2 0.15 0 0.12
  0 0.25 0.08 0.15 0 0.1 0.14 0 0.25 0.15;
b=800 600 1000 700 800;
c=100 10 14 17 13
  10 8 100 9 16
  15 16 9 15 100;
p=100 1000 210 250 290 300 1000 430 450 500
    90 180 1000 240 1000 305 380 435 1000 490
   1000 170 210 245 1000 285 400 1000 450 480;
d=3 2 3 6 3 1 4 5
   100 3 3 100 5 2 5 3
   5 100 2 5 100 5 100 4
   4 1 4 4 2 100 2 100
  2 2 5 3 5 2 5 2;
q=40 70 90 100 120 120 150 160 180 20;
v=1.5 1.0 1.5 2.0 1.5 0.5 1.5 2.0 1.0 0.5;
h=60 300 800 100 200 600 400 80 150 600
  90 800 500 1200 500 400 200 100 800 500
  50 500 400 800 600 0 800 800 400 0
300 400 200 400 150 800 500 150 1500 400
400 0 150 100 200 300 0 400 90 800
500 200 1000 0 400 150 1000 1000 200 400
800 1200 90 150 90 1000 90 500 100 1000
1500 200 500 500 1000 90 150 200 500 200;
enddata
min=n*10000+@sum(link2(i,j,k):p(i,j)*x(i,j,k))+@sum(link2(i,j,k):x(i,j,k)*c(i,k))+@sum(link4(k,l,j):y(k,l,j)*d(k,l))+@sum(production(j):0.5*q(j)*Q(j)*T*@sum(link1(i,k):x(i,j,k)));
@for(link(i,j):@sum(warehouse(k):x(i,j,k))<=a(i,j));
!订购量不能超过工厂最大生产限度,对k下标求和,i,j为给定值,括号没有配对;
@for(link6(j,k):@sum(factory(i):x(i,j,k))>=@sum(shop(l):y(k,l,j)));
!工厂运送到仓库量大于仓库运送到分店的量;
@for(warehouse(k):@sum(link(i,j):x(i,j,k)*v(j))<=b(k));
!仓库体积约束;
@for(production(j):Q(j)=@sum(link1(i,k):x(i,j,k)));
!贮存量约束;
@for(production(j):Q(j)>=@sum(shop(i):h(i,j)));
!八家分店对每种物资的总需求限制;
@for(link5(l,j):@sum(warehouse(k):y(k,l,j))>=h(l,j));
!每家店铺的每种物资都必须满足其最低量的要求;
n*10000+@sum(link2(i,j,k):p(i,j)*x(i,j,k))+@sum(link2(i,j,k):x(i,j,k)*c(i,k))+@sum(link4(k,l,j):y(k,l,j)*d(k,l))+@sum(production(j):0.5*q(j)*Q(j)*T*@sum(link1(i,k):x(i,j,k)))<=1000000*n;
n*T<=365;
end

题目如下:
某个商业公司管理着5个仓库(B1—B5)和8个分店(C1—C8),主要经营10种物资,而这些物资全部向3个工厂(A1—A3)进货。公司的工作流程是根据8个分店的销售需要,先向工厂订货,然后将各种物资运送到仓库,再由仓库运送到分店进行销售。分店只消耗物资,不储存物资。
各个工厂生产10种物资的全部或部分物资,年产量如表一,而各种物资单价如表二。每个工厂到每个仓库的运输单价如表三,每个仓库的容量如表四。同种物资在不同的仓库的库存费一样,而不同物资的库存费是不同的,另外每种物资有着自己的体积,物资的库存费与单位占用库容如表五。5个仓库到8个分店的运输单价如表六,8个分店对物资的年需求量如表七。
公司每次订货都会有其它的各种花费,不妨称为订货费,设公司每次的订货费为1万元,另外,一次订货可使用的流动资金上限为100万元,如果进行销售时允许缺货,但是缺货的损失费是存储费的2倍,请问:

(1)公司一年之中应该怎样组织订货(各种物资的订货次数与订货量以及运输方案)使得总的花费最少?
(2)如果A1工厂有订购优惠活动,物资订购量每增加30件订购单价就会降低5元,最多优惠15元,公司又应该怎样组织订货?

附加说明:1.问题的开放部分可自己合理假设;
2.若数据有不合理的地方自己进行适当的修改,并在论文中说明清楚。

附表:
(表一:3个工厂生产10种物资的年产量)
年产量(万件/年)M1M2M3M4M5M6M7M8M9M10A10.2--0.30.10.320.1--0.20.150.15A20.20.13--0.1--0.150.20.15--0.12A3--0.250.080.15--0.10.14--0.250.15

(表二:3个工厂生产的10种物资的单价)
订购单价(元/件)M1M2M3M4M5M6M7M8M9M10A110010002102502903001000430450500A290180100024010003053804351000490A3100017021024510002854001000450480

(表三:3个工厂到5个仓库的运输单价)
运价(元/件)B1B2B3B4B5A110010141713A2108100916A31516915100

(表四:四个仓库的库容量)
仓库B1B2B3B4B5容量b(m3)8006001000700800

(表五:10种物资的单件库存费和体积)
物资M1M2M3M4M5M6M7M8M9M10单位库存费q(元/件·年)407090100120120150160180200体积(m3/件)v1.51.01.52.01.50.51.52.01.00.5

(表六:5个仓库到8个分店的单位运价)
运价(元/件)C1C2C3C4C5C6C7C8B132363145B21003305253B351002510051004B4414421002100B522535252

(表七:8个分店对10种物资的需求量)
需求量(件/年)M1M2M3M4M5M6M7M8M9M10C16030080010020060040080150600C2908005001200500400200100800500C3150500400800600---800800400---C43004002004001508005001501500400C5400---150100200300---40090800C65002001000---40015010001000200400C7800120090150901000905001001000C81500200500500100090150200500200

danli 发表于 2009-8-8 15:26

你的程序写的太复杂了,看的头有点晕,你把题目贴出来。

legan 发表于 2009-8-8 15:31

就是,把题目打出来就知道了

legan 发表于 2009-8-8 15:31

你光把程序弄出来我们也不知道具体的意思

chip 发表于 2009-8-8 16:03

同道中人啊,我也有一个很bug的lingo程序搞不定啊

luoweidream 发表于 2009-8-8 16:19

写的程序 看上去好复杂啊  我也在学 就是没基础

夕珞 发表于 2009-8-8 22:50

2# danli
题目贴出来了~

夕珞 发表于 2009-8-8 22:50

3# legan
题目贴出来了~

夕珞 发表于 2009-8-8 22:52

程序是第一问的~

pmm 发表于 2009-8-9 21:48

程序太复杂了  看不懂啊
页: [1] 2
查看完整版本: 【急】求助 :lingo程序错误