CN107491841A - 非线性优化方法及存储介质 - Google Patents
非线性优化方法及存储介质 Download PDFInfo
- Publication number
- CN107491841A CN107491841A CN201710724850.XA CN201710724850A CN107491841A CN 107491841 A CN107491841 A CN 107491841A CN 201710724850 A CN201710724850 A CN 201710724850A CN 107491841 A CN107491841 A CN 107491841A
- Authority
- CN
- China
- Prior art keywords
- nonlinear
- solution
- desired value
- algorithm
- iterative
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
非线性优化方法及存储介质,其中方法包括步骤,根据非线性优化问题建立线性化模型;通过第一阶迭代算法求解线性化模型,不断缩小非线性优化问题与线性化模型间的误差,最终找到非线性问题在某目标值下的可行解;通过第二阶迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,即非线性优化问题的解。解决大规模非线性问题稳健、有效、精算计算的问题。
Description
技术领域
本发明涉及计算机程序设计领域,尤其是一种用于大规模计算非线性问题的算法及存储介质。
背景技术
非线性约束优化问题是最一般形式的优化问题。求解该类问题的优化算法可分为两大类:确定性算法(线性约束问题算法推广、罚函数法和序列二次规划法),智能算法(模拟退火,遗传算法,禁忌搜索,人工神经网络等)。
(1)线性约束问题的算法在非线性约束问题上的推广。包括广义消去法、可行方向法、广义简约梯度法和投影梯度法等。其主要思路是:对原约束优化问题不预先作转换,直接用线性约束问题的算法进行处理。因此,这类方法所产生的迭代点均是问题的可行点。但是,由于约束函数的非线性性,这些方法的具体实现要比在线性约束上复杂的多,且有效性不高。
(2)罚函数法。其主要思路是:把非线性约束优化问题转化为无线性优化约束问题。依据如何将目标函数和约束函数进行组合,人们导出了许多不同形式的罚函数。依据方法能否保证迭代点列的可行性,可将这些方法分为三类:内点罚函数法、外点罚函数法以及两者相结合的混合罚函数法。罚函数法的优点是简单易行,可直接利用无约束优化的算法来求解约束优化问题。在很弱的条件下即可保证算法的收敛性,且外点罚函数法具有全局收敛性,即它可从任一未必可行的初始点出发来找到问题的最优解。缺点是这些方法要求解一系列的无约束优化问题,计算量大且收敛速度慢,更严重的是随着罚参数趋于其极限,这些罚函数的性态越来越差,这使得很难对其精确求解。
(3)序列二次规划法(SQP),及改进的简约空间SQP算法等。其主要思路是:直接利用原来非线性约束优化问题的有关信息来构造某一简单的近似优化问题,通过求解它来给出对当前迭代点的修正,主要用一系列的线性规划或二次规划来逐次逼近原非线性规划问题。
(4)智能算法,如模拟退火,遗传算法,禁忌搜索,人工神经网络等。它们是人类受自然(生物界)规律的启迪,根据其原理,模仿求解问题的算法。
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温度升高变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。
遗传算法是基于生物进化理论的原理发展起来的一种广为应用、高效的随机搜索与优化方法。其主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖于梯度信息。
禁忌搜索是局部邻域搜索的一种扩展。禁忌搜索最重要的思想是通过引入一个灵活的存储结构和相应的禁忌准则,标记对应已搜索的局部最优解的一些对象,并在进一步的迭代搜索中尽量避开这些对象(而不是绝对禁止循环),从而保证对不同的有效搜索途径的探索。
人工神经网络是对人脑的模拟。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
现有技术的缺点及其原因分析:
大规模非线性规划问题,特别是包含整数变量时,具有组合优化特点,模型规模随变量数量程指数增长,属于组合爆炸问题。好的优化算法设计主要由稳健性、有效性和精确性这三大特性决定。稳健性体现在初始解的选择和算法的执行能力;有效性通过算法的计算时间和存储空间来衡量;精确性表现为求解结果的精度,以及对外界误差的灵敏度。现有优化算法的三大特性在解决大规模非线性优化问题时,表现出相互制约的缺陷。
(1)有效性和精确性的矛盾:现有算法在求解大规模问题时,要快速或者在可接受的计算时间内求解出问题的解(即提高有效性),有可能导致结果与实际情况存在较大的误差(即精确性降低)。
(2)稳健性和有效性的矛盾:为了准确找到大规模优化问题的解,现有算法必须采用大量的规则和策略来实现初始解的合理选择和算法的有效收敛(即提高稳健性),而这势必花费大量的计算时间,降低了算法的有效性。
出现以上问题的原因在于:非线性规划问题的函数结构和算法的高效收敛是影响其问题求解的两大因素,而现有算法或为了改善问题的函数结构却过度增加算法收敛的难度,或在现有问题的函数结构不变条件下,采用复杂的、耗费大量计算资源的启发策略。具体表现在:
(1)确定性算法(线性约束问题算法推广、罚函数法和序列二次规划法),均在不同程度上对问题的函数结构进行了简化,包括将复杂的非线性约束用线性或较简单的二次非线性近似表示,或者引入罚函数把非线性约束优化问题转化为无线性优化约束问题。但是这类算法需要求解一系列的线性规划、二次规划或者无约束优化问题来逐次逼近原问题,计算量大且收敛速度慢,更严重的是随着问题规模随变量数量程指数增长,这些算法的收敛能力越来越差,这使得很难对其精确求解。
(2)智能算法(模拟退火,遗传算法,禁忌搜索,人工神经网络等),在现有问题的函数结构不变条件下,采用大量的启发式规则,能定性分析却难定量证明,且大多数算法基于随机特性,初始解的选择和算法收敛难以估计。在求解大规模非线性优化问题时,其收敛性一般是概率意义上的,实际性能不可控,往往收敛速度也比较慢,计算复杂度较高。
因此,有必要提出一种新的算法,从非线性优化问题函数结构和算法收敛两方面同时改进,开发具有稳健性、有效性和精确性算法用于求解大规模非线性优化问题。
发明内容
为此,需要提供一种新型的非线性问题优化算法,解决大规模非线性问题稳健、有效、精算计算的问题。
为实现上述目的,发明人提供了一种非线性优化方法,包括如下步骤,根据非线性优化问题建立线性化模型;通过第一阶迭代算法求解线性化模型,不断缩小非线性优化问题与线性化模型间的误差,最终找到非线性问题在某目标值下的可行解;通过第二阶迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,即非线性优化问题的解。
具体地,通过迭代算法求解线性化模型,最终找到非线性问题在某目标值下的可行解;
包括步骤,
步骤S200:获取非线性问题的初始解集X’,设置求解最大迭代次数kmax,和迭代的初始次数k=1;
步骤S201:求解所述线性规划模型,获得线性规划模型解X;
步骤S202:判断线性规划模型的目标值r是否小于预设值,
若为是,则输出该可行解,算法停止;
否则,进行步骤S203;
步骤S203:增加一次线性规划模型的迭代次数,k=k+1;
步骤S204:判断线性规划模型的迭代次数k是否超过最大迭代次数;
若超过最大迭代次数,则算法停止;
否则,进入步骤S205;
步骤S205:采用平均值法更新解集:
X’=[X’+X]/2,其中X为线性规划模型得到的解,更新解集后,返回步骤S201。
具体地,通过迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,包括步骤,
步骤S300:设置所述非线性优化问题的目标函数为Z(X),迭代参数m=1;
步骤S301:设非线性优化问题的初始目标值Q’=0;
步骤S302:执行第一阶迭代(步骤S200-S205),求解在Q’=0时,非线性优化问题的可行解;
步骤S303:判断非线性优化问题在Q’=0时,是否有解;
若无解,进行步骤S304,
若有解,进行步骤S305;
步骤S304:采用表达式Z(X)=Z(X)+104m来转化原非线性问题的目标函数,并更新迭代次数:m=m+1;
步骤S305:设置初始迭代参数:k=1,nk=n1=1;
步骤S306:估算非线性优化问题的目标值:
步骤S307:执行第一阶迭代(步骤S200-S205),求解在Q’nk下,非线性优化问题的可行解;
步骤S308:判断非线性优化问题在Q’nk下是否有解。如果无解,进入步骤S309;如果有解,进行步骤S312;
步骤S309:判断迭代参数nk是否为1。如果不为1,进入步骤S310;如果为1,进入步骤S311;
步骤S310:更新迭代参数:k=k+1,nk=1。返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S311:更新迭代参数:nk=0,返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S312:判断间隔两次非线性优化问题有解情况下,相邻两次可行解的目标值Q’nk和Q’(nk-1)的目标值相对误差是否小于预设值,
如是则输出结果,算法停止;
否则,返回步骤S306。
优选地,相邻两次可行解的目标值相对误差预设值为0.01。
一种大规模非线性优化存储介质,所述存储介质在被运行时执行如下步骤,根据非线性优化问题建立线性化模型;通过第一阶迭代算法求解线性化模型,不断缩小非线性优化问题与线性化模型间的误差,最终找到非线性问题在某目标值下的可行解;通过第二阶迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,即非线性优化问题的解。
具体地,所述存储介质在被运行时执行通过第一阶迭代算法求解线性化模型,不断缩小非线性优化问题与线性化模型间的误差,最终找到非线性问题在某目标值下的可行解,具体如下步骤,
步骤S200:获取非线性问题的初始解集X’,设置求解最大迭代次数kmax,和迭代的初始次数k=1;
步骤S201:求解所述线性规划模型,获得线性规划模型解X;
步骤S202:判断线性规划模型的目标值r是否小于预设值,
若为是,则输出该可行解,算法停止;
否则,进行步骤S203;
步骤S203:增加一次线性规划模型的迭代次数,k=k+1;
步骤S204:判断线性规划模型的迭代次数k是否超过最大迭代次数;
若超过最大迭代次数,则算法停止;
否则,进入步骤S205;
步骤S205:采用平均值法更新解集:
X’=[X’+X]/2,其中X为线性规划模型得到的解,更新解集后,返回步骤S201。
具体地,所述存储介质在被运行时执行,通过迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,具体包括步骤,
步骤S300:设置所述非线性优化问题的目标函数为Z(X),迭代参数m=1;
步骤S301:设非线性优化问题的初始目标值Q’=0;
步骤S302:执行第一阶迭代(步骤S200-S205),求解在Q’=0时,非线性优化问题的可行解;
步骤S303:判断非线性优化问题在Q’=0时,是否有解;
若无解,进行步骤S304,
若有解,进行步骤S305;
步骤S304:采用表达式Z(X)=Z(X)+104m来转化原非线性问题的目标函数,并更新迭代次数:m=m+1;
步骤S305:设置初始迭代参数:k=1,nk=n1=1。
步骤S306:估算非线性优化问题的目标值:
步骤S307:执行第一阶迭代(步骤S200-S205),求解在Q’nk下,非线性优化问题的可行解;
步骤S308:判断非线性优化问题在Q’nk下是否有解。如果无解,进入步骤S309;如果有解,进行步骤S312;
步骤S309:判断迭代参数nk是否为1。如果不为1,进入步骤S310;如果为1,进入步骤S311;
步骤S310:更新迭代参数:k=k+1,nk=1。返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S311:更新迭代参数:nk=0,返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S312:判断间隔两次非线性优化问题有解情况下,相邻两次可行解的目标值Q’nk和Q’(nk-1)的目标值相对误差是否小于预设值,
如是则输出结果,算法停止;
否则,返回步骤S306。
优选地,相邻两次可行解的目标值相对误差预设值为0.01。
区别于现有技术,上述技术方案一方面将大规模非线性优化问题(NLP/MINLP)中非线性项用一阶泰勒展开式表示,降低问题的函数结构;另一方面,提出新的线性规划(LP)或混合整数线性规划(MILP)二阶迭代算法,可同时提高优化的收敛速度和问题求解精度。新算法克服了现有算法在求解大规模非线性优化问题时的缺陷,具有求解结果精度高、收敛性能好、计算资源消耗少等优势。并通过一个现有算法无法解决的实施案例证明了新算法的可行性和优越性。
附图说明
图1为本发明具体实施方式所述的整体逻辑结构示意图;
图2为本发明具体实施方式所述的非线性优化问题转化流程图;
图3为本发明具体实施方式所述的第一阶迭代流程图;
图4为本发明具体实施方式所述的第二阶迭代流程图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
一种新的基于一阶泰勒展开式和迭代优化算法的大规模非线性优化方法主要包括三部分:非线性优化问题转化、用于寻找非线性问题在某一目标值下可行解的第一阶迭代、以及寻找非线性问题近似最大目标值下可行解的第二阶迭代。三部分关系描述如图1。
·非线性优化问题转化首先将所有优化问题转化为目标值最大的问题,并通过一阶泰勒展开式将非线性问题转化为可用于第一阶迭代求解的新线性化模型。这部分算法可以交由数学软件辅助实现,如MATLAB内的某些算法模板已经能够简单实现,还能够交由人工计算获得,将数据集输入给计算机,存入数据库中等方法,也能够进行后续步骤。
·第一阶迭代的目的是通过迭代求解新线性化模型,找到在给定的非线性问题在某一目标值下的可行解。
·第二阶迭代需要多次进行第一阶迭代,目的是找到非线性问题的近似最大目标值。
第一部分:非线性优化问题转化(具体步骤如图2所示)
步骤S100:如非线性优化问题(NLP/MINLP)为目标值最小问题,将其传化为目标值最大问题。
步骤S100中,设z为NLP/MINLP P的目标值,当问题为求解z的最大值时,保持原目标方程不变;当问题为求解z的最小值时,只需将其转化为求解(M-z)最大值的优化问题,其中M为任一个非常大的正整数。
步骤S101:非线性优化问题(NLP/MINLP)中所有非线性关系用一阶泰勒展开式描述。如式(1)表示:
式(1)中,f(X)为非线性表达式,X为变量x的集合(X={x1,x2,x3,…,xi}),X’为X的某一组初始解集合(X’={x’1,x’2,x’3,…,x’i}),R为一阶泰勒展开式的余项。通过式(1)将非线性表达式f(X)转化为线性表达式(等式右边),其中,X={x1,x2,x3,…,xi}和R为变量,f(X’)、X’={x’1,x’2,x’3,…,x’i}和为参数。
步骤S102:在步骤S100和步骤S101的基础上,建立新的线性优化模型(LP/MILP),其目标是在达到原NLP/MINLP某一目标值(Q’)条件下,使所有一阶泰勒展开式的余项值最小。
步骤S102中,新线性化模型(LP/MILP)描述如下:
式(2)约束了LP/MILP模型的Q值(QLP)应等于设定的NLP/MINLP某一目标值(Q’)。
QLP=Q′ (2)
式(3)和(4)中,gk(X)和gj(X)为原NLP/MINLP中线性约束表达式,可直接用于新LP/MILP模型。
gk(X)=0,
k∈K={1,2,...,k} (3)
gj(X)≤0,
j∈J={1,2,...,j} (4)
fn(X)和fm(X)为原NLP/MINLP中线性约束表达式。式(5)和(6)将这些非线性约束用一阶泰勒展开式实现了模型的线性化。
式(7)和(8)为新模型的变量定义,Xii为连续变量集合,Xiii为整数变量集合。I为所有变量x的数量。
MinXii≤Xii≤MaxXii,ii∈II={1,2,...,ii} (7)
Xiii={0,1,2,3,...,iii},iii∈III=I-II (8)
式(2)-(8)组成了新线性化问题的约束,其目标(r)是使所有一阶泰勒展开式的余项值最小,如式(9)。当新模型不存在整数变量时,称为线性规划(LP);否则,称为混合整数线性规划(MILP)。
第二部分:第一阶迭代(图3,步骤S200-S205)
步骤S200:原非线性问题的初始解X’(NLP/MINLP)可从任意未必可行的初始点出发,设置求解最大迭代次数kmax,和迭代的初始次数k=1。
步骤S201:求解步骤S102建立的线性规划(LP/MILP)模型,获得新模型解X(LP/MILP)。其中,对于线性规划(LP)问题,将采用经典的对偶单纯形算法(确定性算法)进行求解;混合整数线性规划(MILP)问题则采用确定性算法中的分支定界算法。
步骤S202:判断新模型(LP/MILP)的目标值r是否足够小。
(a)新模型(LP/MILP)的目标值r足够小,即表示线性化新模型中所有一阶泰勒展开式的余项值很小,新模型的解X(LP/MILP)即可作为原非线性问题(NLP/MINLP)在目标值(Q’)下的可行解,输出该可行解,算法停止。
(b)目标值r过大,进入步骤S203。由于新LP/MILP是通过一阶泰勒展开式来表示旧NLP/MINLP所有非线性关系,新、旧模型解的误差表现为所有一阶泰勒展开式的余项值(即新模型的目标值r)。新算法运行初期,初始假设的解集X’(NLP/MINLP)通常不是问题的可行解,求解新模型(LP/MILP)时,LP/MILP的目标值(所有一阶泰勒展开式的余项值)会很大,需采用一系列的迭代方法逐渐更新解集X’(NLP/MINLP)(步骤S205)。
步骤S203:增加一次求解新模型的迭代次数,k=k+1。
步骤S204:判断求解新模型的迭代次数(k)是否超过最大迭代次数(kmax)。
(a)如果迭代次数(k)大于最大迭代次数(kmax),说明新模型的一阶泰勒展开式余项之和无法通过迭代算法减少到可接受的误差范围内,即不能找到原非线性问题(NLP/MINLP)在目标值Q’下的可行解,算法停止。
(b)当迭代次数(k)没超过最大迭代次数(kmax)时,进入步骤S205。
步骤S205:采用平均值法更新解集:X’(NLP/MINLP)=[X’(NLP/MINLP)+X(LP/MILP)]/2,其中X(LP/MILP)为求解新模型(LP/MILP)得到的解。更新X’(NLP/MINLP)后,返回步骤S201,求解更新解集后的LP/MILP问题,通过步骤S201至步骤S205的不断迭代,逐步缩小旧问题解X’(NLP/MINLP)和线性化模型解X(LP/MILP)的误差。
第三部分:第二阶迭代(图3,步骤S300-S313)
步骤S300:所有非线性优化问题在步骤S100中已传化为求目标值最大的优化问题。设该非线性优化问题(NLP/MINLP)目标函数为Z(X),迭代参数m=1。
步骤S301:设非线性优化问题(NLP/MINLP)的初始目标值Q’=0。
步骤S302:执行第一阶迭代(步骤S200-S205),求解在Q’=0时,非线性优化问题(NLP/MINLP)的可行解。
步骤S303:判断非线性优化问题(NLP/MINLP)在Q’=0时,是否有解。
(a)如果无解,进入步骤S304。Q’=0时,非线性优化问题(NLP/MINLP)无解,表示原非线性问题(NLP/MINLP)的最大目标值为负值,需要通过目标函数的转化将其变成最大目标值为整数的优化问题。
(b)如果有解,进入步骤S305。
步骤S304:采用表达式Z(X)=Z(X)+104m来转化原非线性问题的目标函数,并更新迭代次数:m=m+1。上述表达式将原非线性优化问题(求Z(X)的最大值)转化为另一个非线性优化问题(求Z(X)+104m的最大值),它可以保证经过有限次迭代后(m足够大时),转化后的非线性优化问题在Q’=0时有可行解。
步骤S305:设置初始迭代参数:k=1,nk=n1=1。
步骤S306:估算非线性优化问题(NLP/MINLP)的目标值:
步骤S307:执行第一阶迭代(步骤S200-S205),求解在Q’nk下,非线性优化问题(NLP/MINLP)的可行解。
步骤S308:判断非线性优化问题(NLP/MINLP)在Q’nk下是否有解。如果无解,进入步骤S309;如果有解,进入步骤S312。
步骤S309:判断迭代参数nk是否为1。如果不为1,进入步骤S310;如果为1,进入步骤S311。
步骤S310:更新迭代参数:k=k+1,nk=1。返回步骤S306,重新估算非线性优化问题(NLP/MINLP)的目标值Q’nk。
步骤S311:更新迭代参数:nk=0。返回步骤S306,重新估算非线性优化问题(NLP/MINLP)的目标值Q’nk。
步骤S312:判断间隔两次非线性优化问题(NLP/MINLP)有解情况下,它们的目标值相对误差是否小于0.01。
(a)如相邻两次可行解的目标值(Q’nk和Q’(nk-1))相对误差小于0.01,
表示目标值趋近最大,算法停止。
(b)如相邻两次可行解的目标值(Q’nk和Q’(nk-1))相对误差较大,返
回步骤S306,寻找更大目标值下Q’nk,非线性优化问题(NLP/MINLP)
的可行解。
第二阶迭代(步骤S300-S313)需要多次执行第一阶迭代(步骤S200-S205),其目的是找到非线性优化问题(NLP/MINLP)的近似最大目标值。通过步骤S306-S313可不断增加其目标值(Q’),并采用第一阶迭代(步骤S200-S205),判断非线性优化问题(NLP/MINLP)在相应目标值下是否有可行解。当相邻两次可行解的目标值相对误差小于0.01时,可认为目标值达到近似最大。
新算法的可行性和优越性可从以下具体实施方案进行说明。
求解一个大规模的非线性优化问题,该问题为混合整数非线性规划(MINLP),是所有非线性优化问题中难度最大的,现有算法还未能对其进行有效地求解。
目标函数:
约束条件:
ex∈EX
ex∈EX
上述约束方程中:ex∈EX={1,2,...,31},j∈J={1,2,3,4},j∈J={1,2,3,4},n∈N={1,2},s∈S={1,2,...,14}
整数变量(0-1变量)有:BPs,ex,BSPCex,ENTUex,INEXLex,REXLex,SPex,n,SPex,n,TEXex,j,TUPAex。
相关已知参数如表1-表3所示。
表1实施案例参数
表2实施案例参数
表3实施案例参数
求解案例的计算机配置为:Intel(R)Core(TM)i7-6700CPU@3.40GHz and 8GBRAM。用新算法求解实施案例结果如表4所示,可看到:第二阶迭代通过迭代算法(步骤S300-S313)逐渐增加非线性优化问题目标值Q的估算值,第一阶迭代(步骤S200-S205)则不断求解不同Q值下,非线性优化问题的可行解。当Q11=131000时,非线性优化问题有可行解,且该Q11值与前一个Q10值的相对误差小于0.01,整个算法停止,131000即为非线性优化问题的近似最大目标值。该例子很好地证明了新算法在求解大规模复杂非线性优化问题上的可行性和优越性。
表4新算法求解实施案例结果
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (8)
1.一种非线性优化方法,其特征在于,包括如下步骤,根据非线性优化问题建立线性化模型;通过第一阶迭代算法求解线性化模型,不断缩小非线性优化问题与线性化模型间的误差,最终找到非线性问题在某目标值下的可行解;通过第二阶迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,即非线性优化问题的解。
2.根据权利要求1所述的非线性优化方法,其特征在于,通过迭代算法求解线性化模型,最终找到非线性问题在某目标值下的可行解;
包括步骤,
步骤S200:获取非线性问题的初始解集X’,设置求解最大迭代次数kmax,和迭代的初始次数k=1;
步骤S201:求解所述线性规划模型,获得线性规划模型解X;
步骤S202:判断线性规划模型的目标值r是否小于预设值,
若为是,则输出该可行解,算法停止;
否则,进行步骤S203;
步骤S203:增加一次线性规划模型的迭代次数,k=k+1;
步骤S204:判断线性规划模型的迭代次数k是否超过最大迭代次数;
若超过最大迭代次数,则算法停止;
否则,进入步骤S205;
步骤S205:采用平均值法更新解集:
X’=[X’+X]/2,其中X为线性规划模型得到的解,更新解集后,返回步骤S201。
3.根据权利要求1所述的非线性优化方法,其特征在于,通过迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,包括步骤,
步骤S300:设置所述非线性优化问题的目标函数为Z(X),迭代参数m=1;
步骤S301:设非线性优化问题的初始目标值Q’=0;
步骤S302:执行第一阶迭代(步骤S200-S205),求解在Q’=0时,非线性优化问题的可行解;
步骤S303:判断非线性优化问题在Q’=0时,是否有解;
若无解,进行步骤S304,
若有解,进行步骤S305;
步骤S304:采用表达式Z(X)=Z(X)+104m来转化原非线性问题的目标函数,并更新迭代次数:m=m+1;
步骤S305:设置初始迭代参数:k=1,nk=n1=1;
步骤S306:估算非线性优化问题的目标值:
<mrow>
<msubsup>
<mi>Q</mi>
<msub>
<mi>n</mi>
<mi>k</mi>
</msub>
<mo>&prime;</mo>
</msubsup>
<mo>=</mo>
<msup>
<mn>10</mn>
<mrow>
<mo>(</mo>
<msub>
<mi>n</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>2</mn>
</mrow>
<mi>K</mi>
</munderover>
<msub>
<mi>n</mi>
<mi>k</mi>
</msub>
<mo>&times;</mo>
<msup>
<mn>10</mn>
<mrow>
<mo>(</mo>
<msub>
<mi>n</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msup>
</mrow>
步骤S307:执行第一阶迭代(步骤S200-S205),求解在Q’nk下,非线性优化问题的可行解;
步骤S308:判断非线性优化问题在Q’nk下是否有解。如果无解,进入步骤S309;如果有解,进行步骤S312;
步骤S309:判断迭代参数nk是否为1。如果不为1,进入步骤S310;如果为1,进入步骤S311;
步骤S310:更新迭代参数:k=k+1,nk=1。返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S311:更新迭代参数:nk=0,返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S312:判断间隔两次非线性优化问题有解情况下,相邻两次可行解的目标值Q’nk和Q’(nk-1)的目标值相对误差是否小于预设值,
如是则输出结果,算法停止;
否则,返回步骤S306。
4.根据权利要求3所述的非线性优化方法,其特征在于,相邻两次可行解的目标值相对误差预设值为0.01。
5.一种非线性优化存储介质,其特征在于,所述存储介质在被运行时执行如下步骤,根据非线性优化问题建立线性化模型;通过第一阶迭代算法求解线性化模型,不断缩小非线性优化问题与线性化模型间的误差,最终找到非线性问题在某目标值下的可行解;通过第二阶迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,即非线性优化问题的解。
6.根据权利要求5所述的非线性优化存储介质,其特征在于,所述存储介质在被运行时执行通过第一阶迭代算法求解线性化模型,不断缩小非线性优化问题与线性化模型间的误差,最终找到非线性问题在某目标值下的可行解,具体如下步骤,
步骤S200:获取非线性问题的初始解集X’,设置求解最大迭代次数kmax,和迭代的初始次数k=1;
步骤S201:求解所述线性规划模型,获得线性规划模型解X;
步骤S202:判断线性规划模型的目标值r是否小于预设值,
若为是,则输出该可行解,算法停止;
否则,进行步骤S203;
步骤S203:增加一次线性规划模型的迭代次数,k=k+1;
步骤S204:判断线性规划模型的迭代次数k是否超过最大迭代次数;
若超过最大迭代次数,则算法停止;
否则,进入步骤S205;
步骤S205:采用平均值法更新解集:
X’=[X’+X]/2,其中X为线性规划模型得到的解,更新解集后,返回步骤S201。
7.根据权利要求5所述的非线性优化存储介质,其特征在于,所述存储介质在被运行时执行,通过迭代算法不断更新寻找非线性问题的目标值,最终寻找到其最大目标值的问题的可行解,具体包括步骤,
步骤S300:设置所述非线性优化问题的目标函数为Z(X),迭代参数m=1;
步骤S301:设非线性优化问题的初始目标值Q’=0;
步骤S302:执行第一阶迭代(步骤S200-S205),求解在Q’=0时,非线性优化问题的可行解;
步骤S303:判断非线性优化问题在Q’=0时,是否有解;
若无解,进行步骤S304,
若有解,进行步骤S305;
步骤S304:采用表达式Z(X)=Z(X)+104m来转化原非线性问题的目标函数,并更新迭代次数:m=m+1;
步骤S305:设置初始迭代参数:k=1,nk=n1=1。
步骤S306:估算非线性优化问题的目标值:
<mrow>
<msubsup>
<mi>Q</mi>
<msub>
<mi>n</mi>
<mi>k</mi>
</msub>
<mo>&prime;</mo>
</msubsup>
<mo>=</mo>
<msup>
<mn>10</mn>
<mrow>
<mo>(</mo>
<msub>
<mi>n</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msup>
<mo>+</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>2</mn>
</mrow>
<mi>K</mi>
</munderover>
<msub>
<mi>n</mi>
<mi>k</mi>
</msub>
<mo>&times;</mo>
<msup>
<mn>10</mn>
<mrow>
<mo>(</mo>
<msub>
<mi>n</mi>
<mn>1</mn>
</msub>
<mo>-</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msup>
</mrow>
步骤S307:执行第一阶迭代(步骤S200-S205),求解在Q’nk下,非线性优化问题的可行解;
步骤S308:判断非线性优化问题在Q’nk下是否有解。如果无解,进入步骤S309;如果有解,进行步骤S312;
步骤S309:判断迭代参数nk是否为1。如果不为1,进入步骤S310;如果为1,进入步骤S311;
步骤S310:更新迭代参数:k=k+1,nk=1。返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S311:更新迭代参数:nk=0,返回步骤S306,重新估算非线性优化问题的目标值Q’nk;
步骤S312:判断间隔两次非线性优化问题有解情况下,相邻两次可行解的目标值Q’nk和Q’(nk-1)的目标值相对误差是否小于预设值,
如是则输出结果,算法停止;
否则,返回步骤S306。
8.根据权利要求7所述的非线性优化存储介质,其特征在于,相邻两次可行解的目标值相对误差预设值为0.01。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710724850.XA CN107491841A (zh) | 2017-08-22 | 2017-08-22 | 非线性优化方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710724850.XA CN107491841A (zh) | 2017-08-22 | 2017-08-22 | 非线性优化方法及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107491841A true CN107491841A (zh) | 2017-12-19 |
Family
ID=60650925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710724850.XA Pending CN107491841A (zh) | 2017-08-22 | 2017-08-22 | 非线性优化方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491841A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614571A (zh) * | 2018-10-09 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 非线性规划问题的处理方法及装置 |
CN109947076A (zh) * | 2019-03-14 | 2019-06-28 | 华中科技大学 | 一种基于贝叶斯信息准则的工业过程故障诊断方法 |
CN112106068A (zh) * | 2018-05-15 | 2020-12-18 | 上海科技大学 | 一种快速且确定性的一致集最大化算法 |
-
2017
- 2017-08-22 CN CN201710724850.XA patent/CN107491841A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112106068A (zh) * | 2018-05-15 | 2020-12-18 | 上海科技大学 | 一种快速且确定性的一致集最大化算法 |
CN109614571A (zh) * | 2018-10-09 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 非线性规划问题的处理方法及装置 |
CN109614571B (zh) * | 2018-10-09 | 2023-05-12 | 创新先进技术有限公司 | 非线性规划问题的处理方法及装置 |
CN109947076A (zh) * | 2019-03-14 | 2019-06-28 | 华中科技大学 | 一种基于贝叶斯信息准则的工业过程故障诊断方法 |
CN109947076B (zh) * | 2019-03-14 | 2020-06-02 | 华中科技大学 | 一种基于贝叶斯信息准则的工业过程故障诊断方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mungle et al. | A fuzzy clustering-based genetic algorithm approach for time–cost–quality trade-off problems: A case study of highway construction project | |
Wang et al. | Stochastic economic emission load dispatch through a modified particle swarm optimization algorithm | |
Dey | Applications of firefly algorithm and its variants | |
Khan et al. | Sampling CAD models via an extended teaching–learning-based optimization technique | |
CN110992113A (zh) | 基于神经网络智能算法的基建变电站项目造价预测方法 | |
CN106096127A (zh) | 含区间参数不确定性结构的稳健性优化设计方法 | |
CN102063550A (zh) | 机器智能参与设计决策的冷挤压件智能设计系统 | |
CN106529818A (zh) | 基于模糊小波神经网络的水质评价预测方法 | |
CN109086930A (zh) | 一种基于电力k线图及深度网络的用户用电行为分析方法 | |
CN104217258A (zh) | 一种电力负荷条件密度预测方法 | |
CN107491841A (zh) | 非线性优化方法及存储介质 | |
CN104732091A (zh) | 基于自然选择蚁群算法的元胞自动机河床演变预测方法 | |
CN107807909A (zh) | 一种区域土地用途调控政策模拟与效应分析方法 | |
Liu et al. | Earth pressure balance control of shield tunneling machine based on nonlinear least squares support vector machine model predictive control | |
CN113591368A (zh) | 一种综合能源系统多能负荷预测方法及系统 | |
Chen et al. | An effective path planning of intelligent mobile robot using improved genetic algorithm | |
Sapnken et al. | Learning latent dynamics with a grey neural ODE prediction model and its application | |
Zhong et al. | Construction project risk prediction model based on EW-FAHP and one dimensional convolution neural network | |
Cao et al. | A grey wolf optimizer–cellular automata integrated model for urban growth simulation and optimization | |
CN112241785B (zh) | 一种基于深度强化学习的图书采访方法 | |
Guo et al. | Improved cat swarm optimization algorithm for assembly sequence planning | |
Luo et al. | A probabilistic framework with the gradient-based method for multi-objective land use optimization | |
CN116054144A (zh) | 分布式光伏接入的配电网重构方法、系统及存储介质 | |
Qian et al. | Towards discrete manufacturing workshop-oriented digital twin model: Modeling, verification and evolution | |
CN116596105A (zh) | 一种考虑配电网发展的充电站负荷预测方法 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20181010 Address after: 350000 Fuzhou, Fujian, Gulou District, Wufeng street, 56 Prime Minister Road, 1 phase 2, H-10 Applicant after: Fuzhou Gulou District Yi Sheng Ke intelligent technology partnership (limited partnership) Address before: 361006 Xiamen China (Fujian) Free Trade Experimental Zone, Xiamen, Fujian Province Applicant before: Xiamen Yi Shengke Intelligent Technology Co Ltd |
|
TA01 | Transfer of patent application right | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171219 |
|
WD01 | Invention patent application deemed withdrawn after publication |