2024mathorcup妈妈杯数学建模A题思路模型

 2024mathorcup妈妈杯数学建模A题思路模型:比赛开始后第一时间更新,更新见文末名片,下面对2022年B题进行介绍:

2022Mathorcup B题题目介绍


​ B题无人仓的搬运机器人调度问题本题考在无人仓内的仓库管理问题之一,搬运机器人 AGV 的调度问 题。更多的背景介绍请参看附件-背景介绍。对于无人仓来说,仓库的地图 模型可以简化为图的数据结构。

一、问题一
1、地图模型
​ 题目中已经给出了地图的栅格模型,然后在题目给的附件里也有地图数据(map.csv),所以可以用Matlab建立一个栅格地图模型,之后再在这个模型基础上面进行路径规划,进行仿真模拟。

2、路径规划
​ 现在有较多的路径规划算法,但在AGV和仓储搬运路径问题上常用的有A*算法、Dijkstra算法,在本题中可以选择A*算法、Dijkstra算法来计算AGV路径规划模型,但在本题中,从结果看来,A*算法是优于Dijkstra算法的,所以可以直接选用A*算法。

A*算法的核心部分(Matlab)

%% 预处理
% 初始化closeList
closeList = start_node;
closeList_path = {start_node,start_node};
closeList_cost = 0;
child_nodes = child_nodes_cal(start_node,  m, n, obs, closeList); %子节点搜索函数 % 初始化openList
openList = child_nodes;
for i = 1:size(openList,1)openList_path{i,1} = openList(i,:);openList_path{i,2} = [start_node;openList(i,:)];%从初始点到第i个子节点
endfor i = 1:size(openList, 1)g = norm(start_node - openList(i,1:2));%norm求范数,返回最大奇异值;abs求绝对值h = abs(target_node(1) - openList(i,1)) + abs(target_node(2) - openList(i,2));%终点横坐标距离加纵坐标距离f = g + h;openList_cost(i,:) = [g, h, f];
end%% 开始搜索
% 从openList开始搜索移动代价最小的节点
[~, min_idx] = min(openList_cost(:,3));%输出openlist_cost表中最小值的位置
parent_node = openList(min_idx,:);%父节点为代价最小节点%% 进入循环
flag = 1;
while flag   % 找出父节点的忽略closeList的子节点child_nodes = child_nodes_cal(parent_node,  m, n, obs, closeList); % 判断这些子节点是否在openList中,若在,则比较更新;没在则追加到openList中for i = 1:size(child_nodes,1)child_node = child_nodes(i,:);[in_flag,openList_idx] = ismember(child_node, openList, 'rows');%ismember函数表示子节点在open表中则返回1,判断flag,输出此子节点在openlist表中的位置g = openList_cost(min_idx, 1) + norm(parent_node - child_node);%按照新父节点计算此子节点的g,h值h = abs(child_node(1) - target_node(1)) + abs(child_node(2) - target_node(2));f = g+h;if in_flag   % 若在,比较更新g和f        if g < openList_cost(openList_idx,1)openList_cost(openList_idx, 1) = g;%将openlist_cost表中第id个位置的第一个数更新为以新父节点计算的g值openList_cost(openList_idx, 3) = f;openList_path{openList_idx,2} = [openList_path{min_idx,2}; child_node];endelse         % 若不在,追加到openListopenList(end+1,:) = child_node;openList_cost(end+1, :) = [g, h, f];openList_path{end+1, 1} = child_node;openList_path{end, 2} = [openList_path{min_idx,2}; child_node];endend% 从openList移除移动代价最小的节点到 closeListcloseList(end+1,: ) =  openList(min_idx,:);closeList_cost(end+1,1) =   openList_cost(min_idx,3);closeList_path(end+1,:) = openList_path(min_idx,:);openList(min_idx,:) = [];%openlist表中已跳出的最小值位置设为空openList_cost(min_idx,:) = [];openList_path(min_idx,:) = [];% 重新搜索:从openList搜索移动代价最小的节点(重复步骤)[~, min_idx] = min(openList_cost(:,3));parent_node = openList(min_idx,:);% 判断是否搜索到终点if parent_node == target_nodecloseList(end+1,: ) =  openList(min_idx,:);closeList_cost(end+1,1) =   openList_cost(min_idx,1);closeList_path(end+1,:) = openList_path(min_idx,:);flag = 0;end
end
3、任务分配调度模型

​ 通过遍历两个附件(订单、AGV)去选择挑选小车,利用上述的算法去计算路径的长度,之后挑选出路径最短的小车与任务,给AGV进行任务分配。

