QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3293|回复: 0
打印 上一主题 下一主题

[建模教程] 飞行机的精确定位问题

[复制链接]
字体大小: 正常 放大
浅夏110 实名认证       

542

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2020-11-14 17:15
  • 签到天数: 74 天

    [LV.6]常住居民II

    邮箱绑定达人

    群组2019美赛冲刺课程

    群组站长地区赛培训

    群组2019考研数学 桃子老师

    群组2018教师培训(呼伦贝

    群组2019考研数学 站长系列

    跳转到指定楼层
    1#
    发表于 2020-6-17 09:25 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定
    问题描述:飞机在飞行过程中,能够收到地面上各个监控台发来的关于飞机当前位置的 信息,根据这些信息可以比较精确地确定飞机的位置。如图3所示,VOR 是高频多向导航设备的英文缩写,它能够得到飞机与该设备连线的角度信息;DME 是距离测量装 置的英文缩写,它能够得到飞机与该设备的举例信息。图中飞机接收到来自 3 个 VOR 给出的角度和 1 个 DME 给出的距离(括号内是测量误差限),并已知这 4 种设备的  x, y 坐标(假设飞机和这些设备在同一平面上)。如何根据这些信息精确地确定当前飞机的 位置?
    6 _. o; C. q( y8 b* G8 m8 f7 d7 m7 G; g

    & @8 d6 W. }4 T0 s. k: H
    " _3 w8 o; p9 ~
    2 J( h( \0 {6 q  b# I  (1)问题分析 0 Z; g6 O: J4 a; R* u/ p- H
    $ Q  }" z5 L. v3 L! B7 n9 P
    记 4 种设备 VOR1、VOR2、VOR3、DME 的坐标为  (以 km 为单位),i=1,2,3,4 ;VOR1、VOR2、VOR3 测量得到的角度为 (从图中可以看出,按照航空飞行管理的惯例,该角度是从北开始,沿顺时针方向的角度,取值在  之间),角度的误差限为;DME 测量得到的距离为 (单位:km),距离的误差限为 4 σ。设飞机当前位置的坐标为 ,则问题就是在表 9 的已知数据下计算  7 p1 c  m0 r; g& h9 b
    . q) J/ N( `5 S1 t* z

    : S. e/ j# U/ y  w- {4 n. z
    2 F( B5 L3 `6 q(2)模型 1 及求解
    0 Q- W6 R# |3 S( R; l9 U/ g6 ^; t, i  ^: ]1 d( i  g
    图中角度  是点   和点 的连线与 y 轴的夹角(以 y 轴正向为基准,顺时针方向夹角为正,而不考虑逆时针方向的夹角),于是角度 的正切     ( 1 )
    ( P% T' @6 \1 E! h8 m& y/ _
    0 b0 y( D5 u1 I! ^( [对 DME 测量得到的距离,显然有      ( 2 )8 h, B. w9 `$ v5 D4 p% D
    & {4 r( X4 ^) v- Y; _8 g
    直接利用上面得到的 4 个等式确定飞机的坐标 y x, ,这是一个求解超定(非线性) 方程组的问题,在最小二乘准则下使计算值与测量值的误差平方和最小(越接近 0 越 好),则需要求解 ( v! y# w; q- Q7 K3 d; T( Z
    ; R7 h+ y6 a1 T1 l
    ( 3 )
    0 d2 S8 v! T1 z' K: m, b式(3)是一个非线性(无约束)最小二乘拟合问题。很容易写出其 LINGO 程序 如下:/ c) a8 f) ~0 i/ ~7 q& S. r

    8 L9 o! [  @+ p8 m, n# D, }& DMODEL:
    * @) j* n, ?& p* G+ e" qTITLE 飞机定位模型1;
    & w/ w4 b7 L. b" FSETS: # I  t7 g' Z$ q  A, T( m3 K0 z+ `! l
    VOR/1..3/:x0,y0,cita,sigma; $ h2 w  q8 h9 Q6 K0 s1 |
    ENDSETS
    ! `; R7 D8 I3 hDATA: 4 ?; r. f4 [- O+ a6 u  ^: S4 M
    x0, y0, cita, sigma = ; @1 [0 N* i' [
    746  1393 161.2   0.8 " u( |, r, a$ N+ M
    629  375 45.1     0.6
    7 p  u) _$ u. \9 P1 c' s1571 259 309.0    1.3; 6 J2 q2 U( k: o5 M( s; B  v
    x4 y4 d4 sigma4=155,987,864.3,2.0; & N# R* j9 e7 E
    ENDDATA & |, U/ X* ?/ u2 Z/ e6 u
    calc: 7 E) k1 S* L! n4 ^; \
    @for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180); 5 R6 {9 I3 x. s. Y% V  s
    endcalc
    0 d6 A2 t/ m+ u- Pmin=@sum(VOR:@sqr((x-x0)/(y-y0)-@tan(cita)))+@sqr(d4-@sqrt(@sqr(x -x4)+@sqr(y-y4))); + b6 `- Z7 `- A2 z0 m9 Q# D- {
    END% Z( N# B& u' d( A0 `( {
    上述程序必须使用全局求解器进行求解,否则求得的是一个局部最优解。用 “LINGO|OPTIONS”菜单命令启动“Global Solver”选项卡上的“Use Global Solver”选项,然后求解,可以得到全局最优解 x=1019.306 ,y= 987.2909  ,对应的目标函
    / {7 ^6 ^; d5 E+ @数值为 0.4729562,这里的解受π 的取值影响很大。
    ( s4 c9 n( \$ |9 r# p; c; W* z0 Y, \/ V# G/ z0 {2 a! O
    (3)模型 2 及求解  `8 H  Y) D0 P
    % D, w8 U# i* g, k9 l
    注意到这个问题中角度和距离的单位是不一致的(角度为弧度,距离为公里),因 此将这 4 个误差平方和同等对待(相加)不是很合适。并且,4 种设备测量的精度(误差限)不同,而上面的方法根本没有考虑测量误差问题。如何利用测量设备的精度信息? 这就需要看对例中给出的设备精度如何理解。 一种可能的理解是:设备的测量误差是均匀分布的。以 VOR1 为例,目前测得的角度为  ,测量精度为 ,所以实际的角度应该位于区间   内。对其它设备也可以类似理解。由于 很少,即测量精度很高,所以在相应区间内正切函数 tan 的单调性成立。于是可以得到一组不等式:: U) c9 T0 ]* U& ]% `" z# w3 Z! P  E
    * K- a% O' b9 |3 z. A! V
    8 M9 [$ S7 v* {% @3 G
    ( J* p; Q" |3 x& {8 T
      也就是说,飞机坐标应该位于上述不等式组成的区域内。 由于这里假设设备的测量误差是均匀分布的,所以飞机坐标在这个区域内的每个 点上的可能性应该也是一样的,我们最好应该给出这个区域的 x和 y 坐标的最大值和最小值。于是我们可以分别以 min x ,  max x ,  min y,  max y为目标,以上面的区域限制条件为约束,求出x 和 y 坐标的最大值和最小值。
    $ r" l- p9 f% J- N+ n* P0 G5 I 以 min x 为例,相应的 LINGO 程序为:  4 |9 z+ e7 e) s
    % _" N: f, i5 y, v: ~( i+ `, u
    MODEL: 2 y5 A9 P1 K, s  _' B( ~' t
    TITLE 飞机定位模型2;
    $ k0 p2 f$ {7 u' K0 C  v$ v2 rSETS: VOR/1..3/:x0,y0,cita,sigma; : b( [2 ?& H0 a) R& s; G! n
    ENDSETS 1 G% h8 ~, T; l, R( N# p
    INIT:
    2 |, X+ o) E- t1 p/ N0 V4 z0 [x=1000; y=900;
    + w; b! Q+ B5 k6 AENDINIT 5 {5 N& r' _* N
    DATA: 9 N& ~1 q* I/ x% z9 M; |, y$ s5 {
    x0, y0, cita, sigma = 0 L0 W5 a1 w: U
    746  1393 161.2   0.8 + o, y* |' h7 u3 \) W
    629  375 45.1     0.6 5 D! p  Y1 H7 |) w( T2 k# Y1 a% ?
    1571 259 309.0    1.3; ' B! |& |4 J( c" ^! _2 }, ]/ E
    x4 y4 d4 sigma4=155,987,864.3,2.0;
    ) K. P: b: g+ t' \ENDDATA ) g" u/ x2 |4 S5 \8 u. ]* B
    calc:
    ) f% w" h! O2 X9 E" q' C2 c@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180); 6 Y& i' X2 V( s/ D4 m, q' V' T- ~
    endcalc " s+ `0 V6 L" ~% R5 E" c
    min=x;
    7 t/ @) D5 i) Z1 J@for(VOR:(x-x0)/(y-y0)>@tan(cita-sigma)); ! |: I7 }" B  o( C/ L  L
    @for(VOR:(x-x0)/(y-y0)<@tan(cita+sigma)); 6 V( u3 `2 m5 G/ o. e  f
    d4-sigma4 <((x-x4)^2+(y-y4)^2)^.5 ;
    * [9 r1 `* t+ h: jd4+sigma4 >((x-x4)^2+(y-y4)^2)^.5 ;
    * H' R, b) B  p! q! j7 G3 @# L5 aEND
    0 M; t1 b6 D& |- s' I1 ^& @8 Y0 E注意:用 LINGO9 求解非线性问题,必须对决策变量进行初始化,否则 LINGO 可 能找不到可行解。决策变量的初值也有范围限制,取的不合适也可能找不到可行解。 求得的 x的最小值为 974. 8433。类似地(只需要换目标函数就可以了),可得 到 x的最大值为 982.2005, y 的最小值为 717.1614, y 的最大值为 733.1582。 因此,最后得到的解是一个比较大的矩形区域,大致为 .
    . ]) U5 v  o% m5 {: I$ R/ ?9 Z, }4 ?2 q, y
      (4)模型 3 及求解
    ! k! B. Q2 D* @3 h$ t" u) U$ B
    模型 2 得到的只是一个很大的矩形区域,仍不能令人满意。实际上,模型 2 假设 设备的测量误差是均匀分布的,这是很不合理的。一般来说,在多次测量中,应该假设设备的测量误差是正态分布的,而且均值为 0。本例中给出的精度 可以认为是测量
    . v/ a- r' L) H% F" m& j6 R误差的标准差。 : H% ]- g3 v4 }$ U" u7 z
    / Z, `7 ^; q( V+ c* n( L4 \( D5 p( D
    在这种理解下,用各自的误差限   对测量误差进行无量纲化(也可以看成是一种加权法)处理是合理的,即求解如下的无约束优化问题更合理。 * l3 J) o* Q3 F: D- e" H; e5 A5 Y
    4 B: p5 z4 D1 u9 @1 N7 N
    & O# t% E1 V; x7 r& K+ ]$ J

    + G+ b8 g1 y& r9 S$ }4 F 由于目标函数是平方和的形式,因此这是一个非线性最小二乘拟合问题。相应的 LINGO 程序为: ' _+ n* p# m1 w8 }  i# j
    - T2 }4 N( W9 @+ i5 K: X
    MODEL:
    ) }( G3 m7 r7 H- j8 ITITLE 飞机定位模型3; & ]0 d8 z/ E  H3 H
    SETS:
    " p* P6 k- [! W; G; C6 J+ f% _5 UVOR/1..3/:x0,y0,cita,sigma,alpha; ( c* L1 e0 j2 W. [+ K
    ENDSETS 9 ?" K4 I3 X* Y1 U& {1 E3 r$ E
    INIT: # T5 H4 d2 ~+ t  d2 {8 ~
    x=1000; y=900; ) ~) `. W2 M+ z% N
    ENDINIT : ?. G. G, n: x, R9 S
    DATA: ' i. Z2 g. i/ \+ e4 h) _9 y
    x0, y0, cita, sigma =
    $ Q) a3 f! t+ y* q2 t746  1393 161.2   0.8
    ; V0 G1 e+ `* c$ s- N3 X7 [- {629  375 45.1     0.6
    2 ^3 O" o# m! g" N; M1571 259 309.0    1.3; % ]% D' d( p8 W: h8 H* ~
    x4 y4 d4 sigma4=155,987,864.3,2.0; ' d0 ]- A1 a% B3 p8 {( k
    ENDDATA 4 W% g& M9 E, k& q  l1 u
    calc: - [$ d! l/ _* c; N2 G
    @for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180); $ L& N8 j" O& }
    endcalc + Z! `. H# ?0 o" B; q
    min=@sum(VOR:((alpha-cita)/sigma)^2)+((d4-((x-x4)^2+(y-y4)^2)^.5 )/ sigma4 )^2;
    / o/ }  e  C5 P@for(VOR: @tan(alpha)=(x-x0)/(y-y0) ); 9 e* g2 n  C8 v, ]. a: ^, z
    END' V& ]; ^% ~3 l- V+ R+ k
    启动 LINGO 的全局最优求解程序求解,得到全局最优解 x=978.3071,y= 723.9841,对应的目标函数的值为 0.668035。 这里得到的误差比模型 1 的大,这是因为模型 1 中使用的是绝对误差,而这里使用的是相对于精度 的误差。对角度而言,分母  很少,所以相对误差比绝对误差大,这是可以理解的。
    $ ]1 z2 n( l" y; H4 V* h! A————————————————# J/ f0 ~, n2 {* c8 `" x
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。! F- h# Y% P9 p  D+ C2 ]
    原文链接:https://blog.csdn.net/qq_29831163/java/article/details/893890443 c1 K7 _; {* Q8 V/ Y; W( d$ P2 C
    8 m% V% G7 m, i5 v

    ' S3 L3 |8 @  `
    / u1 R* y8 u4 P  }, _! c. z$ |
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-5-11 20:24 , Processed in 1.120077 second(s), 50 queries .

    回顶部