数学建模社区-数学中国

标题: 飞行机的精确定位问题 [打印本页]

作者: 浅夏110    时间: 2020-6-17 09:25
标题: 飞行机的精确定位问题
问题描述:飞机在飞行过程中,能够收到地面上各个监控台发来的关于飞机当前位置的 信息,根据这些信息可以比较精确地确定飞机的位置。如图3所示,VOR 是高频多向导航设备的英文缩写,它能够得到飞机与该设备连线的角度信息;DME 是距离测量装 置的英文缩写,它能够得到飞机与该设备的举例信息。图中飞机接收到来自 3 个 VOR 给出的角度和 1 个 DME 给出的距离(括号内是测量误差限),并已知这 4 种设备的  x, y 坐标(假设飞机和这些设备在同一平面上)。如何根据这些信息精确地确定当前飞机的 位置?   e  A4 C( m+ v( p
: O5 P& L' e% R) w

: Z, r# [, Q3 o. \; {3 W4 A' K1 _9 c* \" ?7 M# A0 L
& m6 a* G6 `0 h* q+ h
  (1)问题分析
- f1 Y, x2 b% p+ D# C9 ^: x8 Y5 N" R; M7 R0 l( Q
记 4 种设备 VOR1、VOR2、VOR3、DME 的坐标为  (以 km 为单位),i=1,2,3,4 ;VOR1、VOR2、VOR3 测量得到的角度为 (从图中可以看出,按照航空飞行管理的惯例,该角度是从北开始,沿顺时针方向的角度,取值在  之间),角度的误差限为;DME 测量得到的距离为 (单位:km),距离的误差限为 4 σ。设飞机当前位置的坐标为 ,则问题就是在表 9 的已知数据下计算  4 Y  z9 j, e5 H9 y- B

+ ^5 U1 s. {4 \8 J1 \9 z; G
3 s9 W1 l5 P% h: U/ {
9 W- x5 Z( A% u* s. ]& a9 [(2)模型 1 及求解 . a7 P5 U6 C8 w4 `8 \

, y4 _5 l, p8 P0 X  f9 q$ A 图中角度  是点   和点 的连线与 y 轴的夹角(以 y 轴正向为基准,顺时针方向夹角为正,而不考虑逆时针方向的夹角),于是角度 的正切     ( 1 )
8 k' d! R5 S+ C- F' A; _1 W! q
1 Q' d3 V- G% W) o对 DME 测量得到的距离,显然有      ( 2 )4 \3 ?6 Z# D$ w' p% o; }% X

3 `! n. T2 G* v  [! v, g+ ~直接利用上面得到的 4 个等式确定飞机的坐标 y x, ,这是一个求解超定(非线性) 方程组的问题,在最小二乘准则下使计算值与测量值的误差平方和最小(越接近 0 越 好),则需要求解
3 S7 v6 q8 I+ j
" ?3 V& E) \, L9 r* {9 L, Z ( 3 )" |4 O8 y1 t, X
式(3)是一个非线性(无约束)最小二乘拟合问题。很容易写出其 LINGO 程序 如下:7 H6 e8 v+ J2 j
+ z: L, B- u( R# ^" g" J
MODEL:
9 Y" ?$ u0 N7 ~/ m  o& x  zTITLE 飞机定位模型1;
: C& Y  P' a  u% t+ d9 M& pSETS: 8 h) a$ ~8 W; V6 Z: Z
VOR/1..3/:x0,y0,cita,sigma;
& `+ [: X) k: i3 J& w, p" xENDSETS ' a, K9 U' l$ z$ [+ v# D/ g1 J6 S
DATA:
: e6 I, Z" O' c6 ~x0, y0, cita, sigma =
, h- ?% r: O7 l" l6 C# L; w746  1393 161.2   0.8
3 R7 g9 d5 ~- i0 S6 `# p/ T629  375 45.1     0.6
+ P/ B' D$ }% O  l1571 259 309.0    1.3;
& s9 _' c- r; ^0 f& ~0 F$ L6 R$ qx4 y4 d4 sigma4=155,987,864.3,2.0;
' G4 B' M5 k7 v2 t; ]ENDDATA
- t# [/ B" r7 E$ Y  {5 rcalc: ) @' T  f5 x6 ]
@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180);
9 x$ ?2 f% ^6 S1 W. E3 rendcalc ' ~/ ^$ t8 A8 v+ d5 t
min=@sum(VOR:@sqr((x-x0)/(y-y0)-@tan(cita)))+@sqr(d4-@sqrt(@sqr(x -x4)+@sqr(y-y4)));
/ g+ T  H( u0 ?END7 @+ ^  e) p' w6 u. R: k: x3 J
上述程序必须使用全局求解器进行求解,否则求得的是一个局部最优解。用 “LINGO|OPTIONS”菜单命令启动“Global Solver”选项卡上的“Use Global Solver”选项,然后求解,可以得到全局最优解 x=1019.306 ,y= 987.2909  ,对应的目标函
5 b3 y/ V; r' k8 m( v数值为 0.4729562,这里的解受π 的取值影响很大。
1 T1 b( E$ B4 P; M$ g
, g0 ^* L: Z2 V/ P% W! I8 I, G9 y. I2 P(3)模型 2 及求解
% d( z7 }; l9 }
1 t- ]  V; Q6 j/ Y  G9 a$ z注意到这个问题中角度和距离的单位是不一致的(角度为弧度,距离为公里),因 此将这 4 个误差平方和同等对待(相加)不是很合适。并且,4 种设备测量的精度(误差限)不同,而上面的方法根本没有考虑测量误差问题。如何利用测量设备的精度信息? 这就需要看对例中给出的设备精度如何理解。 一种可能的理解是:设备的测量误差是均匀分布的。以 VOR1 为例,目前测得的角度为  ,测量精度为 ,所以实际的角度应该位于区间   内。对其它设备也可以类似理解。由于 很少,即测量精度很高,所以在相应区间内正切函数 tan 的单调性成立。于是可以得到一组不等式:
: g$ o5 ^: F/ K# |3 E; v% F! G5 N1 q3 g
1 q% F( {6 z9 w9 f
. n0 e( ^1 a: _( Q1 C" ?
  也就是说,飞机坐标应该位于上述不等式组成的区域内。 由于这里假设设备的测量误差是均匀分布的,所以飞机坐标在这个区域内的每个 点上的可能性应该也是一样的,我们最好应该给出这个区域的 x和 y 坐标的最大值和最小值。于是我们可以分别以 min x ,  max x ,  min y,  max y为目标,以上面的区域限制条件为约束,求出x 和 y 坐标的最大值和最小值。
& j% i, y7 C! e$ z# P" a! G6 p6 @ 以 min x 为例,相应的 LINGO 程序为:  
1 \6 p3 G- `/ @
, F  u  Q* ?; W! r5 p, }MODEL:
% P# {* ?5 I" ~4 g. j3 fTITLE 飞机定位模型2;
; n9 @$ f6 V+ g: X8 B& TSETS: VOR/1..3/:x0,y0,cita,sigma; , m4 p0 J9 \' ^3 e
ENDSETS
% Z, P8 Z+ u1 W& I) ?INIT:
/ f5 j2 D+ y8 e) Q: Q  m4 tx=1000; y=900;
& L% w+ r* z7 F7 m% K) qENDINIT
/ a6 _- n, T9 vDATA:
4 c7 X1 v; _3 }0 v0 ax0, y0, cita, sigma =
7 q. S# C+ n3 U( E/ P746  1393 161.2   0.8
. w; W+ f" F' K3 Q5 ^8 `: a' N629  375 45.1     0.6 2 y7 G: u7 x, S6 s, G5 t  S" s
1571 259 309.0    1.3;
: ?$ `- z) Z! o# l0 O# h5 b% sx4 y4 d4 sigma4=155,987,864.3,2.0; ! \( `6 o' }6 w
ENDDATA ) ?6 y- u+ e5 u; \$ v' L
calc:
. Y6 S3 u. B2 g. [& _@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180);
- t! C$ j& o4 D/ O% B4 Qendcalc ; K5 a! C8 M$ x& v
min=x;
  V. ^. B3 Z" @3 l& z. k@for(VOR:(x-x0)/(y-y0)>@tan(cita-sigma));
