CN109557809A - 基于克隆免疫粒子群算法的多电机协同控制pid参数优化方法 - Google Patents

基于克隆免疫粒子群算法的多电机协同控制pid参数优化方法 Download PDF

Info

Publication number
CN109557809A
CN109557809A CN201811365942.4A CN201811365942A CN109557809A CN 109557809 A CN109557809 A CN 109557809A CN 201811365942 A CN201811365942 A CN 201811365942A CN 109557809 A CN109557809 A CN 109557809A
Authority
CN
China
Prior art keywords
clone
particle
optimal solution
algorithm
optimal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811365942.4A
Other languages
English (en)
Inventor
罗志勇
王淮
马国喜
李凯凯
赵杰
杨美美
郑焕平
韩冷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201811365942.4A priority Critical patent/CN109557809A/zh
Publication of CN109557809A publication Critical patent/CN109557809A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/42Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Automation & Control Theory (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明请求保护一种基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,涉及到使用克隆免疫算法对粒子群算法的改进。PID控制是,过程控制中应用最广泛的控制方法,其关键在于PID参数的优化。在本发明中,首先使用克隆选择算法对粒子群算法进行优化:在粒子群算法的基础上加了克隆免疫操作,当粒子群算法陷入局部最优解时,对外部最优解集中的粒子进行克隆复制、克隆变异和克隆选择操作,提高粒子的多样性,帮助算法跳出局部最优解,避免早熟收敛,提高解的精度。该方法与单独使用粒子群算法相比,能有效解决粒子群算法整定PID控制参数时出现的局部最优现象。

Description

基于克隆免疫粒子群算法的多电机协同控制PID参数优化 方法
技术领域
本发明属于多电机协同控制领域,具体属于使用修改后的粒子群算法对多电机协同控制PID参数的优化。
背景技术
随着工业自动化的发展,多电机协同控制应用十分广泛,如印刷设备、造纸机、精密加工机床等面。在这些制造与生产过程自动化控制系统中,多台电机之间协调运动性能的优劣直接影响系统的可靠性和控制精度等。
1980年Koren提出了交叉耦合协同控制方式,利用电机之间实际输出的差值对两台电机进行补偿,从而提高电机间的同步性。这种协同控制方式是专门针对双电机系统的一种耦合控制方式,相对于前面介绍的并行控制和主从控制方式,协调控制性能有了很大的提高。
Kulkarni和Srinivasan对交叉耦合控制方法做了较为详细的分析,并提出了控制参数可以随系统参数自行整定的最优控制方案,该方案具有良好的时变性,为后来耦合补偿策略的进一步发展打下了很好的基础。
上个世纪90年代初期,Yang和Chang将自适应前馈交叉耦合控制方式应用到双螺仪同步运行控制中,获得了较好的控制效果。
2003年,Dong Sun等人将相邻交叉亲合控制结构应用到机器人同步控制系统中。
2006年,S.Mastellone将该主从控制方式应用在多台机器人的协同工作系统中,获得较好的控制性能,并且证明了该主从控制方式的有效性。
在实现多电机协同控制的同时保证高精度也正是现有技术的难点,所以该方向是一个值得研究的方向。
PID控制参数的优化目的就是要寻找一个合适的Kp、Ki、Kd组合,平衡控制系统的快速性和稳定性,减少超调,提高系统响应速度。
粒子群算法是一种模拟鸟类的捕食行为的全局优化算法。粒子自身经过的最优位置为个体最优值(pBest);整个群体经过的最优位置为全局最优极值(gBest)。粒子状态用D维速度vi=(vi1,vi2,……)和位置pi=(pi1,pi2,……)表示,每个粒子由以下公式更新自身状态,从而产生新一代的群体。
其中:W是惯性权重,c1和c2是加速因子,r1d和r2d是在[0,1]范围内的两个随机数,k为迭代次数,pBest为历史最优解,gBest为全局最优解,Pi为位置。为了防止粒子远离搜索空间,粒子的每一维速度vd都被限制在[-Vdmax,Vdmax]。
使用粒子群算法优化多电机协同控制PID参数时,优化过程中算法会陷入局部最优状况,使得所求结果并不是全局最优解,所以粒子群算法优化PID参数也存在一定缺陷,有待改进。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种避免陷入局部最优的基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法。本发明的技术方案如下:
一种基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,其包括以下步骤:
1)、首先估算出多电机协同控制PID三个参数Kp、Ki、Kd的取值范围,Kp、Ki、Kd分别表示比例常数、积分时间常数、微分时间常数,在取值范围内采用随机生成的方式,采用粒子群算法在可行解空间搜索随机初始化粒子群位置、速度、历史最优值和全局最优值;
2)、根据公式
计算每个式子的适应度值,并根据适应度值更新历史最优值和全局最优值以及外部最优解集;
3)、判断改进的粒子群算法是否陷入局部最优,改进的粒子群算法改进在:在粒子群算法的基础上加了克隆免疫操作,当粒子群算法陷入局部最优解时,对外部最优解集中的粒子进行克隆复制、克隆变异和克隆选择操作,如果没有,更新粒子速度和位置;否则转入式(1);
4)、判断是否满足结束条件,满足则输出最优解到最优解集中,结束;否则转步骤2);
5)、对最优解集中的粒子进行克隆免疫操作。
进一步的,在步骤1)中,首先设置最大的速度区间,防止超出最大的速度区间;位置信息即为整个搜索空间在速度区间和搜索空间上随机初始化速度和位置,设置群体规模。
进一步的,所述进行克隆选择操作之前包括步骤:首先在粒子群算法外部建立一个小规模的最优解集m,每当粒子群算法出现一个新的全局最优解g,就把它加到最优解集m中,并替换掉最优解集中适应度最小的解,保持最优解集中解得数目不变,设置一个变异阀值k,当g连续k代没有更新时就认为粒子陷入了局部最优解,此时进行克隆选择操作。
进一步的,所述对最优解集中的粒子进行克隆免疫操作,具体包括:
5.1)根据克隆算子对最优解集中的每个粒子进行克隆操作;
5.2)根据变异算子对克隆后的每个粒子进行变异操作;
5.3)根据选择算子对变异后的每个粒子进行选取,更新当前所有粒子。
进一步的,所述克隆、变异和选择按以下原则进行:
a.克隆算子,将最优解集m中每个粒子克隆10倍;
b.变异算子,对克隆后的每个粒子进行柯西变异,柯西密度函数为
其中,t为尺度参数,且t>0,经过柯西变异后,粒子pi变成
式中,αk是柯西方程产生的随机数,β是随机步长;
c.选择算子,用经过柯西变异后的粒子直接代替当前所有粒子。
进一步的,选用下式作为参数选取的最优指标:
其中,J表示最优指标,e(t)表示系统误差,u(t)为控制器输出,tu为上升时间,W1,W2,W3为权值;
为了避免产生超调,采用惩罚功能,一旦产生超调,将超调作为最优指标的一项,此时最优指标为:
if ey(t)<0
其中,W3、W4为权重,且W4>>W1,ey(t)=yout(t)-yout(t-1),yout(t)为被控对象的输出,ey(t)表示被控对象的输出变化值。
本发明的优点及有益效果如下:
本发明的目的在于克服粒子群算法存在的缺点—容易陷入局部最优。为了克服粒子群算法的缺点,引入克隆免疫粒子群算法。免疫算法是模仿生物免疫机制,结合基因的进化机理,人工地构造出的一种新型智能搜索算法,在解决复杂问题上具有强大的信息处理能力。克隆选择算法是免疫算法中基于克隆选择假说提出的。
为了解决问题,首先在粒子群算法外部建立一个小规模的最优解集m。每当粒子群算法出现一个新的全局最优解g,就把它加到最优解集m中、替换掉最优解集中适应度最小的解,保持最优解集中解得数目不变。设置一个变异阀值k,当g连续k代没有更新时就认为粒子陷入了局部最优解,此时进行克隆选择操作。
附图说明
图1是本发明提供优选实施例实现框架图;
图2克隆免疫算法总流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
本发明的目的在于通过使用修改过后的粒子群算法—克隆免疫粒子群算法,优化多电机系统控制系统的PID参数,由于使用粒子群算法优化PID参数时存在缺陷,会陷入局部最优的情况,造成所优化的参数并非全局最优解。而本发明通过克隆免疫粒子群算法,优化多电机协同控制系统中的PID控制参数,实现对多电机协同控制系统的高精度控制。以下将参照附图并结合实例对本发明作进一步详细说明。
如图1所示,本发明的实现框架图完成了克隆免疫粒子群算法对多电机协同控制中PID控制参数优化转化最核心的部分,即对PID控制器参数优化过程,主要包括以下步骤:
1)首先根据经验估算出PID三个参数的取值范围,在此范围内采用随机生成的方式,以粒子群算法在可行性空间进行搜索随机初始化粒子群位置、速度、历史最优值和全局最优值。
2)按照式(1)计算每个式子的适应值,并根据适应值更新历史最优值和全局最优值以及外部最优解集。
3)判断算法是否陷入局部最优,如果没有,更新粒子速度和位置;否则转入式(1)。
4)判断是否满足结束条件,满足则输出最优解,结束;否则转步骤2)。
5)对最优解集中的粒子进行克隆免疫操作。
5.1)根据克隆算子对最优解集中的每个粒子进行克隆操作;
5.2)根据变异算子对克隆后的每个粒子进行变异操作;
5.3)根据选择算子对变异后的每个粒子进行选取,更新当前所有粒子。
转步骤4)
如图2所示,本发明的克隆免疫粒子群算法总流程图通过初始化粒子群初始位置和初始速度;通过公式计算每个粒子的适应值、并更新全局最优解和外部最优解集;克隆免疫操作的任务就是帮助已经陷入局部最优的算法跳出局部最优状态,避免早熟收敛,提高解的精度。
根据已经融合好的新算法—克隆免疫粒子群算法,对陷入局部最优的粒子群算法跳出当前状态,避免早熟收敛,提高解的精度,达到新算法对多电机系统控制PID参数的优化目的。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。

