前言
双层规划是一种具有两层决策的数学规划,其上层优化问题含有下层优化问题的最优解(或最优值),因此它是复杂的递阶决策系统。由于其结构的嵌套性、优化问题的内在非光滑性、约束域可能的非连通性等特性导致其求解较为困难,从而使基于梯度的传统优化方法受到一些限制,但是启发式优化算法非常适合求解此类问题。和其他同类书籍不同,本书主要研究双层规划的启发式优化算法和典型的应用实例,力求内容全面、广泛、浅显易懂,具有较强的可操作性和实用性。目前,双层规划已在经济、管理、控制、军事等领域广泛应用,随着大数据和人工智能的蓬勃发展,双层规划及其算法有了新的用武之地,呈现出强大的应用前景和实用价值。
本书从理论基础、算法流程、实验验证等方面对各类双层规划进行研究,并给出新的典型的应用实例。本书共18章,分为两大部分: 除第1章是双层规划综述和所使用的启发式优化算法简介外,第一部分从第2章到第13章,介绍各类双层规划的基本概念、转化模型、启发式求解算法、实验测试结果与比较;第二部分从第14章到第18章,介绍一些典型的应用场景和实例。本书内容由简到难,各章相对独立,读者可根据兴趣和时间选择使用。
本书各章内容简介如下。
第1章为绪论部分,概括双层规划问题,简述所使用的3种启发式优化算法,最后介绍本书的内容安排。
第2章讨论线性双层规划问题,通过实例说明,也从理论上证明了上层含有下层变量的约束条件不能放置到下层。采用KKT条件将线性双层规划问题转化为单层互补松弛问题,针对KKT乘子引入0?1二进制编码,可以将互补松弛问题转化为一系列线性规划,其最优解对应原双层规划的一个可行解。为了得到最优的二进制编码串(对应原两层问题的最优解),设计了正交遗传算法。数值实验验证了算法的有效性。
第3章介绍线性双层规划问题的原始?对偶单层转化模型,通过引入0?1二元变向量,将原两层结构转化为含有0?1二元变向量和连续变向量的单层优化问题。为了提高算法效率,只针对0?1二元变向量进行编码,然后分别设计了二进制差分进化算法和二进制粒子群优化算法,求解最优的0?1二元变向量。对给定的0?1二元变量,通过解相应的线性规划,获得连续变向量。数值实验表明所有算法均有效。
第4章对二次双层规划问题,将处理线性双层规划问题的思路和算法推广到二次双层规划问题中,提出一种正交遗传算法。采用此处理方法可求解另外两种特殊的非线性规划问题: 线性?二次双层规划和二次?线性双层规划问题。数值实验验证了算法的有效性。
第5章针对具有非凸不可微的上层目标函数的非线性两层规划问题进行算法设计,提出一种混合遗传算法。利用该混合遗传算法求解两类非线性双层规划问题: 一类是下层规划问题具有特殊结构的凸规划问题;另一类是下层规划问题是连续可微问题。数值实验验证所提算法的有效性。
第6章针对上下层目标函数都是非凸、不可微问题,提出一种双层自适应差分进化算法。为了减少计算代价,采用基于径向基函数神经网络的代理模型近似下层规划的最优解。数值实验验证了算法的有效性。
第7章对离散线性双层规划问题提出两种进化算法。对整数线性双层规划问题,将其转化为0?1线性双层规划问题,然后转化为单层隐规划问题,再用0?1编码的正交遗传算法求解转化的上层规划,下层采用分支定界算法求解。另一种方法,对整数线性双层规划,上层采用整数编码的差分进化算法,下层采用分支定界算法求解。数值实验验证了算法的有效性。
第8章对上层变量是整数变量、下层变量是连续变量的混合整数非线性双层规划问题,将其转化为单层隐规划问题,采用混合进化算法求解。另外,对下层规划采用KKT条件转化为单层规划问题,利用光滑化方法处理互补约束条件,然后分别设计了离散差分进化算法和离散粒子群优化算法求解单层转化模型。数值实验验证了算法的有效性。
第9章对线性半向量双层规划问题(即上层规划是单目标优化、下层规划是多目标优化的线性双层规划问题)提出一种等价转化模型,并给出了理论分析。针对单层转化模型,提出一种自适应标量化的混合差分进化算法。数值实验验证了算法的有效性。
第10章对多目标线性双层规划问题,在第9章提出的转化模型的基础上,提出一种改进的多目标遗传算法。数值实验验证了算法的有效性。
第11章对上层是多目标、下层是单目标的非线性双层规划问题,给出一种有效的单层转化模型,设计了基于分解的多目标差分进化算法。数值实验验证了算法的有效性。
第12章对多目标非线性双层规划问题,在其下层多目标规划是凸且可微的条件下,结合第9章的下层问题处理方法和第11章的单层转化模型,提出基于分解的多目标差分进化算法。数值实验验证了算法的有效性。
第13章对多目标非线性双层规划问题,在其下层规划是凸但不可微条件下,结合第9章的下层问题处理方法,提出多目标进化算法求解上层多目标优化、单目标进化算法求解下层单目标优化的交互式求解算法。数值实验验证了算法的有效性。
第14章对混合整数规划问题,提出一种双层优化框架,该框架将整数和实数变量划分为上层和下层变量,证明了双层优化问题的最优解是原混合整数规划的最优解。采用自适应离散差分进化算法对上层整数规划进行优化,采用基于梯度的方法对下层连续规划进行优化。为了减少计算时间,在双层优化方法中嵌入了代理辅助模型,避免了每次都要求解下层规划。数值实验验证了算法的有效性。
第15章对以客户需求为导向的生产?分销计划问题,建立了双目标双层规划模型,采用第12章设计的基于分解双目标差分进化算法求解。仿真实例验证了算法的有效性。
第16章针对单隐层前馈神经网络的架构设计和参数学习问题,建立了两种双层学习模型,提出两种双层学习算法。数据分类实验验证了算法的有效性。
第17章对多层感知器神经网络的架构设计和参数学习问题,建立了多目标双层学习模型,提出多目标双层学习算法。数据分类实验验证了算法的有效性。
第18章对深度卷积神经网络的架构设计和参数学习问题,建立了多目标双层学习模型,提出多目标双层学习和检测算法。图像分类和识别实验验证了算法的有效性。
本书是作者20余年部分研究工作的总结,部分章节选自作者的博士论文,部分应用来自企业的横向课题研究。
感谢我的导师王宇平教授和焦永昌教授在我学术道路上孜孜不倦的教诲。对课题组高卫峰教授和谢晋副教授的支持和帮助,在此一并表示感谢!
本书的出版得到西安电子科技大学图书专著出版专项经费和国家自然科学基金的资助。感谢清华大学出版社张瑞庆编审的大力支持和帮助。
由于作者学识有限,疏漏和不当之处在所难免,敬请读者和同行批评指正。
作者
2025年10月于西安
目录
第1章绪论1
1.1双层规划问题及其应用1
1.1.1双层规划的研究背景及其意义1
1.1.2双层规划的数学形式和基本概念3
1.1.3双层规划的转化模型5
1.1.4双层规划求解方法7
1.1.5相关理论成果10
1.2代表性智能优化算法10
1.2.1遗传算法10
1.2.2差分进化算法12
1.2.3粒子群优化算法14
1.3内容安排15
第 一 部 分
第2章线性双层规划及其基于KKT条件的单层转化模型与正交遗传算法设计19
2.1引言19
2.2线性双层规划问题的模型、概念及相关性质19
2.2.1模型及其概念19
2.2.2相关性质20
2.2.3上层约束的下置对线性双层规划的影响20
2.3下层有多个平行子问题的线性双层规划的模型与概念23
2.4基于KKT最优性条件的线性双层规划问题的算法设计24
2.4.1编码策略26
2.4.2适应度值26
2.4.3初始种群27
2.4.4杂交算子27
2.4.5变异算子29
2.4.6选择算子29
2.4.7停止准则29
2.4.8算法及收敛性分析29
2.5实验研究30
2.5.1测试函数30
2.5.2实验参数设置33
2.5.3实验结果和比较34
2.6本章小结35
第3章线性双层规划及其基于原始?对偶原理的单层转化模型与
两种启发式算法设计36
3.1基于原始?对偶原理的线性双层规划的单层转化模型36
3.2二进制差分进化算法求解单层转化问题40
3.2.1编码策略40
3.2.2适应度函数40
3.2.3变异算子40
3.2.4杂交算子40
3.2.5选择算子40
3.3二进制粒子群优化算法求解单层转化问题41
3.4实验研究42
3.4.1测试问题42
3.4.2实验参数设置44
3.4.3实验结果和比较44
3.5本章小结46
第4章二次双层规划问题及其单层转化模型与正交遗传算法设计47
4.1引言47
4.2二次双层规划问题的模型、概念和性质47
4.2.1二次双层规划问题的模型、概念47
4.2.2性质48
4.3二次双层规划问题的基于KKT条件的启发式算法设计49
4.3.1编码策略49
4.3.2适应度值50
4.3.3初始种群50
4.3.4杂交算子51
4.3.5变异算子51
4.3.6选择算子52
4.3.7停止准则52
4.3.8算法及收敛性分析52
4.4实验研究53
4.4.1测试问题53
4.4.2实验参数设置55
4.4.3实验结果与比较55
4.5本章小结57
第5章非线性双层规划问题及其混合遗传算法求解58
5.1引言58
5.2非线性双层规划问题的模型、概念与性质59
5.2.1模型与概念59
5.2.2性质59
5.3下层具有特殊结构的非线性双层规划问题60
5.4下层是连续可微的非线性双层规划问题62
5.5混合遗传算法求解上层规划62
5.5.1编码和初始种群62
5.5.2适应度函数63
5.5.3杂交算子63
5.5.4变异算子64
5.5.5选择算子64
5.5.6局部搜索算子64
5.5.7停止准则64
5.6针对下层具有特殊结构的非线性双层规划的实验研究65
5.6.1测试问题65
5.6.2实验参数设置67
5.6.3实验结果与比较67
5.7针对下层是连续可微的非线性双层规划问题的实验研究70
5.7.1测试问题70
5.7.2实验参数设置72
5.7.3实验结果与比较73
5.8本章小结76
第6章非光滑的非线性双层规划问题及其基于代理模型的双层自适应
差分进化算法设计77
6.1引言77
6.2非光滑的非线性双层规划问题77
6.3双层自适应差分进化算法设计78
6.3.1下层算法——基于罚函数的自适应差分进化算法78
6.3.2上层算法——基于可行性比较的自适应差分进化算法80
6.4基于径向基函数神经网络的代理模型近似下层规划的最优解84
6.5实验研究86
6.5.1测试问题86
6.5.2实验参数设置89
6.5.3实验结果与比较89
6.6本章小结93
第7章离散线性双层规划及其离散进化算法求解法94
7.1引言94
7.2离散线性双层规划问题及其基于分支定界法和正交遗传算法的求解法95
7.2.1离散线性双层规划问题模型95
7.2.2将问题(7?1)转化为0?1线性双层规划问题95
7.2.3问题(7?9)转化为等价的单层0?1隐规划问题96
7.2.4求解0?1单层线性隐规划问题(7?11)的正交遗传算法97
7.2.5数值实验研究100
7.3离散线性双层规划问题及其基于分支定界法与差分进化的求解法103
7.3.1离散线性双层规划问题的模型103
7.3.2求解问题(7?18)的离散差分进化算法103
7.3.3数值实验研究106
7.4本章小结108
第8章离散非线性双层规划问题及其混合进化算法求解法109
8.1引言109
8.2离散非线性双层规划问题的模型、概念109
8.3基于混合进化算法的交互式求解算法110
8.3.1求解问题(8?3)的混合进化算法110
8.3.2数值实验112
8.4基于KKT和光滑化技术的单层转化形式及两种启发式求解法114
8.4.1方程组(8?14)的解法116
8.4.2离散差分进化算法116
8.4.3离散粒子群优化算法118
8.4.4实验分析和比较119
8.5本章小结123
第9章线性半向量双层规划问题及其单层转化求解算法124
9.1引言124
9.2模型、概念和性质124
9.2.1线性半向量双层规划问题的模型和概念124
9.2.2性质125
9.3混合编码的双子种群差分进化算法129
9.3.1编码策略与双子种群129
9.3.2适应度函数130
9.3.3重组算子130
9.3.4选择算子131
9.3.5算法框架131
9.4实验研究133
9.4.1测试问题133
9.4.2实验参数设置136
9.4.3实验结果和分析136
9.4.4算法比较138
9.5本章小结139
第10章多目标线性双层规划问题及其基于快速非支配排序的
多目标遗传算法设计140
10.1引言140
10.2模型、概念和性质141
10.2.1多目标线性双层规划问题的模型和概念141
10.2.2性质141
10.3基于非支配排序的多目标混合遗传算法143
10.3.1个体的编码形式与初始种群144
10.3.2交叉算子144
10.3.3变异算子145
10.3.4适应度函数向量的计算145
10.3.5选择策略、拥挤度比较和非支配排序策略145
10.3.6多目标混合遗传算法145
10.4实验研究146
10.4.1测试问题146
10.4.2实验参数设置147
10.4.3性能评价148
10.4.4实验结果及比较148
10.5本章小结157
第11章上层是多目标优化的非线性双层规划问题及其单层
转化模型与多目标进化算法求解158
11.1引言158
11.2模型、概念和性质158
11.2.1第一类多目标非线性双层规划问题的模型和概念158
11.2.2性质159
11.3带有互补松弛条件的多目标优化问题的再转化160
11.4基于分解策略的多目标差分进化算法161
11.4.1个体编码和初始种群162
11.4.2适应度函数162
11.4.3变异算子162
11.4.4杂交算子163
11.4.5选择算子163
11.4.6切比雪夫法中权重向量的调整163
11.4.7基于分解策略的多目标差分进化的算法步骤164
11.5实验研究165
11.5.1测试问题165
11.5.2实验参数设置167
11.5.3算法的性能评价指标168
11.5.4实验结果与比较168
11.6本章小结177
第12章多目标非线性双层规划问题及其单层转化模型与多目标
进化算法求解178
12.1引言178
12.2非线性多目标双层规划问题的模型、概念和转化形式179
12.2.1非线性多目标双层规划问题的模型与概念179
12.2.2转化模型179
12.3基于分解策略的多目标差分进化算法182
12.3.1组合编码策略和初始种群182
12.3.2适应度函数182
12.3.3繁殖算子183
12.3.4基于分解策略的约束多目标差分进化算法(CMODE/D)的步骤183
12.4基于非支配的多目标遗传算法(NSGA?Ⅱ)184
12.5实验研究185
12.5.1测试问题185
12.5.2实验参数设置188
12.5.3实验结果与比较189
12.6本章小结194
第13章多目标非线性双层规划问题及其交互式求解法195
13.1引言195
13.2模型、概念和性质195
13.2.1非线性多目标双层规划问题的模型和概念195
13.2.2性质196
13.3基于分解策略的多目标差分进化算法求解上层多目标优化问题197
13.3.1个体编码策略及初始种群198
13.3.2适应度函数198
13.3.3重组算子198
13.3.4变异算子198
13.4梯度算法或无梯度算法求解下层单目标优化问题199
13.4.1序列二次规划法求解下层可微的单目标参数优化问题199
13.4.2自适应差分进化算法求解下层不可微的单目标参数优化问题200
13.5上下层交互式算法求解多目标双层规划202
13.6实验研究203
13.6.1测试例子203
13.6.2实验设置205
13.6.3算法的性能评价指标206
13.6.4多目标差分进化算法与多目标遗传算法的比较206
13.6.5下层分别采用序列二次规划法和自适应差分进化算法的比较209
13.7本章小结210
第 二 部 分
第14章混合整数规划问题的双层规划建模与求解213
14.1引言213
14.2混合整数规划问题214
14.3混合整数规划问题的双层优化模型215
14.4双层优化算法217
14.4.1上层算法218
14.4.2下层算法220
14.4.3下层优化问题的代理模型221
14.5实验研究223
14.5.1测试问题223
14.5.2实验参数设置229
14.5.35个含有二进制变量的混合整数规划的实验结果与比较229
14.5.416个含有整数变量的混合整数规划的实验结果与比较229
14.5.5具有不可微目标函数和约束的6个混合整数规划实验结果
与比较231
14.6本章小结232
第15章以客户需求为导向的生产?分销计划问题的双层规划建模与求解234
15.1引言234
15.2模型建立234
15.2.1问题描述234
15.2.2上层的双目标函数和约束条件236
15.2.3下层的双目标函数和约束条件236
15.2.4双目标双层规划模型237
15.3模型求解237
15.4模型说明238
15.4.1单目标双层规划模型238
15.4.2线性半向量双层规划模型238
15.5实验研究239
15.5.1案例239
15.5.2实验参数设置239
15.5.3实验结果与分析241
15.6本章小结241
第16章前馈神经网络的双层学习模型与算法242
16.1引言242
16.2单目标双层学习模型(一)243
16.3单目标双层学习算法(一)244
16.3.1上层优化算法: 二进制自适应差分进化算法244
16.3.2下层优化算法: 自编码器极限学习机算法246
16.4单目标双层学习模型(二)248
16.5单目标双层学习算法(二)249
16.5.1上层优化算法249
16.5.2下层优化算法250
16.5.3双层学习算法252
16.6数据分类实验研究253
16.6.1分类数据集介绍253
16.6.2实验参数设置253
16.6.3实验结果与比较254
16.7本章小结259
第17章多层感知器神经网络的多目标双层学习模型与算法260
17.1引言260
17.2多目标双层学习模型261
17.3多目标双层学习算法262
17.3.1上层多目标优化算法262
17.3.2下层单目标优化算法263
17.3.3多目标双层学习算法265
17.4数据分类实验研究266
17.4.1实验参数设置266
17.4.2提出的多目标双层学习算法的收敛性与多样性分析266
17.4.3与文献中单目标学习算法的比较267
17.4.4与文献中多目标优化的稀疏极限学习机算法的比较268
17.4.5与文献中基于两阶段多目标遗传算法的分类算法的比较270
17.5本章小结271第18章深度卷积神经网络的多目标双层学习模型与算法272
18.1引言272
18.2多目标双层学习模型274
18.3多目标双层学习算法275
18.3.1上层多目标优化算法275
18.3.2下层单目标优化算法277
18.3.3多目标双层学习算法277
18.4图像识别实验研究278
18.4.1图像数据集介绍278
18.4.2实验参数设置279
18.4.3算法性能分析279
18.4.4实验结果与对比280
18.5本章小结284
参考文献285