示例#1
0
        c.append(l)
        c.append(t)
    return c


if __name__ == '__main__':
    from sys import argv
    from workflow import Workflow
    from pool import AWS
    from emo_tool import get_info, evaluate
    from log import get_details
    from plot import stat, trans, show

    wf = Workflow(argv[1])
    pool = AWS("aws.info")
    info = get_info(wf, pool)

    _, loc, ts = heft2(*info[2:])
    c = get_chromosome(loc, ts)
    makespan, cost = evaluate(c,
                              *info[2:-1],
                              n_tasks=len(loc),
                              n_nodes=len(loc),
                              n_types=len(info[1]))
    scheme = get_details(c,
                         *info[:-1],
                         n_tasks=len(loc),
                         n_nodes=len(loc),
                         n_types=len(info[1]))
    scheme = [(n, ) + v for n, v in scheme.iteritems()]
示例#2
0
文件: heft2.py 项目: Tefx/Wookie
					break
	if len(types) > n_tasks:
		types = types[:n_tasks]

	c = array.array("I", [])
	for l, t in itertools.izip_longest(loc, types, fillvalue=0):
		c.append(l)
		c.append(t)
	return c

if __name__ == '__main__':
	from sys import argv
	from workflow import Workflow
	from pool import AWS
	from emo_tool import get_info, evaluate
	from log import get_details
	from plot import stat, trans, show

	wf = Workflow(argv[1])
	pool = AWS("aws.info")
	info = get_info(wf, pool)

	_, loc, ts = heft2(*info[2:])
	c = get_chromosome(loc, ts)
	makespan, cost = evaluate(c, *info[2:-1], n_tasks=len(loc), n_nodes=len(loc), n_types=len(info[1]))
	scheme = get_details(c, *info[:-1],  n_tasks=len(loc), n_nodes=len(loc), n_types=len(info[1]))
	scheme = [(n,)+v for n,v in scheme.iteritems()]

	print "Makespan: %.0fs\tCost: $%.2f" % (makespan, cost)
	# stat(scheme)
	# show(*trans(scheme))
示例#3
0
文件: emo3.py 项目: wanshuzhen/Wookie
        if tuple(i.fitness) not in s:
            s.add(tuple(i.fitness))
            ar.append(i)
    return ar


if __name__ == '__main__':
    from sys import argv
    from workflow import Workflow
    from pool import AWS
    import hotshot, hotshot.stats

    wf = Workflow(argv[1])
    pool = AWS("aws.info")

    ar = nsga_2(*get_info(wf, pool))

    # prof = hotshot.Profile("emo3.prof")
    # archive = prof.runcall(nsga_2, *get_info(wf, pool))
    # prof.close()
    # prof.close()
    # stats = hotshot.stats.load("emo3.prof")
    # stats.strip_dirs()
    # stats.sort_stats('time', 'calls')
    # stats.print_stats()
    ar.sort(key=lambda x: x.fitness[0])

    for i in range(len(ar)):
        print "[%d]: Makespan: %.0fs\tCost: $%.2f" % (i, ar[i].fitness[0],
                                                      ar[i].fitness[1])
示例#4
0
文件: emo4.py 项目: wanshuzhen/Wookie
	s = set()
	ar = []
	for i in pop:
		if tuple(i.fitness.values) not in s:
			s.add(tuple(i.fitness.values))
			ar.append(i)

	ar.sort(key=lambda x: x.fitness.values[0])

	if archive_name:
		dump(archive_name, ar, task_names, type_names, 
			 type_info_price, type_info_ecu, task_base_time, 
			 task_preds, comm_speeds, comm_sizes, 
			 n_tasks, n_nodes, n_types)

	return ar

if __name__ == '__main__':
	from sys import argv
	from workflow import Workflow
	from pool import AWS
	import os

	wf = Workflow(argv[1])
	pool = AWS("aws.info")

	ar = nsga_2(*(get_info(wf, pool)), archive_name="archive/%s.ar" % os.path.split(argv[1])[1][:-4])

	for i in range(len(ar)):
		print "[%d]: Makespan: %.0fs\tCost: $%.2f" % (i, ar[i].fitness.values[0], ar[i].fitness.values[1])
示例#5
0
文件: emo3.py 项目: Tefx/Wookie
		if tuple(i.fitness) not in s:
			s.add(tuple(i.fitness))
			ar.append(i)
	return ar

if __name__ == '__main__':
	from sys import argv
	from workflow import Workflow
	from pool import AWS
	import hotshot, hotshot.stats

	wf = Workflow(argv[1])
	pool = AWS("aws.info")


	ar = nsga_2(*get_info(wf, pool))

	# prof = hotshot.Profile("emo3.prof")
	# archive = prof.runcall(nsga_2, *get_info(wf, pool))
	# prof.close()
	# prof.close()
	# stats = hotshot.stats.load("emo3.prof")
	# stats.strip_dirs()
	# stats.sort_stats('time', 'calls')
	# stats.print_stats()
	ar.sort(key=lambda x: x.fitness[0])

	for i in range(len(ar)):
		print "[%d]: Makespan: %.0fs\tCost: $%.2f" % (i, ar[i].fitness[0], ar[i].fitness[1])