当前位置: 首页>>代码示例>>Python>>正文


Python Network.queue_weekly_csv方法代码示例

本文整理汇总了Python中Network.Network.queue_weekly_csv方法的典型用法代码示例。如果您正苦于以下问题:Python Network.queue_weekly_csv方法的具体用法?Python Network.queue_weekly_csv怎么用?Python Network.queue_weekly_csv使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Network.Network的用法示例。


在下文中一共展示了Network.queue_weekly_csv方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

# 需要导入模块: from Network import Network [as 别名]
# 或者: from Network.Network import queue_weekly_csv [as 别名]
def main(argv):
    # Arguments
    network_path = ''  # Default
    level_path = ''
    econ_path = ''
    output_queue_wait_path = ''
    output_weekly_queue_path = ''
    asn_policy = ''
    prio_policy = ''
    weeks = 26
    delay = -1
    pr_dist = 'Constant'
    variance = 0
    range_window = 0
    try:
        opts, args = getopt.getopt(argv, "hn:l:e:a:p:w:d:q:o:r:v:i:")
    except getopt.GetoptError:
        print 'Simulation.py -n <network csv> -l <level csv> -e <econ csv> -a <assignment policy> ' \
                  '-p <priority policy> -w <weeks> -d <surge delay> -q <output csv> -o <output weekly queue> -r <probability distribution>' \
                  '-v <variance> -i <range window>'
        sys.exit(2)

    # Initialize simpy environment
    env = simpy.Environment()
    # Build Network
    # This will be done via the CSV later
    for opt, arg in opts:
        if opt == '-h':
            print 'Simulation.py -n <network csv> -l <level csv> -e <econ csv> -a <assignment policy> ' \
                  '-p <priority policy> -w <weeks> -d <surge delay> -q <output csv> -o <output weekly queue> -r <probability distribution>' \
                  '-v <variance> -i <range window>'
            print '-a: Uniform, Deterministic Wait, Deterministic Service\n'
            print '-p: FIFO, Centre, Refugee, Balance'
            print '-r: Constant, Uniform, Normal, Exponential'
            return
        elif opt == '-n':
            network_path = arg
        elif opt == '-l':
            level_path = arg
        elif opt == '-e':
            econ_path = arg
        elif opt == '-a':
            asn_policy = arg
        elif opt == '-p':
            prio_policy = arg
        elif opt == '-q':
            output_queue_wait_path = arg
        elif opt == '-o':
            output_weekly_queue_path = arg
        elif opt == '-w':
            weeks = int(arg)
        elif opt == '-d':
            delay = int(arg)
        elif opt == '-r':
            pr_dist = arg
        elif opt == '-v':
            variance = int(arg)
        elif opt == '-i':
            range_window = int(arg)

        if delay == -1:
            delay = weeks

    # Build network
    network = Network(env, network_path)
    network.set_level_arrival(level_path)
    network.asn_policy = asn_policy

    # Set Class Time distribution
    Member.pr_dist = pr_dist
    Member.variance = variance
    Member.range_window = range_window

    # Set priority policy
    QueueNode.priority_policy = prio_policy

    Network.service_rate = SERVICE_RATE
    QueueNode.service_rate = SERVICE_RATE

    # Set up the Member proportions
    Member.set_priority_class(econ_path)
    # Set Member csvs
    Member.queue_csv = output_queue_wait_path
    Member.begin_csv()

    network.queue_weekly_csv = output_weekly_queue_path
    network.initialize_queue_csv()

    # Run simulation for 104+ weeks -> ~ 2 years
    env.process(network.arrival())
    env.process(network.refugee_surge(delay))
    env.process(network.print_network_queues())
    env.run(until=weeks)

    Member.end_csv()
    network.close_queue_csv()
开发者ID:ismael-martinez,项目名称:QueueingNetworkProject,代码行数:98,代码来源:Simulation.py


注:本文中的Network.Network.queue_weekly_csv方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。