QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2274|回复: 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 坐标(假设飞机和这些设备在同一平面上)。如何根据这些信息精确地确定当前飞机的 位置?
    1 T( u/ p; {" u' @6 V( K
    2 `, M& k9 r9 p- i: s( d( j
    . R3 J" S$ [/ y1 U, D; x0 n0 |# S3 g% c5 o$ [
    & l4 h( i+ o, F- V8 H1 B$ y: i3 z( X
      (1)问题分析
    . x! T2 M, L) x" G0 O. G% Q/ F, s" `( f8 f  f. E
    记 4 种设备 VOR1、VOR2、VOR3、DME 的坐标为  (以 km 为单位),i=1,2,3,4 ;VOR1、VOR2、VOR3 测量得到的角度为 (从图中可以看出,按照航空飞行管理的惯例,该角度是从北开始,沿顺时针方向的角度,取值在  之间),角度的误差限为;DME 测量得到的距离为 (单位:km),距离的误差限为 4 σ。设飞机当前位置的坐标为 ,则问题就是在表 9 的已知数据下计算  - h" F. G( ]$ S( ~4 W

    / ?& D* W: N* R; m  O+ L/ W4 j' k% L- z3 r7 D: ]
    / Y& @- k5 {/ o& |9 h! s
    (2)模型 1 及求解 3 z% F2 n- X8 d4 q% {& x( x
    % x" ~1 Z& @$ k4 @+ j
    图中角度  是点   和点 的连线与 y 轴的夹角(以 y 轴正向为基准,顺时针方向夹角为正,而不考虑逆时针方向的夹角),于是角度 的正切     ( 1 )! ?) e* [" q- I0 j

    1 l# Z! E* b5 j对 DME 测量得到的距离,显然有      ( 2 )
    2 T9 |- ]5 R. C# n% }3 Q( \. n3 [0 x+ M6 x' O4 x
    直接利用上面得到的 4 个等式确定飞机的坐标 y x, ,这是一个求解超定(非线性) 方程组的问题,在最小二乘准则下使计算值与测量值的误差平方和最小(越接近 0 越 好),则需要求解
    % k6 K5 b: o( ~$ B/ s; _* D3 a- @8 p/ ?, T' T
    ( 3 )
    5 {) A; |2 P- @& P/ _, `式(3)是一个非线性(无约束)最小二乘拟合问题。很容易写出其 LINGO 程序 如下:, @2 A$ V7 M" b+ i, ]" k

    - l2 k% n" [% ^- J' UMODEL:
    ! [- |/ b" @, dTITLE 飞机定位模型1; ; M5 ?; O' o0 N# G1 u% e! l1 l
    SETS: - ?0 `0 H; v0 Q7 p( B
    VOR/1..3/:x0,y0,cita,sigma; 0 V! s" e; ^8 K
    ENDSETS 2 x) x* L. y& M; c
    DATA: 3 V- D: z" Y2 ^* ^, J
    x0, y0, cita, sigma =
    9 L; f) J3 Z& f3 e3 @746  1393 161.2   0.8
    9 w5 B+ ~. l* o' [629  375 45.1     0.6 & u$ F, \- i) \* R
    1571 259 309.0    1.3; 4 M; L3 [2 G1 |( `4 ]4 t5 C6 {, Y
    x4 y4 d4 sigma4=155,987,864.3,2.0;
    + T  A  L. g4 m: c, vENDDATA 0 b) f9 ?- C* N
    calc:
    4 r6 O/ R$ S- A@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180);
    # {$ Y) @4 p' O- Nendcalc . |3 i" ]8 |+ \) n' S0 S
    min=@sum(VOR:@sqr((x-x0)/(y-y0)-@tan(cita)))+@sqr(d4-@sqrt(@sqr(x -x4)+@sqr(y-y4)));
    8 Z/ f% {, V% B0 l- ~( P! m% sEND( {  U1 o" @6 H' v1 A  y0 {
    上述程序必须使用全局求解器进行求解,否则求得的是一个局部最优解。用 “LINGO|OPTIONS”菜单命令启动“Global Solver”选项卡上的“Use Global Solver”选项,然后求解,可以得到全局最优解 x=1019.306 ,y= 987.2909  ,对应的目标函4 H/ K& M" k3 }! p: h
    数值为 0.4729562,这里的解受π 的取值影响很大。
    4 u" y. r2 [$ J0 ]) ^+ `3 Y8 \0 h3 D. ?
    (3)模型 2 及求解, I( {& o  ], J/ S* X. e- \0 v8 z
    ( ~$ I8 V2 P4 |1 t" ]' ^. {: q
    注意到这个问题中角度和距离的单位是不一致的(角度为弧度,距离为公里),因 此将这 4 个误差平方和同等对待(相加)不是很合适。并且,4 种设备测量的精度(误差限)不同,而上面的方法根本没有考虑测量误差问题。如何利用测量设备的精度信息? 这就需要看对例中给出的设备精度如何理解。 一种可能的理解是:设备的测量误差是均匀分布的。以 VOR1 为例,目前测得的角度为  ,测量精度为 ,所以实际的角度应该位于区间   内。对其它设备也可以类似理解。由于 很少,即测量精度很高,所以在相应区间内正切函数 tan 的单调性成立。于是可以得到一组不等式:
    % x! T8 H" ~7 A% M7 t* e, n9 r  U/ z+ v  G

    + I# W; ~* k, Q2 q/ r. j% d$ `
    7 h9 f) ]$ |% Z4 a! y7 B7 x  也就是说,飞机坐标应该位于上述不等式组成的区域内。 由于这里假设设备的测量误差是均匀分布的,所以飞机坐标在这个区域内的每个 点上的可能性应该也是一样的,我们最好应该给出这个区域的 x和 y 坐标的最大值和最小值。于是我们可以分别以 min x ,  max x ,  min y,  max y为目标,以上面的区域限制条件为约束,求出x 和 y 坐标的最大值和最小值。
    : f8 t, E1 `- o7 C 以 min x 为例,相应的 LINGO 程序为:  ; a3 ^: I* U2 M' J1 ^( s. c
    * P, j! F1 `- ~6 ?5 H4 |2 l8 q. v
    MODEL:
    3 w! E0 M/ P0 H+ M7 G( d! \; lTITLE 飞机定位模型2;
    , B% B, N! V6 ASETS: VOR/1..3/:x0,y0,cita,sigma;
    0 L% G9 e7 C$ L% [. u7 ?ENDSETS 1 Q, {6 ^! p; H
    INIT: 3 B9 ]0 k6 t/ W# H" K, I" Q  q
    x=1000; y=900; 7 k* G) b: C4 m- x
    ENDINIT
    3 `, w1 C7 x' _4 A% r+ [; b7 q4 `( WDATA:
    ! M% R( s8 T& C6 Z  jx0, y0, cita, sigma = * ~$ X3 U8 [8 g( \( m0 A9 ]9 v
    746  1393 161.2   0.8
    3 {8 [1 ~, h( C7 `629  375 45.1     0.6 5 d- m+ w+ a' b  s/ o6 k
    1571 259 309.0    1.3;
    ; q: k! w# E% `x4 y4 d4 sigma4=155,987,864.3,2.0; 4 ~/ Q4 \. \5 A2 z
    ENDDATA
    5 v  I2 q. [  @calc:
      x6 ^2 I9 J1 g- ~@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180); 9 B5 b: Z3 `. w$ D* E4 F
    endcalc
    , l+ Y) I, W; D9 `$ t! k! v, qmin=x;
    6 ?6 @, `4 }4 C) n@for(VOR:(x-x0)/(y-y0)>@tan(cita-sigma)); + \5 e  A1 U3 k8 D, I- a
    @for(VOR:(x-x0)/(y-y0)<@tan(cita+sigma));
    & g. u) \4 Q! H7 z8 g" I" v7 t# g- Nd4-sigma4 <((x-x4)^2+(y-y4)^2)^.5 ; / M% S2 N% \) t3 k, m- }" q
    d4+sigma4 >((x-x4)^2+(y-y4)^2)^.5 ;
      d; l) E% w) v+ p/ v0 JEND 1 E$ P3 J8 S* X/ _) o( i
    注意:用 LINGO9 求解非线性问题,必须对决策变量进行初始化,否则 LINGO 可 能找不到可行解。决策变量的初值也有范围限制,取的不合适也可能找不到可行解。 求得的 x的最小值为 974. 8433。类似地(只需要换目标函数就可以了),可得 到 x的最大值为 982.2005, y 的最小值为 717.1614, y 的最大值为 733.1582。 因此,最后得到的解是一个比较大的矩形区域,大致为 . # `9 t$ \& O2 |) L" I7 ]# O

    : c0 n+ n1 ~8 Y/ x: D" t  (4)模型 3 及求解
    8 g/ g2 Q1 v' B5 H/ o3 x
    5 o3 G, R6 ?5 F- Z. m+ O# F模型 2 得到的只是一个很大的矩形区域,仍不能令人满意。实际上,模型 2 假设 设备的测量误差是均匀分布的,这是很不合理的。一般来说,在多次测量中,应该假设设备的测量误差是正态分布的,而且均值为 0。本例中给出的精度 可以认为是测量
    % h  D/ l7 \1 d% A% G3 a4 J误差的标准差。
    6 |1 }( o" `& R0 k
    & S4 [/ h% ]/ s$ p! v在这种理解下,用各自的误差限   对测量误差进行无量纲化(也可以看成是一种加权法)处理是合理的,即求解如下的无约束优化问题更合理。 1 f- t% H# j4 c. x# {/ h. S- Q7 i2 @

    " r6 [% R  f1 c. [) \% K# q1 g$ |: \1 ^! O( e- R7 a8 ^- O

    2 j6 d. m5 P1 `2 K: P# B' s1 N* ` 由于目标函数是平方和的形式,因此这是一个非线性最小二乘拟合问题。相应的 LINGO 程序为: ! v+ O( H7 h3 n! J5 `( z$ F4 h# f# J/ N

    0 O6 R) T! x% K/ W. mMODEL:   r1 [: {; T0 P  t2 r7 g8 o
    TITLE 飞机定位模型3;
    0 f" a: K8 [; w  v. W  A) eSETS: 2 D& O& f& @2 h4 @3 x: M7 h$ Z/ Y
    VOR/1..3/:x0,y0,cita,sigma,alpha; # A! [# b0 ^% O( ~
    ENDSETS ! m; N5 f- N& H2 ]
    INIT: ( x0 `0 J) y7 I6 ?
    x=1000; y=900;
    5 ~3 W, s0 @; U- y2 F' n& r) H/ t/ UENDINIT - Y5 s( c- t5 w( W: x4 u
    DATA: & T2 P$ s( c) i+ g/ K
    x0, y0, cita, sigma =
    4 Y# ]3 [7 a) U' x! l2 k* o746  1393 161.2   0.8
    % L7 F8 R7 B* Y3 g9 C- a9 @, P* ~; d629  375 45.1     0.6 6 {2 J1 ~% L' ?0 B
    1571 259 309.0    1.3; ! m# A: Z: k$ m7 d: _6 k8 `' r) S
    x4 y4 d4 sigma4=155,987,864.3,2.0;
    - s) i6 F5 W& d# [" n# z3 n9 kENDDATA ! x& r3 L7 t  }1 r, {% n
    calc:
    3 N- h. x; x+ H9 X' X@for(VOR:cita=cita*3.14159/180;sigma=sigma*3.14159/180); 2 o7 f5 S9 ]: ]- i/ y
    endcalc / L; E( m; ]: G3 R
    min=@sum(VOR:((alpha-cita)/sigma)^2)+((d4-((x-x4)^2+(y-y4)^2)^.5 )/ sigma4 )^2; ( F3 d' C8 p5 O. Y
    @for(VOR: @tan(alpha)=(x-x0)/(y-y0) );
    ) [/ }  m) L3 \/ }$ S1 V9 b8 r) XEND4 p* Q3 ~' v# [
    启动 LINGO 的全局最优求解程序求解,得到全局最优解 x=978.3071,y= 723.9841,对应的目标函数的值为 0.668035。 这里得到的误差比模型 1 的大,这是因为模型 1 中使用的是绝对误差,而这里使用的是相对于精度 的误差。对角度而言,分母  很少,所以相对误差比绝对误差大,这是可以理解的。
    " A; i' u; h2 s————————————————0 D: ]; l/ N/ O% f
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' r( A, n! B! @* i% u$ g
    原文链接:https://blog.csdn.net/qq_29831163/java/article/details/89389044
    ) t' K( m8 z( C& e. d: m0 J) P0 f+ u3 }0 e5 z

    : ?! w6 e& h0 ^# Y8 R6 w5 [6 n- s; Q) g6 I
    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, 2024-4-24 20:41 , Processed in 0.370812 second(s), 50 queries .

    回顶部