【无人机追踪】基于 0-1 整数规划实现「能耗最小」的无人机联盟选取,完成目标攻击任务的同时,让所有无人机的总能耗达到最优附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。

🍎 往期回顾关注个人主页:Matlab科研工作室

 👇 关注我领取海量matlab电子书和数学建模资料 

🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。

🔥 内容介绍 

一、背景

在现代军事作战或特定的工业应用场景中,常常需要多架无人机协同完成目标攻击任务。然而,无人机的能源储备有限,能耗问题成为制约其任务执行效率和持续时间的关键因素。如何在众多无人机中选取合适的无人机组成联盟,使其在成功完成目标攻击任务的同时,将所有参与无人机的总能耗控制在最优水平,是一个亟待解决的重要问题。

传统的无人机任务分配方式可能没有充分考虑能耗因素,或者只是简单地基于距离、速度等单一指标进行分配,这往往无法实现总能耗的最优控制。基于 0 - 1 整数规划的方法为解决这一问题提供了一种有效的途径,它能够综合考虑多种约束条件,精确地对无人机进行筛选和组合,以达到能耗最小化的目标。

二、原理

(一)0 - 1 整数规划基础

  1. 定义与特点:0 - 1 整数规划是整数规划的一种特殊形式,其中决策变量只能取 0 或 1 两个值。0 通常表示不选择或不执行某个操作,1 则表示选择或执行。这种特性使其非常适合解决诸如资源选择、项目决策等 “是与否” 的问题。在无人机联盟选取场景中,我们可以将每架无人机看作一个决策变量,1 代表选择该无人机加入联盟执行任务,0 则表示不选择。
  2. 模型构建要素:构建 0 - 1 整数规划模型主要涉及目标函数和约束条件。目标函数是我们希望优化的指标,在无人机联盟选取问题中,目标是使所有参与无人机的总能耗最小。约束条件则是确保选取的无人机联盟能够完成目标攻击任务的各种限制,例如无人机的攻击能力要满足目标的防御需求、无人机的航程要能够到达目标位置等。

(二)无人机能耗模型

  1. 能耗影响因素:无人机的能耗主要受到飞行距离、飞行速度、有效载荷以及自身动力系统效率等因素影响。一般来说,飞行距离越长、速度越快、携带的有效载荷越大,能耗就越高。例如,对于固定翼无人机,其能耗与飞行速度的立方成正比,与飞行距离成正比;对于旋翼无人机,除了上述因素外,悬停和姿态调整也会消耗大量能量。

    • 其他约束:还可能存在一些其他约束条件,如无人机之间的协同配合要求、任务时间限制等。例如,某些无人机可能需要与其他特定无人机同时行动以实现更好的攻击效果,这可以通过添加相应的逻辑约束来实现;任务时间限制则可以转化为对无人机飞行速度和任务执行时间的约束条件。

(四)求解方法

  1. 精确算法:对于小规模问题,可以使用精确算法求解 0 - 1 整数规划模型,如分支定界法、割平面法等。分支定界法通过对决策变量进行分支,将原问题分解为多个子问题,并通过定界操作逐步缩小最优解的搜索范围,最终找到全局最优解。割平面法则通过在整数规划的线性松弛问题中添加割平面,不断缩小可行域,使整数最优解逐渐暴露出来。
  2. 启发式算法:当问题规模较大时,精确算法的计算量会呈指数级增长,此时可以采用启发式算法,如遗传算法、模拟退火算法等。遗传算法模拟生物进化过程,通过选择、交叉和变异等操作,在解空间中搜索最优解;模拟退火算法则模拟固体退火过程,从一个初始解开始,通过随机扰动和接受准则,逐步找到较优解。这些启发式算法虽然不能保证找到全局最优解,但在合理的时间内能够获得接近最优解的可行解,适用于实际应用场景中大规模问题的求解。

通过基于 0 - 1 整数规划实现 “能耗最小” 的无人机联盟选取,能够在满足任务要求的前提下,有效降低无人机的总能耗,提高无人机系统的运行效率和任务执行能力。

⛳️ 运行结果

📣 部分代码

     p=find(E_3==min(E_3));    %最小值

     p1=find(E_4==min(E_4));

     h1=plot(V,E_1,'--r','LineWidth',2);

     hold on;

     h2=plot(V,E_2,'--g','LineWidth',2);

     hold on;

     h3=plot(V,E_3,'Color', 'b','LineWidth',2); 

     plot(V(p),E_3(p),'*','color','r','MarkerSize',10);   %标记出最小值点

     text(V(p)+1,E_3(p)-1,['(',num2str(V(p)),',',num2str(E_3(p)),')'],'color','k');

     hold on;

     h4=plot(V,E_4,'Color', 'm','LineWidth',2); 

     plot(V(p1),E_4(p1),'*','color','r','MarkerSize',10);   %标记出最小值点

     text(V(p1)+1,E_4(p1)-1,['(',num2str(V(p1)),',',num2str(E_4(p1)),')'],'color','k');

     xlabel('Flight Speed V');

     ylabel('Power Required E');

     title('速度能耗图');

     legend([h1,h2,h3,h4],'v^3','1/v','直线飞行能耗','曲线飞行能耗','location','best');

     axis([0 100 0 5*10^2]);

