数学建模社区-数学中国
标题:
求助:如何将结果进行循环,1999国赛飞行问题
[打印本页]
作者:
潇然14
时间:
2011-8-28 22:17
标题:
求助:如何将结果进行循环,1999国赛飞行问题
题目:Min z=abs(θ1)+abs(θ2)+abs(θ3)+abs(θ4)+abs(θ5)+abs(θ6)
s.t. θi≤30
■(x_i=x_i0+cos〖(θ〗_i0+θi)×800t@y_i=y_i0+sin(θ_i0+θi)×800t) 初值带入具体数据
d_ij=√((x_i-x_j )^2+(y_i-y_j )^2 )>8
i,j=1,2,……,6
0<t<0.5
已有程序
model:
sets:
chushi/1..6/:x0,y0,theta0;
plane/1..6/:theta;
xzhi/1..6/:x;
yzhi/1..6/:y;
link(plane,plane);
endsets
data:
x0=150 85 150 145 130 0;
y0=140 85 155 50 150 0;
theta0=243 236 220.5 159 230 52;
enddata
min=@sum(plane
abs(theta));
@for(plane
bnd(-30,theta,30));
@for(xzhi(i):x(i)=x0(i)+@cos(theta0(i)+theta(i))*800*t);
@for(yzhi(i):y(i)=y0(i)+@sin(theta0(i)+theta(i))*800*t);
@for(link(i,j)|i#ne#j
x(i)-x(j))*(x(i)-x(j))+(y(i)-y(j))*(y(i)-y(j))>64);
@bnd(0,t,0.5);
end
得出角度改变量,与初始数据相结合,得到第二个初始数据代入程序,如此循环,最终使目标函数min<0.01.
请大家帮帮忙吧,万分感激啊!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5