예제 #1
0
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)
예제 #2
0
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)