🔗 参考文献

🍅往期回顾扫扫下方二维码

Read more

Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测

Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测

1.引言 随着大模型在各类智能应用中的广泛应用,高效的推理硬件成为关键瓶颈。昇腾 NPU(Ascend Neural Processing Unit)凭借其高算力、低能耗以及对 SGLang 的深度优化,能够显著提升大模型推理性能。本文以 Llama 3-8B-Instruct 为例,通过在昇腾 NPU 上的实测,展示其在吞吐量、延迟和资源利用方面的优势,并探索可行的优化策略,为开发者在今后的开发中提供可参考的案例。 在本篇文章中我们会使用到Gitcode的Notebook来进行实战,GitCode Notebook 提供了开箱即用的云端开发环境,支持 Python、SGLang 及昇腾 NPU 相关依赖,无需本地复杂环境配置即可直接运行代码和进行实验。对于没有硬件平台的小伙伴来说是非常便利的。 GitCode Notebook使用链接:https://gitcode.com/user/m0_49476241/notebook。 2.实验环境与准备 2.

Mac Mini M4 跑 AI 模型全攻略:从 Ollama 到 Stable Diffusion 的保姆级配置指南

Mac Mini M4 本地AI模型实战:从零构建你的个人智能工作站 最近身边不少朋友都在讨论,能不能用一台小巧的Mac Mini M4,搭建一个属于自己的AI开发环境。毕竟,不是每个人都有预算去租用云端的高性能GPU,也不是所有项目都适合把数据传到云端处理。我折腾了大概两周,从Ollama到Stable Diffusion,把整个流程走了一遍,发现M4芯片的潜力远超预期。这篇文章,就是把我踩过的坑、验证过的有效配置,以及一些提升效率的小技巧,毫无保留地分享给你。无论你是想本地运行大语言模型进行对话和创作,还是想离线生成高质量的AI图像,这篇指南都能帮你把Mac Mini M4变成一个得力的AI伙伴。 1. 环境准备与基础配置 在开始安装任何AI工具之前,确保你的系统环境是干净且高效的,这能避免后续无数莫名其妙的依赖冲突。Mac Mini M4出厂预装的是较新的macOS版本,但这还不够。 首先,打开“系统设置” -> “通用” -> “软件更新”,确保你的macOS已经更新到可用的最新版本。苹果对Metal图形API和神经网络引擎的优化通常会随着系统更新而提升,这对于后续运

【无人机】PX4飞控怎么烧写加载固件,更新固件方法,详细流程

【无人机】PX4飞控怎么烧写加载固件,更新固件方法,详细流程

目录 1、QGC中升级固件 1.1、详细流程:更新加载固件 1.2、安装 PX4 主固件、测试版固件或定制固件 2、加载指定版本固件 2.1、下载固件 2.2、烧录固件 1、QGC中升级固件 参考:加载固件 | PX4 文档教程  QGroundControl 桌面 版本可用于将 PX4 固件安装到 Pixhawk 系列 飞行控制器板。 警告 开始安装固件之前 与载具的所有 USB 连接必须 断线 (直接或通过遥测无线电)。载具必须 没有 由电池供电。 1.1、详细流程:更新加载固件 更新

【花雕动手做】拆解机器人底盘DDSM400钕强磁外转子65mm伺服轮毂电机

【花雕动手做】拆解机器人底盘DDSM400钕强磁外转子65mm伺服轮毂电机

做小型高精度全向机器人底盘,想找一款 “省心又能打” 的动力核心?DDSM400 钕强磁外转子 65mm 伺服轮毂电机 绝对是优选——它把无刷电机、FOC 伺服驱动、高精度编码器集成一体,钕强磁加持、外转子直驱设计,不用额外搭配驱动板,直接装轮就能用,是麦克纳姆轮底盘的 “一体化动力神器”。 但很多创客只知道它好用,却不清楚内部构造:钕强磁转子藏着怎样的动力秘密?伺服驱动和编码器是如何实现精准控制的?外转子直驱为什么能做到零背隙、低噪音? 这里,就完整拆解这款 DDSM400 伺服轮毂电机,从外到内拆解核心部件,解析它的结构优势与工作逻辑,帮你真正看懂这款 “一体化伺服电机”,以后选型、改装、调试机器人底盘,都能心里有底、少走弯路。 DDSM400 伺服轮毂电机・简单拆解步骤 1、拧下轮毂固定螺丝用内六角扳手卸下电机外圈的固定螺丝,分离轮毂外壳与端盖。 2、取出外转子与强磁体轻轻取下外转子总成,内部可见一圈钕铁硼强磁,注意磁力较大,轻拿轻放。 3、