def create_routing(env, first_step='move1'): tasks = { 'move1': { 'location': env['forklift'], #was env['multiplexer_storage'] 'worker': env['production_control'], 'manned': True, 'setup_time': 0, 'run_time': 0.012, 'teardown_time': 0, 'transit_time': 0, 'route_to': 'op1' }, 'op1': misc_tools.make_assembly_step(env=env, run_time=3.79, route_to='op2'), 'op2': misc_tools.make_quality_step(env=env, run_time=0.2, route_to='op3', transit_time=0), 'op3': { 'location': env['VSWR_CTI'], 'worker': env['technician'], 'manned': True, 'setup_time': 0.09, 'run_time': 1.24, 'teardown_time': 0.07, 'transit_time': 0, 'yield': 0.99, 'route_to_pass': env['multiplexer_kanban'], 'route_to_fail': 'op4' }, 'op4': { 'location': env['VSWR_CTI_DBG'], 'worker': env['technician'], 'manned': True, 'setup_time': 0.5, 'run_time': random.uniform(a=60, b=120), 'teardown_time': 0.5, 'transit_time': 0, 'route_to': env['multiplexer_kanban'] } } tasks['op1']['teardown_time'] = 0.14 tasks['op1']['setup_time'] = 0.21 return misc_tools.make_steps(first_step=first_step, tasks=tasks)
def create_routing(env, first_step='op1'): tasks = { 'op1': misc_tools.make_assembly_step(env=env, run_time=random.gauss(mu=3, sigma=0.25), route_to='op2'), 'op2': { 'location': env['machine_2'], 'worker': env['technician'], 'manned': False, 'setup_time': random.uniform(a=2, b=5), 'run_time': random.gauss(mu=5, sigma=0.5), 'teardown_time': 0, 'transit_time': 1, 'yield': 0.95, 'route_to_pass': '******', 'route_to_fail': 'rework' }, 'op3': { 'location': env['common_process'], 'worker': env['technician'], 'manned': True, 'setup_time': random.triangular(low=1, high=4, mode=2), 'run_time': random.gauss(mu=2, sigma=0.5), 'teardown_time': random.uniform(a=1, b=2), 'transit_time': 1, 'route_to': env['part_b_kanban'] }, 'rework': { 'location': env['assembly_bench'], 'worker': env['assembler'], 'manned': True, 'setup_time': 0, 'run_time': random.expovariate(lambd=0.5) * 7, 'teardown_time': 0, 'transit_time': 1, 'fail_count': 2, 'route_to_pass': '******', 'route_to_fail': env['scrap_storage'] } } return misc_tools.make_steps(first_step=first_step, tasks=tasks)