|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import random
- import math
- 'import matplotlib.pyplot as p'
- import numpy as np
- class Tlbo(object):
- def __init__(self):
- self.pop_size = 30
- self.subjects_size = 20
- self.MAX = 200
- self.lb = 10
- self.ub = -10
- self.alpha = 0.2
- self.weightMatch = 0.3
- self.weightUtilization = 0.4
- self.weightDelivery = 0.3
- self.furnaceload = 5000
- self.gBest = 100
- self.candidateweight = [441, 608, 676, 578, 369, 432, 726, 562, 450, 462, 478, 380, 582, 555, 541, 393, 412,
- 433, 622, 610]
- self.candidatetemperature = [870, 885, 880, 875, 880, 885, 885, 875, 880, 875, 875, 875, 875, 880, 880, 895,
- 885, 885, 875, 880]
- self.candidatedelivery = [9, 5, 9, 5, 8, 5, 14, 8, 7, 10, 7, 8, 5, 5, 11, 5, 9, 15, 10, 6]
- def origin(self):
- students = [[]]
- for i in range(self.pop_size):
- temporary = []
- for j in range(self.subjects_size):
- temporary.append(random.uniform(-10.0, 10.0))
- students.append(temporary)
- return students
- def teaching(self, teacher, students, meanstudent):
- temporary = []
- for j in range(self.subjects_size):
- F = random.uniform(1, 3)
- temporary.append(students[j] + random.random * (teacher[j] - meanstudent[j]))
- return temporary
- def learning(self,partner,student,isBetter):
- newStu = []
- if (isBetter):
- for j in range(self.subjects_size):
- newStu.append(student[j] + random.random * (student[j] - partner[j]))
- else:
- for j in range(self.subjects_size):
- newStu.append(student[j] + random.random * (partner[j] - student[j]))
- return newStu
- def self_learning(self, student, oldstudent,isBetter):
- newStu = []
- if (isBetter):
- for j in range(self.subjects_size):
- newStu.append(student[j] + random.random * (studen
复制代码
麻烦各位大佬帮忙看看,出现 index 0 is out of bounds for axis 0 with size 0 是什么问题呀 提前谢过! |
-
|