Esempio n. 1
0
from convergance_actor_probe import ActorProbe
from convergance_random_number import NORMAL, UNIFORM, RANDINT, TRIANGULAR, NumberGenerator
from convergance_statistic import drawProbs

# Entity Generation Random
# INTERVAL_RATE = NumberGenerator(NORMAL, mu=1, sigma=3)
INTERVAL_RATE = NumberGenerator(UNIFORM, a=3, b=6)

# Delay Random
DELAY_RATE_BAKER = NumberGenerator(UNIFORM, a=1, b=2)
DELAY_RATE_ABLE = NumberGenerator(TRIANGULAR, low=5, high=15, mode=10)

# DELAY_RATE_BAKER = NumberGenerator(RANDINT, a=1, b=7)
# DELAY_RATE_ABLE = NumberGenerator(RANDINT, a=1, b=5)

d1 = Disposer()
d1.logs = True

# 1 is Able's maximum simultanious clients
dl1 = Delay(d1, DELAY_RATE_ABLE.next, None, 1)
dl1.name = 'Able'
dl1.logs = True

# 1 is Baker's maximum simultanious clients
dl2 = Delay(d1, DELAY_RATE_BAKER.next, None, 1)
dl2.name = 'Baker'
dl2.logs = True

q1 = Queue([dl1, dl2])
q1.logs = True
Esempio n. 2
0
STORAGE_CHECK_INTERVAL = 10
DAY_INTERVAL = 5000
BUY_RATE = NumberGenerator(UNIFORM, a=4, b=12)
BUY_INTERVAL = NumberGenerator(UNIFORM, a=0, b=30)
SELL_PRICE = 50
BUY_PRICE = 35
RECYCLE_PRICE = 5


class Newspaper(Entity):
    def __init__(self, data):
        Entity.__init__(self, data)
        self.status = SOLD


d1 = Disposer()
d1.name = "Bought Newspapers"

d2 = Disposer()
d2.name = "Recycled Newspapers"

pr1 = ActorProbe(d1)
pr1.name = 'Bought Newspapers Probe'
d1.actorprobe = pr1

pr2 = ActorProbe(d2)
pr2.name = 'Recycled Newspapers Probe'
d2.actorprobe = pr2


def branchFunction(entity):
Esempio n. 3
0
from convergance_random_number import NORMAL, UNIFORM, RANDINT, TRIANGULAR, NumberGenerator
from convergance_statistic import drawProbs


# Entity Generation Random
# INTERVAL_RATE = NumberGenerator(NORMAL, mu=1, sigma=3)
INTERVAL_RATE = NumberGenerator(UNIFORM, a=3, b=6)

# Delay Random
DELAY_RATE_BAKER = NumberGenerator(UNIFORM, a=1, b=2)
DELAY_RATE_ABLE = NumberGenerator(TRIANGULAR, low=2, high=3, mode=6)

# DELAY_RATE_BAKER = NumberGenerator(RANDINT, a=1, b=7)
# DELAY_RATE_ABLE = NumberGenerator(RANDINT, a=1, b=5)

d1 = Disposer()
d1.logs = True

# 1 is Able's maximum simultanious clients
dl1 = Delay(d1, DELAY_RATE_ABLE.next, None, 1)
dl1.name = 'Delay'
dl1.logs = True


q1 = Queue([dl1])
q1.logs = True

pr1 = ActorProbe(q1)
pr1.name = 'Queue Probe'
q1.actorprobe = pr1
Esempio n. 4
0
from convergance_actor_delay import Delay
from convergance_entity import Entity
from randomNumber import RANDINT, NumberGenerator
import random

a = NumberGenerator(RANDINT, a=1, b=2)
def randomInterval():
    return random.randint(1,2)

def branchFunction(data):
    return random.randrange(0,2)

def delayFunction(data):
    return random.randrange(2,5)

d1 = Disposer()
d1.name = "Disposer1"
d1.logs = True
d2 = Disposer()
d2.name = "Disposer2"
d2.logs = True
dl1 = Delay(d2, delayFunction)
dl1.name = "Delay1"
dl1.logs = True
b1 = Branch([d1, dl1], branchFunction)
b1.name = "Branch1"
b1.logs = True
g1 = Generator(b1, Entity, None, randomInterval, 20)
g1.name = "MyGenerator"
g1.logs = True
sim = Simulation()
Esempio n. 5
0
from convergance_actor_delay import Delay
from convergance_actor_queue import Queue
from convergance_entity import Entity
from convergance_actor_probe import ActorProbe
from convergance_actor_branch import Branch
from convergance_random_number import NORMAL, UNIFORM, RANDINT, TRIANGULAR, NumberGenerator
from convergance_statistic import drawProbs, drawLeaveEnter

INTERVAL_RATE = NumberGenerator(UNIFORM, a=1, b=4)
DELAY_RATE_3 = NumberGenerator(TRIANGULAR, low=6, high=16, mode=10)
DELAY_RATE_2 = NumberGenerator(UNIFORM, a=2, b=4)
DELAY_RATE_1 = NumberGenerator(UNIFORM, a=0, b=4)

MAX_ENTITIES = 100000

d1 = Disposer()
d1.logs = False
d1.deleteentityfrommemory = False

########################################################

dl4 = Delay(d1, DELAY_RATE_1.next, None, 1)
dl4.name = "Delay 4"
dl4.logs = False

pr6 = ActorProbe(dl4)
pr6.name = "Probe Delay 4"
dl4.actorprobe = pr6

pr7 = ActorProbe(dl4)
pr7.name = "Global Probe"
Esempio n. 6
0
STORAGE_CHECK_INTERVAL = 10
DAY_INTERVAL = 5000
BUY_RATE = NumberGenerator(UNIFORM, a=4, b=12)
BUY_INTERVAL = NumberGenerator(UNIFORM, a=0, b=30)
SELL_PRICE = 50
BUY_PRICE = 35
RECYCLE_PRICE = 5


class Newspaper(Entity):
    def __init__(self, data):
        Entity.__init__(self, data)
        self.status = SOLD


d1 = Disposer()
d1.name = "Bought Newspapers"

d2 = Disposer()
d2.name = "Recycled Newspapers"

pr1 = ActorProbe(d1)
pr1.name = 'Bought Newspapers Probe'
d1.actorprobe = pr1

pr2 = ActorProbe(d2)
pr2.name = 'Recycled Newspapers Probe'
d2.actorprobe = pr2

def branchFunction(entity):
    global SOLD
Esempio n. 7
0
a = NumberGenerator(RANDINT, a=1, b=2)


def randomInterval():
    return random.randint(1, 2)


def branchFunction(data):
    return random.randrange(0, 2)


def delayFunction(data):
    return random.randrange(2, 5)


d1 = Disposer()
d1.name = "Disposer1"
d1.logs = True
d2 = Disposer()
d2.name = "Disposer2"
d2.logs = True
dl1 = Delay(d2, delayFunction)
dl1.name = "Delay1"
dl1.logs = True
b1 = Branch([d1, dl1], branchFunction)
b1.name = "Branch1"
b1.logs = True
g1 = Generator(b1, Entity, None, randomInterval, 20)
g1.name = "MyGenerator"
g1.logs = True
sim = Simulation()