位置: IT常识 - 正文

2022深圳杯C题自动驾驶电动物料车换电站选址及调度方案(深圳杯2020c题)

编辑:rootadmin
2022深圳杯C题自动驾驶电动物料车换电站选址及调度方案

推荐整理分享2022深圳杯C题自动驾驶电动物料车换电站选址及调度方案(深圳杯2020c题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深圳杯2020c题,2022深圳杯c题自动驾驶建模论文,深圳杯2021b题,深圳杯2021b题,2021深圳杯c题,深圳杯2021a题,深圳杯2020c题,深圳杯2020c题,内容如对您有帮助,希望把文章链接给更多的朋友!

2022深圳杯C自动驾驶电动物料车换电站选址及调度方案

  为了实现我国在 2030 年前“碳达峰”、在 2060 年前“碳中和”的目标,在物料运输中使用环保的自动驾驶电动车是发展趋势。在制订电动车调度方案时,必须考虑充、换电池的时间成本,从而提出了新的车辆运输选址及调度问题。   问题 1 一批自动驾驶电动物料车将物料从 P 点运送到 D 点,然后空载返回, 如此循环往复运送物料。要求建立数学规划模型,在 P 点与 D 点之间确定一个双向同址(像高速的休息站一样)的换电站位置,以及对应的车辆和电池组调度方案,极大化指定时间段内运送物料量,满足资源约束与电池运行方式约束。根据附录所给的数据,求解规划模型,给出换电站位置,并给出在 1000 小时中运送的物料量,所使用车辆、电池组数量和车辆及其各电池组的具体调度方案。   问题 2 在问题 1 中,将建站条件更改成为“在 P 点与 D 点之间每个方向分别确定一个换电站位置”,其他条件与任务与问题 1 相同。   问题 3 考虑峰谷电价、购置电池组、建设充、换电站等成本,制定保证每日最低运输量,3 年结算周期投资运行成本最低的建站及电池组调度方案。根据附录所给的数据(缺省的数据自行补充),给出具体算例。问题 4 对多个取料点、单个卸货点,研究上述换电站选址及车辆-电池组调度问题。 附录:数据格式(限定) 算例数据在下列格式限定下自行编制,决赛前将发布统一测试算例数据。   (1) P 点到 D 点:里程 10 km,双向单车(轨)专用道,车距不小于 200 m   (2) 车辆:125 辆,速率 60 km/h, 每车额定装配 6 个电池组,初始位于换电站空载状态,且每个车载电池组的 SoC(荷电状态)都是 100%   (3) 电池:900 组,单个电池组独立计量,车载 6 个电池组一致消耗电量,空载车辆每行驶 3 分钟每个电池组的 SoC 都减少 1%,载货车辆每行驶 2 分钟每个电池组的 SoC 都减少 1%,车载电池组的 SoC 位于区间[10%,25%]时方可更换,备更换电池组的 SoC 为 100%   (4) 耗时:每更换一个电池组耗时 20 秒,每个电池组更换下来后充电、检测进入备用状态总耗时 3 小时,装卸货每次各需要 1 分钟   (5) 价格:峰谷电价,换电站地价,充电速率及充电桩造价,自动换电池设备价格,电池价格,车辆价格。

模型的建立与求解分析:

  首先考虑这个题是从换电站到P点到D点再到P点直到电池容量到10%至25%的时候,到换电站进行电池更换   这里可以画一个线路图

2022深圳杯C题自动驾驶电动物料车换电站选址及调度方案(深圳杯2020c题)

  S双行道的长度为10km也就是10000m   每两车距大于等于200m,什么意思? 在不考虑车长情况下 公路上最多奔驰100辆电车 题中说电池:900 组,单个电池组独立计量,车载 6 个电池组一致消耗电量。

  我这智商余额不足,我不考虑6个电池分批充电分批换电池的情况了,我直接在模型的假设中写:假设电车换电池6个电池组一起换,忽略单个电池单独换对于总体货载量的影响。

  又是电池组合分批换电又是考虑换电站的位置、货运总量最大、时间1000h=60000min内,6个电池用到贴近10%一起换和分批换的区别我知道会影响整体900组电池的使用率,但这个电池换电方案不好算。这题的意思就是让你拿整数规划和线性规划的组合,道上跑着100辆电车然后其余的电池尽量没有浪费都在充电,然后这车跑的快到10%的时候电池正好充完了,以此循环往复,问你换电站建哪?换电池怎么换?能达到货运量最大。

  我说一下为什么电站位置好算而电池换电分配方案不好算,这是因为6块电池你如果换电池的方案的话有C6选1也就是说6种电池换电方案,然后你通过对比或是智商碾压得出最优的电池换电方案,为什么是6种方案呢?因为25%-10%=15%的电量能跑一来回加一个去或者回的电量,但是你还得保证有去换电站的电量剩余,所以说第二趟你去不了了,只能老实换电,懂了么。

最终结果

  第一问最后你确定换电站是在P去D的5km处建立换电站。至于电池换电方案,你猜猜你就合计怎么整电池利用效率最大?运输量之与车数、电车到达P的次数有关,而电池影响车数和到达P的次数,亲爱的读者你转过来这个弯了么?   第二问最后结果是在去和回的20/3km处建换电站。   第三问结果需考虑换点的时间点 白天怎么换 夜晚怎么换 使用工业用电时间最低价格 与最高价格的换电策略方案   第四问结果需考虑排队论算法   思路终于完成了 欢迎打扰

以上仅代表个人对于该题的理解

程序代码示例:

import math # 导⼊模块import random # 导⼊模块import pandas as pd # 导⼊模块 YouCans, XUPTimport numpy as np # 导⼊模块 numpy,并简写成 npimport matplotlib.pyplot as pltfrom datetime import datetime# ⼦程序:定义优化问题的⽬标函数def cal_Energy(X, nVar, mk): # m(k):惩罚因⼦,随迭代次数 k 逐渐增⼤p1 = (max(0, 6*X[0]+5*X[1]-60))**2p2 = (max(0, 10*X[0]+20*X[1]-150))**2fx = -(10*X[0]+9*X[1])return fx+mk*(p1+p2)# ⼦程序:模拟退⽕算法的参数设置def ParameterSetting():cName = "funcOpt" # 定义问题名称 YouCans, XUPTnVar = 2 # 给定⾃变量数量,y=f(x1,..xn)xMin = [0, 0] # 给定搜索空间的下限,x1_min,..xn_minxMax = [8, 8] # 给定搜索空间的上限,x1_max,..xn_maxtInitial = 100.0 tFinal = 1 alfa = 0.98meanMarkov = 100 # Markov链长度,也即内循环运⾏次数scale = 0.5 # 定义搜索步长,可以设为固定值或逐渐缩⼩return cName, nVar, xMin, xMax, tInitial, tFinal, alfa, meanMarkov, scale# 模拟退⽕算法def OptimizationSSA(nVar,xMin,xMax,tInitial,tFinal,alfa,meanMarkov,scale):# ====== 初始化随机数发⽣器 ======randseed = random.randint(1, 100)random.seed(randseed) # 随机数发⽣器设置种⼦,也可以设为指定整数# ====== 随机产⽣优化问题的初始解 ======xInitial = np.zeros((nVar)) # 初始化,创建数组for v in range(nVar):# xInitial[v] = random.uniform(xMin[v], xMax[v]) # 产⽣ [xMin, xMax] 范围的随机实数xInitial[v] = random.randint(xMin[v], xMax[v]) # 产⽣ [xMin, xMax] 范围的随机整数# 调⽤⼦函数 cal_Energy 计算当前解的⽬标函数值fxInitial = cal_Energy(xInitial, nVar, 1) # m(k):惩罚因⼦,初值为 1# ====== 模拟退⽕算法初始化 ======xNew = np.zeros((nVar)) # 初始化,创建数组xNow = np.zeros((nVar)) # 初始化,创建数组xBest = np.zeros((nVar)) # 初始化,创建数组xNow[:] = xInitial[:] # 初始化当前解,将初始解置为当前解xBest[:] = xInitial[:] # 初始化最优解,将当前解置为最优解fxNow = fxInitial # 将初始解的⽬标函数置为当前值fxBest = fxInitial # 将当前解的⽬标函数置为最优值print('x_Initial:{:.6f},{:.6f},\tf(x_Initial):{:.6f}'.format(xInitial[0], xInitial[1], fxInitial))recordIter = [] # 初始化,外循环次数recordFxNow = [] # 初始化,当前解的⽬标函数值recordFxBest = [] # 初始化,最佳解的⽬标函数值recordPBad = [] # 初始化,劣质解的接受概率kIter = 0 # 外循环迭代次数totalMar = 0 # 总计 Markov 链长度totalImprove = 0 # fxBest 改善次数nMarkov = meanMarkov # 固定长度 Markov链# ====== 开始模拟退⽕优化 ======# 外循环tNow = tInitial # 初始化当前温度(current temperature)while tNow >= tFinal: # 外循环kBetter = 0 # 获得优质解的次数kBadAccept = 0 # 接受劣质解的次数kBadRefuse = 0 # 拒绝劣质解的次数# ---内循环,循环次数为Markov链长度for k in range(nMarkov): # 内循环,循环次数为Markov链长度totalMar += 1 # 总 Markov链长度计数器# ---产⽣新解# 产⽣新解:通过在当前解附近随机扰动⽽产⽣新解,新解必须在 [min,max] 范围内# ⽅案 1:只对 n元变量中的⼀个进⾏扰动,其它 n-1个变量保持不变xNew[:] = xNow[:]v = random.randint(0, nVar-1) # 产⽣ [0,nVar-1]之间的随机数xNew[v] = round(xNow[v] + scale * (xMax[v]-xMin[v]) * random.normalvariate(0, 1))# 满⾜决策变量为整数,采⽤最简单的⽅案:产⽣的新解按照四舍五⼊取整xNew[v] = max(min(xNew[v], xMax[v]), xMin[v]) # 保证新解在 [min,max] 范围内# ---计算⽬标函数和能量差# 调⽤⼦函数 cal_Energy 计算新解的⽬标函数值fxNew = cal_Energy(xNew, nVar, kIter)deltaE = fxNew - fxNow# ---按 Metropolis 准则接受新解# 接受判别:按照 Metropolis 准则决定是否接受新解if fxNew < fxNow: # 更优解:如果新解的⽬标函数好于当前解,则接受新解accept = TruekBetter += 1else: # 容忍解:如果新解的⽬标函数⽐当前解差,则以⼀定概率接受新解pAccept = math.exp(-deltaE / tNow) # 计算容忍解的状态迁移概率if pAccept > random.random():accept = True # 接受劣质解kBadAccept += 1else:accept = False # 拒绝劣质解kBadRefuse += 1# 保存新解if accept == True: # 如果接受新解,则将新解保存为当前解xNow[:] = xNew[:]fxNow = fxNewif fxNew < fxBest: # 如果新解的⽬标函数好于最优解,则将新解保存为最优解fxBest = fxNewxBest[:] = xNew[:]totalImprove += 1scale = scale*0.99 # 可变搜索步长,逐步减⼩搜索范围,提⾼搜索精度# ---内循环结束后的数据整理# pBadAccept = kBadAccept / (kBadAccept + kBadRefuse) # 劣质解的接受概率recordIter.append(kIter) # 当前外循环次数recordFxNow.append(round(fxNow, 4)) # 当前解的⽬标函数值recordFxBest.append(round(fxBest, 4)) # 最佳解的⽬标函数值recordPBad.append(round(pBadAccept, 4)) # 最佳解的⽬标函数值

思路终于完成了 欢迎打扰

本文链接地址:https://www.jiuchutong.com/zhishi/298795.html 转载请保留说明!

上一篇:4、nerf(pytorch)

下一篇:【AI绘画】AI绘画真的太强悍了!Stable Diffusion + ControlNet 骨架分析,输出的高清大图让我大吃一惊. 附安装使用教程(ai绘画图片)

  • 大公司和小公司的产品推广有啥不同(大公司和小公司的利弊)

    大公司和小公司的产品推广有啥不同(大公司和小公司的利弊)

  • 乘坐公交车怎么用手机扫二维码付款(乘坐公交车怎么付款)

    乘坐公交车怎么用手机扫二维码付款(乘坐公交车怎么付款)

  • 微信可以上传多长时间的视频(微信可以上传多少mb的视频)

    微信可以上传多长时间的视频(微信可以上传多少mb的视频)

  • 抖音左下角三角形和数字的意思是什么(抖音左下角三角形和数字会根据作者浏览增加吗)

    抖音左下角三角形和数字的意思是什么(抖音左下角三角形和数字会根据作者浏览增加吗)

  • 微信怎么创建群(微信怎么创建新群)

    微信怎么创建群(微信怎么创建新群)

  • 抖音图片怎么换成自己(抖音图片怎么换音乐)

    抖音图片怎么换成自己(抖音图片怎么换音乐)

  • 买的淘宝号实名认证了就安全吗(买的淘宝号实名已经实名认证了怎么还显示未实名)

    买的淘宝号实名认证了就安全吗(买的淘宝号实名已经实名认证了怎么还显示未实名)

  • 直播带货需要什么设备(直播带货需要什么显卡)

    直播带货需要什么设备(直播带货需要什么显卡)

  • 朋友圈动态设置了部分人可看怎么取消(朋友圈动态设置时间)

    朋友圈动态设置了部分人可看怎么取消(朋友圈动态设置时间)

  • 荣耀20和荣耀v20拍照对比(荣耀20和荣耀v20一样吗)

    荣耀20和荣耀v20拍照对比(荣耀20和荣耀v20一样吗)

  • 微信注销成功手机号解绑了吗(微信注销完成后好友还有你吗)

    微信注销成功手机号解绑了吗(微信注销完成后好友还有你吗)

  • 微视提现失败怎么办(微视提现失败,若有余额扣除,会在稍后返还至微视账户)

    微视提现失败怎么办(微视提现失败,若有余额扣除,会在稍后返还至微视账户)

  • 华为荣耀20s没有耳机吗(华为荣耀20s没有语音唤醒功能)

    华为荣耀20s没有耳机吗(华为荣耀20s没有语音唤醒功能)

  • 发完消息退群消息还在吗(发消息后退群消息还在吗)

    发完消息退群消息还在吗(发消息后退群消息还在吗)

  • 怎么合并视频(手机怎么合并视频)

    怎么合并视频(手机怎么合并视频)

  • 华为手机时钟怎么设置24小时制(华为手机时钟怎么调到桌面)

    华为手机时钟怎么设置24小时制(华为手机时钟怎么调到桌面)

  • 斗鱼房管怎么禁别人言(斗鱼房管禁言提示是什么)

    斗鱼房管怎么禁别人言(斗鱼房管禁言提示是什么)

  • 三星m2071怎么换墨盒(三星m2071怎么换搓纸轮)

    三星m2071怎么换墨盒(三星m2071怎么换搓纸轮)

  • 腾讯视频如何看我的资产(腾讯视频如何看历史记录)

    腾讯视频如何看我的资产(腾讯视频如何看历史记录)

  • 抖音动漫视频怎么制作(抖音动漫视频怎么制作出来的)

    抖音动漫视频怎么制作(抖音动漫视频怎么制作出来的)

  • 手机怎么打彩色字体(手机怎么打彩色灯光)

    手机怎么打彩色字体(手机怎么打彩色灯光)

  • 美团怎么查看所有账单(美团怎么查看所有还款账单)

    美团怎么查看所有账单(美团怎么查看所有还款账单)

  • 拼多多视频怎么添加(拼多多视频怎么看浏览记录)

    拼多多视频怎么添加(拼多多视频怎么看浏览记录)

  • uc隐藏的视频在哪里(uc隐藏的视频在哪里打开)

    uc隐藏的视频在哪里(uc隐藏的视频在哪里打开)

  • 华为手机打电话时不能上网(华为手机打电话4g变2g怎么回事)

    华为手机打电话时不能上网(华为手机打电话4g变2g怎么回事)

  • 安卓beatsx怎么看电量

    安卓beatsx怎么看电量

  • 白兰花的养殖方法与注意事项(白兰花的养殖方法和注意事项和病虫害)

    白兰花的养殖方法与注意事项(白兰花的养殖方法和注意事项和病虫害)

  • 巴伐利亚阿尔卑斯山脉中的米滕瓦尔德小屋,德国 (© Sebastian Frölich/Offset by Shutterstock)(巴伐利亚知乎)

    巴伐利亚阿尔卑斯山脉中的米滕瓦尔德小屋,德国 (© Sebastian Frölich/Offset by Shutterstock)(巴伐利亚知乎)

  • 发票名称开错了但是税号没错怎么办
  • 公司代扣代缴个人所得税如何退税
  • 税务等级低有什么影响
  • 汇算清缴退回的所得税
  • 小微企业第一季度不符合条件怎么处理
  • 医院员工工资表模板
  • 小微企业附加税减半征收
  • 某超市从电器生产厂购进一批电器
  • 企业缴纳的财产保险费会计分录
  • 应付账款收不回,可否转营业外收入
  • 利润总额递延所得税
  • 虚开发票走账对方不返还如何处理?
  • 收到违约金需要缴纳所得税吗
  • 建筑安装税务分类编码为多少?
  • 职工教育经费税前扣除标准2023年
  • 变更财务负责人在网上变更流程
  • 转账支票可不可以挂失止付
  • 只有专票没有普票
  • 支票能够拿来付款吗
  • 损失性费用的会计科目有
  • 公司的资产负债表包括
  • 一次性伤残补助金由谁支付
  • 上月有留底税额,这个月有销销没有进项怎么做账
  • 以银行存款支付上述材料运费480元
  • 全资子公司给母公司担保
  • 王者荣耀中哪吒的图片
  • sharedprem.exe - sharedprem是什么进程 有什么作用
  • PHP:apache_reset_timeout()的用法_Apache函数
  • 小规模纳税人冲红发票怎么报税
  • 补缴以前年度公积金误入当年费怎么办
  • 应付债券利息费用
  • PHP:gmstrftime()的用法_Date Time函数
  • 资产负债所有者权益损益类会计科目
  • 使用Zttp简化Guzzle 调用
  • 政府会计主体资产有哪些
  • centos安装php环境
  • php写excel
  • uniapp封装组件,多了一层
  • 暂估入库的商品能出库吗
  • javaweb知识点汇总
  • mm32开发教程
  • vue3 原理
  • 管家婆付款单凭证科目如何修改
  • 卖出回购证券的钱怎么算
  • 金税盘服务费可以跨年抵扣
  • 小微企业具体指
  • 交给工会的40%的工会经费里还要再返60%吗
  • 长期股权投资种类
  • mysql null+1
  • 所得税费用期末结转吗
  • 企业所得税的营业成本包括期间费用吗
  • 通过SQLServer 2008 操作 MySQL的方法
  • mysql 锁详解
  • 同一控制下合并冲减资本公积
  • 怎样计提税金及附加
  • 小规模减免的增值税要交所得税吗
  • 营业外收支的账户有哪些
  • 出租机械设备
  • 现金折扣可以扣除吗
  • 实收资本的会计编码
  • 自产自销的免税票
  • 应收帐款表
  • 商品降价如何进行投诉
  • 盈余公积什么时候会出现在账面
  • fedora系统怎么设置停电关机
  • mac上网速度慢
  • 会声会影win7怎么兼容
  • exfat装win7
  • win7系统更新补丁会解决游戏卡顿的问题吗
  • linux入门很简单
  • 结构 类型
  • js开发android应用
  • css placement
  • css新闻页面制作
  • node wechat
  • js学习教程
  • nodejsorg
  • python中模块的作用
  • javascript toggle
  • 三证合一后还要做什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设