[30, 9, 11, 5, 6],
    [12, 13, 14, 15, 16],
    [16, 15, 13, 11, 10]
]
JOBS_COUNT = len(time_matrix()[0])
AGENTS_COUNT = 5
POPULATION_SIZE = 20
WINDOW_TIME = 250
machines_number = len(time_matrix())

timeKeeper = lambda: TimeKeeper(1, 1)
manufacture = lambda: Manufacture(machines_number)
stop_condition = lambda: StepLimitStopCondition(1000)

slaves = generate_agents("flowshop", AGENTS_COUNT, Agent)
agents = masters_factory(AGENTS_COUNT, WINDOW_TIME, time_matrix())

evaluation = lambda: FlowShopEvaluation(time_matrix())
initializer = lambda: PermutationInitializer(JOBS_COUNT, POPULATION_SIZE)
operators = lambda: [
    FirstHalfSwapsCrossover(),
    PermutationMutation(2),
    evaluation(),
    TournamentSelection(POPULATION_SIZE, POPULATION_SIZE)]

address_provider = address.SequenceAddressProvider

stats = GanttStatistics

migration = NoMigration
locator = RandomLocator
Esempio n. 2
0
				job_duration_distrib = UniformIntDistribution(1,1),
				tasks_number_distrib = UniformIntDistribution(1,1),
				tasks_provider = RandomizedTasksProvider(machines_number)
				,seed = seed
			)

incomming_problem_provider = RandomizedProblemProvider(
				jobs_number = 1,
				job_duration_distrib = UniformIntDistribution(2,4),
				tasks_number_distrib = UniformIntDistribution(1,3),
				tasks_provider = RandomizedTasksProvider(machines_number)
				,seed = seed
			)

problemGenerator = lambda: ProblemGenerator(50, start_problem_provider, incomming_problem_provider)

predictedProblemGenerator = lambda: PredictedProblemGenerator(predicted_problem_provider, jobshop_agents)

agents = masters_factory(agents_count)
slaves = slaves_factory(jobshop_agents)

stop_condition = lambda: StepLimitStopCondition(1000)

evaluation = lambda: BasicJobShopEvaluation(machines_number)
selection = lambda: BasicJobShopSelection()
mutation = lambda: GreaterJobShopMutation()

address_provider = address.SequenceAddressProvider

stats = GanttStatistics