2022年数维杯国际大学生数学建模挑战赛B题红VS蓝求解论文及程序

news2024/10/6 1:39:23

2022年数维杯国际大学生数学建模挑战赛

B题 红VS蓝

原题再现:

  在现代战争中,攻守双方都需要引入有效的战争策略,以增加战争威胁并减少损失。只有形成相对稳定、平衡的战争态势,才能尽快实现达成共识的最终目标。

  鉴于上述战争问题,请考虑以下对红色VS的简化。蓝战问题:假设红蓝交战如图1所示,双方只能在同色位置进行初始排,每个节点都有自己的攻击难度。攻击难度越大,图1中的圆半径越大,需要根据双方军事武器的实际数量和特点,为每一方提供最优的作战策略。

  双方主要作战单位为步兵,主要武器是机动性和隐蔽性的轻型坦克,火力和机动性平衡的中型坦克,重型装甲和强大的火力,具有超远程打击能力和强大火力支援的自行火炮,战略轰炸机(不应部署太多单位以防止轰炸)和高射炮(双方各可设置10个防空点)。红色拥有1万步兵,25架无人机,500辆重型坦克,180辆中型坦克,300辆轻型坦克和420辆自行火炮。蓝色拥有1万步兵,300架无人机,340辆重型坦克,570辆中型坦克,800辆轻型坦克和14000门自行火炮。红色和蓝色武器的具体参数见附件2。请通过适当的简化假设和数学建模方法解决以下三个问题:

在这里插入图片描述
  问题1:请根据附件1和附件2中的数据,综合考虑各节点的攻击难度、行军距离、武器射程和防空部署,计算出步兵、坦克、自行火炮和防空的分配位置和数量规模双方的火炮,以及双方的最佳指挥位置和几个替代位置。

  问题2:基于问题1的优化结果,构建红蓝两边的医疗用品、军需物资和日常物资分配供应的优化模型。同时,在充分考虑对方潜在攻击策略的基础上,在建模过程中提供非供给模式下所需的工人和车辆总数等关键信息。最后,您需要在文本中以表格或图形的形式提供红色和蓝色的最佳供应计划。

  问题3:结合前两个问题,在红军进攻和蓝军防守的情况下,请提出红军更好的进攻计划和蓝军更好的撤退计划。鉴于蓝军的撤退节点是[37,140,378],那么在沟通良好和沟通中断的情况下,蓝军的整体撤退计划有哪些不同?

整体求解过程概述(摘要)

  在现代战争中,攻守双方都需要引入有效的作战策略,以实现相对稳定和平衡的战争态势,因此各战地的合理布局、弹药的部署和弹药的分配都显得尤为重要。本文分别根据红蓝两侧各节点的攻击难度、行进距离、武器射程和防空部署情况,对这些问题进行了分析研究。

  对于问题一,需要计算红蓝两侧步兵、坦克、自行火炮和防空火炮的分配位置和数量大小,以及红蓝两侧的最佳指挥位置和几个备用位置。针对该问题,设置了攻击难度约束、行军距离约束、武器射程和防空部署约束,首先建立动态联合模型,获取红蓝两边步兵、坦克、自行火炮和防空火炮分配位置分布和数量尺度的热图;然后建立以最大攻击难度和最小行进距离为优化目标的位置指挥模型,设计一种免疫求解算法,得到最优指挥位置替代位置的坐标分布位置;

  对于问题二,要合理配置医疗物资、军需品和日常物资给红蓝两边,然后考虑到对方存在潜在的攻击策略,根据非补给模式下的劳动力总数和车辆总数给出红蓝双方的最优补给方案。针对该问题,首先将医疗用品、军用物资和日常用品归入弹药类别,通过综合聚类分析联合问题一推导出的最优指挥阵地和替代阵地,然后采用气象无元自动机模型计算待投放物资数量和所需工车总数。

  对于问题三,既要提出红方更好的进攻方案,又要提出红方进攻和蓝方防守的更好撤退方案,以及在沟通良好、沟通中断的情况下,分析蓝方整体撤退计划的不同点。针对该问题,首先将问题一和问题二提供的最优作战策略与蚁群算法-路径优化模型相结合,在红攻蓝防守的情况下得到更好的红色进攻解和蓝色更好的撤退解,以及在通信良好的情况下对蓝色的整体撤退解,通信中断在移动距离上有所不同; 在闭关中花费的顺序、路径和时间。

