2022深圳杯C题讲解

本文从车辆路径规划来研究自动驾驶电动物料车换电站选址及调度问题,通过设计一个多目标线性规划模型,在车辆运输过程中,对车辆进行合理的路径规划可以在满足运输要求的基础上最大程度地节约人力物力,降低运输成本,在对车辆路径规划的研究过程中,模型和算法起着关键性作用,通过遗传算法、粒子群算法、排队论、聚类分析的方法来设定约束条件来进行求解得出结论。

针对问题一,此问题属于最优规划求解问题,通过电动物料车将物料从P点运送到D点,又从点空载返回,这样一个双向单车(轨)专用道进行如此循环往复运送物料,对其整个过程中的路程、换电站位置、行驶车辆位置、速度、时间以及电池耗电情况等进行建立数学规划模型,建立的模型使车辆车在一定条件下相互配合达到最大运送物料量,给出所使用车辆、电池组数量和车辆及其各电池组的具体调度方案。

针对问题二,此问题与问题一建立的模型相同,属于最优规划求解问题,只是确立的两换电站分别位于从P点到D点方向的路途和D点到P点方向的路途上,因此两换电站到P点的距离是不等的,分别用两个未知数进行表示。

针对问题三,此问题以建设中充、换电成本,车辆成本,购置电池组的成本,换电设备成本,电价成本,用地成本,人工成本作为总成本,最低成本问题可以简化为电价最低问题,将其以各成本变换及时间选择和长度设定具体数值进行量化分析,最后自行模拟数据进行求解。

针对问题四,此问题与问题一、二类似,但是要考虑当有多个拿货点的时候,要设多个未知量来表示多个拿货点到换电站之间的距离,当然两个拿货点之间最好至少要有一个换电站。

问题一分析与思路:

此问题属于最优规划求解问题,通过电动物料车将物料从P点运送到D点,又从点空载返回,这样一个双向单车(轨)专用道进行如此循环往复运送物料,对其整个过程中的路程、换电站位置、行驶车辆位置、速度、时间以及电池耗电情况等进行建立数学规划模型,建立的模型使车辆车在一定条件下相互配合达到最大运送物料量,给出所使用车辆、电池组数量和车辆及其各电池组的具体调度方案。

详细了解,关注我,然后私信。

部分程序如下:

import numpy as np

from itertools import product

class Lorry:

    def __init__(self, station1, station2):

        # station1: P->D 换电站位置, station2:D->P 换电站位置

        self.bet = 100  # 当前电池电量

        self.p = 20 - station2  # 当前位置

        self.t = 0  # 当前时间

        self.station1 = station1

        self.station2 = station2

        self.n_charge = 0  # 充电次数

    def __str__(self):

        return "Lorry is at position {}, with battery {}, at time {}".format(self.p, self.bet, self.t)

    def move(self, dt):

        # 0(P)___10(D)___20(P')

        # dt时间后的演化结果

        if 0 <= self.p < 10 or np.isclose(self.p, 0):

            # P->D

            self.bet -= 1/2 * dt  # 电池消耗

        elif 10 <= self.p < 20 or np.isclose(self.p, 10):

            # D->P

            self.bet -= 1/3 * dt  # 电池消耗

        if self.bet < 0 or np.isclose(self.bet, 0):

            raise Exception("Lorry is out of battery")

        self.t = self.t + dt  # 时间变化

        self.p = (self.p + dt * 1) % 20  # 位置变化

        if np.isclose(self.p, 10) or np.isclose(self.p, 0):

            # 装卸货时间

            self.t += 1

        self.recharge()

你可能感兴趣的:(python,numpy,机器学习)