当前位置: 首页 > news >正文

A题 农村公交与异构无人机协同配送优化

1.1问题背景

农村地区的独特地理和社会结构带来了配送上的特殊挑战。复杂的地形,如山地和河流等自然障碍,使得道路建设困难重重,导致道路网络稀疏,而分散的配送点进一步增加了物流的复杂性。这些因素叠加,使得传统配送方式面临效率低下和成本高昂的双重困境,严重制约了农村物流的发展。随着农村经济的持续增长和配送需求的日益上升,这一问题变得尤为突出。

为有效应对农村地区的配送需求,提出了一种创新的配送模式——农村公交与异构无人机的协同配送。这一模式巧妙地结合了农村公交广泛的覆盖范围和经济成本优势,以及无人机的空中灵活性,旨在提升配送效率并降低成本。在实际配送流程中,公交车负责将无人机和货物运输至各个公交站点,这些站点充当无人机的起降平台和货物的转运枢纽。随后,无人机从这些站点起飞,利用其空中优势,迅速而准确地完成最终的配送任务。此外,异构无人机的引入,能够根据不同配送需求进行灵活的任务分配,进一步优化配送流程,满足农村地区多样化的物流需求。

无人机可在公交站点等待公交车,并在必要时停留5分钟更换电池和装货。费用由固定使用费和基于飞行里程的变动费组成。每个需求点的任务是不可分割的,一辆公交车最多携带两架无人机。任务结束后,无人机需返回起始站。忽略客户点的时间窗和道路拥堵,公交车以35公里/小时的速度行驶。

1.2问题重述

基于上述问题背景,本文需研究完成以下问题:

问题一:开发一个优化模型,目标是最小化使用单一类型(A类)无人机与农村公交车协同配送的总费用。该模型应确定无人机的最优飞行路径和时刻表,以实现成本效益最大化。模型需考虑无人机的固定使用费用和与飞行里程相关的变动费用,同时确保无人机在完成配送任务后返回起始站点。

问题二:扩展问题一的模型,以允许使用三种不同类型的无人机进行协同配送。重新构建优化模型,以实现在多类型无人机条件下的最小总费用配送方案。模型应考虑每种无人机的特性,包括固定费用和变动费用,并确定最优的无人机分配和飞行路径。

问题三:在问题二的基础上增加复杂性,考虑每个需求点不仅需要配送货物,还有取货需求。取货任务将为配送公司带来额外收入(每公斤0.5元)。构建一个综合优化模型,该模型不仅要考虑配送成本,还要考虑取货带来的收入。目标是确定最佳配送和取货方案,以最大化整体利润。模型应包括无人机的飞行路径规划、时刻表安排以及取货和配送的最优组合。

模型假设

  1. 假设所有类型无人机的性能参数,包括最大载重、飞行速度、飞行距离和固定费用,均符合给定的标准且在任务执行期间保持不变。
  2. 假设所有公交站点均具备无人机起降和维护的条件,包括空间、电源和必要的操作人员。
  3. 假设需求点的位置在整个配送期间是固定不变的,且所有需求点均可由无人机服务。
  4. 假设需求点没有特定的时间窗限制,无人机可以在任何时间进行配送和取货。
  5. 假设公交车上的货物天然是该站点附近的需求点所需要的。
  6. 假设公交车严格按照预定的时刻表运行,且不受交通状况或其他外部因素的影响。
  7. 假设公交车在每个站点都会停靠5分钟用于货物装卸以及无人机电池更换。
  8. 假设两个方向的公交车都可以为无人机补货。
  9. 假设白河是配送中心,无人机从这里出发,最终要回到白河。