问题分析:

问题背景

  自古以来,行军阵型的程度往往是决定刀锋战能否胜的关键。战前,双方要综合考虑兵力、武器数量和质量、地形、物资运输等因素,形成最佳战型,发挥各种武器的优势。然而,现代战争通常是高科技技术下的局部战争。战场形势多变,各种保障结构错综复杂。现代战争中使用的武器杀伤力强,效果广,成本高。

  综合这些因素,现代战争双方都需要制定有效的作战战略,在增加战争威胁的同时减少各条战线的损失,只有双方形成更加平衡、稳定、相互支持的作战态势,才能尽快达成共识。俗话说,战争始于人的思想,所以有必要在人的思想中筑起和平的屏障。现代战争的目的不是以武力赢得单方面胜利,而是促进全球长期安全与发展的共同利益。

问题分析

  对问题一的分析
  对于问题一,根据附件给出的数据,结合红蓝两边各节点的攻击难度、行进距离、武器射程和防空部署,计算双方步兵和武器的分配位置和数量尺度,然后利用免疫优化算法计算出双方的最佳指挥位置和若干备选位置,建立动态联合模型。

  对问题二的分析
  对于问题二,将医疗用品、军用用品和日常用品归入弹药类别,结合问题1得出的最佳指挥阵地和替代阵地进行综合聚类分析,得出弹药投掷的位置。然后使用元自动机模型来计算要丢弃的物料数量以及所需的工人和车辆总数。

  对问题三的分析
  对于问题三,将问题一和问题二提供的最优作战策略与蚁群算法-路径优化模型相结合,规划红军最优攻击方案,红军蓝防情况下蓝军最优撤退方案。在沟通良好和沟通中断的情况下,对蓝方的不同撤退计划进行了全面比较。

论文缩略图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码

