import random import numpy as np import math from sklearn.cluster import KMeans #定义状态空间,每个时间片是一个决策阶段,时间片结束点的时刻为决策点 # 划分时间片,划分成了从0-100min的10个决策片,也就是我们整个过程的决策点,在每个时间片的右区间做出决策 scene = [] time_slices = np.linspace(0, 100, 11) # def calculate_distance(p1, p2): # # 计算两点之间的欧几里得距离 # return ((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2) ** 0.5 # 生成随机场景 for i in range(len(time_slices) - 1): start_time, end_time = time_slices[i], time_slices[i + 1] order_counts = np.random.poisson(4) # 每个时间段平均有4个订单 driver_counts = np.random.poisson(2) # 每个时间段平均有2个司机 decision_id = i + 1 decision_time = time_slices[i + 1] for j in range(order_counts): order_id =j+1 #order_time = int(random.uniform(start_time, end_time)) order_x, order_y = int(random.uniform(0, 10)), int(random.uniform(0, 10)) order_state = 1 for m in range(driver_counts): driver1_id = m + 1 # driver1_time = int(random.uniform(start_time, end_time)) driver1_x, driver1_y = int(random.uniform(0, 10)), int(random.uniform(0, 10)) driver1_deadline = 100 scene.append({"决策阶段":decision_id,"决策时间":decision_time,"订单编号":order_id,"坐标":(order_x, order_y),"订单状态":order_state},"司机编号":driver1_id,"司机目的地":(driver1_x, driver1_y),"初始路径":[(0,0),(driver1_x, driver1_y)],"最晚可用时间":driver1_deadline})
时间: 2024-01-19 19:04:36 浏览: 151
There seems to be a syntax error in your code. You need to properly format your code by adding indentation after the for loop statements. Here's the corrected code:
```
import random
import numpy as np
import math
from sklearn.cluster import KMeans
#定义状态空间,每个时间片是一个决策阶段,时间片结束点的时刻为决策点
# 划分时间片,划分成了从0-100min的10个决策片,也就是我们整个过程的决策点,在每个时间片的右区间做出决策
scene = []
time_slices = np.linspace(0, 100, 11)
# def calculate_distance(p1, p2):
# # 计算两点之间的欧几里得距离
# return ((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2) ** 0.5
# 生成随机场景
for i in range(len(time_slices) - 1):
start_time, end_time = time_slices[i], time_slices[i + 1]
order_counts = np.random.poisson(4) # 每个时间段平均有4个订单
driver_counts = np.random.poisson(2) # 每个时间段平均有2个司机
decision_id = i + 1
decision_time = time_slices[i + 1]
for j in range(order_counts):
order_id =j+1
#order_time = int(random.uniform(start_time, end_time))
order_x, order_y = int(random.uniform(0, 10)), int(random.uniform(0, 10))
order_state = 1
for m in range(driver_counts):
driver1_id = m + 1
# driver1_time = int(random.uniform(start_time, end_time))
driver1_x, driver1_y = int(random.uniform(0, 10)), int(random.uniform(0, 10))
driver1_deadline = 100
scene.append({"决策阶段":decision_id,"决策时间":decision_time,"订单编号":order_id,"坐标":(order_x, order_y),"订单状态":order_state,"司机编号":driver1_id,"司机目的地":(driver1_x, driver1_y),"初始路径":[(0,0),(driver1_x, driver1_y)],"最晚可用时间":driver1_deadline})
```
阅读全文
相关推荐
















