DQN有关代码注释

parameter.py :

self.num_type = 10         # 资源的种类
self.num_ent = 10          # 企业的数量
self.num_type_ent = 4      # 每一种资源对应企业的数量,也就是服务的数量

关于self.num_type_ent的意思,两种解释都有依据。即每一种资源由四家企业提供,每一个子任务对应有四家企业服务。


之前的参数为:

self.num_type = 50        # 资源的种类
self.num_ent = 200         # 企业的数量 
self.num_type_ent = 20    # 每个子任务对应服务的数量 

self.num_task = 1
self.num_subtask = 10    # 子任务数 

修改后的参数为:

self.num_type = 10       # 资源的种类
self.num_ent = 10        # 企业的数量
self.num_type_ent = 4    # 每个子任务对应服务的数量

self.num_task = 1
self.num_subtask = 6     # 子任务数

报错如下:
在这里插入图片描述
分析后发现是在生成顾客所在地理位置时

self.add_task = np.random.randint(0, 200)+1      # 顾客所在的地理位置

超过了环境中的 norm_lc的下标设置
envrionment.py

self.end_c = self.pa.norm_lc[self.arr_actions[self.pa.num_subtask-1]-1][self.pa.add_task-1]
for i in range(self.num_ent):
    for j in range(self.num_ent):
        self.norm_lc[i][j] = (self.max_lc - self.dis_cost[i][j]) / (self.max_lc - self.min_lc)
np.savetxt("./data/norm_lc.txt", self.norm_lc, fmt = "%f", delimiter="  ")

即随机生成的顾客地理位置下标不合适,为了一劳永逸,我们将代码直接修改为:

self.add_task = np.random.randint(0, self.num_ent)+1      # 顾客所在的地理位置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值