% 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{几何定位、主动测量、覆盖搜索与动作调度}组成的闭环模型。 模型以有界测向误差维护真实位置的候选集合,以清除半径约束控制操作时机, 并将移动、检测、换频及清除统一换算为虚拟耗时。 \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。 结合保守网格的正负观测更新、信息增益选点与开放路径滚动调度, 按各频道的候选集与清除结果判定完成状态。三次正式测试分别清除 $13$、$15$、$10$ 个源, 平均定位清除时间为 $238.075$、$232.889$、$290.686$ s/个。 \textbf{针对问题四},以位置与朝向的联合约束处理定向遮挡, 采用 $31$ 点离散集合覆盖、可见性筛选与网格遍历清除, 并利用凸组合性质证明 $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$ 行的单文件程序,并按四问主线在附录中列出核心函数 与一句话说明;评测机、命令行外壳、采集与绘图脚本、测试以及未被采用的方案不计入正文。 \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} 四问构成由单源几何分析到多源在线决策的递进关系。 问题一的核心是将带误差的射线交会改写为凸集合计算。 单次示向度只限制方向,不能给出唯一位置;即使定位区域的直径较小, 其最远顶点对中点也未必能覆盖全部候选位置,因此应分别讨论直径与包围半径。 问题二同时受几何收缩与接收范围制约。只追求较大的交会角可能使第二点远离源, 导致没有信号;直接前往候选集中心则可能缺少横向基线。 因此先构造对未知真源均安全的测量区域,再在其中优化后验不确定性。 “保证能够接收”具有确定性证明,“有限候选中收缩较好”属于数值决策。 问题三的搜索过程需要同时维护各频道的存在性与定位状态。 本文以覆盖点集和逐频道检测记录确定搜索范围, 以负观测排除不可能位置,以最小包围圆触发清除, 并通过滚动排序减少发现任务与定位任务之间的往返。 问题四中,无信号既可能来自距离,也可能来自朝向。 其发现要求从“圆盘覆盖位置”提升为“前向半圆盘覆盖位置与朝向”。 定位时应保留可能遮挡的解释;若无线电观测停滞, 则利用清除不受朝向限制的性质,覆盖仍可能含源的小区域。 整个闭环的关系如图~\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}