数学建模社区-数学中国

标题: 求助:如何将结果进行循环,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(planeabs(theta));
@for(planebnd(-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#jx(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