问题一解题思路

        方案是首先部署第一趟公交车,搭载两架A型无人机前往站点i2,并在该站点完成两项配送任务。随后,第二趟公交车再次携带两架A型无人机,途中在首个站点进行货物的快速装卸,继而驶往i3站点释放无人机,以此类推。第三趟公交车第三趟公交车不需要携带新的无人机,只需要将i2站点完成任务的无人机携带至下一个站点即可。在每一轮配送过程中,需要精心安排公交车的行程,确保无人机能够在完成各自任务后,由后续的公交车接力运送至下一站点。至关重要的是,算法设计要充分考虑公交车的运营时刻表,确保所有无人机在日终时能够被安全运回始发点。

        当无人机到达对应公交站后,在离开该公交站去往下一个公交站之前这一段时间为无人机送货时间,每个站点的两台无人机同时工作。通过往返的公交车补充货物。理论上两台无人机最多可以完成8个目标点的送货任务。本文通过动态规划以及贪心算法合理安排每个目标点的优先级。确保无人机送货时间不会与公交车到站时间发生冲突。

        通过此策略,不仅确保了货物配送的时效性,同时也最大化了成本效益。该方法的实施,展现了贪心算法在物流配送优化问题中的应用潜力,为解决类似的实际问题提供了一种高效且经济的解决方案。此外,该策略还考虑了整数规划模型中的决策变量,确保了解决方案的可行性和实用性,进一步增强了模型的优化效果。

问题一飞行路径
8fd53e78e4f44d8ca697d4efb49c5aa1.png

问题一 时间表

86eab63db2814a47bf0e1148cf771ce8.jpeg

核心调度代码

schedules = [];
station_pra = [1 1 1; 2 2 3; 3 3 1; 4 4 3;5 1 1; 6 2 3; 7 3 1; 8 4 3];
allcost = 8 * 80;%2天时间 每天四个无人机 2 * 4 * 80
for j = 1:size(station_pra, 1)station = station_pra(j,1);trip = station_pra(j,2);fly = station_pra(j,3);station = station + 1;item = bus_station_item(station,:);item(find(item==0)) = [];station_time = sort([A_to_B(trip).time(station), A_to_B(trip + 1).time(station), B_to_A(trip).time(10 - station), B_to_A(trip + 1).time(10 - station)]);item_time = [time_matrix_min(item(1,:))];for i = 1:size(item, 2)schedule.fly = rem(i, 2) + fly;schedule.station = station;schedule.item = item(i);schedule.start_time = station_time(int16(i/2));schedule.end_time = station_time(int16(i/2)) + item_time(i);schedule.cost = 0.8 * distance_matrix_min(item(i));schedules = [schedules, schedule];allcost = allcost + schedule.cost;end
end
allcost

 

 

 

 

相关文章:

  • Rust:Restful API 服务程序开发详述
  • 【ShuQiHere】从残差思想到 ResNet:深度学习的突破性创新
  • 【Python系列】只更新非空的字段
  • 【阅读文献】一个使用大语言模型的端到端语音概要
  • 无法用 FileZilla 传送文件的解决方案
  • AIGC简化文件管理:Python自动重命名Word和PDF文件
  • 配置Microsoft Exchange接受域的详细指南
  • 【数据结构】排序算法系列——序言(附源码+图解)
  • Vue——Diff算法
  • 9.8通宵速通javascript
  • 图论(2)
  • 微信小程序uniappvue3版本-控制tabbar某一个的显示与隐藏
  • jmeter之ForEach控制器使用
  • Java | Leetcode Java题解之第386题字典序排数
  • 高压挑战:新能源汽车换电连接器的技术革新
  • python3.6+scrapy+mysql 爬虫实战
  • [译]如何构建服务器端web组件,为何要构建?
  • Service Worker
  • vue 配置sass、scss全局变量
  • Vue.js源码(2):初探List Rendering
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 每天10道Java面试题,跟我走,offer有!
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 手机端车牌号码键盘的vue组件
  • 系统认识JavaScript正则表达式
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 阿里云服务器购买完整流程
  • ​ubuntu下安装kvm虚拟机
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • (bean配置类的注解开发)学习Spring的第十三天
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (分类)KNN算法- 参数调优
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)linux文件内容查看
  • (算法)Travel Information Center
  • (五)Python 垃圾回收机制
  • (一) 初入MySQL 【认识和部署】
  • (转)Linux下编译安装log4cxx
  • (转)可以带来幸福的一本书
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Core Web APi类库如何内嵌运行?
  • .Net Web项目创建比较不错的参考文章
  • .NET WPF 抖动动画
  • @AliasFor注解
  • @TableLogic注解说明,以及对增删改查的影响
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [20150321]索引空块的问题.txt
  • [ACTF2020 新生赛]Upload 1
  • [C/C++]_[初级]_[关于编译时出现有符号-无符号不匹配的警告-sizeof使用注意事项]
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [Head First设计模式]策略模式