Files
mcm-26-b/docs/paper/main.tex
T
2026-09-13 13:23:10 +08:00

236 lines
20 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
% XeLaTeX; run from docs/paper. Formal tables are generated, not hand copied.
\documentclass[zihao=-4,a4paper]{mcm26b-paper}
\usepackage{amsthm,tabularx,float,tikz,xurl}
\usetikzlibrary{arrows.meta,positioning,calc,patterns}
% Raster figures are rendered by scripts/build_figure_data.py + scripts/matlab/*.m
% into docs/figures; this file only includes them, it does not redraw them.
\graphicspath{{../figures/}}
% The paper carries several small tables and figures; let them share pages
% instead of being pushed onto float-only pages.
\setcounter{topnumber}{3}
\setcounter{bottomnumber}{2}
\setcounter{totalnumber}{4}
\renewcommand{\topfraction}{0.92}
\renewcommand{\bottomfraction}{0.75}
\renewcommand{\textfraction}{0.06}
\renewcommand{\floatpagefraction}{0.72}
\setlength{\floatsep}{9pt plus 2pt minus 2pt}
\setlength{\textfloatsep}{11pt plus 2pt minus 4pt}
\setlength{\intextsep}{9pt plus 2pt minus 2pt}
\definecolor{inkblue}{RGB}{35,76,112}
\definecolor{warmgray}{RGB}{103,103,103}
\newtheorem{proposition}{命题}
\newcommand{\B}{\overline{B}}
\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\newcommand{\sgnless}{\texttt{no\_signal}}
\newcommand{\direction}{\texttt{direction}}
\newcommand{\near}{\texttt{near}}
\newcommand{\pathtext}[1]{{\small\nolinkurl{#1}}}
\newenvironment{algorithmblock}[1]{%
\par\medskip\noindent\begin{minipage}{\linewidth}\small
\hrule\vspace{5pt}\textbf{#1}\par\vspace{3pt}\hrule\vspace{5pt}
}{\vspace{4pt}\hrule\end{minipage}\par\medskip}
\renewcommand{\proofname}{证明}
% 附录"核心程序代码"的代码排版样式:等宽小字号、行号、长行折行;
% 数学符号与 \ { } 通过 literate 映射,避免逐字符转义代码正文。
\lstdefinestyle{corecode}{%
basicstyle=\ttfamily\fontsize{7.6}{9}\selectfont,numberstyle=\tiny,
numbers=left,numbersep=6pt,aboveskip=6pt,belowskip=8pt,
xleftmargin=2em,frame=none,breaklines=true,columns=fullflexible,
keepspaces=true,
literate={\\}{$\backslash$}{0}%
{$\{$}{$\{$}{0}%
{$\}$}{$\}$}{0}%
{→}{$\to$}{0}{≤}{$\le$}{0}{≥}{$\ge$}{0}{∈}{$\in$}{0}%
{∩}{$\cap$}{0}{∪}{$\cup$}{0}{≈}{$\approx$}{0}{∅}{$\varnothing$}{0}%
{−}{$-$}{0}{×}{$\times$}{0}{√}{$\surd$}{0}%
{α}{$\alpha$}{0}{δ}{$\delta$}{0}{θ}{$\theta$}{0}{λ}{$\lambda$}{0}%
{π}{$\pi$}{0}{ρ}{$\rho$}{0}{φ}{$\varphi$}{0}%
{°}{$^\circ$}{0}{±}{$\pm$}{0}{²}{$^2$}{0}{Ω}{$\Omega$}{0}%
{⟹}{$\Longrightarrow$}{0}{∀}{$\forall$}{0}{—}{---}{0}%
{/}{/}{0}{§}{\S}{0}}
\hypersetup{pdftitle={基于集合估计与覆盖优化的无线电干扰源自动定位清除},
pdfauthor={},pdfsubject={2026年全国大学生数学建模竞赛B题},pdfkeywords={交会定位,最小包围圆,主动测量,覆盖搜索}}
\input{data/formal-macros}
\input{data/project-macros}
\begin{document}
\setcounter{page}{1}
\begin{center}
{\heiti\zihao{3} 基于集合估计与覆盖优化的\\[0.3em]无线电干扰源自动定位清除}
\end{center}
\vspace{0.8em}
\begin{center}
{\heiti\zihao{4} 摘\quad 要}
\end{center}
针对源数量、位置和有效接收半径均未知的无线电干扰源自动排查问题,本文建立了一个由\textbf{几何定位、主动测量、覆盖搜索与动作调度}组成的闭环模型。模型以有界测向误差维护真实位置的候选集合,以清除半径约束控制操作时机,并将移动、检测、换频及清除统一折算为虚拟耗时;同时以题设模拟器作为测试与验证环境,将发射源抽象为单点,用题设 $\pm1^\circ$ 有界测向误差和有效接收半径圆盘刻画观测。
\textbf{针对问题一},由于带误差的示向度只限制方向而不能唯一确定位置,本文将每次观测转化为前向角域的半平面约束,并通过边界交点枚举、可行性筛选与凸包构造得到定位区域,同时区分空集、无界及退化情形。在此基础上,证明区域直径只需在顶点对中取得,并给出以该直径为直径的圆覆盖定位区域的充要判据。进一步分析发现,等边三角形反例说明“直径不超过 $40$ m”仍不足以保证一次清除;由此本文把清除条件落到\textbf{最小包围圆半径不超过 $20$ m}的充分判据上。
\textbf{针对问题二},为使第二检测点既能接收信号又具有良好横向基线,先由首次示向度与接收半径上界构造候选位置集,并将“对所有候选源位置均保证接收”表示为 $1000$ m 圆盘之交。随后证明截断角域的最小包围半径为 $1500/(2\cos\delta)$;当有效误差半角取 $1.005^\circ$ 时,得到半径约 $249.885$ m 的充分安全候选盘。在线执行时,本文用更紧的凸外包圆替代解析盘,并在其中比较 $37$ 个候选点的最坏后验半径与移动时间,从而兼顾接收保证与定位收缩。
\textbf{针对问题三},为在源数量未知时同时避免漏检和无效扫描,本文以原点与六个环站组成七点计划;在环半径 $1159.7$ m 时证明最坏覆盖距离不超过 $984.539$ m,使“七站全无信号”成为该频道缺席的解析证据。实际执行不再逐站全频道扫描,而是为每个频道维护网格幸存集,统一融合正负观测:候选集为空即判缺席,并跳过必为无信号的检测。定位点按期望信息增益与移动代价评分,覆盖、定位与清除三类任务统一建表,用最近邻和开放路径 2-opt 滚动重排。三次正式测试分别清除 $13$、$15$、$10$ 个源,平均定位清除时间为 $238.075$、$232.889$、$290.686$ s/个。
\textbf{针对问题四},由于定向源使“无信号”同时可能来源于距离与朝向,本文将发现条件由位置圆盘覆盖提升为位置与朝向的前向半盘覆盖,采用 $31$ 点最小命中集作为发现计划,并按 $15$ m 位置间距、$72$ 个朝向档运行期校核;同时用逐频道的(位置 $\times$ 朝向)联合幸存集保留遮挡解释。探点先按可见性概率筛选,再取移动最省者;定位停滞时,利用清除与朝向无关的性质,执行 $20$ m 方格、至多 $400$ 格的预算化后备清除。作为备选,本文还由凸组合性质给出 $49$ 点方格方案的连续覆盖证明。三次正式测试分别清除 $13$、$10$、$14$ 个源,平均定位清除时间为 $720.171$、$927.130$、$614.884$ s/个。
六次正式测试均主动退出,且清除失败计数为零。正式成绩仅取自官方模拟器 \texttt{test} 目录下的六份正式导出包及其匹配统计;由于正式数据未公开源总数,本文只用清除数量、平均定位清除时间与程序运行时间评价,不据此宣称全清率。
\textbf{对比实验}采用仓库内的配对基准集复核上述方法。问题一朴素基线在随机算例上直径平均绝对误差为 $\ProjQOneRandMaeBase$ m、覆盖判定准确率为 $\ProjQOneRandCoverBase$、最大误差为 $\ProjQOneRandMaeMaxBase$ m;问题二忽略接收保证的基线保证接收率为 $\ProjQTwoGuaranteePerp$,只保证接收而缺少横向基线的基线最坏后验半径为 $\ProjQTwoWorstMec$ m;问题三默认策略相对 $49$ 点网格的平均虚拟时间下降 $\ProjQThreeDropOpt$;问题四直接搬用问题三策略时出现 $\ProjQFourAbsentBase$ 次缺席误判。该组数据来自自建冻结基准集与演练局留档,只用于机制说明和相对行为比较,与正式成绩分节陈述,不合并统计。
四问的求解核心已整理为约 $5000$ 行的单文件程序,并按四问主线在附录中列出核心函数及一句话说明;评测机、命令行外壳、采集与绘图脚本、测试以及未被采用的方案不计入正文。综合上述,结论可归纳为:1. 带误差交会定位的严格清除判据是最小包围圆半径,而非定位区域直径;2. 主动测量应先保证接收,再在安全区域内优化横向基线与后验收缩;3. 多源搜索需把覆盖证明、正负观测滤波和滚动任务排序统一到同一时间目标下;4. 定向场景必须保留位置与朝向的联合解释,并以有限后备清除兜底。
\vspace{0.4em}
\noindent{\heiti 关键词:}有界误差;交会定位;最小包围圆;主动测量;定向覆盖
\clearpage
\section{问题重述}
\subsection{问题背景}
无线电干扰源的精准定位是频谱管理的末端任务。在初步监测和区域排查已确定
目标分布范围后,仍需携带测向设备逐点检测,以缩小位置不确定性并完成清除。
本题希望由一只搭载测向机和光学定位装置的机器狗自动完成这一过程,
减少人工进入危险环境的需要,并缩短全部任务的完成时间\cite{problem}。
目标区域为 $\Omega=\B(0,1800)$,单位为米,坐标轴分别指向东、北。
每个源占用 $1$ 至 $20$ 中的一个独立频道,源总数为 $10$ 至 $16$。
有效接收半径未知,介于 $1000$ 与 $1500$ m 之间。
检测返回无信号、近距离或示向度;示向度误差不超过 $\pm1^\circ$,
同一地点的重复检测不会改变误差。全向源在整个圆周发射;
定向源仅在其未知朝向两侧各 $90^\circ$ 的闭半平面内发射。
机器狗从原点、频道 $1$ 出发,以 $5$ m/s 沿直线移动,停机后才能检测。
一次检测耗时 $5$ s,切换检测频道耗时 $1$ s。
距源不超过 $20$ m 时,光学定位与清除共耗时 $5$ s;
清除失败仅支付 $3$ s 光学检查时间。清除是否成功与源朝向无关。
距源不超过 $5$ m 且能够接收信号时,返回近距离信息,可直接执行清除。
圆域约束源的位置,机器狗允许到圆域外检测\cite{protocol}。
\subsection{研究任务}
\begin{enumerate}[label=(\arabic*),leftmargin=2.8em,itemsep=3pt]
\item 已知多个测点及同一源的示向度,计算交会定位区域的直径,
判断以该直径为直径的圆能否覆盖定位区域。
\item 已知一个全向源的首次示向度,确定第二检测点的候选区域与选点策略,
在保证接收的条件下获得较好的定位效果。
\item 对数量未知的全向源设计自动发现、定位和清除算法,
在完成任务的前提下尽量减少总耗时,并报告官方测试结果。
\item 将策略推广到全向与定向源混合的情形,处理无信号的歧义,
给出相应的搜索、定位、清除算法及正式测试结果。
\end{enumerate}
问题三、四各完成三次正式测试。本文依据六份正式日志及其对应统计,
报告各次清除数量、平均定位清除时间和程序运行时间。
\section{问题分析}
四问并非彼此独立的技巧题,而是同一条“观测—证据—决策—执行”链路在不同信息条件下的展开,如图~\ref{fig:flow} 所示。题面给定的目标区域、运动方式、动作耗时与源/频道范围构成最上层的抽象;在线系统则分为证据层、决策层和执行层,分别维护候选集与幸存集、生成选点与任务表、串行执行动作;最下层是问题一至四各自的主线与发现、定位、清除三个闭环。后文的模型与算法都落在这条链路的某一层上:问题一、二提供证据层与决策层所需的几何判据,问题三、四解决时间约束下三个闭环的组织方式。
\begin{figure}[htbp]
\centering
\includegraphics[width=0.88\linewidth]{flow-overall-architecture.png}
\caption{四问共用的模型链路:题面抽象(L0)、在线三层(L1)、
四问主线(L2)与发现、定位、清除三个闭环(L3)。}
\label{fig:flow}
\end{figure}
问题一处于整条链路的几何起点。带误差的示向度只限制真实方位所在的角度区间,单条射线无法确定位置;若直接对射线求交,多解和数值敏感会同时出现。为避免这一点,本文将观测改写为前向角域的半平面约束,并通过直线交点枚举与凸包构造获得可行域。进一步地,可行域直径只反映区域尺度,并不等于覆盖该区域的圆半径:最远顶点对的中点未必能覆盖全部候选位置。由这一差别出发,本文分别导出直径的顶点可达性与直径圆覆盖的充要判据,并以等边三角形反例说明“直径不超过 $40$ m”不能保证一次清除,最终把清除条件落到最小包围圆半径不超过 $20$ m 的充分判据上。
在问题一的几何基础上,问题二回答“第二测点选在哪里”。如果只追求大交会角,第二点可能远离源而收不到信号;如果只求保证接收,又可能缺少横向基线。为兼顾二者,本文先由首次示向度与接收半径上界构造候选位置集,把“对未知真源均保证接收”表示为所有候选位置的 $1000$ m 圆盘之交;在此基础上证明截断角域的最小包围半径为 $1500/(2\cos\delta)$,并在有效误差半角 $1.005^\circ$ 时给出半径约 $249.885$ m 的安全候选盘。在线执行时,用更紧的凸外包圆替代解析盘,在 $37$ 个候选点中按最坏后验半径与移动时间择优。因此,问题二的接收保证是可证明的几何事实,定位收缩则通过有限候选近似完成。
问题三把单源判据推广到数量未知的全向源。此时真正的困难不是清除一个已发现源,而是在有限时间内区分“尚未发现”与“根本不存在”。为此,本文以原点与六个环站组成七点计划,在环半径 $1159.7$ m 时证明最坏覆盖距离不超过 $984.539$ m,使“七站全无信号”成为该频道缺席的解析证据。实际执行不再逐站全频道扫描,而是为每个频道维护网格幸存集,统一融合正负观测:候选集为空即判缺席,并可跳过必为无信号的检测。定位点由期望信息增益与移动代价共同评分,覆盖、定位、清除三类任务统一建表后用最近邻与开放路径 2-opt 滚动重排,以减少发现任务与定位任务间的往返。三次正式测试分别清除 $13$、$15$、$10$ 个源,平均定位清除时间为 $238.075$、$232.889$、$290.686$ s/个。
问题四进一步处理混合源,此时“无信号”既可能来自距离,也可能来自朝向。七点全向计划不再满足前向半盘下的发现要求,因此本文把发现条件提升为位置与朝向的联合覆盖,采用 $31$ 点最小命中集,并按 $15$ m 位置间距和 $72$ 个朝向档进行运行期校核;同时用逐频道的位置 $\times$ 朝向联合幸存集保留朝向遮挡解释。探点先按可见性概率筛选,再取移动最省者;定位停滞时,利用清除与朝向无关的性质,执行 $20$ m 方格、至多 $400$ 格的预算化后备清除。作为备选,本文还由凸组合性质给出 $49$ 点方格方案的连续覆盖证明。三次正式测试分别清除 $13$、$10$、$14$ 个源,平均定位清除时间为 $720.171$、$927.130$、$614.884$ s/个。
综合上述,结论可归纳为:1. 带误差交会定位的严格清除判据是最小包围圆半径,而非定位区域直径;2. 主动测量应先保证接收,再在安全区域内优化横向基线与后验收缩;3. 多源搜索需把覆盖证明、正负观测滤波和滚动任务排序统一到同一时间目标下;4. 混合源场景必须保留位置与朝向的联合解释,并以有限后备清除兜底。上述闭环对应的观测更新与决策关系如图~\ref{fig:framework}。
\begin{figure}[htbp]
\centering
\begin{tikzpicture}[font=\small,>=Stealth,
box/.style={draw=inkblue,rounded corners=2pt,align=center,text width=3.6cm,
minimum height=1.05cm,fill=inkblue!4}]
\node[box] (obs) {接口观测\\示向度/近距离/无信号};
\node[box,right=1cm of obs] (belief) {候选集更新\\几何外包/网格/朝向};
\node[box,below=0.85cm of belief] (decision) {选择下一任务\\覆盖/定位/清除};
\node[box,left=1cm of decision] (act) {执行一个动作\\移动、计时与状态更新};
\draw[->] (obs)--(belief); \draw[->] (belief)--(decision);
\draw[->] (decision)--(act); \draw[->] (act)--(obs);
\node[align=center,right=0.5cm of decision,text width=2.5cm] (stop)
{满足终止条件\\或预算到限\\$\Downarrow$\\退出并报告};
\draw[->] (decision)--(stop);
\end{tikzpicture}
\caption{基于观测更新、集合估计与任务排序的闭环决策过程。}
\label{fig:framework}
\end{figure}
\section{模型假设}
\begin{enumerate}[label=假设\arabic*:,leftmargin=4.5em,itemsep=4pt]
\item 源的位置、频道、发射朝向和有效接收半径在一次测试中保持不变,
不同频道互不干扰。这与静态测试案例及题设的频道独立性一致。
\item 采用二维欧氏距离,忽略高度差;机器人匀速直线移动,
检测、换频、光学定位与清除按给定时间串行执行。
\item 几何保证只使用有界误差和接收半径上下界。
为覆盖接口两位小数的表示误差,在线角域取
$\delta_{\mathrm{eff}}=1^\circ+0.005^\circ$。
该附加量用于处理示向度的数值舍入误差。
\item 定位过程依据检测点坐标、频道及观测结果更新候选集合。
\item 信息增益与可见性评分采用均匀候选权重及均匀接收半径作为
决策先验;几何可行性由测向误差和接收距离约束确定。
\end{enumerate}
前三项中的物理约束取自题目和附件,数值余量与评分先验属于实现选择。
\section{符号说明}
\begin{table}[htbp]
\centering\small
\caption{主要符号及单位}
\begin{tabularx}{\linewidth}{>{$}l<{$} X l}
\toprule
\text{符号} & 含义 & 单位\\
\midrule
\Omega,\ R & 源位置圆域及其半径,$R=1800$ & m\\
g,\ s_i,\ q & 真源位置、已有检测点、待选检测点 & m\\
\theta_i,\ \delta & 示向度及误差半角 & 度或弧度\\
u(\alpha) & 单位方向向量 $(\cos\alpha,\sin\alpha)$ & --\\
W_i,\ P & 第 $i$ 个前向角域及纯角域交集 & --\\
K_c,\ P_c^{\mathrm{out}} & 频道 $c$ 的可行位置集及保守凸外包 & --\\
D(P),\ m,\ \rho & 区域直径、最小包围圆圆心及半径 & m\\
R_-,R_+ & 接收半径下、上界,分别为 $1000$、$1500$ & m\\
\mathcal Q(K) & 对集合 $K$ 保证接收的检测点区域 & --\\
\ell,\ \epsilon_g & 网格边长及格心位置裕量 $\ell/\sqrt2$ & m\\
\psi,\ H & 源朝向及朝向离散档数 & 度,个\\
L,\ T & 移动总距离及总虚拟耗时 & m,s\\
N_m,N_s,N_c^+,N_c^- & 检测、换频、成功清除、失败清除次数 & 次\\
\bar T,\ T_{\mathrm{real}} & 平均定位清除时间及程序运行时间 & s/个,s\\
\bottomrule
\end{tabularx}
\end{table}
数学推导中三角函数的自变量采用弧度;带 $^\circ$ 的量先换算为弧度。
记 $[a,b]=a_xb_y-a_yb_x$ 为二维叉积,$\B(c,r)$ 为闭圆盘。
\input{sections/timing}
\input{sections/q1}
\input{sections/q2}
\input{sections/q3}
\input{sections/q4}
\input{sections/results}
\input{sections/comparison}
\input{sections/evaluation}
\begin{thebibliography}{99}
\small\setlength{\itemsep}{1pt}
\bibitem{problem} 全国大学生数学建模竞赛组委会.
2026年高教社杯全国大学生数学建模竞赛B题:无线电干扰源的快速自动定位与清除[Z]. 2026.
\bibitem{protocol} 赛题配套材料. 模拟器使用说明;模拟器通信接口说明及编程指南[Z]. 2026.
\bibitem{format} 全国大学生数学建模竞赛组委会. 全国大学生数学建模竞赛论文格式规范(2026年修订稿)[Z]. 2026.
\bibitem{welzl} WELZL E. Smallest enclosing disks (balls and ellipsoids)[C]//
New Results and New Trends in Computer Science. LNCS 555. Berlin: Springer, 1991: 359--370.
\url{https://doi.org/10.1007/BFb0038202}.
\bibitem{boyd} BOYD S, VANDENBERGHE L. Convex Optimization[M].
Cambridge: Cambridge University Press, 2004. \url{https://web.stanford.edu/~boyd/cvxbook/}.
\bibitem{chvatal} CHV\'ATAL V. A greedy heuristic for the set-covering problem[J].
Mathematics of Operations Research, 1979, 4(3): 233--235.
\url{https://doi.org/10.1287/moor.4.3.233}.
\bibitem{formal} 官方无线电干扰源环境模拟器.
问题三、四正式行为日志与配套统计(客户端1.1.0,六个案例)[DS]. 2026-09-12--2026-09-13.
案例编码及文件校验值见附录~\ref{app:data}。
\end{thebibliography}
\clearpage
\appendix
\ctexset{section={number=\Alph{section},aftername={\quad}}}
\input{sections/appendix}
\end{document}