> Job Assignment Problem

Hello,
Is it possible to assign one job to multiple machines at the same time.
Because I am getting an output like this from the environment and
It seems like it is creating a race condition for the machine and the specified job stays unprocessed.

I shared an example below.

Thanks,

You can take a look at JOB : J0038 and Machines : M009 and M010
Data : Public/01/Test/test_2.yaml

Machine Status :
'M001': {'type': 'A', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M002': {'type': 'A', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M003': {'type': 'A', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M004': {'type': 'B', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
M005': {'type': 'B', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M006': {'type': 'B', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M007': {'type': 'B', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M008': {'type': 'C', 'status': 'down', 'remain_time': 0, 'job': None, 'job_list': []},
'M009': {'type': 'C', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': {'J0038'}},
'M010': {'type': 'C', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': {'J0038'}},
'M011': {'type': 'D', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M012': {'type': 'D', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()},
'M013': {'type': 'D', 'status': 'idle', 'remain_time': 0, 'job': None, 'job_list': set()}}

JOB_STATUS :
{'J0001': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0009': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0014': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0016': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0020': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0022': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0026': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0031': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0033': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0034': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0035': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0036': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0037': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0038': {'type': 'a', 'priority': 0, 'status': 'pending', 'arrival': 0, 'op': 'A03', 'remain_process_time': 26, 'remain_pending_time': -2797, 'machine': None}, 'J0043': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0045': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0052': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0054': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0060': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0061': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0070': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0073': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0082': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0084': {'type': 'a', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0091': {'type': 'a', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0094': {'type': 'a', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0097': {'type': 'a', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0099': {'type': 'a', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'A03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0003': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0007': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0010': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0018': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0024': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0028': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0029': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0030': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0044': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0047': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0050': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0051': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0064': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0074': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0077': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0079': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0080': {'type': 'b', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0092': {'type': 'b', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0098': {'type': 'b', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'B04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0002': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0004': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0005': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0006': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0008': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0012': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0017': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0021': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0025': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0039': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0040': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0041': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0046': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0048': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0053': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0056': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0057': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0058': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0059': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0063': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0066': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0067': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0071': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0076': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0081': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0090': {'type': 'c', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0096': {'type': 'c', 'priority': 2, 'status': 'done', 'arrival': 0, 'op': 'C03', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0011': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0013': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0015': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0019': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0023': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0027': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0032': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0042': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0049': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0055': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0062': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0065': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0068': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0069': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0072': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0075': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0078': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0083': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0085': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0086': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0087': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0088': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0089': {'type': 'd', 'priority': 0, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0093': {'type': 'd', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}, 'J0095': {'type': 'd', 'priority': 1, 'status': 'done', 'arrival': 0, 'op': 'D04', 'remain_process_time': 0, 'remain_pending_time': inf, 'machine': None}}

Posted by: redzhepdx @ June 26, 2021, 9:30 a.m.

Thank you for participating in this competition. The problem is rare and we do not know the exact reason right now. Please send your code to autorl2021@4paradigm.com so we can look deeper into it.

Also, since the feedback phase is about to conclude we suggest that you check your solution at the same time. Please pay attention to the job assignment your policy generates, and make sure that the internal variables of the Environment object are not modified from the outside (though we made efforts to prevent this from happening).

Thanks.

Posted by: wangmengshuo @ June 28, 2021, 3:20 a.m.
Post in this thread