Claims (6)

1.一种基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,其特征在于,包括以下步骤:
1)、首先估算出多电机协同控制PID三个参数Kp、Ki、Kd的取值范围,Kp、Ki、Kd分别表示比例常数、积分时间常数、微分时间常数,在取值范围内采用随机生成的方式,采用粒子群算法在可行解空间搜索随机初始化粒子群位置、速度、历史最优值和全局最优值;
2)、根据公式
计算每个式子的适应度值,并根据适应度值更新历史最优值和全局最优值以及外部最优解集;
3)、判断改进的粒子群算法是否陷入局部最优,改进的粒子群算法改进在:
在粒子群算法的基础上加了克隆免疫操作,当粒子群算法陷入局部最优解时,对外部最优解集中的粒子进行克隆复制、克隆变异和克隆选择操作,如果没有,更新粒子速度和位置;否则转入式(1);
4)、判断是否满足结束条件,满足则输出最优解到最优解集中,结束;否则转步骤2);
5)、对最优解集中的粒子进行克隆免疫操作。
2.根据权利要求1所述的基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,其特征在于,在步骤1)中,首先设置最大的速度区间,防止超出最大的速度区间;位置信息即为整个搜索空间在速度区间和搜索空间上随机初始化速度和位置,设置群体规模。
3.根据权利要求1所述的基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,其特征在于,所述进行克隆选择操作之前包括步骤:首先在粒子群算法外部建立一个小规模的最优解集m,每当粒子群算法出现一个新的全局最优解g,就把它加到最优解集m中,并替换掉最优解集中适应度最小的解,保持最优解集中解得数目不变,设置一个变异阀值k,当g连续k代没有更新时就认为粒子陷入了局部最优解,此时进行克隆选择操作。
4.根据权利要求3所述的基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,其特征在于,所述对最优解集中的粒子进行克隆免疫操作,具体包括:
5.1)根据克隆算子对最优解集中的每个粒子进行克隆操作;
5.2)根据变异算子对克隆后的每个粒子进行变异操作;
5.3)根据选择算子对变异后的每个粒子进行选取,更新当前所有粒子。
5.根据权利要求4所述的基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,其特征在于,所述克隆、变异和选择按以下原则进行:
a.克隆算子,将最优解集m中每个粒子克隆10倍;
b.变异算子,对克隆后的每个粒子进行柯西变异,柯西密度函数为
其中,t为尺度参数,且t>0,经过柯西变异后,粒子pi变成pi’,pi’=pi+βαk
式中,αk是柯西方程产生的随机数,β是随机步长;
c.选择算子,用经过柯西变异后的粒子直接代替当前所有粒子。
6.根据权利要求4所述的基于克隆免疫粒子群算法的多电机协同控制PID参数优化方法,其特征在于,选用下式作为参数选取的最优指标:
其中,J表示最优指标,e(t)表示系统误差,u(t)为控制器输出,tu为上升时间,W1,W2,W3为权值;
为了避免产生超调,采用惩罚功能,一旦产生超调,将超调作为最优指标的一项,此时最优指标为:
if ey(t)<0
其中,W3、W4为权重,且W4>>W1,ey(t)=yout(t)-yout(t-1),yout(t)为被控对象的输出,ey(t)表示被控对象的输出变化值。
CN201811365942.4A 2018-11-16 2018-11-16 基于克隆免疫粒子群算法的多电机协同控制pid参数优化方法 Pending CN109557809A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811365942.4A CN109557809A (zh) 2018-11-16 2018-11-16 基于克隆免疫粒子群算法的多电机协同控制pid参数优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811365942.4A CN109557809A (zh) 2018-11-16 2018-11-16 基于克隆免疫粒子群算法的多电机协同控制pid参数优化方法

