% ============================================================ % 2026 年高教社杯全国大学生数学建模竞赛论文(B 题) % 编译:latexmk -xelatex -outdir=build main.tex % (或 xelatex main.tex 连续编译两遍) % % 规范要点(附件3,2026 年修订稿): % 1. A4 纸,上下左右页边距至少 2.5cm; % 2. 纸质版第一页承诺书、第二页编号专用页; % 3. 摘要专用页含标题与关键词,不超过一页;页码从摘要页起, % 页脚中部阿拉伯数字从 1 连续编号; % 4. 正文不要目录,不超过 30 页;之后为附录(页数不限); % 5. 摘要页、正文、附录中不得出现参赛者身份、学校、赛区信息; % 6. 电子版第一页必须为摘要专用页(不含承诺书与编号专用页)。 % ============================================================ \documentclass[zihao=-4,a4paper]{ctexart} % ---------- 电子版 / 纸质版切换 ---------- % 电子版(默认):第一页即摘要专用页,不包含承诺书与编号专用页; % 纸质版打印:将下面 \paperfalse 改为 \papertrue,会自动加入 % 承诺书(第 1 页)与编号专用页(第 2 页),页码仍从摘要页开始。 \newif\ifpaper \paperfalse % ---------- 页面与基础宏包 ---------- \usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry} \usepackage{amsmath,amssymb,bm} \usepackage{graphicx} \usepackage{booktabs,array,multirow,longtable} \usepackage[font=small,labelsep=quad]{caption} \usepackage{xcolor} \usepackage{listings} \usepackage{enumitem} \usepackage[hidelinks]{hyperref} % ---------- 字体设置(使用本目录 fonts/ 下复制的字体,工程自包含) ---------- % 中文正文:宋体(Songti SC);标题/强调:黑体(Heiti SC) % 西文与数字:Times New Roman % 若在 Windows 下编译且未携带 fonts/ 目录,可改用中易宋体/黑体: % \setCJKmainfont{SimSun} \setCJKsansfont{SimHei} \setmainfont{Times New Roman} \setmainfont{Times New Roman}[ Path = fonts/, Extension = .ttf, BoldFont = {Times New Roman Bold}, ItalicFont = {Times New Roman Italic}, BoldItalicFont = {Times New Roman Bold Italic}, ] \setCJKmainfont{SongtiSC}[ Path = fonts/, Extension = .ttf, UprightFont = SongtiSC-Regular, BoldFont = SongtiSC-Bold, ItalicFont = SongtiSC-Regular, BoldItalicFont = SongtiSC-Bold, ] \setCJKsansfont{HeitiSC}[ Path = fonts/, Extension = .ttf, UprightFont = HeitiSC-Light, BoldFont = HeitiSC-Medium, ] \setCJKmonofont{SongtiSC}[Path = fonts/, Extension = .ttf, UprightFont = SongtiSC-Regular] \setCJKfamilyfont{zhsong}{SongtiSC}[Path = fonts/, Extension = .ttf, UprightFont = SongtiSC-Regular, BoldFont = SongtiSC-Bold] \setCJKfamilyfont{zhei}{HeitiSC}[Path = fonts/, Extension = .ttf, UprightFont = HeitiSC-Light, BoldFont = HeitiSC-Medium] \setCJKfamilyfont{zhkai}{SongtiSC}[Path = fonts/, Extension = .ttf, UprightFont = SongtiSC-Regular] % ---------- 标题层级:一级四号黑体居中,二级小四黑体左对齐 ---------- \ctexset{ section = { format = {\centering\heiti\zihao{4}}, aftername = {\quad}, beforeskip = {1.2ex plus 0.3ex}, afterskip = {1.0ex plus 0.2ex}, }, subsection = { format = {\heiti\zihao{-4}}, aftername = {\quad}, beforeskip = {1.0ex plus 0.2ex}, afterskip = {0.8ex plus 0.2ex}, }, subsubsection = { format = {\heiti\zihao{-4}}, aftername = {\quad}, }, } \linespread{1.4} \setlength{\parskip}{0.3ex} \setlength{\emergencystretch}{3em} % 规范:页码位于页脚中部,阿拉伯数字从摘要页 1 开始连续编号 \pagestyle{plain} % ---------- 草稿批注宏(定稿前必须全部删除或落实) ---------- \newcommand{\todonote}[1]{\textcolor{red}{【#1】}} % ---------- 代码排版设置(附录) ---------- \lstset{ language=Python, basicstyle=\ttfamily\zihao{-5}, keywordstyle=\bfseries, commentstyle=\color{black!60}, stringstyle=\color{black!60}, columns=fullflexible, keepspaces=true, breaklines=true, breakatwhitespace=false, showstringspaces=false, numbers=left, numberstyle=\tiny\color{black!50}, frame=single, framerule=0.3pt, rulecolor=\color{black!40}, tabsize=4, } % ---------- 常用数学简写 ---------- \newcommand{\R}{\mathbb{R}} \newcommand{\diff}{\,\mathrm{d}} \begin{document} % ============================================================ % 纸质版专用页(电子版不编译) % 注意:承诺书与编号专用页的正式文字以组委会当年发布的专用页为准, % 此处为占位排版。电子版必须不含本部分。 % ============================================================ \ifpaper \thispagestyle{empty} \begin{center} {\heiti\zihao{2} 承\ 诺\ 书} \end{center} \vspace{1em} \todonote{纸质版承诺书:请将组委会当年发布的专用页原文粘贴于此(含编号、 队员信息表与全体队员签名、日期)。电子版论文不得包含本页。} \vspace{2em} \begin{center} {\heiti\zihao{2} 编号专用页} \end{center} \vspace{2em} \begin{center} {\zihao{4} 报名号:\rule[-2pt]{8cm}{0.4pt}} \end{center} \todonote{纸质版编号专用页:仅填写报名号,不得出现姓名、学校、赛区等信息。} \clearpage \fi % ============================================================ % 摘要专用页(电子版第一页;页码从此页开始编号) % ============================================================ \setcounter{page}{1} \begin{center} {\heiti\zihao{3} 基于有界误差交会定位与覆盖证明搜索的\\[0.3em] 无线电干扰源快速定位与清除} \end{center} \vspace{0.8em} \begin{center} {\heiti\zihao{4} 摘\quad 要} \end{center} 针对无线电干扰源的快速自动定位与清除问题,本文以测向观测的三值反馈 \texttt{no\_signal}、\texttt{near}、\texttt{direction} 为唯一信息来源,建立了 \textbf{有界误差交会定位—主动选点—覆盖证明搜索—动作耗时调度}的统一框架:四个问题 复用同一几何内核,以覆盖证明与严格停止条件保证“清除所有干扰源”这一硬约束, 在此之上再优化时间指标。 \textbf{针对问题~1},将 $\pm 1^{\circ}$ 有界误差下的测向观测建模为以检测点为顶点的 前向角域 $W_i$,交会定位区域即诸角域的半平面交 $P=\bigcap_i W_i$,给出定位区域直径 $D(P)=\max_{i,j}\|v_i-v_j\|$ 的顶点对枚举算法,并处理空集、单点、线段与无界区域等 退化情形。对“直径为 $D$ 的圆能否覆盖区域”,以等边三角形给出否定反例,进而给出 只需检查一组最远顶点对的覆盖判定算法;以最小包围圆半径 $\rho(K)\le 20$ 米作为 可保证清除的充分判据,采用 Welzl 随机增量算法求解并以枚举法对照。对官方演练的 三点观测离线复算,$\delta=1^{\circ}$ 时 $D=23.9967$ 米、$\rho=12.0686$ 米: 直径圆不覆盖定位区域,但存在一点可保证清除。 \textbf{针对问题~2},首次测向后取候选集合 $K_1=\Omega\cap W(s_1,\theta_1\pm\delta)\cap \overline{B}(s_1,1500)$,并给出安全 候选区域恒非空的解析证明:记 $a=R/(2\cos\delta)$、$c=s_1+a\bm{u}$,则 $K_1\subseteq B(c,a)$,从而 $B(c,1000-a)\subseteq\mathcal{Q}$($\delta=1^{\circ}$ 时安全圆盘半径约 $249.88$ 米)。在安全区域内以“最坏后验包围圆半径”为主目标、 移动与检测成本为次目标主动选取第二检测点,交会角仅作同分筛选指标。 \textbf{针对问题~3},建立以虚拟时间 $T=L/5+N_{\mathrm{switch}}+5N_{\mathrm{measure}}+5N_{\mathrm{clear}}^{\mathrm{s}} +3N_{\mathrm{clear}}^{\mathrm{f}}$ 为目标的全向源搜索清除模型。构造间距 $700$ 米的 $7\times 7=49$ 点覆盖基线,由 $700\sqrt{2}\approx 989.95<1000$ 米证明任何位置的源均能被某格点发现,从而保证 不漏源;维护逐频道覆盖记录与“发现—定位—清除”闭环,给出严格停止条件与请求数 预算控制。\todonote{演练统计值待填入} \textbf{针对问题~4},将定向源建模为位置—半径—朝向的联合假设:\texttt{no\_signal} 不单独删除空间候选点,避免误删真源;证明 $49$ 点覆盖基线对定向源仍然有效。对再次 失去信号的源,给出候选集合的 $20$ 米网格有限圆盘覆盖后备清除方法及请求次数上界 $N\le(\lceil w/20\rceil+2)(\lceil h/20\rceil+2)$,并纳入现实时间预算约束。 \todonote{演练统计值与正式测试结果(表~1)待填入} 最后对模型的保守性与效率进行评价:几何内核可复用、覆盖保证可验证;局限在于 主动选点为采样启发式、后备清除请求数较大,可通过共享测点与自适应覆盖加速。 \vspace{0.8em} \noindent{\heiti 关键词:}交会定位;半平面交;最小包围圆;覆盖证明;主动选点;动作调度 \clearpage % ============================================================ % 正文(不超过 30 页,不要目录) % ============================================================ \section{问题重述} \subsection{问题背景} 无线电干扰源的定位与清除是无线电频谱管理的重要任务。精准定位阶段需要携带便携式 测向机的人员(本题中为搭载测向机的机器狗)进入目标分布区域,通过逐点检测示向度 逐步定位干扰源并加以清除。目标区域为半径 $1800$ 米的圆形区域 $\Omega=\{(x,y):x^2+y^2\le 1800^2\}$,干扰源按覆盖角度范围分为全向与定向两类, 其有效接收半径在 $1000$ 至 $1500$ 米之间,频道位于 $1$ 至 $20$ 中且互不相同。 测向机同一地点的检测误差固定,全局误差在 $[-1^{\circ},1^{\circ}]$ 内;机器狗移动 速度为 $5$ 米/秒,检测耗时 $5$ 秒,频道切换耗时 $1$ 秒,光学精确定位与清除分别在 距离不超过 $20$ 米时进行,耗时 $3$ 秒与 $2$ 秒。 \subsection{待解决的问题} \begin{enumerate}[label=(\arabic*),leftmargin=3em] \item \textbf{问题~1}:已知若干检测点坐标及某干扰源在各点的示向度,给出交会定位法 计算多边形定位区域直径的算法,并回答“以定位区域直径为直径的圆能否覆盖此 定位区域”。 \item \textbf{问题~2}:已知某全向干扰源在一个检测点处测得的示向度,给出第二个 检测点的选择策略与候选区域,以获得较好的定位效果。 \item \textbf{问题~3}:目标区域中全向干扰源总数为 $10$--$16$ 个但具体个数未知, 制定机器狗自动搜索定位及清除策略并设计算法,确保全部清除的前提下时间最短, 通过模拟器演练并给出清除比例、平均定位清除时间等统计值与三次正式测试结果。 \item \textbf{问题~4}:目标区域中同时存在全向与定向干扰源,总数与定向方向均未知, 给出检测与清除策略及算法,并完成演练与三次正式测试。 \end{enumerate} \section{问题分析} 四个问题构成一条递进的主线:问题~1 的交会定位几何是全部后续问题的基础;问题~2 在 单次观测下研究“下一步去哪里测”的主动测量设计;问题~3、问题~4 则是在数量未知的 条件下,把定位几何组织成“全域覆盖发现—逐个定位—清除—证明完成”的闭环调度问题。 因此不必为每问单独建模,而是复用同一几何内核与观测更新机制。 \textbf{问题~1 的分析}。误差有界意味着单次测向只能确定源位于以示向度方向为轴、 半角 $1^{\circ}$ 的前向角域内;多检测点角域的交集即为定位区域。求交即半平面交, 是经典计算几何问题;直径在凸多边形顶点上取得,可用顶点对枚举求得。“直径圆能否 覆盖区域”需要区分“直径”与“外接”两个概念,等边三角形说明直径圆一般不覆盖, 正确的保证清除工具是最小包围圆。 \textbf{问题~2 的分析}。第二检测点的选取是在目标位置未知条件下的主动测量设计: 无论真实源位于当前候选集合何处,新检测点都必须保证能接收到信号(距离不超过其有效 接收半径),否则该次检测将退化为无效动作。因此先构造保守候选集合,再解析证明存在 “任何情况下都接收到信号”的安全区域,在安全区域内按最坏情形的后验包围半径最小化 选取检测点。 \textbf{问题~3 的分析}。全清是硬约束:发现 $10$ 个源或连续多次无信号都不构成停止 依据。需要一组对任何源位置都能保证“至少一个检测点落在其有效接收范围内”的覆盖点集, 并对每个频道维护覆盖记录,使“未发现”严格等价于“已证明不存在”。在该保证之上, 用虚拟时间公式统一度量移动、切换、检测与清除成本,安排发现与处理的调度。 \textbf{问题~4 的分析}。定向源的发射半平面使得“无信号”不能单独否定位置假设: 源可能恰在检测点背后发射。把观测视为对“位置—半径—朝向”联合假设的约束即可保持 不漏源的保守性;同时证明覆盖基线对定向源依然成立,失去信号后的已定位源可用有限 圆盘覆盖逐点清除作为后备。 \section{模型假设} \begin{enumerate}[label=\arabic*.,leftmargin=2.5em] \item 示向度误差满足 $|\varepsilon|\le 1^{\circ}$,且同一检测点重复检测误差不变; 仅在不同地点误差才呈现统计规律(题设)。本文取有界误差模型,不假设误差的 分布形式。 \item 每个频道至多存在一个干扰源,源总数为 $10$--$16$,频道编号 $1$--$20$; 不同源信号互不影响(题设)。 \item 各源有效接收半径未知但属于 $[1000,1500]$ 米;信号场强仅随距离衰减, 与角度无关(题设)。 \item 定向源有效覆盖角度为定向方向两侧各 $90^{\circ}$(含边界);光学精确定位与 清除只依赖距离、不受覆盖角度限制(题设)。 \item 策略仅依赖接口返回的三值观测(\texttt{no\_signal}、\texttt{near}、 \texttt{direction} 及示向度读数),不引入场强、距离等接口未提供的观测量 (工程约定)。 \item 机器狗沿直线匀速行进、停机检测,虚拟时间按题设动作耗时累计;程序运行时间 与虚拟时间相互独立(题设)。 \end{enumerate} \section{符号说明} \begin{table}[htbp] \centering \caption{主要符号说明} \label{tab:symbols} \begin{tabular}{cl} \toprule 符号 & 说明 \\ \midrule $\Omega$ & 目标区域 $\{(x,y):x^2+y^2\le 1800^2\}$(米) \\ $R_c$ & 干扰源 $c$ 的有效接收半径,$R_c\in[1000,1500]$ 米 \\ $\delta$ & 示向度误差界,$\delta=1^{\circ}$ \\ $s_i,\ \theta_i$ & 第 $i$ 个检测点坐标及其测得的示向度读数 \\ $W_i$ & 检测点 $s_i$ 处的前向角域 $[\theta_i-\delta,\theta_i+\delta]$ \\ $P$ & 交会定位区域(诸角域的半平面交) \\ $D(P)$ & 定位区域 $P$ 的直径 \\ $K$ & 某频道源的可能位置候选集合 \\ $\rho(K)$ & $K$ 的最小包围圆半径 \\ $\mathcal{Q}$ & 第二检测点的安全候选区域 \\ $L$ & 机器狗移动总路程(米) \\ $N_{\mathrm{switch}},N_{\mathrm{measure}},N_{\mathrm{clear}}$ & 频道切换、检测、清除动作次数 \\ $T$ & 完成任务的虚拟总时间(秒) \\ \bottomrule \end{tabular} \end{table} \section{问题~1:有界误差交会定位模型} \subsection{测向误差的前向角域建模} 设第 $i$ 个检测点 $s_i$ 处测得示向度 $\theta_i$。由假设~1,真实方位角位于 $[\theta_i-\delta,\theta_i+\delta]$ 内,故源必然落在以 $s_i$ 为顶点、以该方向区间 为边界的前向角域 \begin{equation} W_i=\bigl\{s_i+t\,(\cos\varphi,\sin\varphi):t\ge 0,\ \varphi\in[\theta_i-\delta,\theta_i+\delta]\bigr\} \label{eq:wedge} \end{equation} 内。$W_i$ 由两条过 $s_i$ 的线性不等式表示,实现时须正确处理 $0^{\circ}/360^{\circ}$ 跨界。示向度读数保留两位小数时,可取 $\delta=1.005^{\circ}$ 作保守裕量;本文推导 对任意 $\delta\in(0,45^{\circ})$ 成立。 \subsection{定位区域:角域的半平面交} 交会定位区域为 \begin{equation} P=\bigcap_i W_i . \label{eq:polygon} \end{equation} 求各边界直线交点并筛除不可行点,再按极角排序即得凸多边形 $P$。算法必须区分五种 情形:空集(观测矛盾,应核查频道与数据)、单点、线段、有界多边形与无界区域; 对无界区域不能截断后声称得到真实直径。 \subsection{定位区域直径的算法} 凸函数 $\|x-y\|$ 的最大值在紧凸集的极点处取得,故当 $P$ 为有界多边形 $P=\mathrm{conv}\{v_1,\dots,v_n\}$ 时 \begin{equation} D(P)=\max_{1\le iD/2$,直径圆不能覆盖三角形区域。 直径圆覆盖判定可一次完成:设 $A,B$ 为 $P$ 的一对最远顶点,$\|A-B\|=D$。若存在直径 为 $D$ 的圆覆盖 $P$,其圆心必为 $(A+B)/2$(因该圆须同时包含相距 $D$ 的两点)。故 只需检查全部顶点到 $(A+B)/2$ 的距离是否不超过 $D/2$;若失败,换任何一组直径对也 不可能成功,同时输出最坏超出距离与圆外顶点作为反例证据。 \subsection{最小包围圆与可保证清除} 定位的最终目的是清除:清除半径为 $20$ 米,故正确判据是最小包围圆 \begin{equation} \rho(K)=\min_{z}\max_{g\in K}\|g-z\|\le 20 . \label{eq:mec} \end{equation} $\rho(K)\le 20$ 时,最小包围圆圆心即可作为清除点;更一般地,所有可保证清除的位置 组成 $C_{20}(K)=\bigcap_{g\in K}B(g,20)$,非空时可取其中距机器狗最近者以节省移动。 $D\le 40$ 只是必要条件。最小包围圆采用带固定随机种子的 Welzl 增量算法\cite{welzl} 计算,保留全支撑点枚举法作独立对照,并对 $20$ 米阈值保留数值余量。 \textbf{演练验证。}对官方演练的三点观测离线复算:$\delta=1^{\circ}$ 时 $D=23.996723$ 米、$\rho=12.068583$ 米;$\delta=1.005^{\circ}$ 时 $D=24.119088$ 米、$\rho=12.130377$ 米。两种口径下直径圆均不覆盖定位区域, 但最小包围圆半径均小于 $20$ 米,即一点可保证清除,与可视化结果一致 \todonote{此处可补充定位区域图(figures/)}。 \section{问题~2:第二检测点的主动选点模型} \subsection{首次测向后的候选集合} 设在 $s_1$ 处首次测得 \texttt{direction},示向度 $\theta_1$。记 \begin{equation} K_1=\Omega\cap W(s_1,\theta_1\pm\delta)\cap \overline{B}(s_1,1500), \label{eq:k1} \end{equation} 即目标区域、角域与最大可能接收圆盘的交。保留整个距离圆盘是保守处理:即使 \texttt{direction} 还隐含“距离超过 $5$ 米”的排除,忽略它也不会丢失真源。 \subsection{安全候选区域的解析非空证明} 第二个检测点 $q$ 必须保证:无论真实源位于 $K_1$ 内何处,$q$ 都落在其有效接收半径 内(任何 $R_c\ge 1000$)。故安全候选区域定义为 \begin{equation} \mathcal{Q}=\Bigl\{q:\max_{g\in K_1}\|q-g\|\le 1000\Bigr\} . \label{eq:Q} \end{equation} 对一般的 $K_1$,$\mathcal{Q}$ 非空当且仅当 $\rho(K_1)\le 1000$。本题首次测向条件下 有更强的解析结论:取 $R=1500$、$\bm{u}$ 为示向度方向单位向量, \begin{equation} a=\frac{R}{2\cos\delta},\qquad c=s_1+a\,\bm{u}, \end{equation} 则 $K_1\subseteq B(c,a)$。事实上任意候选 $g=s_1+t\,\bm{u}_\varphi$ ($0\le t\le R$,$|\varphi-\theta_1|\le\delta$)满足 \begin{equation} \|g-c\|^2=t^2+a^2-2at\cos(\varphi-\theta_1), \end{equation} 该式关于 $t$ 为凸函数,最大值在 $t=0$ 或 $t=R$ 取得;$t=0$ 处值为 $a^2$, $t=R$ 处由 $a=R/(2\cos\delta)$ 知其不超过 $a^2$。于是 $B(c,1000-a)\subseteq\mathcal{Q}$。取 $\delta=1.005^{\circ}$ 时 $a\approx 750.115391$ 米,安全圆盘半径约 $249.884609$ 米,严格为正;题设 $\delta=1^{\circ}$ 时同样成立。即使 $c$ 位于 $\Omega$ 外也合法,因为机器狗不受 源位置圆域限制。 \subsection{选点目标与算法} 在安全圆盘内以“信息收益—成本”双指标选点:主目标为最坏情形后验包围圆半径 $\sup_{\theta'}\rho\bigl(K_1\cap W(q,\theta')\bigr)$,其中 $\theta'$ 取遍与 $K_1$ 及误差界一致的读数;次目标为移动与检测成本。实现上对目标位置与误差区间端点采样 并加密检查,交会角只作同分筛选指标,不为改善交会角越出已证明安全的候选区域。 若返回 \texttt{near},则源位于当前点 $5$ 米以内,可直接在当前位置尝试清除。 \todonote{候选区域示意图与选点对比实验待补} \section{问题~3:全向干扰源的搜索定位与清除调度} \subsection{虚拟时间与动作成本模型} 依据题设动作耗时,完成任务所需虚拟时间 \begin{equation} T=\frac{L}{5}+N_{\mathrm{switch}}+5N_{\mathrm{measure}} +5N_{\mathrm{clear}}^{\mathrm{s}}+3N_{\mathrm{clear}}^{\mathrm{f}}, \label{eq:time} \end{equation} 其中 $L$ 为移动总路程(含检测与清除引发的移动),频道切换次数只计被接受的检测 动作。优化顺序为:先保证全部清除,再减小 $T$;不能通过少清除源来改善平均时间。 虚拟活动时长上限为 $100$ 小时;程序运行时间另受 $20$ 分钟窗口约束,二者独立。 \subsection{全域覆盖发现基线} 在 $s$ 处对某频道测得 \texttt{no\_signal},只能排除以 $s$ 为中心、半径 $1000$ 米 圆盘内存在该频道源(有效接收半径可能只有 $1000$ 米),不能一律排除到 $1500$ 米。 据此构造覆盖点集 \begin{equation} S=\{(700i,700j):i,j=-3,-2,\dots,3\},\qquad |S|=49, \end{equation} 其覆盖范围 $[-2100,2100]^2$ 包含 $\Omega$。对任一单元内的源 $g$,其所在单元的 $4$ 个格点到 $g$ 的距离均不超过 $700\sqrt{2}\approx 989.95<1000$ 米,故必存在 合格检测点;又 $g$ 位于 $4$ 个格点的凸包内部,经过 $g$ 的任意发射半平面必包含 至少一个格点(否则全部格点落入相反开半平面,与 $g$ 在凸包内矛盾)。因此 $49$ 点 逐一检测可保证发现该频道的源;源恰在网格线上时按半开区间归入相邻单元处理。 $49$ 点 $\times\,20$ 频道至多 $980$ 次检测,虚拟耗时上界约 $1.32\times 10^4$ 秒, 在 $100$ 小时上限内有充分设计空间;实际执行中已清除频道跳过、同点共享多频道测量、 已发现频道转入定位队列。 \subsection{发现—定位—清除闭环} 机器狗维护逐频道状态:未知/已发现待定位/可清除/已清除/已证明不存在,以及候选 集合 $K_c$。闭环流程为:覆盖扫描发现源 $\to$ 用问题~2 的主动选点缩小 $K_c$ 直至 $\rho(K_c)\le 20$ $\to$ 移动到 $C_{20}(K_c)$ 内距当前点最近的点清除 $\to$ 更新覆盖 记录与队列。多个已发现源按“预期信息改善/增量虚拟耗时”排序处理;候选采样点恰 返回 \texttt{near} 时立即就地清除。 \subsection{停止条件与结果统计} \textbf{停止成功的依据为以下之一}:(i)已成功清除 $16$ 个不同频道的源(数量 上界);(ii)每个频道都已有清除成功记录或经完整覆盖证明不存在。发现 $10$ 个源、 连续若干次无信号、候选采样为空均不是充分停止条件;程序运行时间或窗口不足而退出 记为未证明完成,不与成功混记。结果统计按题设给出 \begin{align} \text{被清除干扰源个数的比例} &= \frac{\text{被清除干扰源的个数}}{\text{干扰源总数}} ,\\ \text{平均定位清除时间} &= \frac{\text{定位清除总时间}}{\text{被清除干扰源的个数}} . \end{align} \begin{table}[htbp] \centering \caption{问题~3 正式测试结果(按题目表~1 格式)} \label{tab:q3formal} \begin{tabular}{lcccc} \toprule & 测试案例编码 & 清除干扰源个数 & 平均定位清除时间 & 程序运行时间 \\ \midrule 测试~1 & \todonote{待填} & \todonote{待填} & \todonote{待填} & \todonote{待填} \\ 测试~2 & \todonote{待填} & \todonote{待填} & \todonote{待填} & \todonote{待填} \\ 测试~3 & \todonote{待填} & \todonote{待填} & \todonote{待填} & \todonote{待填} \\ \bottomrule \end{tabular} \end{table} \todonote{演练测试统计值(清除比例、平均定位清除时间)待演练后填入} \section{问题~4:含定向干扰源的检测与清除} \subsection{定向源观测模型} 定向源的接收条件是“距离 $\le R_c$ 且检测点位于发射半平面内”。因此 \texttt{no\_signal} 约束的是位置—半径—朝向的\textbf{联合假设}:若不联合维护朝向 可行集合,就不能用它单独删除空间候选点。可靠基线是对 \texttt{no\_signal} 只记录 “该点覆盖检测已完成”,不做空间删除;加速版本再维护朝向可行集合,且必须验证 不误删真源。 \subsection{覆盖发现基线对定向源仍然有效} 由 7.2 节的凸包论证:源 $g$ 位于所在单元 $4$ 格点的凸包内部,故经过 $g$ 的任意 发射半平面必含至少一个格点;该格点同时满足距离不超过 $989.95<1000$ 米。因此 $49$ 点逐频道检测对全向与定向源统一保证发现,包括贴近 $\Omega$ 边界朝外发射的源 (格点允许越出 $\Omega$ 访问)。 \subsection{失去信号后的后备清除} 已发现的定向源在定位过程中可能再次失去信号。对已知有界候选集合 $K$,构造边长 $20$ 米的全局网格:格中心到格内任意点距离不超过 $10\sqrt{2}\approx 14.14<20$ 米, 保留与 $K$ 的外包框相交的格子即得无空洞的有限圆盘覆盖,逐点调用清除动作。请求 次数上界 \begin{equation} N\le\Bigl(\lceil w/20\rceil+2\Bigr)\Bigl(\lceil h/20\rceil+2\Bigr), \end{equation} 其中 $w,h$ 为候选集合外包框的宽与高;单源全失败清除耗时为 $L/5+3N$。若 $K$ 外包 尺寸较大(如半径 $1500$ 米圆盘的外包框达上万格点),盲扫不满足现实预算,应先继续 定位缩小候选集合。现实时间预算按“剩余请求数 $\times$ 实测单请求高分位耗时”估计, 不满足预算时转入其他任务或按预算退出。 \begin{table}[htbp] \centering \caption{问题~4 正式测试结果(按题目表~1 格式)} \label{tab:q4formal} \begin{tabular}{lcccc} \toprule & 测试案例编码 & 清除干扰源个数 & 平均定位清除时间 & 程序运行时间 \\ \midrule 测试~1 & \todonote{待填} & \todonote{待填} & \todonote{待填} & \todonote{待填} \\ 测试~2 & \todonote{待填} & \todonote{待填} & \todonote{待填} & \todonote{待填} \\ 测试~3 & \todonote{待填} & \todonote{待填} & \todonote{待填} & \todonote{待填} \\ \bottomrule \end{tabular} \end{table} \section{模型评价与推广} \textbf{优点}:(1)四个问题复用同一几何内核(角域半平面交—直径—最小包围圆), 模型一致、实现可复用;(2)全程坚持保守几何:有界误差不取平均、无信号只排除 $1000$ 米、\texttt{no\_signal} 对定向源不删位置、停止条件需覆盖证明,所有“清除 完毕”的结论都可验证;(3)虚拟时间公式把调度目标显式化,且区分了虚拟时间与程序 运行时间两类约束。 \textbf{缺点与改进}:(1)主动选点采用最坏情形采样,是启发式而非全局最优,可研究 对候选集合的更精细离散化;(2)$49$ 点覆盖基线存在冗余,自适应跳点须以保留逐频道 覆盖证据为前提;(3)后备清除请求数较大,宜结合朝向可行集合减小候选集合;(4) 当前演练验证限于问题~1 的几何内核,问题~3、4 的闭环策略与统计结果有待演练填充。 \begin{thebibliography}{9} \zihao{5} \bibitem{preparata} Preparata F P, Shamos M I. Computational Geometry: An Introduction[M]. New York: Springer-Verlag, 1985. \bibitem{welzl} Welzl E. Smallest enclosing disks (balls and ellipsoids)[C]// Maurer H. New Results and New Trends in Computer Science. Lecture Notes in Computer Science, vol 555. Berlin: Springer, 1991: 359--370. \bibitem{toussaint} Toussaint G T. Solving geometric problems with the rotating calipers[C]//Proceedings of IEEE MELECON. Athens: IEEE, 1983. \bibitem{mcgill} CGAL Project. Bounding Volumes: Min\_circle\_2[EB/OL]. \url{https://doc.cgal.org/latest/Bounding_volumes/}, 2026. \bibitem{cgrl} McGill School of Computer Science. Rotating Calipers[EB/OL]. \url{https://www-cgrl.cs.mcgill.ca/~godfried/research/calipers.html}, 2026. \end{thebibliography} \clearpage % ============================================================ % 附录(页数不限;电子版与纸质版均须包含) % ============================================================ \appendix \section{支撑材料文件列表} \todonote{提交前更新为实际支撑材料压缩包内容,须与附录~B 源码一致} \begin{table}[htbp] \centering \caption{支撑材料文件列表} \begin{tabular}{lll} \toprule 文件/目录 & 内容 & 说明 \\ \midrule \texttt{geometry/} & 几何内核源代码 & 角域交、直径、最小包围圆 \\ \texttt{planning.py} & 问题~2 安全候选盘计算 & \texttt{first\_bearing\_candidate\_disk} \\ \texttt{examples/q1/} & 问题~1 输入样例 & 含等边三角形反例 \\ \texttt{output/q1/} & 问题~1 输出与演练记录 & 优化报告、可视化 \\ \bottomrule \end{tabular} \end{table} \section{程序源代码} 以下为支撑模型计算的核心源代码,完整可运行代码以支撑材料压缩包为准。 \subsection{\texttt{geometry/localization.py}:交会定位几何内核} \lstinputlisting[language=Python]{../../../geometry/localization.py} \subsection{\texttt{geometry/planning.py}:问题~2 安全候选区域} \lstinputlisting[language=Python]{../../../geometry/planning.py} \end{document}