def test_sleep_variable(self): print("\n##############sleep_variable") d = Device(name="UnitTests.py", tests=True, sleepOn=True, onComputer=True, verbose=True) self.device(d) print(self.messageList) self.assertEqual(d.main().sort(), self.messageList.sort())
from main import Device import pandas as pd #---------------收敛性------------------- device = Device(numOfServer=8, numOfBank=3, numOfME=80, taskSize=[600, 1200], taskCycle=[0.8, 1.5], computationPowerOfServer=[18, 28], computationPowerOfME=[0.5, 1], coEfficient=[[0, 0], [2, 0.0008], [3, 0.001], [4, 0.005]]) device.initPosition() device.proposedAlgorithm1() systemCostEachIteration = device.systemCostEachIteration potentialEachIteration = device.potentialEachIteration writer = pd.ExcelWriter(r'numberresult/systemcost_potential_eachslot_1.xlsx') df_data = pd.DataFrame(data={ 'systemcost': systemCostEachIteration, 'potential': potentialEachIteration }) df_data.to_excel(writer, 'sheet1') writer.save()
numOfBeneficalME = [[] for i in range(4)] ratioOfOfflaoding = [[] for i in range(4)] systemcost = [[] for i in range(5)] all_numOfBeneficalME = [] all_ratioOfOfflaoding = [] all_systemcost = [] for r in range(round): for i in range(len(numOfMEArr)): print('----------------------Number of ME:{}-----------------------'.format(numOfMEArr[i])) device = Device(numOfServer=8, numOfBank=3, numOfME=numOfMEArr[i], taskSize=[600, 1200], taskCycle=[0.8, 1.5], computationPowerOfServer=[18, 28], computationPowerOfME=[0.5, 1], coEfficient=[[0, 0], [2, 0.0008], [3, 0.001], [4, 0.005]]) device.initPosition() systemcost[4].append(device.getTotalCostOfLocal()) print('Total cost of local:{}'.format(device.getTotalCostOfLocal())) device.proposedAlgorithm() numOfBeneficalME[0].append(device.numOfBenificialME()) ratioOfOfflaoding[0].append(device.numOfOffloading() / device.numOfME) systemcost[0].append(device.getTotalCostOfAlgorithm()) print('Total cost of algorithm:{}'.format(device.getTotalCostOfAlgorithm())) print('Number of benificail ME, offloaidng ratio in GAME:{0}, {1}'.format(numOfBeneficalME[0][i], ratioOfOfflaoding[0][i])) device.restoreState()
def test_rpi(self): print("rpi") d = Device(name="UnitTests.py", tests=True) self.device(d) self.assertEqual(d.main().sort(), self.messageList.sort())
all_all_numOfIteration = [] for r in range(round): all_numOfIteration = [] for j in range(len_numOfAP): numOfIteration = [] for i in range(len_numOfMEArr): device = Device(numOfServer=numOfAP[j], numOfBank=numOfBank[j], numOfME=numOfMEArr[i], taskSize=[600, 1200], taskCycle=[0.8, 1.5], computationPowerOfServer=[8, 16], computationPowerOfME=[0.5, 1], coEfficient=coefficient[j]) device.initPosition() device.proposedAlgorithm1() print('Iteration times of algorithm:{}'.format( device.intertionTime)) numOfIteration.append(device.intertionTime) all_numOfIteration.append(numOfIteration) all_all_numOfIteration.append(all_numOfIteration)
def test_normal_run(self): print("\n############normal_run") # test a normal run d = Device(name="UnitTests.py", tests=True, onComputer=True) self.device(d) self.assertEqual(d.main().sort(), self.messageList.sort())
from NSGA2 import NSGA2 from main import Device import time import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D #----------------------test---------------------------- start = time.time() # 开始计时 device = Device(numOfServer=4, numOfBank=3, numOfME=40, taskSize=[200, 800], taskCycle=[0.5, 1.5], computationPowerOfServer=[10, 30], computationPowerOfME=[0.5, 1], coEfficient=[0.05, 0.004]) device.initPosition() device.proposedAlgorithm() print('System cost of all local:{}'.format(device.getTotalCostOfLocal())) print('System cost of algorithm:{}'.format(device.getTotalCostOfAlgorithm())) device.restoreState() device.randomDecision() print('System cost of random:{}'.format(device.getTotalCostOfAlgorithm())) device.restoreState() N = 60 # 种群规模 x_num = device.numOfME # 决策变量个数 max_gen = 5000 # 最大进化代数 nsga = NSGA2(device, N=N,
from GA import GA from main import Device import time import matplotlib.pyplot as plt import math #----------------------test---------------------------- start = time.time() # 开始计时 device = Device(numOfServer=8, numOfBank=3, numOfME=50, taskSize=[600, 1200], taskCycle=[0.8, 1.5], computationPowerOfServer=[18, 28], computationPowerOfME=[0.5, 1], coEfficient=[[0, 0], [2, 0.0008], [3, 0.001], [4, 0.005]]) device.initPosition() device.proposedAlgorithm() # print('System cost of all local:{}'.format(device.getTotalCostOfLocal())) print('System cost of algorithm:{}'.format(device.getTotalCostOfAlgorithm())) # device.restoreState() # device.randomDecision() # print('System cost of random:{}'.format(device.getTotalCostOfAlgorithm())) # device.restoreState() # -------------------------test GA algorithm-------------------------- N = 100 # 种群规模 M = 5 # 每一代前Mfitness的个体 x_num = device.numOfME # 决策变量个数
all_all_numOfIteration = [] for r in range(round): all_numOfIteration = [] for j in range(len_numOfAP): numOfIteration = [] for i in range(len_numOfMEArr): device = Device(numOfServer=numOfAP[j], numOfBank=numOfBank[j], numOfME=numOfMEArr[i], taskSize=[600, 1200], taskCycle=[datacycArr[j], datacycArr[j]], computationPowerOfServer=[8, 16], computationPowerOfME=[0.5, 1], coEfficient=coefficient[j]) device.initPosition() device.proposedAlgorithm1() numOfIteration.append(device.getPoA()) all_numOfIteration.append(numOfIteration) all_all_numOfIteration.append(all_numOfIteration) result = [] for i in range(len_numOfAP):
# except exc.IntegrityError as error: # print(error) # print("資料庫中已經有一筆資料name='a01'") # print('commit後') # print(model) # print('name:', model.name) # print('id:', model.id) # 打掉重練 db.drop_all() db.create_all() # 新增資料 for i in range(1, 2): device = Device(name='a0%d' % i, longitude=121 + (i / 10), latitude=23 + (i / 20)) db.session.add(device) db.session.commit() for j in range(3): dht_log = DhtLog(timestamp=datetime.utcnow() + timedelta(minutes=1), temperature=23 + (i / 10), humidity=90 + +(i / 10), device_id=device.id) db.session.add(dht_log) db.session.commit() print(device.dht_logs) # 觀察資料庫內容
import logging import os import random import string from datetime import datetime from flask import Flask, render_template, redirect, session, request, flash, url_for from flaskext.mysql import MySQL from passlib.hash import argon2 from main import Device device = Device() logging.basicConfig(level=logging.DEBUG) log = logging.getLogger("FLASK_LOG") app = Flask(__name__) app.secret_key = os.urandom(32) mysql = MySQL() # MySQL configurations app.config['MYSQL_DATABASE_USER'] = '******' app.config['MYSQL_DATABASE_PASSWORD'] = '******' app.config['MYSQL_DATABASE_DB'] = 'ufee' app.config['MYSQL_DATABASE_HOST'] = 'localhost' mysql.init_app(app) # Default sound -- override when sound is given snd = None player = None