GENOCOP算法在0—1非线性整数规划模型中的应用
2023-11-20
来源:好走旅游网
第3o卷第5期 V01.30 Nl0.5 长春师范学院学报(自然科学版) Joumal 0f CAm ̄hun Normal University(Natural Science) 2011年1O月 Oct.201l GENOCOP算法在0—1非线性整数规划模型中的应用 袁[摘晓,利洁婷,王世其 (湛江师范学院数学与计算科学学院,广东湛江524048) 要]本文针对某公司电力容量扩展问题,采用一元线性回归模型拟合未来l0年的需求量,再建 立0—1非线性整数规划模型,并将该模型的0—1变量连续化处理,采用遗传算法中的GENOCOP算 法求解。 【关键词]线性拟合;非线性整数规划模型;GENOCOP算法 [中图分类号]O221.2 [文献标识码]A [文章编号]1008—178X(2011)05—0016—05 0—1型混合非线性整数规划是整数规划模型中使用非常广泛的一种模型,但是由于本身的复杂性,没有 统一的方法求解.常用的求解思路主要有两大类:将混合变量全部转化为离散型变量或者全部转化为连续型变 量求解.本文针对某个建立混合整数非线性规划模型的某公司电力容量扩展问题,设计将所有0—1变量连续 化处理,从而采用求解线性约束的优化问题的GENOCPO算法较好地解决该问题. 1问题提出 1.1问题提出与数据收集 本问题根据 呷e L.Winston在文献[1]提出的案例11改编: Brite Power是纽约州Finger湖区的一家小型工厂投资电力公司.为了能够扩大公司电力生产,该公司董事 会在2010年夏季决定进行一项研究,主要要求有:(1)确保公司到2020年之前有充足的电力;(2)这项研究要 求时间范围为l0年;(3)这项研究关心的是一年的电力容量,而不是每天或每小时的用电波动情况.Brite Power 公司主要提供的数据有: (工)到2010年年初,Brite拥有的工厂具备60兆瓦特的电力容量. (Ⅱ)公司在过去1O年内电力需求量如下表 表1 2001—2010年公司的电力需求量统计 年份 2o01 2002 需求量(兆瓦特) 36 37 年份 20o6 2O0r7 需求量(兆瓦特) 48 53 200B 2004 20Q5 40 42 46 20o8 2009 2Ol0 54 58 6l (1lI)燃煤工厂的经济情况根据幂定律[23运行——也就是说,新工厂的恒定美元成本(有时候也称为“第0 年的美元”)遵循预测规则:容量为K的工厂成本=[容量K/基本规模的工厂容量]。 *基本规模工厂的成本。 (Ⅳ)在这次分析中,假设基本工厂的生产能力是5兆瓦特;成本是1 800万美元.建造新工厂假设很短,当 年生产当年使用. (V)Brite Power可以建造5、10、l5、20兆瓦特生产能力的工厂,每年至多能建造一个工厂. [收稿日期]2011—08—19 [基金项目]湛江师范学院青年教师校级项目(QI_8O1)。0 [作者简介】袁晓(1982一),女,广东湛江人,湛江师范学院数学与计算科学学院讲师,硕士,从事计算数学研究。 ・ l6・ 除了增加容量,Br/te Power还必须经营工厂;营运成本基于使用的容量.如果第t年的需求量是D。兆瓦特, 第1年的总容量是 兆瓦特,那么按恒定美元计算的第t年运营成本就是(云£)0j・ ・40万美元. 上,l (Ⅶ)假设每年存贮量的上限为l0兆瓦特,每年每兆瓦特的电力的存贮费用是10万美元. (Ⅷ)基本上,虽然公司可以以每兆瓦特60万美元的价格每年从邻近的电力公司购买5兆瓦特电力(按照 恒定美元),但是公司必须满足这年的所有需求. 需要解决的关键问题: (1)如何预测未来lO年的需求量? (2)何时增加容量?应当增加多少? 2模型的建立 2.1问题的分析 该公司主要解决的问题如下:(1)选择合适的预测方法预测未来l0年的预测量;(2)确定在2011—2020年 中,何时建立新工厂,容量为多少;(3)哪些年份需要从邻近的电力公司购买电力,才能满足这些年的所有需求. 很明显,确定某年份建立新厂可以采用0—1变量,从而使该问题建立混合整数规划模型比较合适. 2.2问题的假设 (1)假设在l0年的时间中,公司不考虑年通货膨胀率和折现率等货币折现问题,降低了决策系统的复杂 性,从而使得系统可行.(2)假设公司的电力需求量的数据具有可靠性和稳定性.(3)假设电力工厂不考虑折旧 率。并且相互独立. 2.3未来l0年需求量的预测 通过观察2001年到2010年该公司lO年的电力需求量,我们发现数据呈增长趋势,作出散点图如下: 图1 2001—2010需求量 很明显,需求量呈线性增长趋势,考虑采用一次函数Y=OA;+b拟合预测,采用MATLAB中的拟合工具箱 efwol拟合出一次曲线表达式为),=2.994x+3O.88,作出图形如图2. 其中拟合的可决系数R2=O.9908,说明拟合效果良好。预测出未来10年的需求量如表2所示: 表2未来1O年需求量 年份 2011 012 20l3 2014 2O15 预测量 63.814 66.808 69.802 72.796 75.79o 年份 2O16 20l7 2O18 20l9 2020 预测量 78.784 81.778 84.772 87.766 90.76o ・ 17・ 图2一次函数拟合图 2.4非线性整数规划模型模型的建立 2.4.1考虑约束条件如下: (1)每年贮存电量不超过lO兆瓦特;假设第i年贮存量为vt,t=0,1,2,…,1O,其中假设 0=0.则 10,t=1,2,…,lO. (2)每年至多能建造一个工厂;假设第t年是否建造5、1O、I5、20兆瓦特生产能力的工厂情况分别为 l, 2, f3' f4,当四者取值为0时,表示第£年不修建工厂,当其中某一个为l时,表示修建对应类型的工厂.每年 至多能建造一个工厂越是表示为 ll+ t2+ l3+Xt4s1,£=1,2,…,l0. (3)每年至多能从邻近的电力公司购买5兆瓦特的电力;假设每至多能从邻近的电力公司购买电力的数量 为 ,则ut-<-5,t=1,2,…,lO. (4)第i年生产量+第i年购买电力量+第(i一1)年贮存量一第i年需求量≥第i年贮存量;其中第t年 生产量为60+ (5 1+10xi2+15x 3+20xf4)=60+5)2( n+2xf2+3xf3+4xf4),贝0 6o+5∑( n+2 2+3 3+4 f4)+uI+ l—l—dt三兰: ,t=1,2,…,l0. (5)非负约束和0一l变量约束.ul, 0, II,戈f2, , 4=0或1,t=1,2,…,1O. 2.4.2目标函数 假设第t年总费用为C(t),第t年建立新工厂的成本为 (t),第t年运营成本为B(t),第t年购买电力成 本为D(£),第t年库存成本为E(t),第£年降低幂定律运行成本为,(f). 考虑使得l0年总费用最少为目标函数,其中第t年的费用如下: 第t年的总费用=第t年建立新工厂的成本+第t年运营成本+第t年购买电力成本+第t年库存成 本。 即C(£)=A(‘)+B(t)+D(z)+E(z)+F(t),其中 A(f):( )。。 ×l80o, ): ~×Dt×400000, D(t)=60o000× , E(t)=100000×仇. 则2011年到2020年这1O年的总费用c为 C=∑[A(t)+ (t)+D(t)+E(t)] I 1 . 1 8 . =l80o (}=、1 塾 堕詈堡 ± 丝)) , 0‘ +40o00o t l= o1【 /C)-At 0"S x Dr+600000 I=1IO +l 。 00o00荟I=1’lO 最后得非线性整数规划模型为: c州 8oo 1o( )0.8+( ]. 60+5  ̄(xil+2 2+3x +4 4)+ I+ 一l—dt ̄vt, :l聋 ≤l, S10, l 5, , l 0, tl, l2, I3, l4 0 宅1, £=1,2,…,l0. 3模型的求解 对于0—1整数非线性规划没有统一有效的求解方法,这里先考虑将0—1型离散变量转化为一个等价的 连续型非线性的约束条件,再采用遗传算法中的GENOCOP算法求解. 3.1将0—1变量等价连续化 考虑到0—1整数非线性规划直接求解比较复杂,为了达到简化计算的目的,这里利用隋允康、贾志超[3]提 出的将0一l整数线性规划连续化的方法将0—1变量转化为连续型变量.具体做法如下: Xtl, ̄t2,Xt3,Xt4=0 1,t ,2,…, if (o-tj . 一 -*it <l--’tr r,)=0,2 ,…,lo, :l'2'3,4. 这样转化后,就将原来的0—1混合非线性整数规划模型转化为约束条件全部为线性的优化模型,方便采用遗 传算法计算.化简结果如下: minC:11l80o [( +2xl2+3xI3+4xl4)0。8+( )0。5×DI+ + ], 6o+5 ̄2( l+2 £2+3xf2+4 f4)+Ut+/At-1一 三兰= , i:l1, 10, I 5, Hl, O, 口 ( ff一 )=0, 0 I£ 1, t=1,2,…,10;j=1,2,3,4. 其中a i>0为给定正数. 3.2采用GENOCOP求解 线性约束的优化问题应用很广,人们对它作了很多研究,例如对其中的线性规划问题,就提出了单纯形法、 内点法等.对线性约束的非线性复杂函数的优化问题通常采用迭代法和演化算法,1992年,Michalwicz和 Janikow提出了用于求解具有线性约束的数值优化问题的遗传算法——GENOCOP(Genetic Algorithm for Numerical Optimization for Constrained Promblem),经实际应用证明是一种比较好的方法.其主要算法步骤如下: (1)初始化种群,群体规模Ⅳ=100,置t=0; ・ 19・ (2)以目标函数为适应值函数,计算上一步确定的所有个体的适应值,保留最优适应值的个体. (3)算法终止条件,若t=500,或者算法超过50次迭代最优适应值不变,停止;否则,转下一步. (4)选择,采用竞标赛选择,在[1,100]内随机产生6o个个体序号kl,k2,…,k60,选取这60个个体中适应值 函数最优的个体. (5)交叉,采用算术交叉和启发式交叉。设r、q为[O,I]中的随机数,若rsP ,qsP ,则进行算术交叉操 作;若r5p ,P <q ,则进行启发式交叉操作;若r>P。,不进行交叉操作. (6)对交叉后的个体,以0.1的概率采用边界变异法变异个体. (7)置t=l+1.转(2). 采用Matlab7.0编程,最终计算结果如下: t=168时算法终止,最优总费用为万美元C=4580250.338万美元,由 2l=l,托}=1可知2012年、2016年 分别建立生产容量为1O、15兆瓦特的工厂,又由 l=3.814, =4.964可知2011年、2015年分别购买了3.814、 4.964兆瓦特电力. 4结论 实验结果表明针对该问题建立的0—1混合非线性整数规划模型,将0—1变量连续化处理,再采用遗传算 法中的GENOCOP算法求解,能有效地解决该公司的容量扩展问题. [参考文献】 [1]Wayne winston,Operations Research(Fourth Ediiton)[M].Division 0fThomson Learning,2004:859—860. [2]刘明举.幂定律基础上的煤层瓦斯流动模型[盯.焦作工学院学报,19940):46—49. [3]隋允康,贾志超.0—1线性规划的连续化及其遗传算法求解[J].数学实践与认识,2010(6):ll9—127. [4]Michalewiez Z,Janikow C.GENOCOP:A Genetic A ̄,onthm for Numeeal Optimizaiton Problem with Linear Constrains[J].Communiea. itons 0ftheACM,1992(3):145—173. 田le Application of G肿CoP Algorithm in 0—1 Nonlinear Integer Prognnmalng Model YUAN Xiao,LI Jie—ring,WANG Shi—qi (School of Mathematics and Computation Science,Zhanjiang Normal University,Zhanjing a524048,China) Abstract:In this paper,the next 10一year demand of a company for power eapacity is fitted by monadic linear regression mode1.A model for 0—1 nonlinear integer p玎 ng is built,and the 0—1 variables of he modelt are disposed continu— ously.It is solved by the GENOCOP algorithm of genetic algorithm. Key words:linear iftting;nonlinear intgere pID{ mmling model;GENOCOP alorgithm ・20・