注意:一个订单可能对应的托盘不止一个,在订单数量需求较大时,可能需要两个托盘甚至更多

二、问题二

​ 在这题中,可以加入遗传蚁群算法去优化拣货分区模型,之后建立多目标规划,可以引入几个指标,例如:转弯次数、路径长度、拣货台拣货数量平均度、拥挤度、拣货效率几个方面进行规划,下面是做出的分区结果:
分区结果

 

三、问题三
1、分析
​ 冲突问题可以选用时间窗或者冲突搜索,去调整之前模型路径,把冲突情况分成边冲突和点冲突这两种情况:

(1)点冲突


节点冲突

相向冲突

(2)边冲突


在下一时刻交换位置

2、冲突处理及模型评价
​ 选用了冲突搜索,计算结果更加优秀,可以用元组去存储冲突数据,建立一个冲突约束树,之后在不断建立下一层,直到没有冲突,此时这条最终路径,作为AGV的执行任务路径。之后可以利用各类指标去对比在一二问中的模型,例如:冲突处理代价(AGV为处理冲突之后多走的路)、转弯次数(可以与一二问中的结果数据进行对比)。


部分数据结果:时间窗和冲突搜索两个模型转弯次数对比

​ 或者如果能做到的话,做出路径热力图去分析不同栅格节点所被走过的次数,对比两者可以分析拥挤度,并且分析死锁次数及类型,在本题中最好不要出现死锁情况,题中已经提出避免死锁,所以模型中应尽量减少死锁情况甚至不出现。

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

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

相关文章

机场数据治理系列介绍(5)民用机场智慧能源系统评价体系设计

目录 一、背景 二、体系设计 1、评价体系设计维度 2、评价体系相关约定 3、评价指标体系框架设计 4、能源利用评价指标 5、环境友好评价指标 6、智慧管控评价指标 7、安全保障评价指标 三、具体落地措施 一、背景 在“双碳”国策之下&#xff0c;各类机场将能源系统建…

深入解析template,掌握C++模板的精髓!

掌握C模板&#xff08;template&#xff09;的优雅之道&#xff01; 一、什么是模板&#xff1f;二、模板如何工作&#xff1f;三、C 中的模板类型3.1、 类模板3.2、 函数模板 四、模板参数推导4.1、模板参数推导示例4.2、函数模板参数推导4.3、类模板参数推导&#xff08;C17 …

2024年MathorCup妈妈杯数学建模思路C题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享&#xff0c;点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间&#xff1a;2024年4月11日&#xff08;周四&#xff09;12:00 比赛开始时间&#xff1a;2024年4月12日&#xff08;周五&#xff09;8:00 比赛结束时间&…

GPU部署ChatGLM3

首先&#xff0c;检查一下自己的电脑有没有CUDA环境&#xff0c;没有的话&#xff0c;去安装一个。我的电脑是4060显卡&#xff0c;买回来就自带这些环境了。没有显卡的话&#xff0c;也不要紧&#xff0c;这个懒人安装包支持CPU运行&#xff0c;会自动识别没有GPU&#xff0c;…

启明智显M4核心板驱动17寸屏 为您打造无与伦比的视觉盛宴

近日&#xff0c;启明智显推出M4核心板驱动17寸屏&#xff0c;8 Link LVDS接口下1280*1024分辨率为用户展现了超强的视觉体验。 M4核心板采用纯国产架构&#xff0c;内置了16位DDR内存&#xff0c;为设备提供强大的数据处理能力和高效的运行速度。无论是处理复杂的任务还是进…

【简单讲解下C++max函数的使用】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

Java | Leetcode Java题解之第13题罗马数字转整数

题目&#xff1a; 题解&#xff1a; class Solution {Map<Character, Integer> symbolValues new HashMap<Character, Integer>() {{put(I, 1);put(V, 5);put(X, 10);put(L, 50);put(C, 100);put(D, 500);put(M, 1000);}};public int romanToInt(String s) {int …

考研数学|刷题用汤家凤《1800》还是张宇《1000》?看完这篇你就懂了

考研数学的复习是一个系统的过程&#xff0c;不同的习题集有各自的特点和适用场景。汤家凤的1800题和张宇的1000题都是非常受欢迎的考研数学复习资料&#xff0c;它们各有侧重点和优势。 汤家凤的1800题以其全面性和基础性著称&#xff0c;题目覆盖了考研数学的各个知识点&…

缓存穿透问题

缓存穿透 &#xff1a;缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存永远不会生效&#xff0c;这些请求都会打到数据库。 常见的两种解决方案&#xff1a; 1.缓存空对象 优点&#xff1a;实现简单&#xff0c;维护方便 缺点&#xff1a;占用…