Publications (1)

Publication Number Publication Date
CN109557809A true CN109557809A (zh) 2019-04-02

Family

ID=65866469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811365942.4A Pending CN109557809A (zh) 2018-11-16 2018-11-16 基于克隆免疫粒子群算法的多电机协同控制pid参数优化方法

Country Status (1)

Country Link
CN (1) CN109557809A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262222A (zh) * 2019-06-26 2019-09-20 东北大学 一种区间系统最优区间pid控制器参数优化方法
CN110543727A (zh) * 2019-09-05 2019-12-06 北京工业大学 一种基于改进粒子群算法的全向移动智能轮椅机器人参数辨识方法
CN111522225A (zh) * 2020-05-11 2020-08-11 重庆邮电大学 基于改进的粒子群算法对调阻机pid控制系统参数优化方法
CN112290849A (zh) * 2020-10-21 2021-01-29 深圳蓄能发电有限公司 一种基于改进粒子群算法的励磁同步电动机变频调速系统
CN113093728A (zh) * 2021-03-08 2021-07-09 唐山钢铁集团有限责任公司 一种基于粒子群算法的无人天车摆角控制方法
CN113779733A (zh) * 2021-09-18 2021-12-10 国网江苏省电力有限公司常州供电分公司 一种光伏组件模型参数混合优化辨识方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060139681A1 (en) * 2004-05-27 2006-06-29 Silverbrook Research Pty Ltd Use of variant and base keys with three or more entities
CN101882237A (zh) * 2010-05-14 2010-11-10 长沙理工大学 一种改进的免疫-粒子群优化算法
CN106357316A (zh) * 2016-10-28 2017-01-25 广州杰赛科技股份有限公司 阵列天线的波束赋形方法和装置
CN107578116A (zh) * 2017-07-20 2018-01-12 东华大学 基于双目标免疫粒子群算法的灌溉水资源优化配置方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060139681A1 (en) * 2004-05-27 2006-06-29 Silverbrook Research Pty Ltd Use of variant and base keys with three or more entities
CN101882237A (zh) * 2010-05-14 2010-11-10 长沙理工大学 一种改进的免疫-粒子群优化算法
CN106357316A (zh) * 2016-10-28 2017-01-25 广州杰赛科技股份有限公司 阵列天线的波束赋形方法和装置
CN107578116A (zh) * 2017-07-20 2018-01-12 东华大学 基于双目标免疫粒子群算法的灌溉水资源优化配置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邵会锋: "改进粒子群算法在PID参数整定中的应用", 《电气传动自动化》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262222A (zh) * 2019-06-26 2019-09-20 东北大学 一种区间系统最优区间pid控制器参数优化方法
CN110543727A (zh) * 2019-09-05 2019-12-06 北京工业大学 一种基于改进粒子群算法的全向移动智能轮椅机器人参数辨识方法
CN110543727B (zh) * 2019-09-05 2023-01-03 北京工业大学 一种基于改进粒子群算法的全向移动智能轮椅机器人参数辨识方法
CN111522225A (zh) * 2020-05-11 2020-08-11 重庆邮电大学 基于改进的粒子群算法对调阻机pid控制系统参数优化方法
CN112290849A (zh) * 2020-10-21 2021-01-29 深圳蓄能发电有限公司 一种基于改进粒子群算法的励磁同步电动机变频调速系统
CN113093728A (zh) * 2021-03-08 2021-07-09 唐山钢铁集团有限责任公司 一种基于粒子群算法的无人天车摆角控制方法
CN113779733A (zh) * 2021-09-18 2021-12-10 国网江苏省电力有限公司常州供电分公司 一种光伏组件模型参数混合优化辨识方法

