Esquema de programación y selección de sitios del título C de la Copa Shenzhen 2022 para estaciones de intercambio para vehículos de material eléctrico de conducción autónoma

Esquema de programación y selección del sitio de la estación de intercambio de vehículos de material eléctrico de conducción autónoma de la Copa C de Shenzhen 2022

  Para lograr el objetivo de mi país de alcanzar el "pico de carbono" para 2030 y la "neutralidad de carbono" para 2060, el uso de vehículos eléctricos autónomos que no dañan el medio ambiente en el transporte de materiales es una tendencia de desarrollo. Al formular el plan de despacho de vehículos eléctricos, se debe considerar el costo del tiempo de carga y reemplazo de la batería, y se propone un nuevo problema de selección y despacho del lugar de transporte del vehículo.
  Pregunta 1 Un lote de camiones de materiales eléctricos autónomos transporta materiales desde el punto P al punto D, y luego regresa con la carga vacía, y
así sucesivamente. Se requiere establecer un modelo de programación matemática para determinar la ubicación de una estación de intercambio bidireccional ubicada en el mismo lugar (como una estación de descanso de alta velocidad) entre el punto P y el punto D, así como el esquema de programación correspondiente del vehículo y la batería. para maximizar la entrega dentro del período de tiempo especificado.La cantidad de material cumple con las limitaciones de recursos y las limitaciones del modo de funcionamiento de la batería. De acuerdo con los datos proporcionados en el apéndice, resuelva el modelo de planificación, proporcione la ubicación de la estación de intercambio y proporcione la cantidad de materiales transportados en 1000 horas, la cantidad de vehículos utilizados, la cantidad de paquetes de baterías y el esquema de programación específico. de los vehículos y sus baterías.
  Pregunta 2 En la pregunta 1, cambie la condición de construcción de la estación para "determinar la posición de una estación de intercambio de energía en cada dirección entre el punto P y el punto D", las demás condiciones y tareas son las mismas que en la pregunta 1.
  Pregunta 3 Considerando los costos de los precios de electricidad pico y valle, compra de paquetes de baterías, construcción de estaciones de carga e intercambio, etc., formule un plan de construcción de estaciones y programación de paquetes de baterías que garantice el volumen mínimo de transporte diario y el menor costo de inversión y operación en el ciclo de liquidación de 3 años. De acuerdo con los datos proporcionados en el apéndice (los datos predeterminados se complementan solos), se proporciona un ejemplo de cálculo específico. Problema 4 Para varios puntos de recogida y un único punto de descarga, estudie los problemas de selección del sitio de la estación de intercambio y de programación del grupo de vehículos y baterías mencionados anteriormente.
Apéndice: formato de datos (limitado)
Los datos de ejemplo de cálculo se compilan solos bajo las siguientes restricciones de formato, y los datos de ejemplo de cálculo de prueba unificado se publicarán antes de las finales.
  (1) Punto P a Punto D: kilometraje 10 km, carril exclusivo de doble sentido para un solo vehículo (ferrocarril), distancia entre vehículos no inferior a 200 m
  (2) Vehículos: 125 vehículos a una velocidad de 60 km/h, cada vehículo está clasificado con 6 paquetes de baterías, inicialmente en el estado sin carga de la estación de intercambio, y el SoC (estado de carga) de cada paquete de baterías incorporado es 100%
  (3) Baterías: 900 grupos, un solo grupo de baterías se mide de forma independiente, el consumo de energía de los 6 grupos de baterías en el vehículo es consistente, el SoC de cada grupo de baterías se reduce en un 1 % cada 3 minutos de conducción con un vehículo vacío, y el SoC de cada grupo de baterías se reduce en un 1% cada 2 minutos que un camión El SoC del paquete de baterías se reduce en un 1% El SoC del paquete de baterías integrado se puede reemplazar cuando está en el intervalo [10 %, 25 %]. El SoC del paquete de baterías para el reemplazo es del 100 %
  . Se necesitan 20 segundos para que cada paquete de baterías se cargue y se detecte que ingresa al estado de espera después de ser reemplazado. Se tarda 1 minuto cada vez para cargar y descargar.
  Precio del equipo de cambio de batería automático, precio de la batería, precio del vehículo.

Establecimiento de modelos y análisis de soluciones:

  Lo primero que debe considerar es esta pregunta: desde la estación de intercambio de energía al punto P al punto D al punto P hasta que la capacidad de la batería alcance el 10% al 25%, vaya a la estación de intercambio de energía para reemplazar la batería
  Aquí puede dibujar un circuito diagrama

  La longitud de la carretera de doble carril S es de 10 km, es decir, 10 000 m
  , y la distancia entre dos vehículos es mayor o igual a 200 m, ¿qué significa?
