数学建模社区-数学中国
标题:
请教版主和高手,建立的模型,帮我看看建立的有无问题,谢谢。
[打印本页]
作者:
hitman
时间:
2010-3-21 15:44
标题:
请教版主和高手,建立的模型,帮我看看建立的有无问题,谢谢。
本帖最后由 hitman 于 2010-3-21 15:52 编辑
http://flashupload/swf/100321065145ebogmthmjfd6.jpg
请教版主和高手,建立的模型,帮我看看建立的有无问题,谢谢。
20辆救护车分配到5个停放站,10个需求点。
!20ambulances to 5 regions, p=0.2,p为故障率,需求点10个;
model:
sets:
ambulancesite/1..5/:x;!各个停放区的救护车救护车数量,用x(k)表示;
ambulance/1..20/;!救护车数量用i表示,;
region/1..10/:h;!各个节点的需求,用j表示;
link1(ambulance,region):y;!y(i,j)=1表示j点被至少i辆救护车覆盖,y(i,j)=0则表示j点被少于i辆救护车覆盖;
link2(ambulancesite,region):a;
endsets
data:
p=0.2;!不可得性的比例;
h=0.9,0.8,0.77,0.81,0.9,0.95,0.9,0.82,0.99,0.71;!需求;
enddata
max=@sum(link1(i,j):p^(i-1)*(1-p)*h(j)*y(i,j
));
@for(region(j): @sum(ambulance(i):y(i,j))-@sum(ambulancesite(k):a(k,j)*x(k))<=0);
@sum(ambulancesite(k):x(k))<=20;
@for(ambulancesite(k):x(k)<=20);
@for(ambulancesite(k): @gin(x));
end
作者:
olh2008
时间:
2010-3-21 16:19
应该再加两个约束吧:
@for(link2: @bin(a));
@for(link1: @bin(y));
作者:
hitman
时间:
2010-3-21 16:52
回复
2#
olh2008
版主,已经加了你说的2个约束,可运行还是禁用词语,请指教。谢谢。
作者:
olh2008
时间:
2010-3-21 17:46
主要的问题是目标函数中出现了乘方(最高有19次方)运算,导致迭代过程变得尤其复杂而无法得到满足条件的解。
作者:
hitman
时间:
2010-3-21 17:56
回复
4#
olh2008
这么看来,是不是要用诸如遗传算法之类的方法才能求解?
作者:
闾山
时间:
2010-3-21 18:36
这个是什么,谁能解释一下。。。。。。。。。。。。。。。。。。。。。。。。。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5