コード例 #1
0
    def runner__check_runner(self, identifier):
        #
        # VARIABLES
        #
        from environment import Environment
        from measurement import Measurement
        from runner import Runner

        #
        # CODE
        #

        # we need the environment
        environment_directory = 'environments/'
        environment = Environment(identifier)
        environment.read_environment_file("./" + environment_directory +
                                          identifier + ".xml")
        environment.initialize()

        # and we need to create an exogenous network
        environment.network.create_exogenous_network(
            environment.parameter.network_density)
        # and also a measurement
        measurement = Measurement()

        runner = Runner(identifier, environment, measurement)
        print runner
        print
        runner.do_run()
        print runner
コード例 #2
0
    def test_fire_sales(self,
                        args):  # TODO not consistent with other test names
        import logging
        import networkx as nx

        from environment import Environment
        from runner import Runner
        from measurement import Measurement

        #
        # INITIALIZATION
        #
        environment_directory = str(args[1])
        identifier = str(args[2])
        log_directory = str(args[3])
        measurement_directory = str(args[4])

        # Configure logging parameters so we get output while the program runs
        logging.basicConfig(format='%(asctime)s %(message)s',
                            datefmt='%m/%d/%Y %H:%M:%S',
                            filename=log_directory + identifier + ".log",
                            level=logging.INFO)
        logging.info('START logging for run: %s',
                     environment_directory + identifier + ".xml")

        environment = Environment()
        environment.initialize(environment_directory, identifier)
        runner = Runner()
        measurement = Measurement()

        #
        # UPDATE STEP
        #
        for i in range(environment.parameters.numSimulations):
            environment.initialize(environment_directory, identifier)
            runner.initialize(environment)
            measurement.initialize()  # clear the previous measurement

            # do the run
            runner.do_run(measurement, "info")

            # do the histograms, i.e. add the current measurement to the histogram
            measurement.do_histograms()
            logging.info('')

        #
        # MEASUREMENT AND LOGGING
        #
        measurement.write_histograms(measurement_directory, environment)
        logging.info('FINISHED logging for run: %s \n',
                     environment_directory + identifier + ".xml")
コード例 #3
0
ファイル: tests.py プロジェクト: B-Leslie/systemshock
    def test_fire_sales(self, args):
        import logging
        import networkx as nx

        from environment import Environment
        from runner import Runner
        from measurement import Measurement

        #
        # INITIALIZATION
        #
        environment_directory = str(args[1])
        identifier = str(args[2])
        log_directory = str(args[3])
        measurement_directory = str(args[4])

        # Configure logging parameters so we get output while the program runs
        logging.basicConfig(
            format="%(asctime)s %(message)s",
            datefmt="%m/%d/%Y %H:%M:%S",
            filename=log_directory + identifier + ".log",
            level=logging.INFO,
        )
        logging.info("START logging for run: %s", environment_directory + identifier + ".xml")

        environment = Environment()
        environment.initialize(environment_directory, identifier)
        runner = Runner()
        measurement = Measurement()

        #
        # UPDATE STEP
        #
        for i in range(environment.parameters.numSimulations):
            environment.initialize(environment_directory, identifier)
            runner.initialize(environment)
            measurement.initialize()  # clear the previous measurement

            # do the run
            runner.do_run(measurement, "info")

            # do the histograms, i.e. add the current measurement to the histogram
            measurement.do_histograms()
            logging.info("")

            #
            # MEASUREMENT AND LOGGING
            #
        measurement.write_histograms(measurement_directory, environment)
        logging.info("FINISHED logging for run: %s \n", environment_directory + identifier + ".xml")