%% 清空环境
clc
clear
%% 算法基本参数
sizepop=100; % 种群规模
overbest=100; % 记忆库容量
MAXGEN=100; % 迭代次数
pcross=0.5; % 交叉概率
pmutation=0.4; % 变异概率
ps=0.95; % 多样性评价参数
length=3; % 选址数
M=sizepop+overbest;
%% step1 识别抗原,将种群信息定义为一个结构体
individuals = struct('fitness',zeros(1,M), 'concentration',zeros(1,M),&ap
os;excellence',zeros(1,M),'chrom',[]);
%% step2 产生初始抗体群
individuals.chrom = popinit(M,length);
trace=[]; %记录每代最个体优适应度和平均适应度
%% 迭代寻优
for iii=1:MAXGEN
%% step3 抗体群多样性评价
for i=1:M
individuals.fitness(i) = fitness(individuals.chrom(i,:)); % 抗 体 与 抗 原 亲 和 度 ( 适 应
度值)计算
individuals.concentration(i) = concentration(i,M,individuals); % 抗体浓度计算
end
% 综合亲和度和浓度评价抗体优秀程度,得出繁殖概率
individuals.excellence = excellence(individuals,M,ps);
% 记录当代最佳个体和种群平均适应度
[best,index] = min(individuals.fitness); % 找出最优适应度
bestchrom = individuals.chrom(index,:); % 找出最优个体
average = mean(individuals.fitness); % 计算平均适应度
trace = [trace;best,average]; % 记录
%% step4 根据 excellence,形成父代群,更新记忆库(加入精英保留策略,可由 s 控制)
bestindividuals = bestselect(individuals,M,overbest); % 更新记忆库
individuals = bestselect(individuals,M,sizepop); % 形成父代群
%% step5 选择,交叉,变异操作,再加入记忆库中抗体,产生新种群
individuals = Select(individuals,sizepop); % 选择
individuals.chrom = Cross(pcross,individuals.chrom,sizepop,length); %
交叉
individuals.chrom = Mutation(pmutation,individuals.chrom,sizepop,length); % 变异
individuals = incorporate(individuals,sizepop,bestindividuals,overbest); %
加入记忆库中抗体
end
%% 画出免疫算法收敛曲线
figure(1)
plot(trace(:,1));
hold on
plot(trace(:,2),'--');
legend('最优适应度值','平均适应度值')
title('免疫算法收敛曲线','fontsize',12)
xlabel('迭代次数','fontsize',12)
ylabel('适应度值','fontsize',12)
%% 画出配送中心选址图
%城市坐标
city_coordinate=[84.001925,7.6674;
83.608775,9.302266667;
83.152275,10.4116;
84.798225,9.813633333;
84.119425,9.5218;
83.0695,9.070433333;
82.9367,7.685733333;
82.9601,8.910266667;
82.897875,9.1235;
82.84975,8.980533333;
82.326175,10.06613333;
74.703175,11.6198;
79.506525,0.7677;
79.5526,3.1024;
79.59225,5.6782;
79.593175,5.719533333;
79.62555,7.734833333;
79.627375,7.858366667;
79.163675,10.28883333;
79.681,10.17963333;
81.184325,9.865066667;
82.311575,10.05843333;
74.0346,4.814966667;
75.49475,4.042833333;
76.261075,3.790233333;
77.230325,3.540033333;
83.96635,4.111366667;
76.284125,5.285033333;
76.27165,4.476233333;
77.228675,4.280233333;
77.22675,5.134366667;
75.5336,5.4157;
78.7876,0.8042;
78.838875,0.800533333;
75.0444,11.47406667;
74.47675,11.63876667;];
carge=[20,90,90,60,70,70,40,90,90,70,60,40,40,40,20,80,90,70,100,50,50,50,80,70,80,40,40,60,70
,50,30];
%找出最近配送点
for i=1:31
distance(i,:)=dist(city_coordinate(i,:),city_coordinate(bestchrom,:)');
end
[a,b]=min(distance');
index=cell(1,length);
for i=1:length
%计算各个派送点的地址
index{i}=find(b==i);
end
figure(2)
title('最优规划派送路线')
cargox=city_coordinate(bestchrom,1);
cargoy=city_coordinate(bestchrom,2);
plot(cargox,cargoy,'rs','LineWidth',2,...
'MarkerEdgeColor','r',...
'MarkerFaceColor','b',...
'MarkerSize',20)
hold on
plot(city_coordinate(:,1),city_coordinate(:,2),'o','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10)
for i=1:31
x=[city_coordinate(i,1),city_coordinate(bestchrom(b(i)),1)];
y=[city_coordinate(i,2),city_coordinate(bestchrom(b(i)),2)];
plot(x,y,'c');hold on
end

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/391216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营第十七天 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

打卡第17天,补卡中,懒狗又歇了几天。 今日任务 110.平衡二叉树257.二叉树的所有路径404.左叶子之和 110.平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个…

(全网最详细)Mysql下载安装和配置方法(看了必成功)

Mysql下载 MySQL官网下载地址:MySQL 点击进行下载 解压到你想要安装的目录 新建my.ini文件复制以下内容粘贴进去修改basedir安装的目录,datadir安装的目录\data [mysqld] #设置3306端口 port3306 #设置mysql的安装目录 basedir #设置mysql数据库的数据…

KubeSphere 社区双周报 | OpenFunction v1.0.0-rc.0 发布

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为:2023.02.17-2023.…

idea插件推荐

idea插件推荐代码辅助GitHub CopilotAlibaba Cloud AI Coding AssistantTabnine AI Code Completion- JS Java Python TS Rust Go PHP & MoreiCodeJFormDesigner :图形用户界面生成器开发插件Mybatis HelperMaven HelperJPA Supportjava插件ptgGsonFormatPlusFastHotSwappe…

kibana查看日志

一、背景 kibana收集日志功能很强大,之前只是简单的使用,此次系统学习了解并分享一波 二、kibana查看日志的基本使用 1.选择查询的服务和日志文件 注意:每个应用配置了开发与生产环境,需要找到指定的应用 1.1选择对应的应用 1.…

wxpython设计GUI:wxFormBuilder工具常用布局结构介绍之布局四—面板拼接式

python借助wxFormBuilder工具搭建基础的GUI界面—wxFormBuilder工具使用介绍:https://blog.csdn.net/Logintern09/article/details/126685315 布局四:面板拼接式,先Panel面板构图,再使用程序代码在Frame框架上拼接面板 下面讲一下…

SurfaceFlinger模块

SurfaceFlinger是一个系统服务,作用就是接受不同layer的buffer数据进行合成,然后发送到显示设备进行显示。SurfaceFlinger进程是什么时候起来的?在之前的Android低版本手机上,SurfaceFlinger进程是在init.rc中启动的,在…

.Net Core WebApi 在Linux系统Deepin上部署Nginx并使用(一)

前言: Deepin最初是基于Ubuntu的发行版 2015年脱离Ubuntu开发,开始基于Ubuntu上游Debian操作系统 2019年脱离Debian,直接基于Linux开发,真正属于自己的上游Linux系统发行版 2022年8月,新版《Deepin V23》我下载开始了我…

Registry与DGC的攻击利用

0x01 2022-02-03写的一篇文章。 0x02 Registry Registry指的是RMI的注册表,攻击的目标是注册表所在的机器,一般注册表和RMI Server在同一个机器上,特殊情况下也会在不同机器上。 在我们通过LocateRegistry#getRegistry获取到目标开启的注…

Win32:C++其实早已支持中文编程

我们以前学习C/C的时候,对于变量和标识符的命名都有如下规则: 变量名必须由字母、数字、下划线构成只能以字母、下划线开头 似乎对中文不太友善啊,于是后来出现了一些中文编程的呼声,甚至还真的出现了一些中文编程语言。 其实在…

【微信小程序-原生开发】实用教程15 - 列表的排序、搜索(含云数据库常用查询条件的使用方法,t-search 组件的使用)

请先完成列表数据的分页、触底加载 【微信小程序-原生开发】实用教程14 - 列表的分页加载,触底加载更多(含无更多数据的提醒和显示,自定义组件) https://blog.csdn.net/weixin_41192489/article/details/129355396 效果预览 核心…

嵌入式 Linux进程间的通信--信号

目录 信号 信号的概述 信号类型 信号发送 1、kill 函数 2、raise函数 3、pause函数 信号处理 可以结合上一篇文章一起看: 嵌入式 Linux进程之间的通信_丘比特惩罚陆的博客-CSDN博客 信号 信号的概述 软中断信号(signal,又简称为…

软聚类算法:模糊聚类 (Fuzzy Clustering)

前言 如果你对这篇文章感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。 在介绍模糊聚类之前,我们先简单地列举一下聚类算法的常见分类: 硬聚类 (Hard Clustering) Connec…

NGINX学习笔记 - 一篇了解NGINX的基本概念(一)

NGINX是什么? NGINX是一款由俄罗斯人伊戈尔赛索耶夫使用C语言开发的、支持热部署的、轻量级的WEB服务器/反向代理服务器/电子邮件代理服务器,因为占用内存较少,启动极快,高并发能力强,所以在互联网项目中广泛应用。可…

十二、面向切面编程AOP

IoC使软件组件松耦合。AOP让你能够捕捉系统中经常使用的功能,把它转化成组件。 AOP(Aspect Oriented Programming):面向切面编程,面向方面编程。(AOP是一种编程技术) AOP是对OOP的补充延伸。 …

互联互通新里程,数字城轨助力城市繁荣!

轨道交通是城市间互通互联的命脉,是当下人们出行的首要选择之一,也是我国“新基建”的重点建设对象。将城轨交通各链路系统及多类型服务,与空间感知、移动互联、云计算等技术深度融合,集中实现城市空间、城轨分布、城轨运行动态的…

有哪些平价好用的台灯推荐?台灯买什么光的比较好

随着社会的发展,生产水平逐渐提高,很多东西都得到长足的发展,对咱们的生活水平的提高帮助也越来越大,台灯也不例外。台灯是现在各个年龄段人群都在使用的产品,晚上熬夜工作、学习、看书、休闲等等都很合适,…

Linux学习第十七节-Apache httpd的web服务

1.简介 适用于Unix/Linux下的web服务器软件。 Apache httpd(开源且免费),虚拟主机,支持HTTPS协议,支持用户认证,支持单个目录的访问控制,支持URL地址重写,支持路径别名,…

北斗RTK高精度定位在AI领域的应用

随着北斗高精度定位技术越来越成熟,通过GNSS高精度定位与机器人结合,越来越多的智能机器人走进我们生活中。像驾培机器人、智能除草机器人、智能巡检机器人、北斗划线机器人等智能机器人已经广泛的投入使用。驾培机器人驾培机器人:通考车安装…

java基础——类加载机制

类加载机制一、背景知识补充二、类加载过程/机制1、浅层理解2、大致步骤3、具体步骤(3.1)装载loading:查找和导入相应的class文件(3.2)链接linking:把类的二进制数据合并到JRE中(3.3&#xff09…