[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
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