一类无约束非线性整数规划的区间算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一类无约束非线性整数规划的区间算法
秦军;赵莎莎
【摘要】This paper discusses the numerical algorithm for a class of unconstrained nonlinear integer programming, in which the objective function is Lipschitz continuous. By way of constructing the interval extension of the objective function and introducing the test rules of region deletion, an interval algorithm for solving unconstrained nonlinear integer pmgranuning is established and an experiment upon the numerical examples is performed. Both theoretical proof and numerical experiments show that the algorithm is reliable and effective.%讨论目标函数为Lipschitz 连续函数的无约束整数规划的数值算法.通过构造目标函数的区间扩张和无解区域删除检验原则,建立了求解无约束非线性整数规划的区间算法,并进行了数值实验.理论证明和数值实验均表明算法是可靠和有效的.
【期刊名称】《淮阴师范学院学报(自然科学版)》
【年(卷),期】2012(011)001
【总页数】4页(P4-7)
【关键词】整数规划;区间扩张;区间算法;无约束优化问题
【作者】秦军;赵莎莎
【作者单位】中国矿业大学理学院,江苏徐州221116;广西大学电气工程学院,广西南宁530004
【正文语种】中文
【中图分类】O242.29
整数规划问题是当今最优化问题研究的难点和重点,是数学规划中常见的、复杂的一大类问题.整数规划广泛应用于许多工程领域,如资源管理、生产调度、可靠性优化、目标分配、超大规模集成电路设计等.由于求解整数规划问题的难度远比求解一般规划问题要大,因此对于整数规划,特别是非线性整数规划问题目前仍缺乏有效的通用算法,而且单层整数规划的难以求解已经成为二层以及多层整数规划算法研究的瓶颈问题.对于一般的整数规划,可使用分支定界法、割平面法和枚举法等求解[1].而对于较大规模的整数规划问题,近年来随着进化计算的发展许多学者运用遗传算法[2]、模拟退火算法[3]、粒子群优化算法[4]、蚁群算法[5]等方法来求解.遗传算法是一种群体性全局寻优方法,它吸取了生物进化和遗传论的研究成果,但算法执行到一定阶段后向最优解收敛速度会降低,算法的性能依赖于遗传因子的取值,并且会出现早熟收敛情况.模拟退火算法模拟物质材料的冷却与结晶过程,通过退火温度控制搜索过程,但存在着针对大型问题系统进入热平衡状态(对应于最优解)时间较长的问题.粒子群算法和蚁群算法性能也依赖于设定参数,参数设定的优劣直接影响算法的运算效果.
由于区间优化方法具有对非线性函数比较容易处理及算法的可靠性、收敛性均有保证的特点,区间优化方法成为求解Lipschitz函数优化问题的一个有效方法.本文讨论了目标函数为Lipschitz连续函数的区间扩张和无解删除检验原则,基于Moore 的“二分”原则[6],建立了求解无约束整数规划问题的区间算法,给出了数值算例.利用区间优化理论求解非线性整数规划问题是新的尝试,目前关于这方面的文献还比较少见.
本文讨论如下问题:
这里X(0)={x=(x1,x2,…,xn)T|xi∈[ai,bi]⊂表示X(0)中整数点全体,f:Rn→R1为Lipschitz连续函数,C为Lipschitz常数.即对于∀x1,x2∈X(0),有以下不等式成立: 我们以I(X(0))表示X(0)上所有区间向量的集合.以m(X),W(X),R(X),|X|分别表示
X∈I(X(0))的中点,宽度,半径,绝对值.以X分别表示X的左、右端点.如果函数f(x)和区间函数F(X)满足F(x)=f(x),f(x)∈F(X)(∀x∈X),则称F(X)为f(x)的区间扩张.与本文有关的区间数学的其他概念和内容,可参阅文[6].
对任意的X∈I(X(0)),定义区间函数F(X):I(X(0))→I(R)如下
定理1[7] 设函数f(x)是Lipschitz连续函数,即满足式(2),则由式(3)定义的区间函数F(X)是f(x)的区间扩张.
假设将区域X(0)分成m个部分,每部分记为X(i)(i=1,2,…,m).引入下面的记号
定理2 设则有f
证明对x∈X(i),有f(x)≥F(i),所以F(i)=f.
类似的,所以f*∈[f,
设i0使得f=F(i0),则
当αm→0时,有f从而结论得证.
利用无解区域删除原则可以大量排斥无解区域,减少存储量,降低计算成本,加快算法的收敛速度.
删除检验原则1 (端点检验)
对于X(i)∈I(X(0)),如果左端点X(i)(右端点不为整数,则令即对X(i)的左(右)端点向上(下)取整.由于或内部不包含整数向量,所以一定不包含最优解,可以将其从区域X(i)删除.
定理3 将区域X(0)划分为m部分,记号同式(4),若则区域X(i)不包含问题(1)的最优解.
证明对∀x∈X(i),有
所以区域X(i)不包含问题(1)的最优解.
由定理3可得到:
删除检验原则2 (赋值检验)
设F(X):I(X(0))→I(R)是f(x)的区间扩张,是的一个上界,如果对X∈I(X(0))有F则X中一定没有最优解,因此可以将X从X(0)中删除.
定理是的一个上界,如果对x0∈X(i)有成立,则区域int(Xγ)内部无最优点,其中
证明对Xγ中任意一点x,有‖x-x0‖∞lt;γ.因此
所以x不是问题(1)的最优解.证毕.
由定理4可得到:
删除检验原则3 (Lipschitz检验)
是的一个上界,且令γ=.如果γ大于R(X(i))的分量中第二大值,则可将区域从区域X(i)中删除,其中
在前面讨论的基础上,建立下面的算法.算法从区域X(0)开始产生一个数据表L,表L中的元素形如(X,Fl).表L中的元素按Fl值的升序排列,每个X均由表L中的第一项按照最大宽度坐标方向二分得到.
下面对区间扩张(IE)给出求解问题(1)全局最优算法的具体步骤:
步骤1:令计算Fl=F(X),记初始化;L=((X,Fl))
步骤2:若表L为空,则进行步骤11,否则从表L中取出第一个元素记为(X,Fl),并从L 中删除该元素;
步骤3:若W(F(X))=0成立,则进行步骤10;
步骤4:令γ=,判断γ是否大于半径R(X)的分量的第二大值,如果是,则将区域
int(X(i))从X中删除,删除后的区域分为两部分,分别记为X(1),X(2);否则,按最大X 宽度方向二分X,得到X(1),X(2);KB=KB+1;
步骤5:令
步骤6:计算F校正
步骤7:让按Fl的升序进入表L;
步骤8:删除表L中所有满足的项(X,Fl);
步骤9:令K=K+1;转步骤2;
步骤10:打印结果minf=Fl,X;KS=KS+1;转步骤2;
步骤11:结束.
利用上述算法,用Matlab 7.9编程进行数值实验,其中记号K、KB、KS分别表示循环次数、分半次数、最终结果中元素的个数.
例1 min|x1-1|+|x2+2|+|x3|
该问题最小值为0.
用区间算法计算,表L的第一个输出结果(K=58,KB=58)
算法终止时,KS=1.
例
该问题最小值为17.
用区间算法计算,表L的第一个输出结果(K=612,KB=612)
算法终止时,KS=1.
例
该问题最小值为-11.7.
用区间算法计算,表L的第一个输出结果(K=3343,KB=3343)
算法终止时,KS=8.
以上算例及更多的算例表明,本文所提出的区间算法是可靠和有效地,也说明了该算法的可行性.
【相关文献】
[1]现代应用数学手册编委会. 现代应用数学手册:运筹学与最优化理论卷[M]. 北京:清华大学出版社,1997,195-220.
[2]丰建荣,刘志河,刘正和. 混合整数规划问题遗传算法的研究及仿真实现[J]. 系统仿真学
报,2004,16(4):845-848.
[3]谢云. 用模拟退火算法并行求解整数规划问题[J]. 高技术通讯,1991,10(1):21-26.
[4]高尚,杨静宇. 非线性整数规划的粒子群优化算法[J]. 微计算机应用,2007,28(2):126-130.
[5]黄樟灿,吴方才,胡晓林. 基于信息素的整数规划的演化求解[J]. 计算机应用研究,2001,18(7):27-29.
[6]Moore R E. Methods and applications of interval analysis[M]. Phiadelphia:SIAM,1979.
[7]叶帅民. 二层规划问题的区间算法研究[D]. 徐州:中国矿业大学,2000.
[8]Ge R,Huang H. A continuous approach to nonlinear integer programming[J]. Applied Mathematics and Computation,1989,34:39-60.
[9]曹德欣,黄震宇. An interval algorithm for a discrete minimax problem[J]. 南京大学学报数学:半年刊,1997,14(1):74-82.
[10]Asaithambi N S,Shen Zuhe,Moore R E. On computing the range of values[J]. Computing,1982,28:225-237.。