C_ij = max(self.Jobs[Job_i].End)
时间: 2024-05-27 09:07:46 浏览: 13
这是一个公式,其中 C_ij 表示第 i 个作业在第 j 台机器上的完成时间,self.Jobs[Job_i].End 表示第 i 个作业的最晚完成时间。公式的意思是,第 i 个作业在第 j 台机器上的完成时间取决于该作业在其他机器上的最晚完成时间。也就是说,如果该作业在其他机器上的完成时间比在第 j 台机器上的完成时间晚,那么它将在其他机器上完成,否则它将在第 j 台机器上完成,并且完成时间为 self.Jobs[Job_i].End。
相关问题
把下方函数转化成公式或者算法伪代码def AddRandom(noise_std,x_train,min,max): x_train = pd.DataFrame(x_train) m=x_train.shape[0] n=x_train.shape[1] #生成Mask掩码 Mask = matlab.rand(m,n) for i in range(0,m): for j in range(0,n): if Mask[i,j]<=noise_std: loc_ij = x_train.iloc[i,j] if(loc_ij==0): loc_ij=max Mask[i,j]=np.random.uniform(0,max/loc_ij) #Mask[i,j]=0 else: Mask[i,j]=1; x_train_Random = (x_train*Mask).astype(int) return x_train_Random
以下是将函数转化成算法伪代码:
```
AddRandom(noise_std, x_train, min, max):
x_train = pd.DataFrame(x_train)
m = x_train.shape[0]
n = x_train.shape[1]
Mask = matlab.rand(m, n)
for i = 0 to m-1 do:
for j = 0 to n-1 do:
if Mask[i,j] <= noise_std then:
loc_ij = x_train.iloc[i,j]
if loc_ij == 0 then:
loc_ij = max
Mask[i,j] = np.random.uniform(0, max/loc_ij)
else:
Mask[i,j] = 1
x_train_Random = (x_train * Mask).astype(int)
return x_train_Random
```
需要注意的是,这只是一种伪代码的写法,与实际的算法代码可能会有所区别。
class MLPs(nn.Module): def __init__(self, W_sizes_ope, hidden_size_ope, out_size_ope, num_head, dropout): super(MLPs, self).__init__() self.in_sizes_ope = W_sizes_ope self.hidden_size_ope = hidden_size_ope self.out_size_ope = out_size_ope self.num_head = num_head self.dropout = dropout self.gnn_layers = nn.ModuleList() for i in range(len(self.in_sizes_ope)): self.gnn_layers.append(MLPsim(self.in_sizes_ope[i],self.out_size_ope, self.hidden_size_ope, self.num_head, self.dropout, self.dropout)) self.project = nn.Sequential( nn.ELU(), nn.Linear(self.out_size_ope * len(self.in_sizes_ope), self.hidden_size_ope), nn.ELU(), nn.Linear(self.hidden_size_ope, self.hidden_size_ope), nn.ELU(), nn.Linear(self.hidden_size_ope, self.out_size_ope), ) def forward(self, ope_ma_adj_batch, ope_pre_adj_batch, ope_sub_adj_batch, batch_idxes, feats): h = (feats[1], feats[0], feats[0], feats[0]) self_adj = torch.eye(feats[0].size(-2),dtype=torch.int64).unsqueeze(0).expand_as(ope_pre_adj_batch[batch_idxes]) adj = (ope_ma_adj_batch[batch_idxes], ope_pre_adj_batch[batch_idxes], ope_sub_adj_batch[batch_idxes], self_adj) MLP_embeddings = [] for i in range(len(adj)): MLP_embeddings.append(self.gnn_layers[i](h[i], adj[i])) MLP_embedding_in = torch.cat(MLP_embeddings, dim=-1) mu_ij_prime = self.project(MLP_embedding_in) return mu_ij_prime
这是一个 PyTorch 中的神经网络模型 MLPs 的定义。它包含了两个主要的部分:gnn_layers 和 project。
gnn_layers 是一个 nn.ModuleList,其中包含了多个 MLPsim 模块,每个 MLPsim 模块都对应一个输入张量,用于对输入进行处理。MLPsim 模块的定义可能在其他地方,无法得知其具体实现。
project 是一个 nn.Sequential,其中包含了多个线性层和激活函数,用于将 MLPsim 的输出进行进一步处理,并得到最终的输出结果 mu_ij_prime。
forward 函数是 MLPs 的前向传播函数,接收多个输入参数:ope_ma_adj_batch、ope_pre_adj_batch、ope_sub_adj_batch、batch_idxes 和 feats。其中,ope_ma_adj_batch、ope_pre_adj_batch 和 ope_sub_adj_batch 是三个邻接矩阵,用于描述不同类型的关系;batch_idxes 是一个张量,用于指定当前批次的样本的下标;feats 是一个元组,包含了两个张量,分别表示节点的特征和节点的度数。
在 forward 函数中,首先根据输入张量和邻接矩阵计算出 MLP_embeddings,即 MLPsim 模块的输出结果。然后将 MLP_embeddings 沿着最后一个维度进行拼接,并将拼接后的结果输入到 project 中进行后续处理,得到最终的输出 mu_ij_prime。