Similar Documents

Publication Publication Date Title
CN109557809A (zh) 基于克隆免疫粒子群算法的多电机协同控制pid参数优化方法
Wang et al. An overview of genetic algorithms applied to control engineering problems
CN110083179B (zh) 一种预定时间多智能体系统一致性跟踪控制方法
CN110308649B (zh) 应用于工业过程控制的基于pso-soa融合算法的pid参数优化方法
CN108693834B (zh) 调整装置以及调整方法
CN109895103B (zh) 一种基于ga-pso算法的示教再现轨迹优化方法
JP2018152012A (ja) 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
Fretes et al. Pareto optimal weighting factor design of predictive current controller of a six-phase induction machine based on particle swarm optimization algorithm
WO2013021713A2 (en) Method for generating trajectories for motor controlled actuators
CN104076685B (zh) 一种减少基座姿态扰动的空间机械臂路径规划方法
CN102354107A (zh) 一种交流位置伺服系统模型参数在线辨识和控制方法
CN107092755B (zh) 一种用于产品设计的参数依赖模型的更新方法
CN110244658B (zh) 一种基于改进bp神经网络提高裁床插补位置精度的方法
CN110221580A (zh) 一种基于主轴数据仿真的进给速度优化方法
CN114237041B (zh) 一种基于预设性能的空-地协同固定时间容错控制方法
JP2020057211A (ja) 機械学習装置、制御装置及び機械学習方法
CN110361974B (zh) 基于bp-foa混合算法的水轮机调速系统优化方法
CN112564557B (zh) 一种永磁同步电机的控制方法、装置、设备及存储介质
Wong et al. Constrained identification of virtual CNC drives using a genetic algorithm
Jin et al. New distributed consensus schemes with time delays and output saturation
CN112947523A (zh) 基于非奇异快速终端滑模控制的角度约束制导方法及系统
CN116945177A (zh) 上甑机器人补料路径规划方法、装置、电子设备及介质
Mai-Phuong et al. Balancing a practical inverted pendulum model employing novel meta-heuristic optimization-based fuzzy logic controllers
Pongfai et al. Novel D-SLP controller design for nonlinear feedback control
JP2019140765A (ja) 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190402

WD01 Invention patent application deemed withdrawn after publication