コード例 #4
0
    def measurement__write_measurement(self, identifier):
        #
        # VARIABLES
        #
        from environment import Environment
        from measurement import Measurement
        from runner import Runner

        #
        # CODE
        #

        # we need the environment
        environment_directory = 'environments/'
        measurement_directory = 'measurements/'
        environment = Environment(identifier)
        environment.read_environment_file("./" + environment_directory +
                                          identifier + ".xml")
        environment.initialize()

        # and we need to create an exogenous network
        environment.network.create_exogenous_network(
            environment.parameter.network_density)
        # and also a measurement
        measurement = Measurement()
        for agent in environment.network.network.nodes():
            F0s = 1.0
            F1s = 1.0

            # we need the previous decisions of neighbors
            neighbors_previous_decision = []
            for neighbor in environment.network.network.neighbors(agent):
                neighbors_previous_decision.append(neighbor.previous_x)
            agent.compute_decision(neighbors_previous_decision,
                                   environment.parameter.num_agents, F0s, F1s)

        runner = Runner(identifier, environment, measurement)
        print runner

        runner.do_run()
        print runner

        measurement.write_measurement(measurement_directory + identifier)
コード例 #5
0
    # UPDATE STEP
    #
    runner = Runner(identifier, environment, measurement)
    if environment.parameter.compute_goodness == "True":  # compute_goodness = False if we have a normal run
        #print "NOW RUNNING: " + environment.identifier
        #start_time = datetime.now()
        #print "START: " + str(start_time)

        runner.compute_goodness()

        #end_time = datetime.now()
        #print "END: " + str(end_time)
        #print "TIME: " + str(end_time - start_time) + "\n"

        #measurement.write_measurement(measurement_directory + identifier)
        #logging.info('FINISHED logging for run: %s \n', environment_directory + identifier + ".xml")
    else:  # we do *not* want to compute goodness
        print "NOW RUNNING: " + environment.identifier
        start_time = datetime.now()
        print "START: " + str(start_time)

        runner.do_run()

        end_time = datetime.now()
        print "END: " + str(end_time)
        print "TIME: " + str(end_time - start_time) + "\n"

        measurement.write_measurement(measurement_directory + identifier)
        logging.info('FINISHED logging for run: %s \n',
                     environment_directory + identifier + ".xml")
コード例 #6
0
ファイル: black_rhino.py プロジェクト: zouhx11/BlackRhino
                 environment_directory + identifier + ".xml")

    environment = Environment()
    environment.initialize(environment_directory, identifier)
    runner = Runner()
    measurement = Measurement()

    #
    # UPDATE STEP
    #
    for i in range(environment.parameters.numSimulations):
        logging.info('  STARTED with run %s', str(i))
        environment.initialize(environment_directory, identifier)
        # check that environment file has been read correctly
        #environment.write_environment_file(identifier)
        runner.initialize(environment)
        measurement.initialize()  # clear the previous measurement

        # do the run
        runner.do_run(measurement, "info")
        # do the histograms, i.e. add the current measurement to the histogram
        measurement.do_histograms()
        logging.info('  DONE')

        #
        # MEASUREMENT AND LOGGING
        #
        measurement.write_histograms(measurement_directory, environment)
        logging.info('FINISHED logging for run: %s \n',
                     environment_directory + identifier + ".xml")
コード例 #7
0
ファイル: black_rhino.py プロジェクト: B-Leslie/systemshock
	# Configure logging parameters so we get output while the program runs
	logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %H:%M:%S',  filename = log_directory + identifier + ".log", level=logging.INFO)
	logging.info('START logging for run: %s',  environment_directory + identifier + ".xml")

	environment = Environment()
	environment.initialize(environment_directory,  identifier)
	runner = Runner()
	measurement = Measurement()


#
# UPDATE STEP
#
	for i in range(environment.parameters.numSimulations):
		logging.info('  STARTED with run %s',  str(i))
		environment.initialize(environment_directory,  identifier)
		runner.initialize(environment)
		measurement.initialize() # clear the previous measurement
		
		# do the run
		runner.do_run(measurement,  "info")
		# do the histograms, i.e. add the current measurement to the histogram
		measurement.do_histograms()
		logging.info('  DONE')

#
# MEASUREMENT AND LOGGING
#
	measurement.write_histograms(measurement_directory,  environment)
	logging.info('FINISHED logging for run: %s \n', environment_directory + identifier + ".xml")