inserte la descripción de la imagen aquí
Hay como máximo 100 tranvías Benz en la carretera sin considerar la longitud del automóvil. La
inserte la descripción de la imagen aquí
pregunta decía que la batería: 900 grupos, un solo grupo de baterías se mide de forma independiente y los 6 grupos de baterías a bordo consumen la misma cantidad de energía .

  No tengo suficiente balance de coeficiente intelectual. No considero la situación de cargar 6 baterías en lotes y reemplazar las baterías en lotes. Escribo directamente en los supuestos del modelo: Supongamos que el automóvil eléctrico se reemplaza por la batería y los 6 los paquetes de baterías se reemplazan juntos, ignorando que una sola batería se reemplaza individualmente.El impacto de la capacidad de carga.

  También es el reemplazo de la batería en lotes, y la ubicación de la estación de reemplazo, el volumen máximo de carga y el tiempo 1000h = 60000min, la diferencia entre 6 baterías usadas cerca del 10% y reemplazadas en lotes Sé que afectará los grupos generales de 900. La tasa de uso de la batería, pero este programa de reemplazo de batería no es fácil de calcular. El significado de esta pregunta es pedirle que use una combinación de programación entera y programación lineal. Hay 100 tranvías circulando por la carretera, y el resto de las baterías se cargan sin desperdiciar tanto como sea posible. Entonces la batería está totalmente cargada. se carga cuando el auto funciona al 10%. Este ciclo va y viene, te pregunto dónde construir la central eléctrica. ¿Cómo cambiar la batería? Se puede lograr el máximo volumen de carga.

  Déjame decirte por qué la ubicación de la central eléctrica es fácil de calcular pero el esquema de distribución de reemplazo de batería no lo es, porque si tienes 6 baterías, si tienes un esquema de reemplazo de batería, tienes C6 para elegir 1, es decir , 6 esquemas de reemplazo de batería, y luego compara o es el IQ el que implementa la solución óptima de reemplazo de batería. ¿Por qué hay 6 soluciones? Porque 25%-10%=15% de la electricidad puede ir y venir para agregar otra electricidad o devolver electricidad, pero debe asegurarse de tener la electricidad restante para ir a la central eléctrica, por lo que no puede ir al segunda vez, solo puedes cambiarlo honestamente electricidad, ¿entiendes?
inserte la descripción de la imagen aquí

Resultado final

  La primera pregunta y finalmente confirma que la estación de intercambio es construir una estación de intercambio de 5 km de P a D. En cuanto al plan de reemplazo de la batería, ¿adivine cómo puede usar toda la batería para maximizar la eficiencia? El volumen de transporte está relacionado con el número de coches y el número de veces que el tranvía llega a P, y la batería afecta al número de coches y al número de veces que llega a P. Estimado lector, ¿ha doblado esta esquina?
  El resultado final de la segunda pregunta es construir una estación de intercambio de energía a 20/3 km de ida y vuelta. Los resultados de la tercera
   pregunta deben considerar el punto de tiempo del punto de cambio, cómo cambiar el día y la noche, cómo usar el tiempo de electricidad industrial, el precio más bajo y el precio más alto del plan de estrategia de intercambio de energía.
  considerar la idea del algoritmo de la teoría de colas
  finalmente completada

Lo anterior solo representa mi comprensión personal del tema.
inserte la descripción de la imagen aquí

Ejemplo de código de programa:

import math # 导⼊模块
import random # 导⼊模块
import pandas as pd # 导⼊模块 YouCans, XUPT
import numpy as np # 导⼊模块 numpy,并简写成 np
import matplotlib.pyplot as plt
from datetime import datetime
# ⼦程序:定义优化问题的⽬标函数
def cal_Energy(X, nVar, mk): # m(k):惩罚因⼦,随迭代次数 k 逐渐增⼤
p1 = (max(0, 6*X[0]+5*X[1]-60))**2
p2 = (max(0, 10*X[0]+20*X[1]-150))**2
fx = -(10*X[0]+9*X[1])
return fx+mk*(p1+p2)
# ⼦程序:模拟退⽕算法的参数设置
def ParameterSetting():
cName = "funcOpt" # 定义问题名称 YouCans, XUPT
nVar = 2 # 给定⾃变量数量,y=f(x1,..xn)
xMin = [0, 0] # 给定搜索空间的下限,x1_min,..xn_min
xMax = [8, 8] # 给定搜索空间的上限,x1_max,..xn_max
tInitial = 100.0 
tFinal = 1 
alfa = 0.98
meanMarkov = 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 = True
kBetter += 1
else: # 容忍解:如果新解的⽬标函数⽐当前解差,则以⼀定概率接受新解
pAccept = math.exp(-deltaE / tNow) # 计算容忍解的状态迁移概率
if pAccept > random.random():
accept = True # 接受劣质解
kBadAccept += 1
else:
accept = False # 拒绝劣质解
kBadRefuse += 1
# 保存新解
if accept == True: # 如果接受新解,则将新解保存为当前解
xNow[:] = xNew[:]
fxNow = fxNew
if fxNew < fxBest: # 如果新解的⽬标函数好于最优解,则将新解保存为最优解
fxBest = fxNew
xBest[:] = xNew[:]
totalImprove += 1
scale = 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)) # 最佳解的⽬标函数值

La idea finalmente se completó, bienvenido a molestar.

Supongo que te gusta

Origin blog.csdn.net/weixin_43292788/article/details/125996419
Recomendado
Clasificación