【40分钟速成智能风控4】传统风险管理体系

目录 人工审核 纸质材料评估 电话回访 线下走访尽调 专家模型 业务规则库 专家调查权重法 熵权法 随着大数据和机器学习技术的发展与成熟&#xff0c;智能风控已经逐步取代传统风控&#xff0c;成为国内互联网金融机构主流的风险管理模式。一方面&#xff0c;传统风控是…

U盘中病毒了会影响电脑吗 U盘中病毒了怎么恢复数据 easyrecovery数据恢复软件免费版 easyrecovery绿色版破解版激活密钥无需注册

EasyRecovery是世界著名数据恢复公司 Ontrack 的技术杰作&#xff0c;EasyRecovery破解版是一个威力非常强大的硬盘数据恢复工具&#xff0c;能够帮你恢复丢失的数据以及重建文件系统。您只需要按软件提示一步一步操作&#xff0c;就能恢复出你电脑上的文档、表格、图片、音频、…

LeetCode 热题 100 | 多维动态规划(一)

目录 1 多维动态规划 2 62. 不同路径 3 64. 最小路径和 菜鸟做题&#xff0c;语言是 C&#xff08;细品动态规划 ing&#xff09; 1 多维动态规划 目前的感觉&#xff1a;抽象为二维数组。 2 62. 不同路径 题眼&#xff1a;“机器人每次只能向下或者向右移动一步”。…

什么是sso?

SSO&#xff08;Single Sign-On&#xff09;&#xff0c;即单点登录&#xff0c;是一种安全协议&#xff0c;它允许用户在多个应用程序之间使用同一组登录凭据进行身份验证。这意味着用户只需要登录一次&#xff0c;就可以访问多个需要身份验证的应用程序。 SSO的工作原理如下…

亚信安慧AntDB数据库分享“UltraSync特性介绍”技术演讲,助力客户降本增效

3月30日&#xff0c;由中国开源软件联盟组织的PostgreSQL技术峰会活动在南京举办&#xff0c;各数据库厂商研发带头人、企业资深DBA和众多技术爱好者齐聚一堂。湖南亚信安慧科技有限公司&#xff08;简称&#xff1a;亚信安慧&#xff09; AntDB-T产品线研发负责人梁博受邀参会…

「每日跟读」英语常用句型公式 第6篇

「每日跟读」英语常用句型公式 第6篇 1. As ___ as possible 越 ___ 越好 As soon as possible (ASAP)(越快越好) As happy as possible (越快乐越好) As prepared as possible (越有准备越好) As much/many as possible (越多越好 *不可数/可数) As early as possible …

探秘KMP算法:解密字符串匹配的黑科技

KMP算法 在正式进入KMP算法之前&#xff0c;不得不先引经据典一番&#xff0c;因为直接去理解KMP&#xff0c;你可能会很痛苦&#xff08;别问&#xff0c;问就是我也痛苦过&#xff09;。所以做好前面的预热工作非常非常重要&#xff0c;为了搞明白KMP&#xff0c;在没见到KMP…

快速理解vim编辑器和软硬连接

刚开始学习linux基础命令时最难搞懂的应该就是vi和ln命令了&#x1f62d;&#xff0c;写这篇文章主要想和大家分享一下我对这两个命令的理解&#xff0c;希望能更快的帮助到那些还没搞懂的同学&#x1f61c; 首先我们要知道vim编辑器主要分为三个工作模式&#xff0c;分别是图上…

基于单片机钢琴电子节拍器系统设计

**单片机设计介绍&#xff0c;基于单片机钢琴电子节拍器系统设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机钢琴电子节拍器系统设计是一个综合性的项目&#xff0c;它结合了单片机编程、音频处理、用户界面设计等多个领域的…

01 华为华三模拟器解决兼容问题

01 华为华三模拟器解决兼容问题 AI思路 要让华为和华三的模拟器兼容&#xff0c;您可以尝试以下方法&#xff1a; 更新模拟器版本&#xff1a;确保您使用的华为和华三模拟器都是最新版本。在华为官方网站或华三官方网站上下载最新的模拟器版本。 检查系统要求&#xff1a;确保…

ctfshow web入门 命令运行 web39---web52

ctfshow web入门 命令执行 昨天看了一下我的博客真的很恼火&#xff0c;不好看&#xff0c;还是用md来写吧 web39 查看源代码 看到include了&#xff0c;还是包含(其实不是) 源代码意思是当c不含flag的时候把c当php文件运行 php伪协议绕过php文件执行 data://text/plain 绕…