geatpy安装,python geatpy
定义一个问题类。这段代码描述了一个优化问题:
ClassProblem (ea。问题):#继承问题的父类DEF _ _ init _ _(self):name= my problem # Initialize name(函数名,可以随意设置)M=1 # Initialize m(目标维)maxormins=[-1] #初始化目标最小和最大标记列表,1 -1:max Dim=2 #初始化Dim(决策变量维)varTypes=[0] * Dim #初始化决策变量类型,0:连续;1:离散lb=[0,0] #决策变量下界ub=[1,1] #决策变量上界lbin=[0,0] #决策变量下界控制它ubin=[1,1] #决策变量上界#调用父类构造方法完成实例化ea.Problem.__init__(self,Name,m,maxormins,dim,vartypes,lb,ub,lbin,ubin) def aim func (self,pop): #目标函数,pop为传入人口对象Vars=pop。Phen #得到决策变量矩阵x1=Vars[:[0]] #取出第一列得到列向量x2=Vars[:[1]] #取出第二列得到所有个体的列向量x2 #计算目标函数值,赋给ObjV属性pop。ObjV=4*x1 2*x2 x3 #的POP人口对象,并采用可行性规则处理约束。生成群体个体违反度矩阵pop。CV=np.hstack([2*x1 x2-1,#第一约束x1 2*x3-2,#第二约束np.abs(x1 x2 x3-1)]) #第三约束其中,
Lb=[0,0] #决策变量的下界
Ub=[1,1] #决策变量的上界
Lbin=[0,0] #决策变量的下限
Ubin=[1,1] #决策变量的上界
这里描述了决策变量的范围,lb,ub给出了范围,lbin,ubin给出了开始和结束。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。