示例#1
0
def backtest(session_id):
    obj = Littlefield('group6', 'coronado91', session_id)
    th_dict = {'queue_th': 100, 'util_th': 0.99}
    _orders = []
    _average_order = []
    _average_sum = 0
    ords = obj.completed_jobs.count()
    ord = obj.orders.job_arrivals()
    for ind in range(len(ords[0][2])):
        calculate_station1_R(obj, ind, th_dict)
        calculate_station2_R(obj, ind, th_dict)
        calculate_station3_R(obj, ind, th_dict)
        print("Order at time ", ind, " is ", ord[ind])
        _orders.append(ord[ind][1])
        print("#####################################################")
    for ind, val in enumerate(_orders):
        print(ind, " ,", val)
        if ind <= len(ords[0][2]) - 5:
            _average_order.append(sum(_orders[ind:ind + 5]) / 5)
    print("order 5 day average:")
    print(_average_order)
    # export to a csv file
    import csv
    with open('average_demand.csv', 'w+') as csvfile:
        csv_writer = csv.writer(csvfile, delimiter=',')
        csv_writer.writerow(_average_order)
示例#2
0
def backtest_throughput_rate(session_id):
    obj = Littlefield('group6', 'coronado91', session_id)
    th_dict = {'queue_th': 100, 'util_th': 0.90}

    ord = obj.orders.job_arrivals()
    rev = obj.completed_jobs.revenues()
    jobs = obj.completed_jobs.count()
    ave_demand = 0
    for ind in range(len(ord) - 5, len(ord)):
        calculate_station1_R(obj, ind, th_dict)
        calculate_station2_R(obj, ind, th_dict)
        calculate_station3_R(obj, ind, th_dict)
        print("Order at time ", ind, " is ", ord[ind])
        #print(jobs)

        print("Contract 1 completed jobs for ", ind, " is ", jobs[0][2][ind])
        print("Contract 2 completed jobs for ", ind, " is ", jobs[1][2][ind])
        print("Contract 3 completed jobs for ", ind, " is ", jobs[2][2][ind])
        print("Contract 1 Rev at time ", ind, " is ", rev[0][2][ind])
        print("Contract 2 Rev at time ", ind, " is ", rev[1][2][ind])
        print("Contract 3 Rev at time ", ind, " is ", rev[2][2][ind])
        ave_demand = ave_demand + ord[ind][1]

        print("#####################################################")
    print("Average Demand = ", ave_demand / 5)
示例#3
0
from raven import Client
raven = Client(os.getenv("LITTLEFIELD_RAVEN_DSN"))
try:
    from littlefield import Littlefield

    def avg(data, size):
        return sum(data[((size*-1)-1):-1])/size

    config = False
    if len(sys.argv) > 1:
        if sys.argv[1] == "config":
            config = True
    if config:
        print("""graph_title Station Utilitization
graph_info Shows the utilitization of each station
graph_category littlefield
graph_scale no
graph_args --upper-limit 100 -l 0
graph_vlabel %""")

    for station in range(1, 4):
        if config:
            print("station%s.label Station %s" % (station, station))
            print("station%s.warning 10:80" % station)
        else:
            littlefield = Littlefield(os.getenv("LITTLEFIELD_USER"), os.getenv("LITTLEFIELD_PW"))
            util = littlefield.get_data("S%sUTIL" % station)['average']
            print("station%s.value %s" % (station, util[-1]*100))
except:
    raven.captureException()
#!/usr/bin/env python
from littlefield import Littlefield
from configparser import ConfigParser
from bokeh.plotting import figure, output_server, show, gridplot

config = ConfigParser()
config.read(['littlefield.ini'])

littlefield = Littlefield(config['littlefield']['user'],
                          config['littlefield']['password'])
output_server("littlefield")

datatypes = [
    "JOBIN",  # Number of jobs accepted per day
    "JOBQ",  # Number of jobs waiting
    "INV",  # Inventory levels
    "JOBOUT",  # Number of completed jobs
    "JOBT",  # Lead times
    "JOBREV",  # Revenue
    "S1Q",  # Number of kits queued for station 1
    "S1UTIL",  # Station 1 utilitization by day
    "S2Q",  # number of kits queued for station 2
    "S2UTIL",  # Station 2 utilitization by day
    "S3Q",  # number of kits queued for station 3
    "S3UTIL"  # Station 3 utilitization by day
]

plots = []
for datatype in datatypes:
    print(datatype)
    data = littlefield.get_data(datatype)