4 }. ?7 W1 [. c4 m9 I4 [# i3 O, @@for(VOR:(x-x0)/(y-y0)<@tan(cita+sigma));
2 z( H/ i! j: P$ W2 Qd4-sigma4 <((x-x4)^2+(y-y4)^2)^.5 ;
. P/ s% z/ a8 q) ^+ Dd4+sigma4 >((x-x4)^2+(y-y4)^2)^.5 ; # }& S& a- E: U# |
END
, X: F+ {( y4 u* f注意:用 LINGO9 求解非线性问题,必须对决策变量进行初始化,否则 LINGO 可 能找不到可行解。决策变量的初值也有范围限制,取的不合适也可能找不到可行解。 求得的 x的最小值为 974. 8433。类似地(只需要换目标函数就可以了),可得 到 x的最大值为 982.2005, y 的最小值为 717.1614, y 的最大值为 733.1582。 因此,最后得到的解是一个比较大的矩形区域,大致为 .
- g1 B: k% l3 _, ~! M  _
0 H. v4 q" j6 G% v" T' \, T  (4)模型 3 及求解
3 f1 z% u: s& U% C% |( C
: t% a/ k9 o) h模型 2 得到的只是一个很大的矩形区域,仍不能令人满意。实际上,模型 2 假设 设备的测量误差是均匀分布的,这是很不合理的。一般来说,在多次测量中,应该假设设备的测量误差是正态分布的,而且均值为 0。本例中给出的精度 可以认为是测量
$ W) V- w6 Z7 I误差的标准差。 " s, i3 e/ S  Y4 `; `

1 p5 D, S/ W: D% w6 P在这种理解下,用各自的误差限   对测量误差进行无量纲化(也可以看成是一种加权法)处理是合理的,即求解如下的无约束优化问题更合理。 0 \6 h2 k" x$ o% y, s
/ [8 Q' M/ M1 K. D: o
1 I0 q% v8 V4 a  f, [
/ F3 p. e* n3 X& `) W, M
由于目标函数是平方和的形式,因此这是一个非线性最小二乘拟合问题。相应的 LINGO 程序为: ) {+ u6 V  T) |$ i
  j9 r# N) O. }4 w' o  k9 d
MODEL: 3 ]# t: B: k0 V9 d
TITLE 飞机定位模型3;
4 c" A7 ^  _$ L8 T0 {$ @0 P7 jSETS: # l  Z: H# V1 i- D! d
VOR/1..3/:x0,y0,cita,sigma,alpha; . x: c% k( O/ `2 K  K
ENDSETS
% S4 l, m$ Y- y, N0 @INIT:
* s; _& P3 N* v3 Kx=1000; y=900;
! g: k; h8 G. `1 B/ y( N( {; {3 a$ MENDINIT
- t9 A/ t" H8 V% ~+ z- yDATA: + {- C& m# X- U+ Z; D
x0, y0, cita, sigma = : m, B# {# n/ V! S2 S
746  1393 161.2   0.8   s  O. H* X, b8 ^: d: n
629  375 45.1     0.6 : Y$ x0 E7 E7 g$ G% g
1571 259 309.0    1.3;
2 U. o  V" U  n% `# T! u9 \, X8 kx4 y4 d4 sigma4=155,987,864.3,2.0;
2 h; L! i2 e/ A  sENDDATA 4 e% F. d8 p6 O" s8 J8 `- f" [  u
calc:
+ y9 o# B! q( l2 x3 B, E4 U( b@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180); 5 R4 g2 H& N! D, e; k% z* x9 Y
endcalc
7 O% d; y2 J& i% v" _% a5 Emin=@sum(VOR:((alpha-cita)/sigma)^2)+((d4-((x-x4)^2+(y-y4)^2)^.5 )/ sigma4 )^2; 7 x# {9 S  S3 r0 R
@for(VOR: @tan(alpha)=(x-x0)/(y-y0) );
9 w' p9 {  W& e  i# c, JEND
- i% K$ ^! X: k5 ~$ X" v 启动 LINGO 的全局最优求解程序求解,得到全局最优解 x=978.3071,y= 723.9841,对应的目标函数的值为 0.668035。 这里得到的误差比模型 1 的大,这是因为模型 1 中使用的是绝对误差,而这里使用的是相对于精度 的误差。对角度而言,分母  很少,所以相对误差比绝对误差大,这是可以理解的。 5 ]( N2 ?( }( ~, S" H( X% w
————————————————, j- i, S9 I* g; g9 o! A7 {
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
3 k; f& s' L8 n! q9 |: L原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89389044
4 ?/ f: l; E6 q+ R0 Q% n1 R% w6 V2 q: Q: K3 b2 S* _& B- l
& Y2 F2 u0 U( D+ M1 c
4 g* M& m0 A" h





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