数学建模社区-数学中国
标题:
飞行机的精确定位问题
[打印本页]
作者:
浅夏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' K
1 _9 c* \" ?7 M# A0 L
& m6 a* G6 `0 h* q+ h
(1)问题分析
- f1 Y, x2 b% p+ D# C
9 ^: 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 z
TITLE 飞机定位模型1;
: C& Y P' a u% t+ d9 M& p
SETS:
8 h) a$ ~8 W; V6 Z: Z
VOR/1..3/:x0,y0,cita,sigma;
& `+ [: X) k: i3 J& w, p" x
ENDSETS
' 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; w
746 1393 161.2 0.8
3 R7 g9 d5 ~- i0 S6 `# p/ T
629 375 45.1 0.6
+ P/ B' D$ }% O l
1571 259 309.0 1.3;
& s9 _' c- r; ^0 f& ~0 F$ L6 R$ q
x4 y4 d4 sigma4=155,987,864.3,2.0;
' G4 B' M5 k7 v2 t; ]
ENDDATA
- t# [/ B" r7 E$ Y {5 r
calc:
) @' T f5 x6 ]
@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180);
9 x$ ?2 f% ^6 S1 W. E3 r
endcalc
' ~/ ^$ 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 ?
END
7 @+ ^ 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 f
TITLE 飞机定位模型2;
; n9 @$ f6 V+ g: X8 B& T
SETS: 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 t
x=1000; y=900;
& L% w+ r* z7 F7 m% K) q
ENDINIT
/ a6 _- n, T9 v
DATA:
4 c7 X1 v; _3 }0 v0 a
x0, y0, cita, sigma =
7 q. S# C+ n3 U( E/ P
746 1393 161.2 0.8
. w; W+ f" F' K3 Q5 ^8 `: a' N
629 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% s
x4 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 Q
endcalc
; 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 Q
d4-sigma4 <((x-x4)^2+(y-y4)^2)^.5 ;
. P/ s% z/ a8 q) ^+ D
d4+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 j
SETS:
# 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 K
x=1000; y=900;
! g: k; h8 G. `1 B/ y( N( {; {3 a$ M
ENDINIT
- t9 A/ t" H8 V% ~+ z- y
DATA:
+ {- 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 k
x4 y4 d4 sigma4=155,987,864.3,2.0;
2 h; L! i2 e/ A s
ENDDATA
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 E
min=@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, J
END
- 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