def step(self): for customer in CustomerRepository.get_all(): customer.step(self.__dt) if customer.is_arrived() or customer.is_disappeared(): CustomerRepository.delete(customer.get_id()) for vehicle in VehicleRepository.get_all(): vehicle.step(self.__dt) # vehicle.print_vehicle() if vehicle.exit_market(): score = ','.join( map(str, [ self.get_current_time(), vehicle.get_id(), vehicle.get_total_dist(), vehicle.compute_profit() ] + vehicle.get_score())) if vehicle.agent_type == agent_codes.dqn_agent: self.current_dqnV -= 1 else: self.current_dummyV -= 1 sim_logger.log_score(score) VehicleRepository.delete(vehicle.get_id()) self.__populate_new_customers() self.__update_time() if self.__t % 3600 == 0: # print("Elapsed : {}".format(get_local_datetime(self.__t))) self.logger.info("Elapsed : {}".format(get_local_datetime( self.__t)))
def get_vehicles(self): return VehicleRepository.get_all()