本发明涉及多目标双层优化问题,具体地说,涉及一种基于snsga-ii求解多目标双层优化问题的方法。
背景技术:
1、生活中有很多重要的决策问题往往需要在不同约束条件下同时处理若干相互冲突的目标。这类需要同时对多个相互约束或冲突的目标进行优化的问题就是多目标优化问题。多目标优化问题(moop)具有多个目标函数,各目标涉及相同的一组决策变量,并相互制约。通常情况下,多目标优化问题与单目标问题不同,它的解不是唯一的,而是存在一个最优解集合,集合中的元素称为pareto最优解或者非劣解(non-dominated)。pareto最优解一直是大量学者研究的焦点。近些年来,博弈论在多目标优化问题中的应用已经越来越广泛。由于博弈论的本质就是研究解决、调和冲突的科学,那么博弈论与多目标优化的本质原理是一致的,即各个冲突之间互相权衡、竞争使多个目标都达到最优状态。其中多目标博弈与多目标优化问题具有许多相似之处。因此我们可以使用多目标进化算法去解决多目标博弈模型。例如sinha等人提出的政府与矿业公司之间的stackelberg博弈。stackelberg博弈是指有多个同时优化的冲突目标,但这类问题不同于常见的优化问题。因为它们在外部问题的约束内包含嵌套的优化任务,其中一个优化问题嵌套在另一个优化任务中。stackelberg博弈也称双层优化问题,其中,主要优化任务通常被称为上层问题,嵌套优化任务称为下层问题。由于其问题的分层结构,只有当这个解也是下层问题的最优解时,上层问题的解才是可行解。
2、由于一个问题具有多个目标公式的主要原因是不可能有一个同时优化所有目标的单一解决方案。因此,一个提供大量位于或接近帕累托最优前沿的备选解的算法具有很大的实用价值。针对moop,有学者提出了多种多目标进化算法。因为moea能够在一次运行中找到多个帕累托最优解。按进化机制的不同,moea可分为三类,即基于分解的moea,基于支配关系的moea和基于指标的moeaowei等人使用改进的nsga-ii解决在建筑设计中优化能效和热舒适性之间的关系。gaurav等人针对多目标问题,对海鸥优化算法(soa)中引入动态归档,得到多目标海鸥优化算法(mosoa)。其中,非支配排序遗传算法(nsga)是基于遗传算法(ga)求解mop的重要工具之一。它是srinivas在1995年提出的基于支配的进化算法。然而,它具有缺乏精英主义,需要为多样性保护定义共享参数以及高计算复杂性的局限性。
3、deb等人于2000年提出nsga-ii。nsga-ii算法的搜索效率较高且解集保持着良好的分布性,除此之外还特别适用于低维的优化问题。nsga-ii的基本思想是构建染色体群体的个体非支配集,不同级别的非支配集根据个体的拥挤距离进行排序。非支配集水平越低,拥挤距离越大的个体对下一级别的优先级越高。整个群体中的个体将经历多次迭代停止或进化,直至满足算法的终止条件。最终获得的群体中的个体是对应于问题的最优解。但nsga-ii算法的分布不均匀,在运行过程中容易陷入局部最优,收敛性仍然需要提高。
技术实现思路
1、本发明的内容是提供一种基于snsga-ii求解多目标双层优化问题的方法,其具有较佳的优化效果和全局收敛性。
2、根据本发明的一种基于snsga-ii求解多目标双层优化问题的方法,其包括以下步骤:
3、一、在nsga-ii的多项式杂交产生子代过程中引入一个随机值并运用交叉分布指数,得到snsga-ii;
4、二、建立多目标双层优化问题模型;
5、三、利用snsga-ii对模型进行求解,生成帕累托最优边界。
6、作为优选,设x1,x2作为杂交个体,表示两个个体的第j个基因;那么杂交产生的后代为就表示子代的第j个基因;snsga-ii产生子代的步骤如下:
7、step1:随机产生一个随机数,r(j)∈(0.1)
8、step2:计算β(j)值:
9、
10、β(j)为二进制交叉算子;
11、step3:计算的值:
12、
13、
14、rand()为随机值;
15、step4:判断是否越界,若越界,则取边界值;
16、其中ηc是一个非负实数,称为交叉分布指数,ηc的取值越大,产生的个体越接近父代个体,搜索范围越小。
17、作为优选,根据政府试图通过对矿山征税和尽可能多地征收税收来最大限度地提高整体福利,同时尽量减少矿山产生的污染这两目标,多目标双层优化问题模型如下:
18、maxf(x,y)=(f1-f2)
19、
20、其中,
21、f(x,y):政府的目标函数
22、f1:税收,f1=xy
23、f2:矿山对环境造成的破坏,f2=ky
24、y:矿山从矿石中提取的金属量
25、x:政府对矿山征收的单位税
26、k:矿山开采矿石对环境的污染系数
27、g(y):矿山的利润
28、p(y):黄金的价格函数
29、c(y):矿石开采的成本
30、设价格函数是斜率很小的线性函数,开采成本是二次方的,上式重新表述为:
31、
32、
33、其中,α,β,δ,γ,φ为常数,φ表示设置操作的固定成本,通过应用一阶导数方法对跟随者的利润函数进行求导,找到一个点,使得跟随者的利润最大化,化简得到提取量关于税收变量x的最佳表达式:
34、
35、针对政府的目标函数,使用加权和方法,将其多目标函数转化成单目标函数,即用(ω,1-ω)表示每个目标的权重;应用到政府的目标函数中得到以下结果:
36、
37、继续进行一阶求导,且设置为0,求解得到关于政府偏好参数ω的最优税率x*(ω):
38、
39、同理,根据模型的参数,得到关于政府偏好权重的矿山最佳开采量y*(ω):
40、
41、本方法在求解多目标优化问题时具有较佳地优化效果和全局收敛性。
1.基于snsga-ii求解多目标双层优化问题的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的基于snsga-ii求解多目标双层优化问题的方法,其特征在于:设x1,x2作为杂交个体,表示两个个体的第j个基因;那么杂交产生的后代为y1,y2,就表示子代的第j个基因;snsga-ii产生子代的步骤如下:
3.根据权利要求2所述的基于snsga-ii求解多目标双层优化问题的方法,其特征在于:根据政府试图通过对矿山征税和尽可能多地征收税收来最大限度地提高整体福利,同时尽量减少矿山产生的污染这两目标,多目标双层优化问题模型如下: